Author: bdaw
Date: 2009-02-03 07:54:58 -0500 (Tue, 03 Feb 2009)
New Revision: 299
Modified:
idm/trunk/example/maven2/src/test/java/org/jboss/identity/idm/example/DBTestCase.java
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObject.java
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObjectRelationship.java
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObjectRelationshipName.java
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObjectRelationshipType.java
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObjectType.java
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateRealm.java
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/store/hibernate/HibernateIdentityStoreImpl.java
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/store/hibernate/HibernateIdentityStoreSessionImpl.java
idm/trunk/idm/src/test/java/org/jboss/identity/idm/impl/store/hibernate/HibernateIdentityStoreTestCase.java
Log:
- Make HibernateIdentityStoreImpl use SessionFactory instead of
HibernateEntityManagerFactory
Modified:
idm/trunk/example/maven2/src/test/java/org/jboss/identity/idm/example/DBTestCase.java
===================================================================
---
idm/trunk/example/maven2/src/test/java/org/jboss/identity/idm/example/DBTestCase.java 2009-02-03
10:32:25 UTC (rev 298)
+++
idm/trunk/example/maven2/src/test/java/org/jboss/identity/idm/example/DBTestCase.java 2009-02-03
12:54:58 UTC (rev 299)
@@ -26,6 +26,7 @@
import java.util.Random;
import java.util.Map;
import java.util.Arrays;
+import java.util.Collection;
import java.io.File;
import org.jboss.identity.idm.api.IdentitySessionFactory;
@@ -36,6 +37,7 @@
import org.jboss.identity.idm.api.RoleType;
import org.jboss.identity.idm.api.AttributeDescription;
import org.jboss.identity.idm.api.Attribute;
+import org.jboss.identity.idm.api.IdentitySearchControl;
import org.jboss.identity.idm.impl.api.IdentitySessionFactoryImpl;
import org.jboss.identity.idm.impl.api.SimpleAttribute;
import org.jboss.identity.idm.impl.api.model.SimpleGroupType;
@@ -75,6 +77,10 @@
IdentitySession identitySession =
identitySessionFactory.createIdentitySession("realm://JBossIdentityExample/SampleRealm");
identitySession.beginTransaction();
+ Collection<Identity> identities = identitySession
+ .getPersistenceManager()
+ .findIdentity((IdentitySearchControl[])null);
+
GroupType ORGANIZATION = new SimpleGroupType("ORGANIZATION");
GroupType GROUP = new SimpleGroupType("GROUP");
Modified:
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObject.java
===================================================================
---
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObject.java 2009-02-03
10:32:25 UTC (rev 298)
+++
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObject.java 2009-02-03
12:54:58 UTC (rev 299)
@@ -54,34 +54,52 @@
* @author <a href="mailto:boleslaw.dawidowicz at redhat.com">Boleslaw
Dawidowicz</a>
* @version : 0.1 $
*/
-@NamedQueries({
- @NamedQuery(
- name = "findIdentityObjectByNameAndType",
- query = "select o from HibernateIdentityObject o where o.realm like :realm and
o.name like :name and o.identityType.name like :typeName"
- ),
- @NamedQuery(
- name = "findIdentityObjectsByType",
- query = "select o from HibernateIdentityObject o where o.name like :nameFilter
and o.realm like :realm and o.identityType.name like :typeName"
- ),
- @NamedQuery(
- name = "findIdentityObjectsByTypeOrderedByNameAsc",
- query = "select o from HibernateIdentityObject o where o.name like :nameFilter
and o.realm like :realm and o.identityType.name like :typeName " +
- "order by o.name asc"
- ),
- @NamedQuery(
- name = "findIdentityObjectsByTypeOrderedByNameDesc",
- query = "select o from HibernateIdentityObject o where o.name like :nameFilter
and o.realm like :realm and o.identityType.name like :typeName " +
- "order by o.name desc"
- ),
- @NamedQuery(
- name = "countIdentityObjectsByType",
- query = "select count(o.id) from HibernateIdentityObject o where o.realm like
:realm and o.identityType.name like :typeName"
- )
- })
+//@NamedQueries({
+// @NamedQuery(
+// name = "findIdentityObjectByNameAndType",
+// query = "select o from HibernateIdentityObject o where o.realm like :realm
and o.name like :name and o.identityType.name like :typeName"
+// ),
+// @NamedQuery(
+// name = "findIdentityObjectsByType",
+// query = "select o from HibernateIdentityObject o where o.name like
:nameFilter and o.realm like :realm and o.identityType.name like :typeName"
+// ),
+// @NamedQuery(
+// name = "findIdentityObjectsByTypeOrderedByNameAsc",
+// query = "select o from HibernateIdentityObject o where o.name like
:nameFilter and o.realm like :realm and o.identityType.name like :typeName " +
+// "order by o.name asc"
+// ),
+// @NamedQuery(
+// name = "findIdentityObjectsByTypeOrderedByNameDesc",
+// query = "select o from HibernateIdentityObject o where o.name like
:nameFilter and o.realm like :realm and o.identityType.name like :typeName " +
+// "order by o.name desc"
+// ),
+// @NamedQuery(
+// name = "countIdentityObjectsByType",
+// query = "select count(o.id) from HibernateIdentityObject o where o.realm
like :realm and o.identityType.name like :typeName"
+// )
+// })
@Entity
@Table(name = "identity_obj", uniqueConstraints =
{@UniqueConstraint(columnNames = {"NAME", "IDENTITY_TYPE",
"REALM"})})
public class HibernateIdentityObject implements IdentityObject
{
+ public static final String findIdentityObjectByNameAndType =
+ "select o from HibernateIdentityObject o where o.realm like :realm and o.name
like :name and o.identityType.name like :typeName";
+
+ public static final String findIdentityObjectsByType =
+ "select o from HibernateIdentityObject o where o.name like :nameFilter and
o.realm like :realm and o.identityType.name like :typeName";
+
+ public static final String findIdentityObjectsByTypeOrderedByNameAsc =
+ "select o from HibernateIdentityObject o where o.name like :nameFilter and
o.realm like :realm and o.identityType.name like :typeName " +
+ "order by o.name asc";
+
+ public static final String findIdentityObjectsByTypeOrderedByNameDesc =
+ "select o from HibernateIdentityObject o where o.name like :nameFilter and
o.realm like :realm and o.identityType.name like :typeName " +
+ "order by o.name desc";
+
+ public static final String countIdentityObjectsByType =
+ "select count(o.id) from HibernateIdentityObject o where o.realm like :realm
and o.identityType.name like :typeName";
+
+
@Id
@GeneratedValue
private Long id;
Modified:
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObjectRelationship.java
===================================================================
---
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObjectRelationship.java 2009-02-03
10:32:25 UTC (rev 298)
+++
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObjectRelationship.java 2009-02-03
12:54:58 UTC (rev 299)
@@ -42,21 +42,27 @@
* @author <a href="mailto:boleslaw.dawidowicz at redhat.com">Boleslaw
Dawidowicz</a>
* @version : 0.1 $
*/
-@NamedQueries({
- @NamedQuery(
- name = "findIdentityObjectRelationshipsByType",
- query = "select r from HibernateIdentityObjectRelationship r where r.type.name
like :typeName"
- ),
- @NamedQuery(
- name = "findIdentityObjectRelationshipNamesByType",
- query = "select r.name from HibernateIdentityObjectRelationship r where
r.type.name like :typeName"
- )
- })
+//@NamedQueries({
+// @NamedQuery(
+// name = "findIdentityObjectRelationshipsByType",
+// query = "select r from HibernateIdentityObjectRelationship r where
r.type.name like :typeName"
+// ),
+// @NamedQuery(
+// name = "findIdentityObjectRelationshipNamesByType",
+// query = "select r.name from HibernateIdentityObjectRelationship r where
r.type.name like :typeName"
+// )
+// })
@Entity
@Table(name="identity_relationship", uniqueConstraints =
{@UniqueConstraint(columnNames = {"NAME", "TYPE",
"FROM_IDENTITY", "TO_IDENTITY"})})
public class HibernateIdentityObjectRelationship implements IdentityObjectRelationship
{
+ public static final String findIdentityObjectRelationshipsByType =
+ "select r from HibernateIdentityObjectRelationship r where r.type.name like
:typeName";
+ public static final String findIdentityObjectRelationshipNamesByType =
+ "select r.name from HibernateIdentityObjectRelationship r where r.type.name
like :typeName";
+
+
@Id
@GeneratedValue
private Long id;
Modified:
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObjectRelationshipName.java
===================================================================
---
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObjectRelationshipName.java 2009-02-03
10:32:25 UTC (rev 298)
+++
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObjectRelationshipName.java 2009-02-03
12:54:58 UTC (rev 299)
@@ -39,44 +39,75 @@
*/
@Entity
@Table(name="identity_relationship_name", uniqueConstraints =
{@UniqueConstraint(columnNames = {"NAME", "REALM"})})
-@NamedQueries({
- @NamedQuery(
- name = "findIdentityObjectRelationshipNameByName",
- query = "select rn from HibernateIdentityObjectRelationshipName rn where
rn.name like :name and rn.realm like :realm"
- ),
- @NamedQuery(
- name = "findIdentityObjectRelationshipNames",
- query = "select rn.name from HibernateIdentityObjectRelationshipName rn where
rn.name like :nameFilter and rn.realm like :realm"
- ),
- @NamedQuery(
- name = "findIdentityObjectRelationshipNamesOrderedByNameAsc",
- query = "select rn.name from HibernateIdentityObjectRelationshipName rn where
rn.name like :nameFilter and rn.realm like :realm " +
- "order by rn.name asc"
- ),
- @NamedQuery(
- name = "findIdentityObjectRelationshipNamesOrderedByNameDesc",
- query = "select rn.name from HibernateIdentityObjectRelationshipName rn where
rn.name like :nameFilter and rn.realm like :realm " +
- "order by rn.name desc"
- ),
- @NamedQuery(
- name = "findIdentityObjectRelationshipNamesForIdentityObject",
- query = "select r.name.name from HibernateIdentityObjectRelationship r where
" +
- "r.fromIdentityObject like :identityObject or r.toIdentityObject like
:identityObject"
- ),
- @NamedQuery(
- name =
"findIdentityObjectRelationshipNamesForIdentityObjectOrderedByNameAsc",
- query = "select r.name.name from HibernateIdentityObjectRelationship r where
" +
+//@NamedQueries({
+// @NamedQuery(
+// name = "findIdentityObjectRelationshipNameByName",
+// query = "select rn from HibernateIdentityObjectRelationshipName rn where
rn.name like :name and rn.realm like :realm"
+// ),
+// @NamedQuery(
+// name = "findIdentityObjectRelationshipNames",
+// query = "select rn.name from HibernateIdentityObjectRelationshipName rn
where rn.name like :nameFilter and rn.realm like :realm"
+// ),
+// @NamedQuery(
+// name = "findIdentityObjectRelationshipNamesOrderedByNameAsc",
+// query = "select rn.name from HibernateIdentityObjectRelationshipName rn
where rn.name like :nameFilter and rn.realm like :realm " +
+// "order by rn.name asc"
+// ),
+// @NamedQuery(
+// name = "findIdentityObjectRelationshipNamesOrderedByNameDesc",
+// query = "select rn.name from HibernateIdentityObjectRelationshipName rn
where rn.name like :nameFilter and rn.realm like :realm " +
+// "order by rn.name desc"
+// ),
+// @NamedQuery(
+// name = "findIdentityObjectRelationshipNamesForIdentityObject",
+// query = "select r.name.name from HibernateIdentityObjectRelationship r where
" +
+// "r.fromIdentityObject like :identityObject or r.toIdentityObject like
:identityObject"
+// ),
+// @NamedQuery(
+// name =
"findIdentityObjectRelationshipNamesForIdentityObjectOrderedByNameAsc",
+// query = "select r.name.name from HibernateIdentityObjectRelationship r where
" +
+// "r.fromIdentityObject like :identityObject or r.toIdentityObject like
:identityObject " +
+// "order by r.name.name asc"
+// ),
+// @NamedQuery(
+// name =
"findIdentityObjectRelationshipNamesForIdentityObjectOrdereByNameDesc",
+// query = "select r.name.name from HibernateIdentityObjectRelationship r where
" +
+// "r.fromIdentityObject like :identityObject or r.toIdentityObject like
:identityObject " +
+// "order by r.name.name desc")
+//})
+public class HibernateIdentityObjectRelationshipName
+{
+
+ public static final String findIdentityObjectRelationshipNameByName =
+ "select rn from HibernateIdentityObjectRelationshipName rn where rn.name like
:name and rn.realm like :realm";
+
+ public static final String findIdentityObjectRelationshipNames =
+ "select rn.name from HibernateIdentityObjectRelationshipName rn where rn.name
like :nameFilter and rn.realm like :realm";
+
+ public static final String findIdentityObjectRelationshipNamesOrderedByNameAsc =
+ "select rn.name from HibernateIdentityObjectRelationshipName rn where rn.name
like :nameFilter and rn.realm like :realm " +
+ "order by rn.name asc";
+
+ public static final String findIdentityObjectRelationshipNamesOrderedByNameDesc =
+ "select rn.name from HibernateIdentityObjectRelationshipName rn where rn.name
like :nameFilter and rn.realm like :realm " +
+ "order by rn.name desc";
+
+ public static final String findIdentityObjectRelationshipNamesForIdentityObject =
+ "select r.name.name from HibernateIdentityObjectRelationship r where " +
+ "r.fromIdentityObject like :identityObject or r.toIdentityObject like
:identityObject";
+
+ public static final String
findIdentityObjectRelationshipNamesForIdentityObjectOrderedByNameAsc =
+ "select r.name.name from HibernateIdentityObjectRelationship r where " +
"r.fromIdentityObject like :identityObject or r.toIdentityObject like
:identityObject " +
- "order by r.name.name asc"
- ),
- @NamedQuery(
- name =
"findIdentityObjectRelationshipNamesForIdentityObjectOrdereByNameDesc",
- query = "select r.name.name from HibernateIdentityObjectRelationship r where
" +
+ "order by r.name.name asc";
+
+ public static final String
findIdentityObjectRelationshipNamesForIdentityObjectOrdereByNameDesc =
+ "select r.name.name from HibernateIdentityObjectRelationship r where " +
"r.fromIdentityObject like :identityObject or r.toIdentityObject like
:identityObject " +
- "order by r.name.name desc")
-})
-public class HibernateIdentityObjectRelationshipName
-{
+ "order by r.name.name desc";
+
+
+
@Id
@GeneratedValue
private Long id;
Modified:
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObjectRelationshipType.java
===================================================================
---
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObjectRelationshipType.java 2009-02-03
10:32:25 UTC (rev 298)
+++
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObjectRelationshipType.java 2009-02-03
12:54:58 UTC (rev 299)
@@ -36,17 +36,21 @@
* @author <a href="mailto:boleslaw.dawidowicz at redhat.com">Boleslaw
Dawidowicz</a>
* @version : 0.1 $
*/
-@NamedQueries({
- @NamedQuery(
- name = "findIdentityObjectRelationshipTypeByName",
- query = "select t from HibernateIdentityObjectRelationshipType t where t.name
like :name"
- )
- })
+//@NamedQueries({
+// @NamedQuery(
+// name = "findIdentityObjectRelationshipTypeByName",
+// query = "select t from HibernateIdentityObjectRelationshipType t where
t.name like :name"
+// )
+// })
@Entity
@Table(name = "identity_relationship_type")
public class HibernateIdentityObjectRelationshipType implements
IdentityObjectRelationshipType
{
+ public static final String findIdentityObjectRelationshipTypeByName =
+ "select t from HibernateIdentityObjectRelationshipType t where t.name like
:name";
+
+
@Id
@GeneratedValue
private Long id;
Modified:
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObjectType.java
===================================================================
---
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObjectType.java 2009-02-03
10:32:25 UTC (rev 298)
+++
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateIdentityObjectType.java 2009-02-03
12:54:58 UTC (rev 299)
@@ -46,6 +46,10 @@
@Table(name = "identity_obj_type")
public class HibernateIdentityObjectType implements IdentityObjectType
{
+
+ public static final String findIdentityObjectTypeByName =
+ "select t from HibernateIdentityObjectType t where t.name like :name";
+
@Id
@GeneratedValue
private Long id;
Modified:
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateRealm.java
===================================================================
---
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateRealm.java 2009-02-03
10:32:25 UTC (rev 298)
+++
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/model/hibernate/HibernateRealm.java 2009-02-03
12:54:58 UTC (rev 299)
@@ -41,17 +41,20 @@
* @author <a href="mailto:boleslaw.dawidowicz at redhat.com">Boleslaw
Dawidowicz</a>
* @version : 0.1 $
*/
-@NamedQueries({
- @NamedQuery(
- name = "findIRealmByName",
- query = "select o from HibernateRealm o where o.name like :name"
- )
-})
+//@NamedQueries({
+// @NamedQuery(
+// name = "findIRealmByName",
+// query = "select o from HibernateRealm o where o.name like :name"
+// )
+//})
@Entity
@Table(name = "identity_realm", uniqueConstraints =
{@UniqueConstraint(columnNames = {"NAME"})})
public class HibernateRealm
{
+ public static final String findIRealmByName =
+ "select o from HibernateRealm o where o.name like :name";
+
@Id
@GeneratedValue
private Long id;
Modified:
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/store/hibernate/HibernateIdentityStoreImpl.java
===================================================================
---
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/store/hibernate/HibernateIdentityStoreImpl.java 2009-02-03
10:32:25 UTC (rev 298)
+++
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/store/hibernate/HibernateIdentityStoreImpl.java 2009-02-03
12:54:58 UTC (rev 299)
@@ -33,12 +33,11 @@
import java.util.Map;
import java.util.Set;
-import javax.persistence.NoResultException;
-import javax.persistence.Persistence;
-import javax.persistence.Query;
-
import org.hibernate.Criteria;
import org.hibernate.HibernateException;
+import org.hibernate.Session;
+import org.hibernate.Query;
+import org.hibernate.SessionFactory;
import org.hibernate.criterion.Restrictions;
import org.hibernate.ejb.HibernateEntityManager;
import org.hibernate.ejb.HibernateEntityManagerFactory;
@@ -76,6 +75,10 @@
import org.jboss.identity.idm.spi.store.IdentityStoreInvocationContext;
import org.jboss.identity.idm.spi.store.IdentityStoreSession;
+import javax.persistence.Persistence;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
/**
* @author <a href="mailto:boleslaw.dawidowicz at redhat.com">Boleslaw
Dawidowicz</a>
* @version : 0.1 $
@@ -104,6 +107,8 @@
public static final String PERSISTENCE_UNIT = "persistenceUnit";
+ public static final String HIBERNATE_SESSION_FACTORY_JNDI_NAME =
"hibernateSessionFactoryJNDIName";
+
public static final String POPULATE_MEMBERSHIP_TYPES =
"populateRelationshipTypes";
public static final String POPULATE_IDENTITY_OBJECT_TYPES =
"populateIdentityObjectTypes";
@@ -122,7 +127,7 @@
private FeaturesMetaData supportedFeatures;
- private HibernateEntityManagerFactory emFactory;
+ private SessionFactory sessionFactory;
private boolean isRealmAware = false;
@@ -175,9 +180,9 @@
String populateMembershipTypes =
configurationMD.getOptionSingleValue(POPULATE_MEMBERSHIP_TYPES);
String populateIdentityObjectTypes =
configurationMD.getOptionSingleValue(POPULATE_IDENTITY_OBJECT_TYPES);
- emFactory = bootstrapHibernateEntityManager(configurationMD);
+ sessionFactory = bootstrapHibernateSessionFactory(configurationMD);
- HibernateEntityManager em =
(HibernateEntityManager)emFactory.createEntityManager();
+ Session hibernateSession = sessionFactory.openSession();
// Attribute mappings - helper structures
@@ -217,7 +222,7 @@
try
{
- populateRelationshipTypes(em, memberships.toArray(new
String[memberships.size()]));
+ populateRelationshipTypes(hibernateSession, memberships.toArray(new
String[memberships.size()]));
}
catch (Exception e)
{
@@ -238,7 +243,7 @@
try
{
- populateObjectTypes(em, types.toArray(new String[types.size()]));
+ populateObjectTypes(hibernateSession, types.toArray(new
String[types.size()]));
}
catch (Exception e)
{
@@ -251,7 +256,7 @@
{
try
{
- populateCredentialTypes(em, supportedCredentialTypes.toArray(new
String[supportedCredentialTypes.size()]));
+ populateCredentialTypes(hibernateSession,
supportedCredentialTypes.toArray(new String[supportedCredentialTypes.size()]));
}
catch (Exception e)
{
@@ -280,12 +285,12 @@
try
{
- em.getTransaction().begin();
+ hibernateSession.getTransaction().begin();
- realm = (HibernateRealm)em.getSession().
+ realm = (HibernateRealm)hibernateSession.
createCriteria(HibernateRealm.class).add(Restrictions.eq("name",
DEFAULT_REALM_NAME)).uniqueResult();
- em.getTransaction().commit();
+ hibernateSession.getTransaction().commit();
}
catch (HibernateException e)
@@ -295,24 +300,48 @@
if (realm == null)
{
- addRealm(em, DEFAULT_REALM_NAME);
+ addRealm(hibernateSession, DEFAULT_REALM_NAME);
}
+ hibernateSession.flush();
+
}
- // this is separate method to allow easier testing
- protected HibernateEntityManagerFactory
bootstrapHibernateEntityManager(IdentityStoreConfigurationMetaData configurationMD) throws
IdentityException
+ protected SessionFactory
bootstrapHibernateSessionFactory(IdentityStoreConfigurationMetaData configurationMD)
throws IdentityException
{
+ String sfJNDIName =
configurationMD.getOptionSingleValue(HIBERNATE_SESSION_FACTORY_JNDI_NAME);
String persistenceUnit = configurationMD.getOptionSingleValue(PERSISTENCE_UNIT);
-
- if (persistenceUnit == null)
+
+ if (sfJNDIName != null)
{
- throw new IdentityException("Persistence Unit not defined for
IdentityStore: " + getId());
+ try
+ {
+ return (SessionFactory)new InitialContext().lookup(sfJNDIName);
+ }
+ catch (NamingException e)
+ {
+ throw new IdentityException("Cannot obtain hibernate SessionFactory from
provided JNDI name: " + sfJNDIName, e);
+ }
}
+ else if (persistenceUnit != null)
+ {
- return
(HibernateEntityManagerFactory)Persistence.createEntityManagerFactory(persistenceUnit);
+ try
+ {
+ return
((HibernateEntityManagerFactory)Persistence.createEntityManagerFactory(persistenceUnit)).getSessionFactory();
+ }
+ catch (Exception e)
+ {
+ throw new IdentityException("Cannot obtain hibernate SessionFactory
using provided persistence unit name: "+ persistenceUnit, e);
+ }
+ }
+
+ throw new IdentityException("Cannot obtain hibernate SessionFactory. None of
supported options specified: "
+ + HIBERNATE_SESSION_FACTORY_JNDI_NAME + ", " + PERSISTENCE_UNIT);
+
+
}
@@ -320,7 +349,7 @@
{
try
{
- return new
HibernateIdentityStoreSessionImpl((HibernateEntityManager)emFactory.createEntityManager());
+ return new HibernateIdentityStoreSessionImpl(sessionFactory.openSession());
}
catch (Exception e)
{
@@ -361,16 +390,16 @@
checkIOType(identityObjectType);
- HibernateEntityManager em = getHibernateEntityManager(ctx);
+ Session session = getHibernateSession(ctx);
- HibernateRealm realm = getRealm(em, ctx);
+ HibernateRealm realm = getRealm(session, ctx);
// Check if object with a given name and type is not present already
- List<?> results =
em.createNamedQuery("findIdentityObjectByNameAndType")
+ List<?> results =
session.createQuery(HibernateIdentityObject.findIdentityObjectByNameAndType)
.setParameter("realm", realm)
.setParameter("name", name)
.setParameter("typeName", identityObjectType.getName())
- .getResultList();
+ .list();
if (results.size() != 0)
{
@@ -393,7 +422,7 @@
try
{
- getHibernateEntityManager(ctx).persist(io);
+ getHibernateSession(ctx).persist(io);
}
catch (Exception e)
{
@@ -408,7 +437,7 @@
{
HibernateIdentityObject hibernateObject = safeGet(ctx, identity);
- HibernateEntityManager hem = getHibernateEntityManager(ctx);
+ Session hibernateSession = getHibernateSession(ctx);
try
{
@@ -418,7 +447,7 @@
relationship.getFromIdentityObject().getFromRelationships().remove(relationship);
relationship.getToIdentityObject().getToRelationships().remove(relationship);
- hem.remove(relationship);
+ hibernateSession.delete(relationship);
}
for (HibernateIdentityObjectRelationship relationship :
hibernateObject.getToRelationships())
@@ -426,10 +455,10 @@
relationship.getFromIdentityObject().getFromRelationships().remove(relationship);
relationship.getToIdentityObject().getToRelationships().remove(relationship);
- hem.remove(relationship);
+ hibernateSession.delete(relationship);
}
- hem.remove(hibernateObject);
+ hibernateSession.delete(hibernateObject);
}
catch (Exception e)
{
@@ -443,16 +472,16 @@
HibernateIdentityObjectType jpaType = getHibernateIdentityObjectType(ctx,
identityType);
- HibernateEntityManager em = getHibernateEntityManager(ctx);
+ Session hibernateSession = getHibernateSession(ctx);
int count;
try
{
- count = ((Number)em
- .createNamedQuery("countIdentityObjectsByType")
+ count = ((Number)hibernateSession
+ .createQuery(HibernateIdentityObject.countIdentityObjectsByType)
.setParameter("typeName", jpaType.getName())
- .setParameter("realm", getRealm(em, ctx))
- .getSingleResult()).intValue();
+ .setParameter("realm", getRealm(hibernateSession, ctx))
+ .uniqueResult()).intValue();
}
catch (Exception e)
{
@@ -476,16 +505,16 @@
HibernateIdentityObject hibernateObject = null;
- HibernateEntityManager em = getHibernateEntityManager(ctx);
+ Session em = getHibernateSession(ctx);
try
{
- hibernateObject = (HibernateIdentityObject)getHibernateEntityManager(ctx).
- createNamedQuery("findIdentityObjectByNameAndType")
+ hibernateObject = (HibernateIdentityObject)getHibernateSession(ctx).
+ createQuery(HibernateIdentityObject.findIdentityObjectByNameAndType)
.setParameter("realm", getRealm(em, ctx))
.setParameter("name", name)
.setParameter("typeName", hibernateType.getName())
- .getSingleResult();
+ .uniqueResult();
}
catch (Exception e)
{
@@ -506,7 +535,7 @@
try
{
- hibernateObject =
getHibernateEntityManager(ctx).find(HibernateIdentityObject.class, new Long(id));
+ hibernateObject =
(HibernateIdentityObject)getHibernateSession(ctx).get(HibernateIdentityObject.class, new
Long(id));
}
catch(Exception e)
{
@@ -559,7 +588,7 @@
List<IdentityObject> results;
- HibernateEntityManager em = getHibernateEntityManager(ctx);
+ Session hibernateSession = getHibernateSession(ctx);
try
{
@@ -570,16 +599,16 @@
{
if (sortSearchControl.isAscending())
{
- q =
em.createNamedQuery("findIdentityObjectsByTypeOrderedByNameAsc");
+ q =
hibernateSession.createQuery(HibernateIdentityObject.findIdentityObjectsByTypeOrderedByNameAsc);
}
else
{
- q =
em.createNamedQuery("findIdentityObjectsByTypeOrderedByNameDesc");
+ q =
hibernateSession.createQuery(HibernateIdentityObject.findIdentityObjectsByTypeOrderedByNameDesc);
}
}
else
{
- q = em.createNamedQuery("findIdentityObjectsByType");
+ q =
hibernateSession.createQuery(HibernateIdentityObject.findIdentityObjectsByType);
}
if (pageSearchControl != null)
@@ -592,7 +621,7 @@
}
- q.setParameter("realm", getRealm(em, ctx))
+ q.setParameter("realm", getRealm(hibernateSession, ctx))
.setParameter("typeName", hibernateType.getName());
if (nameFilterSearchControl != null)
@@ -606,7 +635,7 @@
- results = (List<IdentityObject>)q.getResultList();
+ results = (List<IdentityObject>)q.list();
}
catch (Exception e)
@@ -725,7 +754,7 @@
- q =
getHibernateEntityManager(ctx).getSession().createQuery(hqlString.toString())
+ q = getHibernateSession(ctx).createQuery(hqlString.toString())
.setParameter("relType", relationshipType.getName())
.setParameter("identity",hibernateObject);
@@ -798,7 +827,7 @@
"beetween: [ " + fromIO.getIdentityType().getName() + " ] and
[ " + toIO.getIdentityType().getName() + " ]");
}
- org.hibernate.Query query =
getHibernateEntityManager(ctx).getSession().createQuery(QUERY_RELATIONSHIP_BY_FROM_TO_TYPE_NAME)
+ org.hibernate.Query query =
getHibernateSession(ctx).createQuery(QUERY_RELATIONSHIP_BY_FROM_TO_TYPE_NAME)
.setParameter("fromIO", fromIO)
.setParameter("toIO", toIO)
.setParameter("typeName", type.getName())
@@ -816,7 +845,10 @@
if (name != null)
{
- HibernateIdentityObjectRelationshipName relationshipName =
(HibernateIdentityObjectRelationshipName)getHibernateEntityManager(ctx).getSession().createCriteria(HibernateIdentityObjectRelationshipName.class).add(Restrictions.eq("name",
name)).uniqueResult();
+ HibernateIdentityObjectRelationshipName relationshipName =
+ (HibernateIdentityObjectRelationshipName)getHibernateSession(ctx).
+
createCriteria(HibernateIdentityObjectRelationshipName.class).add(Restrictions.eq("name",
name)).
+ uniqueResult();
if (relationshipName == null)
{
@@ -830,7 +862,7 @@
relationship = new HibernateIdentityObjectRelationship(type, fromIO, toIO);
}
- getHibernateEntityManager(ctx).persist(relationship);
+ getHibernateSession(ctx).persist(relationship);
return relationship;
@@ -856,21 +888,24 @@
if (name == null)
{
- query =
getHibernateEntityManager(ctx).getSession().createQuery(QUERY_RELATIONSHIP_BY_FROM_TO_TYPE)
+ query =
getHibernateSession(ctx).createQuery(QUERY_RELATIONSHIP_BY_FROM_TO_TYPE)
.setParameter("fromIO", fromIO)
.setParameter("toIO", toIO)
.setParameter("typeName", type.getName());
}
else
{
- HibernateIdentityObjectRelationshipName relationshipName =
(HibernateIdentityObjectRelationshipName)getHibernateEntityManager(ctx).getSession().createCriteria(HibernateIdentityObjectRelationshipName.class).add(Restrictions.eq("name",
name)).uniqueResult();
+ HibernateIdentityObjectRelationshipName relationshipName =
+ (HibernateIdentityObjectRelationshipName)getHibernateSession(ctx)
+
.createCriteria(HibernateIdentityObjectRelationshipName.class).add(Restrictions.eq("name",
name))
+ .uniqueResult();
if (relationshipName == null)
{
throw new IdentityException("Relationship name not present in the
store");
}
- query =
getHibernateEntityManager(ctx).getSession().createQuery(QUERY_RELATIONSHIP_BY_FROM_TO_TYPE_NAME)
+ query =
getHibernateSession(ctx).createQuery(QUERY_RELATIONSHIP_BY_FROM_TO_TYPE_NAME)
.setParameter("fromIO", fromIO)
.setParameter("toIO", toIO)
.setParameter("typeName", type.getName())
@@ -889,7 +924,7 @@
fromIO.getFromRelationships().remove(relationship);
toIO.getToRelationships().remove(relationship);
- getHibernateEntityManager(ctx).remove(relationship);
+ getHibernateSession(ctx).delete(relationship);
}
@@ -898,7 +933,7 @@
HibernateIdentityObject hio1 = safeGet(ctx, identity1);
HibernateIdentityObject hio2 = safeGet(ctx, identity2);
- org.hibernate.Query query =
getHibernateEntityManager(ctx).getSession().createQuery(QUERY_RELATIONSHIP_BY_IDENTITIES)
+ org.hibernate.Query query =
getHibernateSession(ctx).createQuery(QUERY_RELATIONSHIP_BY_IDENTITIES)
.setParameter("IO1", hio1)
.setParameter("IO2", hio2);
@@ -913,7 +948,7 @@
{
relationship.getFromIdentityObject().getFromRelationships().remove(relationship);
relationship.getToIdentityObject().getToRelationships().remove(relationship);
- getHibernateEntityManager(ctx).remove(relationship);
+ getHibernateSession(ctx).delete(relationship);
}
}
}
@@ -931,11 +966,11 @@
if (relationshipType == null)
{
- query =
getHibernateEntityManager(ctx).getSession().createQuery(QUERY_RELATIONSHIP_BY_FROM_TO);
+ query = getHibernateSession(ctx).createQuery(QUERY_RELATIONSHIP_BY_FROM_TO);
}
else
{
- query =
getHibernateEntityManager(ctx).getSession().createQuery(QUERY_RELATIONSHIP_BY_FROM_TO_TYPE)
+ query =
getHibernateSession(ctx).createQuery(QUERY_RELATIONSHIP_BY_FROM_TO_TYPE)
.setParameter("typeName", relationshipType.getName());
}
@@ -959,7 +994,7 @@
HibernateIdentityObject hio = safeGet(ctx, identity);
- Criteria criteria =
getHibernateEntityManager(ctx).getSession().createCriteria(HibernateIdentityObjectRelationship.class);
+ Criteria criteria =
getHibernateSession(ctx).createCriteria(HibernateIdentityObjectRelationship.class);
if (type != null)
{
@@ -1002,13 +1037,13 @@
throw new IllegalArgumentException("name is null");
}
- HibernateEntityManager em = getHibernateEntityManager(ctx);
+ Session em = getHibernateSession(ctx);
HibernateRealm realm = getRealm(em, ctx);
try
{
- HibernateIdentityObjectRelationshipName hiorn =
(HibernateIdentityObjectRelationshipName)em.getSession().createCriteria(HibernateIdentityObjectRelationshipName.class)
+ HibernateIdentityObjectRelationshipName hiorn =
(HibernateIdentityObjectRelationshipName)em.createCriteria(HibernateIdentityObjectRelationshipName.class)
.add(Restrictions.eq("name",
name)).add(Restrictions.eq("realm", realm)).uniqueResult();
if (hiorn != null)
@@ -1017,7 +1052,7 @@
}
hiorn = new HibernateIdentityObjectRelationshipName(name, realm);
- getHibernateEntityManager(ctx).persist(hiorn);
+ getHibernateSession(ctx).persist(hiorn);
}
catch (Exception e)
@@ -1036,12 +1071,12 @@
throw new IllegalArgumentException("name is null");
}
- HibernateEntityManager em = getHibernateEntityManager(ctx);
+ Session em = getHibernateSession(ctx);
try
{
- HibernateIdentityObjectRelationshipName hiorn =
(HibernateIdentityObjectRelationshipName)em.getSession().createCriteria(HibernateIdentityObjectRelationshipName.class)
+ HibernateIdentityObjectRelationshipName hiorn =
(HibernateIdentityObjectRelationshipName)em.createCriteria(HibernateIdentityObjectRelationshipName.class)
.add(Restrictions.eq("name",
name)).add(Restrictions.eq("realm", getRealm(em, ctx))).uniqueResult();
if (hiorn == null)
@@ -1049,7 +1084,7 @@
throw new IdentityException("Relationship name doesn't
exist");
}
- getHibernateEntityManager(ctx).remove(hiorn);
+ getHibernateSession(ctx).delete(hiorn);
}
catch (Exception e)
@@ -1066,7 +1101,7 @@
Set<String> names = null;
- HibernateEntityManager em = getHibernateEntityManager(ctx);
+ Session em = getHibernateSession(ctx);
checkControls(controls);
@@ -1107,16 +1142,16 @@
{
if (sortSearchControl.isAscending())
{
- q =
em.createNamedQuery("findIdentityObjectRelationshipNamesOrderedByNameAsc");
+ q =
em.createQuery(HibernateIdentityObjectRelationshipName.findIdentityObjectRelationshipNamesOrderedByNameAsc);
}
else
{
- q =
em.createNamedQuery("findIdentityObjectRelationshipNamesOrderedByNameDesc");
+ q =
em.createQuery(HibernateIdentityObjectRelationshipName.findIdentityObjectRelationshipNamesOrderedByNameDesc);
}
}
else
{
- q = em.createNamedQuery("findIdentityObjectRelationshipNames");
+ q =
em.createQuery(HibernateIdentityObjectRelationshipName.findIdentityObjectRelationshipNames);
}
q.setParameter("realm", getRealm(em, ctx));
@@ -1140,7 +1175,7 @@
}
}
- List<String> results = (List<String>)q.getResultList();
+ List<String> results = (List<String>)q.list();
names = new HashSet<String>(results);
@@ -1165,7 +1200,7 @@
HibernateIdentityObject hibernateObject = safeGet(ctx, identity);
- HibernateEntityManager em = getHibernateEntityManager(ctx);
+ Session em = getHibernateSession(ctx);
checkControls(controls);
@@ -1195,16 +1230,16 @@
{
if (sortSearchControl.isAscending())
{
- q =
em.createNamedQuery("findIdentityObjectRelationshipNamesForIdentityObjectOrderedByNameAsc");
+ q =
em.createQuery(HibernateIdentityObjectRelationshipName.findIdentityObjectRelationshipNamesForIdentityObjectOrderedByNameAsc);
}
else
{
- q =
em.createNamedQuery("findIdentityObjectRelationshipNamesForIdentityObjectOrderedByNameDesc");
+ q =
em.createQuery(HibernateIdentityObjectRelationshipName.findIdentityObjectRelationshipNamesForIdentityObjectOrdereByNameDesc);
}
}
else
{
- q =
em.createNamedQuery("findIdentityObjectRelationshipNamesForIdentityObject");
+ q =
em.createQuery(HibernateIdentityObjectRelationshipName.findIdentityObjectRelationshipNamesForIdentityObject);
}
q.setParameter("identityObject", hibernateObject);
@@ -1218,7 +1253,7 @@
}
}
- List<String> results = (List<String>)q.getResultList();
+ List<String> results = (List<String>)q.list();
names = new HashSet<String>(results);
@@ -1685,7 +1720,7 @@
HibernateIdentityObject hibernateObject = safeGet(ctx, identityObject);
- HibernateEntityManager em = getHibernateEntityManager(ctx);
+ Session em = getHibernateSession(ctx);
if
(supportedFeatures.isCredentialSupported(hibernateObject.getIdentityType(),credential.getType()))
{
@@ -1749,24 +1784,24 @@
public void addIdentityObjectType(IdentityStoreInvocationContext ctx,
IdentityObjectType type) throws IdentityException
{
HibernateIdentityObjectType hibernateType = new HibernateIdentityObjectType(type);
- getHibernateEntityManager(ctx).persist(hibernateType);
+ getHibernateSession(ctx).persist(hibernateType);
}
public void addIdentityObjectRelationshipType(IdentityStoreInvocationContext ctx,
IdentityObjectRelationshipType type) throws IdentityException
{
HibernateIdentityObjectRelationshipType hibernateType = new
HibernateIdentityObjectRelationshipType(type);
- getHibernateEntityManager(ctx).persist(hibernateType);
+ getHibernateSession(ctx).persist(hibernateType);
}
- protected HibernateEntityManager
getHibernateEntityManager(IdentityStoreInvocationContext ctx) throws IdentityException
+ protected Session getHibernateSession(IdentityStoreInvocationContext ctx) throws
IdentityException
{
try
{
- return
(HibernateEntityManager)ctx.getIdentityStoreSession().getSessionContext();
+ return ((Session)ctx.getIdentityStoreSession().getSessionContext());
}
- catch (IdentityException e)
+ catch (Exception e)
{
throw new IdentityException("Cannot obtain HibernateEntityManager",
e);
}
@@ -1814,18 +1849,19 @@
HibernateIdentityObjectType hibernateType = null;
- HibernateEntityManager em = getHibernateEntityManager(ctx);
+ Session em = getHibernateSession(ctx);
try
{
- hibernateType =
(HibernateIdentityObjectType)em.createNamedQuery("findIdentityObjectTypeByName")
+ hibernateType = (HibernateIdentityObjectType)em.
+ createQuery(HibernateIdentityObjectType.findIdentityObjectTypeByName)
.setParameter("name", type.getName())
- .getSingleResult() ;
+ .uniqueResult() ;
}
- catch (NoResultException e)
+ catch (HibernateException e)
{
- throw new IdentityException("IdentityObjectType[" + type.getName() +
"] not present in the store.");
+ throw new IdentityException("IdentityObjectType[" + type.getName() +
"] not present in the store.", e);
}
return hibernateType;
@@ -1836,16 +1872,16 @@
HibernateIdentityObject hibernateObject = null;
- HibernateEntityManager em = getHibernateEntityManager(ctx);
+ Session em = getHibernateSession(ctx);
try
{
- hibernateObject =
(HibernateIdentityObject)em.createNamedQuery("findIdentityObjectByNameAndType")
+ hibernateObject =
(HibernateIdentityObject)em.createQuery(HibernateIdentityObject.findIdentityObjectByNameAndType)
.setParameter("name", io.getName())
.setParameter("typeName", io.getIdentityType().getName())
.setParameter("realm", getRealm(em, ctx))
- .getSingleResult();
+ .uniqueResult();
}
catch (Exception e)
{
@@ -1860,13 +1896,14 @@
HibernateIdentityObjectRelationshipType relationshipType = null;
- HibernateEntityManager em = getHibernateEntityManager(ctx);
+ Session em = getHibernateSession(ctx);
try
{
- relationshipType =
(HibernateIdentityObjectRelationshipType)em.createNamedQuery("findIdentityObjectRelationshipTypeByName")
+ relationshipType = (HibernateIdentityObjectRelationshipType)em.
+
createQuery(HibernateIdentityObjectRelationshipType.findIdentityObjectRelationshipTypeByName)
.setParameter("name", iot.getName())
- .getSingleResult();
+ .uniqueResult();
}
catch (Exception e)
{
@@ -1878,13 +1915,13 @@
private HibernateIdentityObjectCredentialType
getHibernateIdentityObjectCredentialType(IdentityStoreInvocationContext ctx,
IdentityObjectCredentialType credentialType) throws IdentityException
{
- HibernateEntityManager em = getHibernateEntityManager(ctx);
+ Session em = getHibernateSession(ctx);
HibernateIdentityObjectCredentialType hibernateType = null;
try
{
- hibernateType = (HibernateIdentityObjectCredentialType)em.getSession().
+ hibernateType = (HibernateIdentityObjectCredentialType)em.
createCriteria(HibernateIdentityObjectCredentialType.class).add(Restrictions.eq("name",
credentialType.getName())).uniqueResult();
}
catch (HibernateException e)
@@ -1896,87 +1933,87 @@
}
- public void populateObjectTypes(HibernateEntityManager em, String[] typeNames) throws
Exception
+ public void populateObjectTypes(Session hibernateSession, String[] typeNames) throws
Exception
{
- em.getTransaction().begin();
+ hibernateSession.getTransaction().begin();
for (String typeName : typeNames)
{
//Check if present
- HibernateIdentityObjectType hibernateType =
(HibernateIdentityObjectType)em.getSession().
+ HibernateIdentityObjectType hibernateType =
(HibernateIdentityObjectType)hibernateSession.
createCriteria(HibernateIdentityObjectType.class).add(Restrictions.eq("name",
typeName)).uniqueResult();
if (hibernateType == null)
{
hibernateType = new HibernateIdentityObjectType(typeName);
- em.persist(hibernateType);
+ hibernateSession.persist(hibernateType);
}
}
- em.getTransaction().commit();
+ hibernateSession.getTransaction().commit();
}
- public void populateRelationshipTypes(HibernateEntityManager em, String[] typeNames)
throws Exception
+ public void populateRelationshipTypes(Session hibernateSession, String[] typeNames)
throws Exception
{
- em.getTransaction().begin();
+ hibernateSession.getTransaction().begin();
for (String typeName : typeNames)
{
- HibernateIdentityObjectRelationshipType hibernateType =
(HibernateIdentityObjectRelationshipType)em.getSession().
+ HibernateIdentityObjectRelationshipType hibernateType =
(HibernateIdentityObjectRelationshipType)hibernateSession.
createCriteria(HibernateIdentityObjectRelationshipType.class).add(Restrictions.eq("name",
typeName)).uniqueResult();
if (hibernateType == null)
{
hibernateType = new HibernateIdentityObjectRelationshipType(typeName);
- em.persist(hibernateType);
+ hibernateSession.persist(hibernateType);
}
}
- em.getTransaction().commit();
+ hibernateSession.getTransaction().commit();
}
- public void populateCredentialTypes(HibernateEntityManager em, String[] typeNames)
throws Exception
+ public void populateCredentialTypes(Session hibernateSession, String[] typeNames)
throws Exception
{
- em.getTransaction().begin();
+ hibernateSession.getTransaction().begin();
for (String typeName : typeNames)
{
- HibernateIdentityObjectCredentialType hibernateType =
(HibernateIdentityObjectCredentialType)em.getSession().
+ HibernateIdentityObjectCredentialType hibernateType =
(HibernateIdentityObjectCredentialType)hibernateSession.
createCriteria(HibernateIdentityObjectCredentialType.class).add(Restrictions.eq("name",
typeName)).uniqueResult();
if (hibernateType == null)
{
hibernateType = new HibernateIdentityObjectCredentialType(typeName);
- em.persist(hibernateType);
+ hibernateSession.persist(hibernateType);
}
}
- em.getTransaction().commit();
+ hibernateSession.getTransaction().commit();
}
- public void addRealm(HibernateEntityManager em, String realmName) throws
IdentityException
+ public void addRealm(Session hibernateSession, String realmName) throws
IdentityException
{
try
{
- em.getTransaction().begin();
+ hibernateSession.getTransaction().begin();
HibernateRealm realm = new HibernateRealm(realmName);
- em.persist(realm);
+ hibernateSession.persist(realm);
- em.getTransaction().commit();
+ hibernateSession.getTransaction().commit();
}
catch (Exception e)
@@ -1986,7 +2023,7 @@
}
- public HibernateRealm getRealm(HibernateEntityManager em,
IdentityStoreInvocationContext ctx) throws IdentityException
+ public HibernateRealm getRealm(Session hibernateSession,
IdentityStoreInvocationContext ctx) throws IdentityException
{
if (ctx.getRealmId() == null)
{
@@ -1998,7 +2035,7 @@
// If store is not realm aware return null to create/get objects accessible from
other realms
if (!isRealmAware())
{
- realm = (HibernateRealm)em.getSession().
+ realm = (HibernateRealm)hibernateSession.
createCriteria(HibernateRealm.class).add(Restrictions.eq("name",
DEFAULT_REALM_NAME)).uniqueResult();
if (realm == null)
@@ -2009,7 +2046,7 @@
}
else
{
- realm = (HibernateRealm)em.getSession().
+ realm = (HibernateRealm)hibernateSession.
createCriteria(HibernateRealm.class).add(Restrictions.eq("name",
ctx.getRealmId())).uniqueResult();
@@ -2017,7 +2054,7 @@
if (realm == null)
{
HibernateRealm newRealm = new HibernateRealm(ctx.getRealmId());
- em.persist(newRealm);
+ hibernateSession.persist(newRealm);
return newRealm;
}
}
Modified:
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/store/hibernate/HibernateIdentityStoreSessionImpl.java
===================================================================
---
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/store/hibernate/HibernateIdentityStoreSessionImpl.java 2009-02-03
10:32:25 UTC (rev 298)
+++
idm/trunk/idm/src/main/java/org/jboss/identity/idm/impl/store/hibernate/HibernateIdentityStoreSessionImpl.java 2009-02-03
12:54:58 UTC (rev 299)
@@ -24,8 +24,8 @@
import org.jboss.identity.idm.spi.store.IdentityStoreSession;
import org.jboss.identity.idm.exception.IdentityException;
+import org.hibernate.Session;
import org.hibernate.ejb.HibernateEntityManagerFactory;
-import org.hibernate.ejb.HibernateEntityManager;
import javax.persistence.Persistence;
@@ -38,42 +38,42 @@
public class HibernateIdentityStoreSessionImpl implements IdentityStoreSession
{
- private final HibernateEntityManager hem;
+ private final Session hibernateSession;
- public HibernateIdentityStoreSessionImpl(HibernateEntityManager hem)
+ public HibernateIdentityStoreSessionImpl(Session hibernateSession)
{
- this.hem = hem;
+ this.hibernateSession = hibernateSession;
}
public HibernateIdentityStoreSessionImpl(String persistenceUnit)
{
HibernateEntityManagerFactory emFactory =
(HibernateEntityManagerFactory)Persistence.createEntityManagerFactory(persistenceUnit);
- hem = (HibernateEntityManager)emFactory.createEntityManager();
+ hibernateSession = emFactory.getSessionFactory().openSession();
}
public Object getSessionContext()
{
- return hem;
+ return hibernateSession;
}
public void close() throws IdentityException
{
- hem.close();
+ hibernateSession.close();
}
public void save() throws IdentityException
{
- hem.flush();
+ hibernateSession.flush();
}
public void clear() throws IdentityException
{
- hem.clear();
+ hibernateSession.clear();
}
public boolean isOpen()
{
- return hem.isOpen();
+ return hibernateSession.isOpen();
}
public boolean isTransactionSupported()
@@ -83,21 +83,21 @@
public void startTransaction()
{
- hem.getTransaction().begin();
+ hibernateSession.getTransaction().begin();
}
public void commitTransaction()
{
- hem.getTransaction().commit();
+ hibernateSession.getTransaction().commit();
}
public void rollbackTransaction()
{
- hem.getTransaction().rollback();
+ hibernateSession.getTransaction().rollback();
}
public boolean isTransactionActive()
{
- return hem.getTransaction().isActive();
+ return hibernateSession.getTransaction().isActive();
}
}
Modified:
idm/trunk/idm/src/test/java/org/jboss/identity/idm/impl/store/hibernate/HibernateIdentityStoreTestCase.java
===================================================================
---
idm/trunk/idm/src/test/java/org/jboss/identity/idm/impl/store/hibernate/HibernateIdentityStoreTestCase.java 2009-02-03
10:32:25 UTC (rev 298)
+++
idm/trunk/idm/src/test/java/org/jboss/identity/idm/impl/store/hibernate/HibernateIdentityStoreTestCase.java 2009-02-03
12:54:58 UTC (rev 299)
@@ -39,6 +39,8 @@
import org.jboss.identity.idm.exception.IdentityException;
import org.hibernate.ejb.HibernateEntityManager;
import org.hibernate.ejb.HibernateEntityManagerFactory;
+import org.hibernate.Session;
+import org.hibernate.SessionFactory;
import java.util.Map;
import java.io.File;
@@ -86,15 +88,15 @@
store = new HibernateIdentityStoreImpl("HibernateTestStore")
{
- protected HibernateEntityManager
getHibernateEntityManager(IdentityStoreInvocationContext ctx)
+ protected Session getHibernateSession(IdentityStoreInvocationContext ctx)
{
- return em;
+ return em.getSession();
}
@Override
- protected HibernateEntityManagerFactory
bootstrapHibernateEntityManager(IdentityStoreConfigurationMetaData configurationMD) throws
IdentityException
+ protected SessionFactory
bootstrapHibernateSessionFactory(IdentityStoreConfigurationMetaData configurationMD)
throws IdentityException
{
- return emFactory;
+ return emFactory.getSessionFactory();
}
};