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==--