diff options
Diffstat (limited to 'id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/config/DatabaseConfigPropertyImpl.java')
-rw-r--r-- | id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/config/DatabaseConfigPropertyImpl.java | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/config/DatabaseConfigPropertyImpl.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/config/DatabaseConfigPropertyImpl.java index 213d1a860..c202e231b 100644 --- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/config/DatabaseConfigPropertyImpl.java +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/config/DatabaseConfigPropertyImpl.java @@ -3,9 +3,9 @@ package at.gv.egovernment.moa.id.commons.db.dao.config; import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import java.util.Map.Entry; import java.util.regex.Pattern; +import javax.annotation.PostConstruct; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.TypedQuery; @@ -36,6 +36,15 @@ public class DatabaseConfigPropertyImpl extends AbstractConfigurationImpl { @Autowired(required=true) private ApplicationContext appContext; + + static protected String dataBaseEntityName; + + @PostConstruct + void postConstructor() { + dataBaseEntityName = appContext.getBean(AbstractConfigProperty.class).getImplementationName(); + log.info("DB-Entity for config: " + dataBaseEntityName); + + } /** * @@ -51,7 +60,7 @@ public class DatabaseConfigPropertyImpl extends AbstractConfigurationImpl { log.error("No EntityManager set!"); throw new ConfigurationException("No EntityManager set!"); } - TypedQuery<String> query = em.createQuery("select key from ConfigProperty", String.class); + TypedQuery<String> query = em.createQuery("select key from " + dataBaseEntityName, String.class); List<String> result = query.getResultList(); return result; } @@ -109,7 +118,7 @@ public class DatabaseConfigPropertyImpl extends AbstractConfigurationImpl { protected void deleteKey(String key) { log.debug("Deleting entry with key '{}'.", key); - AbstractConfigProperty el = em.find(AbstractConfigProperty.class, key); + AbstractConfigProperty el = em.find(appContext.getBean(AbstractConfigProperty.class).getClass(), key); if (el != null) em.remove(el); @@ -126,7 +135,7 @@ public class DatabaseConfigPropertyImpl extends AbstractConfigurationImpl { throw new ConfigurationException("No EntityManager set!"); } - TypedQuery<String> query = em.createQuery("select key from ConfigProperty dbconfig where dbconfig.key like :key", String.class); + TypedQuery<String> query = em.createQuery("select key from " + dataBaseEntityName + " dbconfig where dbconfig.key like :key", String.class); query.setParameter("key", searchString.replace("*", "%")); List<String> result = query.getResultList(); if (result == null) @@ -146,7 +155,7 @@ public class DatabaseConfigPropertyImpl extends AbstractConfigurationImpl { throw new ConfigurationException("No EntityManager set!"); } - TypedQuery<AbstractConfigProperty> query = em.createQuery("select * from ConfigProperty dbconfig", AbstractConfigProperty.class); + TypedQuery<AbstractConfigProperty> query = em.createQuery("select * from " + dataBaseEntityName + " dbconfig", AbstractConfigProperty.class); List<AbstractConfigProperty> all = query.getResultList(); searchString = searchString.replace(".", "\\."); @@ -195,7 +204,8 @@ public class DatabaseConfigPropertyImpl extends AbstractConfigurationImpl { private AbstractConfigProperty getProperty(String key) { log.trace("Looking for configuration property for key '{}'.", key); - AbstractConfigProperty result = em.find(AbstractConfigProperty.class, key); + + AbstractConfigProperty result = em.find(appContext.getBean(AbstractConfigProperty.class).getClass(), key); if (result != null) { log.trace("Found configuration property {}.", result); } else { |