aboutsummaryrefslogtreecommitdiff
path: root/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/storage/DBTransactionStorage.java
diff options
context:
space:
mode:
authorThomas Lenz <tlenz@iaik.tugraz.at>2016-03-31 08:03:28 +0200
committerThomas Lenz <tlenz@iaik.tugraz.at>2016-03-31 08:03:28 +0200
commitab67fbdf5d661a33b67436c70db0dcb8b840cf57 (patch)
tree80455971fe6cdccee80287a529cc1580481526e2 /id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/storage/DBTransactionStorage.java
parent38a8abe06596847cda4e4fd9d5b4f5585c67fc52 (diff)
downloadmoa-id-spss-ab67fbdf5d661a33b67436c70db0dcb8b840cf57.tar.gz
moa-id-spss-ab67fbdf5d661a33b67436c70db0dcb8b840cf57.tar.bz2
moa-id-spss-ab67fbdf5d661a33b67436c70db0dcb8b840cf57.zip
if database cleanUP process found some unhandled exception, write error messages to technical log
Diffstat (limited to 'id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/storage/DBTransactionStorage.java')
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/storage/DBTransactionStorage.java37
1 files changed, 21 insertions, 16 deletions
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/storage/DBTransactionStorage.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/storage/DBTransactionStorage.java
index ff631a720..6778dc32e 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/storage/DBTransactionStorage.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/storage/DBTransactionStorage.java
@@ -23,6 +23,7 @@
package at.gv.egovernment.moa.id.storage;
import java.io.Serializable;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -99,6 +100,17 @@ public class DBTransactionStorage implements ITransactionStorage {
}
}
+ public Object get(String key) throws MOADatabaseException {
+ AssertionStore element = searchInDatabase(key);
+
+ if (element == null)
+ return null;
+
+ return SerializationUtils.deserialize(element.getAssertion());
+
+
+ }
+
public <T> T get(String key, final Class<T> clazz, long dataTimeOut) throws MOADatabaseException, AuthenticationException {
AssertionStore element = searchInDatabase(key);
@@ -134,10 +146,11 @@ public class DBTransactionStorage implements ITransactionStorage {
}
}
- public void clean(Date now, long dataTimeOut) {
+ public List<String> clean(Date now, long dataTimeOut) {
Date expioredate = new Date(now.getTime() - dataTimeOut);
List<AssertionStore> results;
+ List<String> returnValues = new ArrayList<String>();;
Session session = MOASessionDBUtils.getCurrentSession();
synchronized (session) {
@@ -146,22 +159,14 @@ public class DBTransactionStorage implements ITransactionStorage {
query.setTimestamp("timeout", expioredate);
results = query.list();
session.getTransaction().commit();
-
- if (results.size() != 0) {
- for(AssertionStore result : results) {
- try {
- cleanDelete(result);
- Logger.info("Remove stored information with ID: " + result.getArtifact()
- + " after timeout.");
-
- } catch (HibernateException e){
- Logger.warn("Sessioninformation with ID=" + result.getArtifact()
- + " not removed after timeout! (Error during Database communication)", e);
- }
-
- }
- }
}
+
+ if (results != null) {
+ for (AssertionStore el : results)
+ returnValues.add(el.getArtifact());
+
+ }
+ return returnValues;
}
public void remove(String key) {