aboutsummaryrefslogtreecommitdiff
path: root/id/server/moa-id-commons/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'id/server/moa-id-commons/src/main/java')
-rw-r--r--id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/NewConfigurationDBRead.java355
1 files changed, 355 insertions, 0 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
new file mode 100644
index 000000000..470d4d293
--- /dev/null
+++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/NewConfigurationDBRead.java
@@ -0,0 +1,355 @@
+package at.gv.egovernment.moa.id.commons.db;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration;
+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;
+
+import com.datentechnik.moa.id.conf.persistence.Configuration;
+
+/**
+ *
+ *
+ */
+public class NewConfigurationDBRead {
+
+ @Autowired
+ private static Configuration conf;
+
+ /**
+ *
+ * @param key
+ * @param clazz
+ * @return
+ */
+ private static <T> List<T> getAllObjects(String key, Class<T> clazz) {
+ List<T> result = null;
+
+ result = conf.getList("getAllUsers", clazz);
+
+ return result;
+ }
+
+ /**
+ *
+ * @return
+ */
+ public static List<UserDatabase> getAllUsers() {
+
+ Logger.trace("Get All Users from database.");
+
+ return getAllObjects("getAllUsers", UserDatabase.class);
+ }
+
+ /**
+ *
+ * @return
+ */
+ public static List<OnlineApplication> getAllOnlineApplications() {
+
+ Logger.trace("Get All OnlineApplications from database.");
+
+ return getAllObjects("getAllOnlineApplications", OnlineApplication.class);
+ }
+
+ /**
+ *
+ * @return
+ */
+ public static List<OnlineApplication> getAllNewOnlineApplications() {
+
+ Logger.trace("Get All New OnlineApplications from database.");
+
+ List<OnlineApplication> result = new ArrayList<OnlineApplication>();
+ List<OnlineApplication> allOAs = getAllOnlineApplications();
+
+ for (OnlineApplication oa : allOAs) {
+ if (!oa.isIsActive() && oa.isIsAdminRequired()) {
+ result.add(oa);
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ *
+ * @return
+ */
+ public static MOAIDConfiguration getMOAIDConfiguration() {
+
+ Logger.trace("Load MOAID Configuration from database.");
+
+ MOAIDConfiguration result = null;
+
+ result = conf.get("getMOAIDConfiguration", MOAIDConfiguration.class);
+
+ return result;
+ }
+
+ /**
+ *
+ * @return
+ */
+ public static List<OnlineApplication> getAllActiveOnlineApplications() {
+
+ Logger.trace("Get All New OnlineApplications from database.");
+
+ List<OnlineApplication> result = new ArrayList<OnlineApplication>();
+ List<OnlineApplication> allOAs = getAllOnlineApplications();
+
+ for (OnlineApplication oa : allOAs) {
+ if (oa.isIsActive()) {
+ result.add(oa);
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ *
+ * @param id
+ * @return
+ */
+ public static OnlineApplication getActiveOnlineApplication(String id) {
+
+ Logger.trace("Getting Active OnlineApplication with ID " + id + " from database.");
+
+ OnlineApplication result = null;
+ List<OnlineApplication> allActiveOAs = getAllActiveOnlineApplications();
+
+ for (OnlineApplication oa : 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.");
+
+ OnlineApplication result = null;
+ List<OnlineApplication> allOAs = getAllOnlineApplications();
+
+ for (OnlineApplication oa : 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.");
+
+ OnlineApplication result = null;
+ List<OnlineApplication> allOAs = getAllOnlineApplications();
+
+ for (OnlineApplication oa : 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.");
+
+ List<OnlineApplication> result = new ArrayList<OnlineApplication>();
+
+ List<OnlineApplication> allOAs = getAllOnlineApplications();
+
+ for (OnlineApplication oa : allOAs) {
+ if (id.equals(oa.getFriendlyName())) {
+ result.add(oa);
+ }
+ }
+
+ if (result.size() == 0) {
+ Logger.trace("No entries found.");
+ return null;
+ } else {
+ Logger.trace("Found entries: " + result.size());
+ return result;
+ }
+ }
+
+ /**
+ *
+ * @return
+ */
+ public static List<UserDatabase> getAllOpenUsersRequests() {
+ Logger.trace("Get all new Users from Database");
+
+ List<UserDatabase> result = new ArrayList<UserDatabase>();
+ List<UserDatabase> allUsers = getAllUsers();
+
+ for (UserDatabase user : allUsers) {
+ // TODO check result of query "... userdatabase.userRequestTokken is not null" if Tokken is null -> (null, "NULL", "", ... ?)
+ if ((user.getUserRequestTokken() != null || !user.getUserRequestTokken().equals("") || !user.getUserRequestTokken().equals("NULL"))
+ && (user.isIsAdminRequest()) && (!user.isIsMailAddressVerified())) {
+ result.add(user);
+ }
+ }
+ return result;
+ }
+
+ /**
+ *
+ * @param tokken
+ * @return
+ */
+ public static UserDatabase getNewUserWithTokken(String tokken) {
+
+ Logger.trace("Getting Userinformation with Tokken " + tokken + " from database.");
+
+ UserDatabase result = null;
+ List<UserDatabase> allUsers = getAllUsers();
+
+ for (UserDatabase user : allUsers) {
+ if (user.getUserRequestTokken().equals(tokken)) {
+ result = user;
+ break;
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ *
+ * @param id
+ * @return
+ */
+ public static UserDatabase getUsersWithOADBID(long id) {
+
+ UserDatabase result = null;
+ List<UserDatabase> allUsers = getAllUsers();
+
+ boolean quit = false;
+ for (UserDatabase user : 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.");
+
+ UserDatabase result = null;
+ List<UserDatabase> allUsers = getAllUsers();
+ for (UserDatabase user : allUsers) {
+ if (user.getHjid() == id) {
+ result = user;
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ *
+ * @param username
+ * @return
+ */
+ public static UserDatabase getUserWithUserName(String username) {
+
+ Logger.trace("Getting Userinformation with ID " + username + " from database.");
+
+ UserDatabase result = null;
+ List<UserDatabase> allUsers = getAllUsers();
+
+ for (UserDatabase user : allUsers) {
+ if (user.getUsername().equals(username)) {
+ result = user;
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ *
+ * @param bpkwbpk
+ * @return
+ */
+ public static UserDatabase getUserWithUserBPKWBPK(String bpkwbpk) {
+
+ Logger.trace("Getting Userinformation with ID " + bpkwbpk + " from database.");
+
+ UserDatabase result = null;
+ List<UserDatabase> allUsers = getAllUsers();
+
+ for (UserDatabase user : allUsers) {
+ if (user.getBpk().equals(bpkwbpk)) {
+ result = user;
+ }
+ }
+
+ return result;
+ }
+
+}