JBoss Community Archive (Read Only)

PicketLink

JPAIdentityStore



JPA Identity Store Configuration

JPAIdentityStoreConfiguration configuration = new JPAIdentityStoreConfiguration();
configuration.addRealm(Realm.DEFAULT_REALM);
configuration.addRealm("Testing");
configuration.setIdentityClass(IdentityObject.class);
configuration.setAttributeClass(IdentityObjectAttribute.class);
configuration.setRelationshipClass(RelationshipObject.class);
configuration.setRelationshipIdentityClass(RelationshipIdentityObject.class);
configuration.setRelationshipAttributeClass(RelationshipObjectAttribute.class);
configuration.setCredentialClass(CredentialObject.class);
configuration.setCredentialAttributeClass(CredentialObjectAttribute.class);
configuration.setPartitionClass(PartitionObject.class);

FeatureSet.addFeatureSupport(configuration.getFeatureSet());
FeatureSet.addRelationshipSupport(configuration.getFeatureSet());
FeatureSet.addRelationshipSupport(configuration.getFeatureSet(), CustomRelationship.class);  //You can install custom relationships
FeatureSet.addRelationshipSupport(configuration.getFeatureSet(), Authorization.class);
configuration.getFeatureSet().setSupportsCustomRelationships(true);
configuration.getFeatureSet().setSupportsMultiRealm(true);

return configuration;

An example of the standard JPA Identity Store configuration is shown above.

IdentityManager using JPA

Create or Inject an EntityManagerFactory

EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpa-identity-store-tests-pu");

EntityManager entityManager = emf.createEntityManager();
entityManager.getTransaction().begin();

Once we have the entitymanager,

IdentityConfiguration config = new IdentityConfiguration();
config.addStoreConfiguration(getDefaultConfiguration());

IdentityManager identityManager = new DefaultIdentityManager();
DefaultIdentityStoreInvocationContextFactory icf = new DefaultIdentityStoreInvocationContextFactory(this.emf);
icf.setEntityManager(this.entityManager);
identityManager.bootstrap(config, icf);
JBoss.org Content Archive (Read Only), exported from JBoss Community Documentation Editor at 2020-03-11 12:19:14 UTC, last content change 2013-03-07 21:59:00 UTC.