diff options
Diffstat (limited to 'id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/NewConfigurationDBRead.java')
-rw-r--r-- | id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/NewConfigurationDBRead.java | 751 |
1 files changed, 301 insertions, 450 deletions
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/NewConfigurationDBRead.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/NewConfigurationDBRead.java index 41c7008e9..4a90d1bce 100644 --- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/NewConfigurationDBRead.java +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/NewConfigurationDBRead.java @@ -1,450 +1,301 @@ -//package at.gv.egovernment.moa.id.commons.db; -// -//import java.util.ArrayList; -//import java.util.Collections; -//import java.util.Date; -//import java.util.List; -//import java.util.Map; -// -//import org.springframework.beans.factory.annotation.Autowired; -// -//import at.gv.egiz.components.configuration.api.ConfigurationException; -//import at.gv.egovernment.moa.id.commons.config.MOAIDConfigurationConstants; -//import at.gv.egovernment.moa.id.commons.config.persistence.MOAIDConfiguration; -//import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentGeneral; -//import at.gv.egovernment.moa.id.commons.db.dao.config.ChainingModes; -//import at.gv.egovernment.moa.id.commons.db.dao.config.DefaultBKUs; -//import at.gv.egovernment.moa.id.commons.db.dao.config.GenericConfiguration; -//import at.gv.egovernment.moa.id.commons.db.dao.config.OnlineApplication; -// -//import at.gv.egovernment.moa.id.commons.db.dao.config.UserDatabase; -//import at.gv.egovernment.moa.logging.Logger; -// -///** -// * -// * -// */ -//public class NewConfigurationDBRead { -// -// private static MOAIDConfiguration conf; -// -// @Autowired(required = true) -// public void setConfiguration(MOAIDConfiguration conf) { -// // https://jira.spring.io/browse/SPR-3845 -// NewConfigurationDBRead.conf = conf; -// } -// -// @SuppressWarnings("unchecked") -// public static <T extends Iterable<?>> T nullGuard(T item) { -// if (item == null) { -// return (T) Collections.emptyList(); -// } else { -// return item; -// } -// -// } -// -// public static Map<String, String> getOnlineApplicationKeyValueWithId(String id) { -// try { -// return conf.getOnlineApplication(id); -// -// } catch (ConfigurationException e) { -// Logger.warn("OnlineApplication with Id: " + id + " not found.", e); -// return null; -// -// } -// } -// -// -// -// /** -// * -// * @return -// */ -// public static List<UserDatabase> getAllUsers() { -// Logger.trace("Get All Users from database."); -// -//// // select userdatabase from UserDatabase userdatabase -//// List<UserDatabase> result = conf.getList("getAllUsers", UserDatabase.class); -//// if (result.size() == 0) { -//// Logger.trace("No entries found."); -//// return null; -//// } -//// -//// return result; -// -// //TODO!!! -// return null; -// } -// -// /** -// * -// * @return -// */ -// public static List<OnlineApplication> getAllOnlineApplications() { -// Logger.trace("Get All OnlineApplications from database."); -// -// // select onlineapplication from OnlineApplication onlineapplication -//// return conf.getList(MOAIDConfigurationConstants.ONLINE_APPLICATIONS_KEY, OnlineApplication.class); -// -// //TODO!!! -// return null; -// -// } -// -// /** -// * -// * @return -// */ -// public static List<OnlineApplication> getAllNewOnlineApplications() { -// Logger.trace("Get All New OnlineApplications from database."); -// -// // select onlineapplication from OnlineApplication onlineapplication -// // where onlineapplication.isActive = '0' and onlineapplication.isAdminRequired = '1' -// List<OnlineApplication> result = new ArrayList<OnlineApplication>(); -// List<OnlineApplication> allOAs = getAllOnlineApplications(); -// -// for (OnlineApplication oa : nullGuard(allOAs)) { -// if (!oa.isIsActive() && oa.isIsAdminRequired()) { -// result.add(oa); -// } -// } -// -// if (result.size() == 0) { -// Logger.trace("No entries found."); -// return null; -// } -// -// return result; -// } -// -//// /** -//// * -//// * @return -//// */ -//// public static at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration getMOAIDConfiguration() { -//// Logger.trace("Load MOAID Configuration from database."); -//// -//// AuthComponentGeneral authComponent = (AuthComponentGeneral) conf.get(MOAIDConfigurationConstants.AUTH_COMPONENT_GENERAL_KEY, -//// AuthComponentGeneral.class); -//// -//// ChainingModes chainingModes = (ChainingModes) conf.get(MOAIDConfigurationConstants.CHAINING_MODES_KEY, ChainingModes.class); -//// List<GenericConfiguration> genericConfigurations = (List<GenericConfiguration>) conf.getList( -//// MOAIDConfigurationConstants.GENERIC_CONFIGURATION_KEY, GenericConfiguration.class); -//// String trustedCaCertificates = (String) conf.get(MOAIDConfigurationConstants.TRUSTED_CERTIFICATES_KEY, String.class); -//// DefaultBKUs defaultBKUs = (DefaultBKUs) conf.get(MOAIDConfigurationConstants.DEFAULT_BKUS_KEY, DefaultBKUs.class); -//// SLRequestTemplates slrRequestRemplates = (SLRequestTemplates) conf.get(MOAIDConfigurationConstants.SLREQUEST_TEMPLATES_KEY, -//// SLRequestTemplates.class); -//// Date timeStamp = (Date) conf.get(MOAIDConfigurationConstants.TIMESTAMP_ITEM_KEY, Date.class); -//// Date pvp2Refresh = (Date) conf.get(MOAIDConfigurationConstants.PVP2REFRESH_ITEM_KEY, Date.class); -//// -//// // if (authComponent == null || chainingModes == null || trustedCaCertificates == null || defaultBKUs == null -//// // || slrRequestRemplates == null || timeStamp == null || pvp2Refresh == null -//// // -//// // ) { -//// // // TODO: is there a better approach in case of error? -//// // Logger.trace("Not all necessary data available. Create fresh instance."); -//// // return new MOAIDConfiguration(); -//// // } -//// -//// // select moaidconfiguration from MOAIDConfiguration moaidconfiguration -//// at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration result = new at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration(); -//// result.setAuthComponentGeneral(authComponent); -//// result.setChainingModes(chainingModes); -//// result.setGenericConfiguration(genericConfigurations); -//// result.setTrustedCACertificates(trustedCaCertificates); -//// result.setDefaultBKUs(defaultBKUs); -//// result.setSLRequestTemplates(slrRequestRemplates); -//// result.setTimestampItem(timeStamp); -//// result.setPvp2RefreshItem(pvp2Refresh); -//// -//// return result; -//// } -// -// /** -// * -// * @return -// */ -// public static List<OnlineApplication> getAllActiveOnlineApplications() { -// Logger.trace("Get All New OnlineApplications from database."); -// -// // select onlineapplication from OnlineApplication onlineapplication -// // where onlineapplication.isActive = '1' -// List<OnlineApplication> result = new ArrayList<OnlineApplication>(); -// List<OnlineApplication> allOAs = getAllOnlineApplications(); -// -// for (OnlineApplication oa : nullGuard(allOAs)) { -// if (oa.isIsActive()) { -// result.add(oa); -// } -// } -// -// if (result.size() == 0) { -// Logger.trace("No entries found."); -// return null; -// } -// -// return result; -// } -// -// /** -// * -// * @param id -// * @return -// */ -// public static OnlineApplication getActiveOnlineApplication(String id) { -// Logger.trace("Getting Active OnlineApplication with ID " + id + " from database."); -// -// // select onlineapplication from OnlineApplication onlineapplication -// // where onlineapplication.publicURLPrefix = -// // SUBSTRING(:id, 1, LENGTH(onlineapplication.publicURLPrefix)) and onlineapplication.isActive = '1' -// OnlineApplication result = null; -// List<OnlineApplication> allActiveOAs = getAllActiveOnlineApplications(); -// -// for (OnlineApplication oa : nullGuard(allActiveOAs)) { -// String publicUrlPrefix = oa.getPublicURLPrefix(); -// if (publicUrlPrefix != null && publicUrlPrefix.length() <= id.length()) { -// if ((id.substring(1, publicUrlPrefix.length()).equals(publicUrlPrefix))) { -// if (result != null) { -// Logger.warn("OAIdentifier match to more then one DB-entry!"); -// return null; -// } else { -// result = oa; -// } -// } -// } -// } -// -// return result; -// } -// -// /** -// * -// * @param dbid -// * @return -// */ -// public static OnlineApplication getOnlineApplication(long dbid) { -// Logger.trace("Getting OnlineApplication with DBID " + dbid + " from database."); -// -// // select onlineapplication from OnlineApplication onlineapplication where onlineapplication.hjid = :id -// OnlineApplication result = null; -// List<OnlineApplication> allOAs = getAllOnlineApplications(); -// -// for (OnlineApplication oa : nullGuard(allOAs)) { -// if (oa.getHjid() == dbid) { -// result = oa; -// break; -// } -// } -// -// return result; -// } -// -// /** -// * -// * @param id -// * @return -// */ -// public static OnlineApplication getOnlineApplication(String id) { -// Logger.trace("Getting OnlineApplication with ID " + id + " from database."); -// -// // select onlineapplication from OnlineApplication onlineapplication -// // where onlineapplication.publicURLPrefix = SUBSTRING(:id, 1, LENGTH(onlineapplication.publicURLPrefix)) -// OnlineApplication result = null; -// List<OnlineApplication> allOAs = getAllOnlineApplications(); -// -// for (OnlineApplication oa : nullGuard(allOAs)) { -// String publicUrlPrefix = oa.getPublicURLPrefix(); -// if (publicUrlPrefix != null && publicUrlPrefix.length() <= id.length()) { -// if (id.substring(1, publicUrlPrefix.length()).equals(publicUrlPrefix)) { -// if (result != null) { -// Logger.warn("OAIdentifier match to more then one DB-entry!"); -// return null; -// } else { -// result = oa; -// } -// } -// } -// } -// -// return result; -// } -// -// /** -// * -// * @param id -// * @return -// */ -// public static List<OnlineApplication> searchOnlineApplications(String id) { -// Logger.trace("Getting OnlineApplication with ID " + id + " from database."); -// -// // select onlineapplication from OnlineApplication onlineapplication -// // where onlineapplication.friendlyName like :id -// List<OnlineApplication> result = new ArrayList<OnlineApplication>(); -// List<OnlineApplication> allOAs = getAllOnlineApplications(); -// -// for (OnlineApplication oa : nullGuard(allOAs)) { -// if (id.equals(oa.getFriendlyName())) { -// result.add(oa); -// } -// } -// -// if (result.size() == 0) { -// Logger.trace("No entries found."); -// return null; -// } -// -// return result; -// } -// -// /** -// * -// * @return -// */ -// public static List<UserDatabase> getAllOpenUsersRequests() { -// Logger.trace("Get all new Users from Database"); -// -// // select userdatabase from UserDatabase userdatabase -// // where userdatabase.userRequestTokken is not null -// // and userdatabase.isAdminRequest = '1' and userdatabase.isMailAddressVerified = '0' -// List<UserDatabase> result = new ArrayList<UserDatabase>(); -// List<UserDatabase> allUsers = getAllUsers(); -// -// for (UserDatabase user : nullGuard(allUsers)) { -// // TODO check result of query "... userdatabase.userRequestTokken is not null" if Tokken is null -> (null, "NULL", "", ... ?) -// if ((user.getUserRequestTokken() != null && !user.getUserRequestTokken().isEmpty() && !user.getUserRequestTokken().equals("NULL")) -// && (user.isIsAdminRequest()) && (!user.isIsMailAddressVerified())) { -// result.add(user); -// } -// } -// -// if (result.size() == 0) { -// Logger.trace("No entries found."); -// return null; -// } -// -// return result; -// } -// -// /** -// * -// * @param tokken -// * @return -// */ -// public static UserDatabase getNewUserWithTokken(String tokken) { -// Logger.trace("Getting Userinformation with Tokken " + tokken + " from database."); -// -// // select userdatabase from UserDatabase userdatabase where userdatabase.userRequestTokken = :tokken -// UserDatabase result = null; -// List<UserDatabase> allUsers = getAllUsers(); -// -// for (UserDatabase user : nullGuard(allUsers)) { -// if (user.getUserRequestTokken().equals(tokken)) { -// result = user; -// break; -// } -// } -// -// return result; -// } -// -// /** -// * -// * @param id -// * @return -// */ -// public static UserDatabase getUsersWithOADBID(long id) { -// Logger.trace("Getting Userinformation with OADBID " + id + " from database."); -// -// // select userdatabase from UserDatabase userdatabase -// // inner join userdatabase.onlineApplication oa where oa.hjid = :id -// UserDatabase result = null; -// List<UserDatabase> allUsers = getAllUsers(); -// -// boolean quit = false; -// for (UserDatabase user : nullGuard(allUsers)) { -// -// for (OnlineApplication oa : user.getOnlineApplication()) { -// -// if (oa.getHjid() == id) { -// result = user; -// quit = true; -// break; -// } -// } -// -// if (quit) { -// break; -// } -// } -// -// return result; -// } -// -// /** -// * -// * @param id -// * @return -// */ -// public static UserDatabase getUserWithID(long id) { -// Logger.trace("Getting Userinformation with ID " + id + " from database."); -// -// // select userdatabase from UserDatabase userdatabase where userdatabase.hjid = :id -// UserDatabase result = null; -// List<UserDatabase> allUsers = getAllUsers(); -// -// for (UserDatabase user : nullGuard(allUsers)) { -// if (user.getHjid() == id) { -// result = user; -// break; -// } -// } -// -// return result; -// } -// -// /** -// * -// * @param username -// * @return -// */ -// public static UserDatabase getUserWithUserName(String username) { -// Logger.trace("Getting Userinformation with ID " + username + " from database."); -// -// // select userdatabase from UserDatabase userdatabase where userdatabase.username = :username -// UserDatabase result = null; -// List<UserDatabase> allUsers = getAllUsers(); -// -// for (UserDatabase user : nullGuard(allUsers)) { -// if (user.getUsername().equals(username)) { -// result = user; -// break; -// } -// } -// -// return result; -// } -// -// /** -// * -// * @param bpkwbpk -// * @return -// */ -// public static UserDatabase getUserWithUserBPKWBPK(String bpkwbpk) { -// Logger.trace("Getting Userinformation with ID " + bpkwbpk + " from database."); -// -// // select userdatabase from UserDatabase userdatabase where userdatabase.bpk = :bpk -// UserDatabase result = null; -// List<UserDatabase> allUsers = getAllUsers(); -// -// for (UserDatabase user : nullGuard(allUsers)) { -// if (user.getBpk().equals(bpkwbpk)) { -// result = user; -// break; -// } -// } -// -// return result; -// } -// -//} +package at.gv.egovernment.moa.id.commons.db; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; + +import at.gv.egiz.components.configuration.api.ConfigurationException; +import at.gv.egovernment.moa.id.commons.config.ConfigurationMigrationUtils; +import at.gv.egovernment.moa.id.commons.config.MOAIDConfigurationConstants; +import at.gv.egovernment.moa.id.commons.config.persistence.MOAIDConfiguration; +import at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.OnlineApplication; + +import at.gv.egovernment.moa.id.commons.db.dao.config.UserDatabase; +import at.gv.egovernment.moa.id.commons.utils.KeyValueUtils; +import at.gv.egovernment.moa.logging.Logger; + +/** + * + * + */ +public class NewConfigurationDBRead { + + private MOAIDConfiguration conf; + + @Autowired(required = true) + public void setConfiguration(MOAIDConfiguration conf) { + // https://jira.spring.io/browse/SPR-3845 + this.conf = conf; + } + + @SuppressWarnings("unchecked") + public static <T extends Iterable<?>> T nullGuard(T item) { + if (item == null) { + return (T) Collections.emptyList(); + } else { + return item; + } + + } + + public Map<String, String> getOnlineApplicationKeyValueWithId(String id) { + try { + return conf.getOnlineApplication(id); + + } catch (ConfigurationException e) { + Logger.warn("OnlineApplication with Id: " + id + " not found.", e); + return null; + + } + } + + /** + * + * @return + */ + public List<OnlineApplication> getAllOnlineApplications() { + Logger.trace("Get All OnlineApplications from database."); + + List<OnlineApplication> result = new ArrayList<OnlineApplication>(); + try { + String[] allUniqueOAIDs = conf.findConfigurationId(MOAIDConfigurationConstants.PREFIX_MOAID_SERVICES + ".*." + MOAIDConfigurationConstants.SERVICE_UNIQUEIDENTIFIER); + if (allUniqueOAIDs != null) { + for (String uniqueOAID : allUniqueOAIDs) { + String oaKeyId = KeyValueUtils.getParentKey(uniqueOAID); + + Logger.debug("Search service with KeyPrefix:" + oaKeyId); + Map<String, String> oaKeyValuePairs = conf.getPropertySubset(oaKeyId, true); + + String serviceType = KeyValueUtils.getFirstChildAfterPrefix(oaKeyId, MOAIDConfigurationConstants.PREFIX_MOAID_SERVICES); + Logger.debug("Identify Service as: " + serviceType); + + if (oaKeyValuePairs != null) { + Logger.debug("Transform Key/Value to JaxB configuration ..."); + oaKeyValuePairs.put(MOAIDConfigurationConstants.PREFIX_MOAID_SERVICES, serviceType); + OnlineApplication jaxBOA = ConfigurationMigrationUtils.convertKeyValueToHyberJaxBOnlineApplication(oaKeyValuePairs); + + String hjID = KeyValueUtils.getFirstChildAfterPrefix(oaKeyId, KeyValueUtils.getParentKey(oaKeyId)); + if (serviceType.equals(MOAIDConfigurationConstants.PREFIX_GATEWAY)) + jaxBOA.setHjid(Long.valueOf(hjID) + 1000000); + else if (serviceType.equals(MOAIDConfigurationConstants.PREFIX_IIDP)) + jaxBOA.setHjid(Long.valueOf(hjID) + 2000000); + else if (serviceType.equals(MOAIDConfigurationConstants.PREFIX_VIDP)) + jaxBOA.setHjid(Long.valueOf(hjID) + 3000000); + else + jaxBOA.setHjid(Long.valueOf(hjID)); + + Logger.debug("Transformation finished with JaxB hjID: " + hjID); + result.add(jaxBOA); + + } else + Logger.info("No Service configuration with KeyPrefix: " + oaKeyId); + } + } + if (!result.isEmpty()) + return result; + + } catch (ConfigurationException e) { + Logger.error("Access configuration FAILED.", e); + + } + + return null; + + } + + /** + * + * @return + */ + public List<OnlineApplication> getAllNewOnlineApplications() { + Logger.trace("Get All New OnlineApplications from database."); + + // select onlineapplication from OnlineApplication onlineapplication + // where onlineapplication.isActive = '0' and onlineapplication.isAdminRequired = '1' + List<OnlineApplication> result = new ArrayList<OnlineApplication>(); + List<OnlineApplication> allOAs = getAllOnlineApplications(); + + for (OnlineApplication oa : nullGuard(allOAs)) { + if (!oa.isIsActive() && oa.isIsAdminRequired()) { + result.add(oa); + } + } + + if (result.size() == 0) { + Logger.trace("No entries found."); + return null; + } + + return result; + } + + /** + * + * @return + */ + public at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.MOAIDConfiguration getMOAIDConfiguration() { + Logger.trace("Load MOAID Configuration from database."); + Map<String, String> generalConfig; + try { + generalConfig = conf.getPropertySubset(MOAIDConfigurationConstants.PREFIX_MOAID_GENERAL, false); + if (generalConfig != null) { + Logger.debug("Key/Value configuration found -> Start mapping process ..."); + + at.gv.egovernment.moa.id.commons.db.dao.config.deprecated.MOAIDConfiguration result = + ConfigurationMigrationUtils.convertKeyValueToHyberJaxBMOAIDConfiguration(generalConfig); + Logger.debug("Configuration mapping process finished."); + + return result; + + } + + } catch (ConfigurationException e) { + Logger.error("Configuration access FAILED!", e); + } + + Logger.info("No general MOA-ID configuration found!"); + return null; + + } + + /** + * + * @return + */ + public List<OnlineApplication> getAllActiveOnlineApplications() { + Logger.trace("Get All New OnlineApplications from database."); + + // select onlineapplication from OnlineApplication onlineapplication + // where onlineapplication.isActive = '1' + List<OnlineApplication> result = new ArrayList<OnlineApplication>(); + List<OnlineApplication> allOAs = getAllOnlineApplications(); + + for (OnlineApplication oa : nullGuard(allOAs)) { + if (oa.isIsActive()) { + result.add(oa); + } + } + + if (result.size() == 0) { + Logger.trace("No entries found."); + return null; + } + + return result; + } + + /** + * + * @param id + * @return + */ + public OnlineApplication getActiveOnlineApplication(String id) { + Logger.trace("Getting Active OnlineApplication with ID " + id + " from database."); + + // select onlineapplication from OnlineApplication onlineapplication + // where onlineapplication.publicURLPrefix = + // SUBSTRING(:id, 1, LENGTH(onlineapplication.publicURLPrefix)) and onlineapplication.isActive = '1' + OnlineApplication result = null; + List<OnlineApplication> allActiveOAs = getAllActiveOnlineApplications(); + + for (OnlineApplication oa : nullGuard(allActiveOAs)) { + String publicUrlPrefix = oa.getPublicURLPrefix(); + if (publicUrlPrefix != null && publicUrlPrefix.length() <= id.length()) { + if ((id.substring(1, publicUrlPrefix.length()).equals(publicUrlPrefix))) { + if (result != null) { + Logger.warn("OAIdentifier match to more then one DB-entry!"); + return null; + } else { + result = oa; + } + } + } + } + + return result; + } + + /** + * + * @param dbid + * @return + */ + public OnlineApplication getOnlineApplication(long dbid) { + Logger.trace("Getting OnlineApplication with DBID " + dbid + " from database."); + + // select onlineapplication from OnlineApplication onlineapplication where onlineapplication.hjid = :id + OnlineApplication result = null; + List<OnlineApplication> allOAs = getAllOnlineApplications(); + + for (OnlineApplication oa : nullGuard(allOAs)) { + if (oa.getHjid() == dbid) { + result = oa; + break; + } + } + + return result; + } + + /** + * + * @param id + * @return + */ + public OnlineApplication getOnlineApplication(String id) { + Logger.trace("Getting OnlineApplication with ID " + id + " from database."); + + // select onlineapplication from OnlineApplication onlineapplication + // where onlineapplication.publicURLPrefix = SUBSTRING(:id, 1, LENGTH(onlineapplication.publicURLPrefix)) + OnlineApplication result = null; + List<OnlineApplication> allOAs = getAllOnlineApplications(); + + for (OnlineApplication oa : nullGuard(allOAs)) { + String publicUrlPrefix = oa.getPublicURLPrefix(); + if (publicUrlPrefix != null && publicUrlPrefix.length() <= id.length()) { + if (id.substring(0, publicUrlPrefix.length()).equals(publicUrlPrefix)) { + if (result != null) { + Logger.warn("OAIdentifier match to more then one DB-entry!"); + return null; + } else { + result = oa; + } + } + } + } + + return result; + } + + /** + * + * @param id + * @return + */ + public List<OnlineApplication> searchOnlineApplications(String id) { + Logger.trace("Getting OnlineApplication with ID " + id + " from database."); + + // select onlineapplication from OnlineApplication onlineapplication + // where onlineapplication.friendlyName like :id + List<OnlineApplication> result = new ArrayList<OnlineApplication>(); + List<OnlineApplication> allOAs = getAllOnlineApplications(); + + for (OnlineApplication oa : nullGuard(allOAs)) { + if (oa.getFriendlyName().contains(id)) { + result.add(oa); + } + } + + if (result.size() == 0) { + Logger.trace("No entries found."); + return null; + } + + return result; + } + + +} |