From picketlink-commits at lists.jboss.org Wed Jun 23 19:40:38 2010
Content-Type: multipart/mixed; boundary="===============8052555963787277151=="
MIME-Version: 1.0
From: picketlink-commits at lists.jboss.org
To: picketlink-commits at lists.jboss.org
Subject: [picketlink-commits] Picketlink SVN: r317 - in idm/trunk:
picketlink-idm-core and 7 other directories.
Date: Wed, 23 Jun 2010 19:40:38 -0400
Message-ID: <201006232340.o5NNecNa027424@svn01.web.mwc.hst.phx2.redhat.com>
--===============8052555963787277151==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Author: shane.bryzak(a)jboss.com
Date: 2010-06-23 19:40:36 -0400 (Wed, 23 Jun 2010)
New Revision: 317
Modified:
idm/trunk/picketlink-idm-api/src/main/java/org/picketlink/idm/api/Identi=
tySessionFactory.java
idm/trunk/picketlink-idm-core/pom.xml
idm/trunk/picketlink-idm-core/src/main/java/org/picketlink/idm/impl/api/=
IdentitySessionFactoryImpl.java
idm/trunk/picketlink-idm-core/src/main/java/org/picketlink/idm/impl/api/=
session/IdentitySessionImpl.java
idm/trunk/picketlink-idm-core/src/main/java/org/picketlink/idm/impl/cach=
e/JBossCacheAttributeStoreWrapper.java
idm/trunk/picketlink-idm-core/src/main/java/org/picketlink/idm/impl/repo=
sitory/FallbackIdentityStoreRepository.java
idm/trunk/picketlink-idm-core/src/main/java/org/picketlink/idm/impl/repo=
sitory/WrapperIdentityStoreRepository.java
idm/trunk/picketlink-idm-hibernate/src/main/java/org/picketlink/idm/impl=
/store/hibernate/HibernateIdentityStoreImpl.java
idm/trunk/picketlink-idm-ldap/src/main/java/org/picketlink/idm/impl/stor=
e/ldap/LDAPIdentityStoreImpl.java
idm/trunk/picketlink-idm-spi/src/main/java/org/picketlink/idm/spi/store/=
IdentityStoreSessionFactory.java
Log:
modify IdentityStore api to accept session options
Modified: idm/trunk/picketlink-idm-api/src/main/java/org/picketlink/idm/api=
/IdentitySessionFactory.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- idm/trunk/picketlink-idm-api/src/main/java/org/picketlink/idm/api/Ident=
itySessionFactory.java 2010-06-22 07:46:51 UTC (rev 316)
+++ idm/trunk/picketlink-idm-api/src/main/java/org/picketlink/idm/api/Ident=
itySessionFactory.java 2010-06-23 23:40:36 UTC (rev 317)
@@ -22,12 +22,18 @@
=
package org.picketlink.idm.api;
=
+import java.util.Map;
+
import org.picketlink.idm.common.exception.IdentityException;
=
/**
- * Creates IdentitySession objects for a given Realm. =
- *
+ * Creates IdentitySession objects for a given Realm. An IdentitySessionF=
actory
+ * is typically created from an IdentityConfiguration. =
+ * =
+ * @see org.picketlink.idm.api.cfg.IdentityConfiguration#buildIdentitySess=
ionFactory()
+ * =
* @author Boleslaw D=
awidowicz
+ * @author Shane Bryzak
* @version : 0.1 $
*/
public interface IdentitySessionFactory
@@ -43,10 +49,25 @@
boolean isClosed();
=
/**
- * Create IdentitySession
- * @return
+ * Creates a new IdentitySession.
+ * =
+ * @param realmName The name of the realm
+ * @return The new IdentitySession
*/
IdentitySession createIdentitySession(String realmName) throws Identity=
Exception;
+ =
+ /**
+ * Creates a new IdentitySession for the given realm. This method acce=
pts
+ * a sessionOptions parameter which may be used to customize the Identi=
tySession
+ * instance returned.
+ * =
+ * @param realmName The name of the realm
+ * @param sessionOptions A Map containing session options
+ * @return The new IdentitySession
+ * @throws IdentityException
+ */
+ IdentitySession createIdentitySession(String realmName, =
+ Map sessionOptions) throws IdentityException;
=
=
/**
Modified: idm/trunk/picketlink-idm-core/pom.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- idm/trunk/picketlink-idm-core/pom.xml 2010-06-22 07:46:51 UTC (rev 316)
+++ idm/trunk/picketlink-idm-core/pom.xml 2010-06-23 23:40:36 UTC (rev 317)
@@ -8,7 +8,7 @@
4.0.0
picketlink-idm-core
jar
- PicketLink IDM Implemnentation
+ PicketLink IDM Implementation
http://labs.jboss.org/portal/jbosssecurity/
PicketLink IDM IMPL contains the implementation of the API=
and the Identity Model.
Modified: idm/trunk/picketlink-idm-core/src/main/java/org/picketlink/idm/im=
pl/api/IdentitySessionFactoryImpl.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- idm/trunk/picketlink-idm-core/src/main/java/org/picketlink/idm/impl/api=
/IdentitySessionFactoryImpl.java 2010-06-22 07:46:51 UTC (rev 316)
+++ idm/trunk/picketlink-idm-core/src/main/java/org/picketlink/idm/impl/api=
/IdentitySessionFactoryImpl.java 2010-06-23 23:40:36 UTC (rev 317)
@@ -66,10 +66,15 @@
{
return false;
}
-
+ =
public IdentitySession createIdentitySession(String realmName) throws I=
dentityException
{
+ return createIdentitySession(realmName, null);
+ }
=
+ public IdentitySession createIdentitySession(String realmName, =
+ Map sessionOptions) throws IdentityException
+ {
IdentitySessionConfigurationContext sessionConfigCtx =3D sessionCont=
extMap.get(realmName);
=
// If no realm mapped then look for a template which name is a prefi=
x of realmName
@@ -112,7 +117,8 @@
sessionConfigCtx.getTypeMapper(),
sessionConfigCtx.getApiCacheProvider(),
sessionConfigCtx.getIdentityConfigurationContext(),
- sessionConfigCtx.getRealmOptions());
+ sessionConfigCtx.getRealmOptions(),
+ sessionOptions);
=
realmMap.put(realmName, newSession);
=
Modified: idm/trunk/picketlink-idm-core/src/main/java/org/picketlink/idm/im=
pl/api/session/IdentitySessionImpl.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- idm/trunk/picketlink-idm-core/src/main/java/org/picketlink/idm/impl/api=
/session/IdentitySessionImpl.java 2010-06-22 07:46:51 UTC (rev 316)
+++ idm/trunk/picketlink-idm-core/src/main/java/org/picketlink/idm/impl/api=
/session/IdentitySessionImpl.java 2010-06-23 23:40:36 UTC (rev 317)
@@ -113,17 +113,29 @@
{
return sessionContext;
}
+ =
+ public IdentitySessionImpl(String realmName,
+ IdentityStoreRepository repository,
+ IdentityObjectTypeMapper typeMapper,
+ APICacheProvider apiCacheProvider,
+ IdentityConfigurationContext configurationContext,
+ Map> realmOptions) throws IdentityException
+ {
+ this(realmName, repository, typeMapper, apiCacheProvider, =
+ configurationContext, realmOptions, null);
+ }
=
public IdentitySessionImpl(String realmName,
IdentityStoreRepository repository,
IdentityObjectTypeMapper typeMapper,
APICacheProvider apiCacheProvider,
IdentityConfigurationContext configurationCo=
ntext,
- Map> realmOptions) thro=
ws IdentityException
+ Map> realmOptions,
+ Map sessionOptions) throws Id=
entityException
{
this.realmName =3D realmName;
=
- IdentityStoreSession storeSession =3D repository.createIdentityStore=
Session();
+ IdentityStoreSession storeSession =3D repository.createIdentityStore=
Session(sessionOptions);
final IdentityStoreInvocationContext invocationCtx =3D new SimpleIde=
ntityStoreInvocationContext(storeSession, realmName, String.valueOf(this.h=
ashCode()));
=
IdentityStoreInvocationContextResolver resolver =3D new IdentityStor=
eInvocationContextResolver()
@@ -164,13 +176,6 @@
this.userQueryExecutor =3D new UserQueryExecutorImpl(this);
this.groupQueryExecutor =3D new GroupQueryExecutorImpl(this);
this.roleQueryExecutor =3D new RoleQueryExecutorImpl(this);
- =
-
-
-
-
-
-
}
=
public String getId()
Modified: idm/trunk/picketlink-idm-core/src/main/java/org/picketlink/idm/im=
pl/cache/JBossCacheAttributeStoreWrapper.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- idm/trunk/picketlink-idm-core/src/main/java/org/picketlink/idm/impl/cac=
he/JBossCacheAttributeStoreWrapper.java 2010-06-22 07:46:51 UTC (rev 316)
+++ idm/trunk/picketlink-idm-core/src/main/java/org/picketlink/idm/impl/cac=
he/JBossCacheAttributeStoreWrapper.java 2010-06-23 23:40:36 UTC (rev 317)
@@ -83,7 +83,14 @@
{
return attributeStore.createIdentityStoreSession();
}
+ =
=
+ public IdentityStoreSession createIdentityStoreSession(
+ Map sessionOptions) throws IdentityException
+ {
+ return attributeStore.createIdentityStoreSession(sessionOptions);
+ } =
+
public Set getSupportedAttributeNames(IdentityStoreInvocationCo=
ntext invocationContext,
IdentityObjectType identi=
tyType) throws IdentityException
{
@@ -186,5 +193,4 @@
{
return "JBossCacheAttributeStoreWrapper (AttributeStore=3D" + attrib=
uteStore.getId() + ")";
}
-
}
Modified: idm/trunk/picketlink-idm-core/src/main/java/org/picketlink/idm/im=
pl/repository/FallbackIdentityStoreRepository.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- idm/trunk/picketlink-idm-core/src/main/java/org/picketlink/idm/impl/rep=
ository/FallbackIdentityStoreRepository.java 2010-06-22 07:46:51 UTC (rev 3=
16)
+++ idm/trunk/picketlink-idm-core/src/main/java/org/picketlink/idm/impl/rep=
ository/FallbackIdentityStoreRepository.java 2010-06-23 23:40:36 UTC (rev 3=
17)
@@ -299,7 +299,38 @@
=
return new RepositoryIdentityStoreSessionImpl(sessions);
}
+ =
+ public IdentityStoreSession createIdentityStoreSession(
+ Map sessionOptions) throws IdentityException
+ {
+ Map sessions =3D new HashMap();
=
+ for (IdentityStore identityStore : identityStoreMappings.values())
+ {
+ sessions.put(identityStore.getId(), identityStore.createIdentityS=
toreSession(sessionOptions));
+ }
+
+ for (AttributeStore attributeStore : attributeStoreMappings.values())
+ {
+ if (!sessions.containsKey(attributeStore.getId()))
+ {
+ sessions.put(attributeStore.getId(), attributeStore.createIden=
tityStoreSession(sessionOptions));
+ }
+ }
+
+ if (!sessions.containsKey(defaultAttributeStore.getId()))
+ {
+ sessions.put(defaultAttributeStore.getId(), defaultAttributeStore=
.createIdentityStoreSession(sessionOptions));
+ }
+
+ if (!sessions.containsKey(defaultIdentityStore.getId()))
+ {
+ sessions.put(defaultIdentityStore.getId(), defaultIdentityStore.c=
reateIdentityStoreSession(sessionOptions));
+ }
+
+ return new RepositoryIdentityStoreSessionImpl(sessions);
+ } =
+
public String getId()
{
return id;
@@ -1887,4 +1918,6 @@
}
=
=
+
+
}
Modified: idm/trunk/picketlink-idm-core/src/main/java/org/picketlink/idm/im=
pl/repository/WrapperIdentityStoreRepository.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- idm/trunk/picketlink-idm-core/src/main/java/org/picketlink/idm/impl/rep=
ository/WrapperIdentityStoreRepository.java 2010-06-22 07:46:51 UTC (rev 31=
6)
+++ idm/trunk/picketlink-idm-core/src/main/java/org/picketlink/idm/impl/rep=
ository/WrapperIdentityStoreRepository.java 2010-06-23 23:40:36 UTC (rev 31=
7)
@@ -89,7 +89,23 @@
=
return new RepositoryIdentityStoreSessionImpl(sessions);
}
+ =
=
+ public IdentityStoreSession createIdentityStoreSession(
+ Map sessionOptions) throws IdentityException
+ {
+ Map sessions =3D new HashMap();
+
+ sessions.put(defaultAttributeStore.getId(), defaultAttributeStore.cr=
eateIdentityStoreSession(sessionOptions));
+
+ if (!sessions.containsKey(defaultIdentityStore.getId()))
+ {
+ sessions.put(defaultIdentityStore.getId(), defaultIdentityStore.c=
reateIdentityStoreSession(sessionOptions));
+ }
+
+ return new RepositoryIdentityStoreSessionImpl(sessions);
+ } =
+
IdentityStoreInvocationContext resolveIdentityStoreInvocationContext(Id=
entityStoreInvocationContext invocationCtx)
{
return resolveInvocationContext(defaultIdentityStore.getId(), invoca=
tionCtx);
Modified: idm/trunk/picketlink-idm-hibernate/src/main/java/org/picketlink/i=
dm/impl/store/hibernate/HibernateIdentityStoreImpl.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- idm/trunk/picketlink-idm-hibernate/src/main/java/org/picketlink/idm/imp=
l/store/hibernate/HibernateIdentityStoreImpl.java 2010-06-22 07:46:51 UTC (=
rev 316)
+++ idm/trunk/picketlink-idm-hibernate/src/main/java/org/picketlink/idm/imp=
l/store/hibernate/HibernateIdentityStoreImpl.java 2010-06-23 23:40:36 UTC (=
rev 317)
@@ -472,8 +472,14 @@
=
throw new IdentityException("Failed to obtain Hibernate SessionFa=
ctory",e);
}
- }
+ } =
=
+ public IdentityStoreSession createIdentityStoreSession(
+ Map sessionOptions) throws IdentityException
+ {
+ return createIdentityStoreSession();
+ } =
+
public String getId()
{
return id;
Modified: idm/trunk/picketlink-idm-ldap/src/main/java/org/picketlink/idm/im=
pl/store/ldap/LDAPIdentityStoreImpl.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- idm/trunk/picketlink-idm-ldap/src/main/java/org/picketlink/idm/impl/sto=
re/ldap/LDAPIdentityStoreImpl.java 2010-06-22 07:46:51 UTC (rev 316)
+++ idm/trunk/picketlink-idm-ldap/src/main/java/org/picketlink/idm/impl/sto=
re/ldap/LDAPIdentityStoreImpl.java 2010-06-23 23:40:36 UTC (rev 317)
@@ -302,7 +302,14 @@
{
return new LDAPIdentityStoreSessionImpl(configuration);
}
+ =
=
+ public IdentityStoreSession createIdentityStoreSession(
+ Map sessionOptions) throws IdentityException
+ {
+ return createIdentityStoreSession();
+ } =
+
public String getId()
{
return id;
Modified: idm/trunk/picketlink-idm-spi/src/main/java/org/picketlink/idm/spi=
/store/IdentityStoreSessionFactory.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- idm/trunk/picketlink-idm-spi/src/main/java/org/picketlink/idm/spi/store=
/IdentityStoreSessionFactory.java 2010-06-22 07:46:51 UTC (rev 316)
+++ idm/trunk/picketlink-idm-spi/src/main/java/org/picketlink/idm/spi/store=
/IdentityStoreSessionFactory.java 2010-06-23 23:40:36 UTC (rev 317)
@@ -25,17 +25,34 @@
import org.picketlink.idm.common.exception.IdentityException;
=
import java.io.Serializable;
+import java.util.Map;
=
/**
+ * Factory interface for creating IdentityStoreSession instances.
+ * =
* @author Boleslaw D=
awidowicz
+ * @author Shane Bryzak
* @version : 0.1 $
*/
public interface IdentityStoreSessionFactory extends Serializable
{
-
/**
- * @return
+ * Creates a new IdentityStoreSession.
+ * =
+ * @return The new IdentityStoreSession
+ * @throws IdentityException
*/
IdentityStoreSession createIdentityStoreSession() throws IdentityExcept=
ion;
=
+ /**
+ * Creates an IdentityStoreSession. This factory method allows additio=
nal =
+ * session options to be passed in which may be used by the factory met=
hod =
+ * implementation to customise the IdentityStoreSession returned.
+ * =
+ * @param sessionOptions A Map containing the session option values
+ * @return The new IdentityStoreSession
+ * @throws IdentityException
+ */
+ IdentityStoreSession createIdentityStoreSession(Map sess=
ionOptions) throws IdentityException;
+ =
}
--===============8052555963787277151==--