protected Object determineCurrentLookupKey()

in app/src/main/java/com/amazon/aws/partners/saasfactory/pgrls/repository/TenantAwareDataSource.java [44:60]


	protected Object determineCurrentLookupKey() {
		Object key = null;
		// Pull the currently authenticated tenant from the security context
		// of the HTTP request and use it as the key in the map that points
		// to the connection pool (data source) for each tenant.
		Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
		try {
			if (!(authentication instanceof AnonymousAuthenticationToken)) {
				Tenant currentTenant = (Tenant) authentication.getPrincipal();
				key = currentTenant.getId();
			}
		} catch (Exception e) {
			LOGGER.error("Failed to get current tenant for data source lookup", e);
			throw new RuntimeException(e);
		}
		return key;
	}