aboutsummaryrefslogtreecommitdiff
path: root/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/config/DatabaseConfigPropertyImpl.java
diff options
context:
space:
mode:
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.java22
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 {