From bba86def6a69726671838ebdacb918d3ede5de16 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Thu, 13 Jun 2013 13:19:38 +0200 Subject: + cleanup MOAIDSession class + update authentication process to use new MOAIDSession class + move MOAIDSession to Hibernate Database + activate Mandates for SAML1 !!Stork authentication not tested!! --- .../gv/egovernment/moa/id/commons/db/DBUtils.java | 36 +++++++++++----------- .../moa/id/commons/db/HibernateUtil.java | 19 ++++++++---- .../moa/id/commons/db/dao/AssertionStore.java | 13 +++++--- .../src/main/resources/hibernate.cfg.xml | 1 + 4 files changed, 40 insertions(+), 29 deletions(-) (limited to 'id/server/moa-id-commons/src') diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/DBUtils.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/DBUtils.java index aab0b281d..1111618d6 100644 --- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/DBUtils.java +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/DBUtils.java @@ -11,23 +11,23 @@ import at.gv.egovernment.moa.util.MiscUtil; public class DBUtils { - @SuppressWarnings("rawtypes") - public static AssertionStore getAssertion(String artifact) { - MiscUtil.assertNotNull(artifact, "artifact"); - Logger.trace("Getting Assertion with Artifact " + artifact + " from database."); - - Session session = HibernateUtil.getCurrentSession(); - session.beginTransaction(); - Query query = session.getNamedQuery("getAssertionWithArtifact"); - query.setString("artifact", artifact); - List result = query.list(); - Logger.trace("Found entries: " + result.size()); - - if (result.size() == 0) { - Logger.trace("No entries found."); - return null; - } - return (AssertionStore) result.get(0); - } +// @SuppressWarnings("rawtypes") +// public static AssertionStore getAssertion(String artifact) { +// MiscUtil.assertNotNull(artifact, "artifact"); +// Logger.trace("Getting Assertion with Artifact " + artifact + " from database."); +// +// Session session = HibernateUtil.getCurrentSession(); +// session.beginTransaction(); +// Query query = session.getNamedQuery("getAssertionWithArtifact"); +// query.setString("artifact", artifact); +// List result = query.list(); +// Logger.trace("Found entries: " + result.size()); +// +// if (result.size() == 0) { +// Logger.trace("No entries found."); +// return null; +// } +// return (AssertionStore) result.get(0); +// } } diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/HibernateUtil.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/HibernateUtil.java index 59398c922..1fa5a20fd 100644 --- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/HibernateUtil.java +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/HibernateUtil.java @@ -128,9 +128,12 @@ public final class HibernateUtil { Transaction tx = null; try { Session session = HibernateUtil.getCurrentSession(); - tx = session.beginTransaction(); - session.saveOrUpdate(dbo); - tx.commit(); + + synchronized (session) { + tx = session.beginTransaction(); + session.saveOrUpdate(dbo); + tx.commit(); + } return true; } catch(HibernateException e) { @@ -144,9 +147,13 @@ public final class HibernateUtil { Transaction tx = null; try { Session session = HibernateUtil.getCurrentSession(); - tx = session.beginTransaction(); - session.delete(dbo); - tx.commit(); + + synchronized (session) { + tx = session.beginTransaction(); + session.delete(dbo); + tx.commit(); + } + return true; } catch(HibernateException e) { diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/AssertionStore.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/AssertionStore.java index 9dff193d6..b7b8c24f6 100644 --- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/AssertionStore.java +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/db/dao/AssertionStore.java @@ -18,7 +18,8 @@ import org.hibernate.annotations.NamedQuery; @DynamicUpdate(value=true) @Table(name = "assertionstore") @NamedQueries({ - @NamedQuery(name="getAssertionWithArtifact", query = "select assertionstore from AssertionStore assertionstore where assertionstore.artifact = :artifact") + @NamedQuery(name="getAssertionWithArtifact", query = "select assertionstore from AssertionStore assertionstore where assertionstore.artifact = :artifact"), + @NamedQuery(name="getAssertionWithTimeOut", query = "select assertionstore from AssertionStore assertionstore where assertionstore.timestamp < :timeout") }) public class AssertionStore implements Serializable{ @@ -35,9 +36,11 @@ public class AssertionStore implements Serializable{ @Column(name = "assertion", nullable=false) @Lob private byte [] assertion; - @Column(name = "datetime", nullable=false) - Date datatime; + @Column(name = "timestamp", nullable=false) + Date timestamp; + + public String getArtifact() { return artifact; } @@ -63,11 +66,11 @@ public class AssertionStore implements Serializable{ } public Date getDatatime() { - return datatime; + return timestamp; } public void setDatatime(Date datatime) { - this.datatime = datatime; + this.timestamp = datatime; } diff --git a/id/server/moa-id-commons/src/main/resources/hibernate.cfg.xml b/id/server/moa-id-commons/src/main/resources/hibernate.cfg.xml index 32dd7d9f6..707d5cc61 100644 --- a/id/server/moa-id-commons/src/main/resources/hibernate.cfg.xml +++ b/id/server/moa-id-commons/src/main/resources/hibernate.cfg.xml @@ -7,5 +7,6 @@ + \ No newline at end of file -- cgit v1.2.3