[jboss-cvs] Picketlink SVN: r218 - in idm/trunk: assembly and 22 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Apr 28 18:58:29 EDT 2010


Author: bdaw
Date: 2010-04-28 18:58:21 -0400 (Wed, 28 Apr 2010)
New Revision: 218

Added:
   idm/trunk/picketlink-idm-ldap/src/main/java/org/picketlink/idm/impl/store/ldap/LDAPSearch.java
Modified:
   idm/trunk/assembly/pom.xml
   idm/trunk/example/auth-simple/pom.xml
   idm/trunk/example/auth/pom.xml
   idm/trunk/example/simple/pom.xml
   idm/trunk/integration/deployer/pom.xml
   idm/trunk/integration/jboss5/pom.xml
   idm/trunk/integration/pom.xml
   idm/trunk/parent/pom.xml
   idm/trunk/picketlink-idm-api/pom.xml
   idm/trunk/picketlink-idm-auth/pom.xml
   idm/trunk/picketlink-idm-cache/pom.xml
   idm/trunk/picketlink-idm-cache/src/main/java/org/picketlink/idm/impl/cache/JBossCacheAPICacheProviderImpl.java
   idm/trunk/picketlink-idm-cache/src/main/java/org/picketlink/idm/impl/cache/JBossCacheIdentityStoreCacheProviderImpl.java
   idm/trunk/picketlink-idm-common/pom.xml
   idm/trunk/picketlink-idm-core/pom.xml
   idm/trunk/picketlink-idm-docs/ReferenceGuide/pom.xml
   idm/trunk/picketlink-idm-docs/pom.xml
   idm/trunk/picketlink-idm-hibernate/pom.xml
   idm/trunk/picketlink-idm-ldap/pom.xml
   idm/trunk/picketlink-idm-ldap/src/main/java/org/picketlink/idm/impl/store/ldap/LDAPIdentityStoreImpl.java
   idm/trunk/picketlink-idm-spi/pom.xml
   idm/trunk/picketlink-idm-spi/src/main/java/org/picketlink/idm/spi/cache/IdentityStoreCacheProvider.java
   idm/trunk/picketlink-idm-testsuite/pom.xml
   idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-msad-2k3.xml
   idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-msad-2k8.xml
   idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-msad-local.xml
   idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-opends12.xml
   idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-opends20.xml
   idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-openldapd-23.xml
   idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-openldapd-24.xml
   idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-openldapds.xml
   idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-redhatds.xml
   idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-sunds.xml
   idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config.xml
   idm/trunk/pom.xml
Log:
- switch to 1.1.3.CR01-SNAPSHOT
- improve caching in LDAP store

Modified: idm/trunk/assembly/pom.xml
===================================================================
--- idm/trunk/assembly/pom.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/assembly/pom.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -4,14 +4,14 @@
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.picketlink.idm</groupId>
    <artifactId>picketlink-idm</artifactId>
-   <version>1.1.2.GA</version>
+   <version>1.1.3.CR01-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>PicketLink IDM Assembly </name>
 	
    <parent>
       <groupId>org.picketlink.idm</groupId>
       <artifactId>picketlink-idm-parent</artifactId>
-      <version>1.1.2.GA</version>
+      <version>1.1.3.CR01-SNAPSHOT</version>
       <relativePath>../parent</relativePath>
    </parent>
 

Modified: idm/trunk/example/auth/pom.xml
===================================================================
--- idm/trunk/example/auth/pom.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/example/auth/pom.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -1,7 +1,7 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.picketlink.idm.example</groupId>
-   <version>1.1.2.GA</version>
+   <version>1.1.3.CR01-SNAPSHOT</version>
    <artifactId>example-auth</artifactId>
    <packaging>jar</packaging>
    <name>Example - JEE authentication</name>

Modified: idm/trunk/example/auth-simple/pom.xml
===================================================================
--- idm/trunk/example/auth-simple/pom.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/example/auth-simple/pom.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -1,7 +1,7 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.picketlink.idm.example</groupId>
-   <version>1.1.2.GA</version>
+   <version>1.1.3.CR01-SNAPSHOT</version>
    <artifactId>example-auth-simple</artifactId>
    <packaging>jar</packaging>
    <name>Example - JEE authentication (using deployer)</name>

Modified: idm/trunk/example/simple/pom.xml
===================================================================
--- idm/trunk/example/simple/pom.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/example/simple/pom.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -1,7 +1,7 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.picketlink.idm.example</groupId>
-   <version>1.1.2.GA</version>
+   <version>1.1.3.CR01-SNAPSHOT</version>
    <artifactId>example-simple</artifactId>
    <packaging>jar</packaging>
    <name>Example - Simple PicketLink IDM Maven2 project</name>

Modified: idm/trunk/integration/deployer/pom.xml
===================================================================
--- idm/trunk/integration/deployer/pom.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/integration/deployer/pom.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -8,12 +8,12 @@
    <groupId>org.picketlink.idm.integration</groupId>
    <artifactId>picketlink-idm-jboss5-deployer</artifactId>
    <packaging>jar</packaging>
-   <version>1.1.2.GA</version>
+   <version>1.1.3.CR01-SNAPSHOT</version>
   
    <parent>
       <groupId>org.picketlink.idm</groupId>
       <artifactId>picketlink-idm-integration</artifactId>
-      <version>1.1.2.GA</version>
+      <version>1.1.3.CR01-SNAPSHOT</version>
    </parent>
 
    <properties>

Modified: idm/trunk/integration/jboss5/pom.xml
===================================================================
--- idm/trunk/integration/jboss5/pom.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/integration/jboss5/pom.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -8,12 +8,12 @@
    <groupId>org.picketlink.idm.integration</groupId>
    <artifactId>picketlink-idm-jboss5</artifactId>
    <packaging>jar</packaging>
-   <version>1.1.2.GA</version>
+   <version>1.1.3.CR01-SNAPSHOT</version>
   
    <parent>
       <groupId>org.picketlink.idm</groupId>
       <artifactId>picketlink-idm-integration</artifactId>
-      <version>1.1.2.GA</version>
+      <version>1.1.3.CR01-SNAPSHOT</version>
    </parent>
 
    <dependencies>

Modified: idm/trunk/integration/pom.xml
===================================================================
--- idm/trunk/integration/pom.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/integration/pom.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -13,7 +13,7 @@
    <parent>
       <groupId>org.picketlink.idm</groupId>
       <artifactId>picketlink-idm-parent</artifactId>
-      <version>1.1.2.GA</version>
+      <version>1.1.3.CR01-SNAPSHOT</version>
       <relativePath>../parent/pom.xml</relativePath>
    </parent>
 

Modified: idm/trunk/parent/pom.xml
===================================================================
--- idm/trunk/parent/pom.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/parent/pom.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -8,7 +8,7 @@
    <groupId>org.picketlink.idm</groupId>
    <artifactId>picketlink-idm-parent</artifactId>
    <packaging>pom</packaging>
-   <version>1.1.2.GA</version>
+   <version>1.1.3.CR01-SNAPSHOT</version>
    <name>PicketLink IDM- Parent</name>
    <url>http://labs.jboss.org/portal/jbosssecurity/</url>
    <description>PicketLink is a cross-cutting project that handles identity  needs for the JEMS projects</description>

Modified: idm/trunk/picketlink-idm-api/pom.xml
===================================================================
--- idm/trunk/picketlink-idm-api/pom.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-api/pom.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -2,7 +2,7 @@
    <parent>
       <groupId>org.picketlink.idm</groupId>
       <artifactId>picketlink-idm-parent</artifactId>
-      <version>1.1.2.GA</version>
+      <version>1.1.3.CR01-SNAPSHOT</version>
       <relativePath>../parent</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>

Modified: idm/trunk/picketlink-idm-auth/pom.xml
===================================================================
--- idm/trunk/picketlink-idm-auth/pom.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-auth/pom.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -2,7 +2,7 @@
    <parent>
       <groupId>org.picketlink.idm</groupId>
       <artifactId>picketlink-idm-parent</artifactId>
-      <version>1.1.2.GA</version>
+      <version>1.1.3.CR01-SNAPSHOT</version>
       <relativePath>../parent</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>

Modified: idm/trunk/picketlink-idm-cache/pom.xml
===================================================================
--- idm/trunk/picketlink-idm-cache/pom.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-cache/pom.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -2,7 +2,7 @@
    <parent>
       <groupId>org.picketlink.idm</groupId>
       <artifactId>picketlink-idm-parent</artifactId>
-      <version>1.1.2.GA</version>
+      <version>1.1.3.CR01-SNAPSHOT</version>
       <relativePath>../parent</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>

Modified: idm/trunk/picketlink-idm-cache/src/main/java/org/picketlink/idm/impl/cache/JBossCacheAPICacheProviderImpl.java
===================================================================
--- idm/trunk/picketlink-idm-cache/src/main/java/org/picketlink/idm/impl/cache/JBossCacheAPICacheProviderImpl.java	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-cache/src/main/java/org/picketlink/idm/impl/cache/JBossCacheAPICacheProviderImpl.java	2010-04-28 22:58:21 UTC (rev 218)
@@ -187,6 +187,24 @@
 
    }
 
+    public void initialize(Cache cache)
+   {
+      this.cache = cache;
+
+      CacheStatus status = cache.getCacheStatus();
+
+      if (status.createAllowed())
+      {
+         this.cache.create();
+      }
+      if (status.startAllowed())
+      {
+         this.cache.start();
+      }
+
+   }
+
+
    Cache getCache()
    {
       return cache;

Modified: idm/trunk/picketlink-idm-cache/src/main/java/org/picketlink/idm/impl/cache/JBossCacheIdentityStoreCacheProviderImpl.java
===================================================================
--- idm/trunk/picketlink-idm-cache/src/main/java/org/picketlink/idm/impl/cache/JBossCacheIdentityStoreCacheProviderImpl.java	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-cache/src/main/java/org/picketlink/idm/impl/cache/JBossCacheIdentityStoreCacheProviderImpl.java	2010-04-28 22:58:21 UTC (rev 218)
@@ -23,6 +23,8 @@
 package org.picketlink.idm.impl.cache;
 
 import org.jboss.cache.*;
+
+import org.picketlink.idm.spi.configuration.IdentityConfigurationContext;
 import org.picketlink.idm.spi.model.IdentityObject;
 import org.picketlink.idm.spi.model.IdentityObjectAttribute;
 import org.picketlink.idm.spi.model.IdentityObjectRelationship;
@@ -37,6 +39,7 @@
 import org.picketlink.idm.impl.types.SimpleIdentityObjectRelationshipType;
 import org.picketlink.idm.impl.api.SimpleAttribute;
 
+import java.io.InputStream;
 import java.util.logging.Logger;
 import java.util.logging.Level;
 import java.util.*;
@@ -72,6 +75,8 @@
 
    public static final String NODE_IO_ATTRIBUTES = "NODE_IO_ATTRIBUTES";
 
+   public static final String NODE_OBJECTS = "NODE_OBJECTS";
+
    public static final String NODE_REL_PROPS = "NODE_REL_PROPS";
 
    public static final String NODE_REL_NAME_PROPS = "NODE_REL_NAME_PROPS";
@@ -92,12 +97,17 @@
       return Fqn.fromString(getNamespacedFqn(ns) + "/" + node + "/" + o);
    }
 
+   private Fqn getFqn(String ns, String node, int hash)
+   {
+      return Fqn.fromString(getNamespacedFqn(ns) + "/" + node + "/" + hash);
+   }
+
    private Fqn getFqn(String ns, String node)
    {
       return Fqn.fromString(getNamespacedFqn(ns) + "/" + node);
    }
 
-   public void initialize(Map<String, String> properties, IdentityRepositoryConfigurationContext configurationContext)
+   public void initialize(Map<String, String> properties, IdentityConfigurationContext configurationContext)
    {
       CacheFactory factory = new DefaultCacheFactory();
 
@@ -134,6 +144,39 @@
 
    }
 
+   public void initialize(InputStream jbossCacheConfiguration)
+   {
+      CacheFactory factory = new DefaultCacheFactory();
+
+      if (jbossCacheConfiguration == null)
+      {
+         throw new IllegalArgumentException("JBoss Cache configuration InputStream is null");
+      }
+
+      this.cache = factory.createCache(jbossCacheConfiguration);
+
+      this.cache.create();
+      this.cache.start();
+
+   }
+
+    public void initialize(Cache cache)
+   {
+      this.cache = cache;
+
+      CacheStatus status = cache.getCacheStatus();
+
+      if (status.createAllowed())
+      {
+         this.cache.create();
+      }
+      if (status.startAllowed())
+      {
+         this.cache.start();
+      }
+
+   }
+
    Cache getCache()
    {
       return cache;
@@ -544,6 +587,61 @@
       }
    }
 
+   public void putObject(String ns, int hash, Object value)
+   {
+      Fqn nodeFqn = getFqn(ns, NODE_OBJECTS, hash);
+
+      Node ioNode = getCache().getRoot().addChild(nodeFqn);
+
+      ioNode.put(NODE_OBJECT_KEY, value);
+
+      if (log.isLoggable(Level.FINER))
+      {
+         log.finer(this.toString() + "Object stored in cache: hash=" + hash
+            + "; value=" + value + ";namespace=" + ns);
+      }
+   }
+
+   public Object getObject(String ns, int hash)
+   {
+      Fqn nodeFqn = getFqn(ns, NODE_OBJECTS, hash);
+
+      Node node = getCache().getRoot().getChild(nodeFqn);
+
+      if (node != null)
+      {
+         Object value = node.get(NODE_OBJECT_KEY);
+
+         if (log.isLoggable(Level.FINER) && value != null)
+         {
+            log.finer(this.toString() + "Object found in cache: hash" + hash +
+         "; value=" + value + ";namespace=" + ns);
+         }
+
+         return value;
+      }
+
+      return null;
+   }
+
+   public void invalidateObject(String ns, int hash)
+   {
+      getCache().getRoot().removeChild(getFqn(ns, NODE_OBJECTS, hash));
+      if (log.isLoggable(Level.FINER))
+      {
+         log.finer(this.toString() + "Invalidating object. Namespace:" + ns + "; hash=" + hash);
+      }
+   }
+
+   public void invalidateObjects(String ns)
+   {
+      getCache().getRoot().removeChild(getFqn(ns, NODE_OBJECTS));
+      if (log.isLoggable(Level.FINER))
+      {
+         log.finer(this.toString() + "Invalidating objects. Namespace:" + ns);
+      }
+   }
+
    private List<IdentityObject> safeCopyIO(Collection<IdentityObject> res)
    {
       List<IdentityObject> nr = new LinkedList<IdentityObject>();

Modified: idm/trunk/picketlink-idm-common/pom.xml
===================================================================
--- idm/trunk/picketlink-idm-common/pom.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-common/pom.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -2,7 +2,7 @@
    <parent>
       <groupId>org.picketlink.idm</groupId>
       <artifactId>picketlink-idm-parent</artifactId>
-      <version>1.1.2.GA</version>
+      <version>1.1.3.CR01-SNAPSHOT</version>
       <relativePath>../parent</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>

Modified: idm/trunk/picketlink-idm-core/pom.xml
===================================================================
--- idm/trunk/picketlink-idm-core/pom.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-core/pom.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -2,7 +2,7 @@
    <parent>
       <groupId>org.picketlink.idm</groupId>
       <artifactId>picketlink-idm-parent</artifactId>
-      <version>1.1.2.GA</version>
+      <version>1.1.3.CR01-SNAPSHOT</version>
       <relativePath>../parent</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>

Modified: idm/trunk/picketlink-idm-docs/ReferenceGuide/pom.xml
===================================================================
--- idm/trunk/picketlink-idm-docs/ReferenceGuide/pom.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-docs/ReferenceGuide/pom.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -2,7 +2,7 @@
    <parent>
       <groupId>org.picketlink.idm</groupId>
       <artifactId>picketlink-idm-parent</artifactId>
-      <version>1.1.2.GA</version>
+      <version>1.1.3.CR01-SNAPSHOT</version>
       <relativePath>../../parent</relativePath>
    </parent>
 

Modified: idm/trunk/picketlink-idm-docs/pom.xml
===================================================================
--- idm/trunk/picketlink-idm-docs/pom.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-docs/pom.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -2,7 +2,7 @@
 <parent>
    <groupId>org.picketlink.idm</groupId>
    <artifactId>picketlink-idm-parent</artifactId>
-   <version>1.1.2.GA</version>
+   <version>1.1.3.CR01-SNAPSHOT</version>
    <relativePath>../parent</relativePath>
 </parent>
    <modelVersion>4.0.0</modelVersion>

Modified: idm/trunk/picketlink-idm-hibernate/pom.xml
===================================================================
--- idm/trunk/picketlink-idm-hibernate/pom.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-hibernate/pom.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -2,7 +2,7 @@
    <parent>
       <groupId>org.picketlink.idm</groupId>
       <artifactId>picketlink-idm-parent</artifactId>
-      <version>1.1.2.GA</version>
+      <version>1.1.3.CR01-SNAPSHOT</version>
       <relativePath>../parent</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>

Modified: idm/trunk/picketlink-idm-ldap/pom.xml
===================================================================
--- idm/trunk/picketlink-idm-ldap/pom.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-ldap/pom.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -2,7 +2,7 @@
    <parent>
       <groupId>org.picketlink.idm</groupId>
       <artifactId>picketlink-idm-parent</artifactId>
-      <version>1.1.2.GA</version>
+      <version>1.1.3.CR01-SNAPSHOT</version>
       <relativePath>../parent</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>

Modified: idm/trunk/picketlink-idm-ldap/src/main/java/org/picketlink/idm/impl/store/ldap/LDAPIdentityStoreImpl.java
===================================================================
--- idm/trunk/picketlink-idm-ldap/src/main/java/org/picketlink/idm/impl/store/ldap/LDAPIdentityStoreImpl.java	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-ldap/src/main/java/org/picketlink/idm/impl/store/ldap/LDAPIdentityStoreImpl.java	2010-04-28 22:58:21 UTC (rev 218)
@@ -22,6 +22,7 @@
 
 package org.picketlink.idm.impl.store.ldap;
 
+import org.picketlink.idm.api.cfg.IdentityConfigurationRegistry;
 import org.picketlink.idm.common.exception.IdentityException;
 import org.picketlink.idm.impl.NotYetImplementedException;
 import org.picketlink.idm.impl.api.SimpleAttribute;
@@ -30,6 +31,7 @@
 import org.picketlink.idm.impl.model.ldap.LDAPIdentityObjectRelationshipImpl;
 import org.picketlink.idm.impl.store.FeaturesMetaDataImpl;
 import org.picketlink.idm.impl.types.SimpleIdentityObject;
+import org.picketlink.idm.spi.cache.IdentityStoreCacheProvider;
 import org.picketlink.idm.spi.configuration.IdentityStoreConfigurationContext;
 import org.picketlink.idm.spi.configuration.metadata.IdentityObjectAttributeMetaData;
 import org.picketlink.idm.spi.configuration.metadata.IdentityObjectTypeMetaData;
@@ -49,6 +51,8 @@
 import org.picketlink.idm.spi.store.IdentityStoreSession;
 
 import java.io.UnsupportedEncodingException;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
@@ -96,6 +100,8 @@
 
    private final String id;
 
+   private IdentityStoreCacheProvider cache;
+
    public static final String MEMBERSHIP_TYPE = "JBOSS_IDENTITY_MEMBERSHIP";
 
    private FeaturesMetaData supportedFeatures;
@@ -220,6 +226,74 @@
          }
       }
 
+      // Cache
+
+      // Cache
+
+      Map<String, String> cacheProps = new HashMap<String, String>();
+      String cacheClassName = null;
+      String cacheRegistryName = null;
+
+      // Parse all 'cache.' prefixed options
+      for (String key : configurationMD.getOptions().keySet())
+      {
+         if (key.startsWith("cache."))
+         {
+            if (configurationMD.getOptions().get(key).size() > 0)
+            {
+               cacheProps.put(key, configurationMD.getOptions().get(key).get(0));
+            }
+            if (key.equals("cache.providerClass") && configurationMD.getOptions().get(key).size() > 0)
+            {
+               cacheClassName = configurationMD.getOptions().get(key).get(0);
+            }
+
+            if (key.equals("cache.providerRegistryName") && configurationMD.getOptions().get(key).size() > 0)
+            {
+               cacheRegistryName = configurationMD.getOptions().get(key).get(0);
+            }
+         }
+      }
+
+      IdentityStoreCacheProvider provider = null;
+
+      if (cacheRegistryName != null)
+      {
+         try
+         {
+            provider = (IdentityStoreCacheProvider)configurationContext.
+               getConfigurationRegistry().getObject(cacheRegistryName);
+         }
+         catch (Exception e)
+         {
+            throw new IdentityException("Cannot find IdentityStoreCacheProvider in ConfigurationRegistry using " +
+               "provided name:" + cacheRegistryName, e);
+         }
+
+      }
+
+      // Instantiate provider
+      if (provider == null && cacheClassName != null)
+      {
+         Class repoClass = null;
+         try
+         {
+            repoClass = Class.forName(cacheClassName);
+
+            Constructor ct = repoClass.getConstructor();
+
+            provider = (IdentityStoreCacheProvider)ct.newInstance();
+
+            provider.initialize(cacheProps, configurationContext);
+         }
+         catch (Exception e)
+         {
+            throw new IdentityException("Cannot instantiate IdentityStoreCacheProvider:" + cacheClassName, e);
+         }
+      }
+
+      cache = provider;
+
    }
 
    public IdentityStoreSession createIdentityStoreSession()
@@ -329,6 +403,9 @@
             log.finer("creating ldap entry for: " + validLDAPName + "; " + attrs);
          }
          DirContext entry = ctx.createSubcontext(validLDAPName, attrs);
+
+         invalidateCache();
+
          if (entry != null)
          {
             dn = entry.getNameInNamespace();
@@ -386,6 +463,8 @@
       {
          log.finer("removing entry: " + dn);
          ldapContext.unbind(dn);
+
+         invalidateCache();
       }
       catch (Exception e)
       {
@@ -1597,6 +1676,8 @@
             attrs.put(member);
 
             ldapContext.modifyAttributes(ldapFromIO.getDn(), DirContext.ADD_ATTRIBUTE, attrs);
+
+            invalidateCache();
          }
 
          if (toTypeConfig.getChildMembershipAttributeName() != null && !toTypeConfig.isChildMembershipAttributeVirtual())
@@ -1616,6 +1697,8 @@
             attrs.put(member);
 
             ldapContext.modifyAttributes(ldapToIO.getDn(), DirContext.ADD_ATTRIBUTE, attrs);
+
+            invalidateCache();
          }
 
          relationship = new LDAPIdentityObjectRelationshipImpl(name, ldapFromIO, ldapToIO);
@@ -1710,6 +1793,8 @@
             attrs.put(member);
 
             ldapContext.modifyAttributes(ldapFromIO.getDn(), DirContext.REMOVE_ATTRIBUTE, attrs);
+
+            invalidateCache();
          }
 
          if (toTypeConfig.getChildMembershipAttributeName() != null && !toTypeConfig.isChildMembershipAttributeVirtual())
@@ -1728,6 +1813,8 @@
             attrs.put(member);
 
             ldapContext.modifyAttributes(ldapToIO.getDn(), DirContext.REMOVE_ATTRIBUTE, attrs);
+
+            invalidateCache();
          }
 
       }
@@ -1944,6 +2031,8 @@
             log.finer("creating ldap entry for: " + validLDAPName + "; " + attrs);
          }
          ctx.createSubcontext(validLDAPName, attrs);
+
+         invalidateCache();
       }
       catch (Exception e)
       {
@@ -2034,6 +2123,8 @@
 
          ctx.unbind(dn);
 
+         invalidateCache();
+
          ctx.close();
          return null;
 
@@ -2429,6 +2520,8 @@
             }
 
             ldapContext.modifyAttributes(ldapIO.getDn(), DirContext.REPLACE_ATTRIBUTE, attrs);
+
+            invalidateCache();
          }
          catch (NamingException e)
          {
@@ -2502,6 +2595,19 @@
          );
       }
 
+      // Cache
+
+      if (getCache() != null)
+      {
+         Map<String, IdentityObjectAttribute> cachedAttributes = getCache().
+            getIdentityObjectAttributes(getNamespace(), identity);
+
+         if (cachedAttributes != null)
+         {
+            return cachedAttributes;
+         }
+      }
+
       Map<String, IdentityObjectAttribute> attrsMap = new HashMap<String, IdentityObjectAttribute>();
 
       LDAPIdentityObjectImpl ldapIdentity = getSafeLDAPIO(ctx, identity);
@@ -2571,6 +2677,13 @@
          }
       }
 
+      // Cache
+
+      if (getCache() != null)
+      {
+         getCache().putIdentityObjectAttributes(getNamespace(), identity, attrsMap);
+      }
+
       return attrsMap;
 
    }
@@ -2586,6 +2699,11 @@
          );
       }
 
+      if (getCache() != null)
+      {
+         getCache().invalidate(getNamespace());
+      }
+
       if (attributes == null)
       {
          throw new IllegalArgumentException("attributes is null");
@@ -2662,6 +2780,8 @@
                try
                {
                   ldapContext.modifyAttributes(dn, DirContext.REPLACE_ATTRIBUTE, attrs);
+
+                  invalidateCache();
                }
                catch (NamingException e)
                {
@@ -2692,6 +2812,13 @@
             throw new IdentityException("Failed to close LDAP connection", e);
          }
       }
+
+      // Cache new attributes
+      if (getCache() != null)
+      {
+         getAttributes(ctx, identity);
+      }
+
    }
 
    public void addAttributes(IdentityStoreInvocationContext ctx, IdentityObject identity, IdentityObjectAttribute[] attributes) throws IdentityException
@@ -2705,6 +2832,10 @@
          );
       }
 
+      if (getCache() != null)
+      {
+         getCache().invalidate(getNamespace());
+      }
 
       if (attributes == null)
       {
@@ -2783,6 +2914,8 @@
                try
                {
                   ldapContext.modifyAttributes(dn, DirContext.ADD_ATTRIBUTE, attrs);
+
+                  invalidateCache();
                }
                catch (NamingException e)
                {
@@ -2813,6 +2946,12 @@
             throw new IdentityException("Failed to close LDAP connection", e);
          }
       }
+
+      // Cache new attributes
+      if (getCache() != null)
+      {
+         getAttributes(ctx, identity);
+      }
    }
 
    public void removeAttributes(IdentityStoreInvocationContext ctx, IdentityObject identity, String[] attributeNames) throws IdentityException
@@ -2826,6 +2965,11 @@
          );
       }
 
+      if (getCache() != null)
+      {
+         getCache().invalidate(getNamespace());
+      }
+
       if (attributeNames == null)
       {
          throw new IllegalArgumentException("attributes is null");
@@ -2872,6 +3016,8 @@
             try
             {
                ldapContext.modifyAttributes(dn, DirContext.REMOVE_ATTRIBUTE, attrs);
+
+               invalidateCache();
             }
             catch (NamingException e)
             {
@@ -2901,6 +3047,12 @@
             throw new IdentityException("Failed to close LDAP connection", e);
          }
       }
+
+      // Cache new attributes
+      if (getCache() != null)
+      {
+         getAttributes(ctx, identity);
+      }
    }
 
    public IdentityObject findIdentityObjectByUniqueAttribute(IdentityStoreInvocationContext invocationCtx, IdentityObjectType type, IdentityObjectAttribute attribute) throws IdentityException
@@ -3033,7 +3185,7 @@
          Attribute ida = attrs.get(idAttrName);
          if (ida == null)
          {
-            throw new IdentityException("LDAP entry doesn't contain proper attribute:" + idAttrName);
+            throw new IdentityException("LDAP entry doesn't contain proper attribute: " + idAttrName + "; dn=" + dn);
          }
 
          //make DN as user ID
@@ -3092,7 +3244,28 @@
          log.finer(sb.toString());
       }
 
+      if (getCache() != null)
+      {
+         LDAPSearch search =
+            new LDAPSearch(entryCtxs, filter, filterArgs, returningAttributes, searchScope, requestControls);
 
+         Object results = getCache().getObject(getNamespace(), search.hashCode());
+
+         if (results != null && results instanceof List)
+         {
+
+            //Debug
+            if (log.isLoggable(Level.FINER))
+            {
+               log.finer("LDAP search results found in cache. size=" + ((List)results).size());
+            }
+
+            return (List<SearchResult>)results;
+
+         }
+      }
+
+
       LdapContext ldapContext = getLDAPContext(ctx);
 
       if (ldapContext != null)
@@ -3102,6 +3275,8 @@
 
       NamingEnumeration results = null;
 
+      List<SearchResult> finalResults;
+
       try
       {
 
@@ -3145,7 +3320,7 @@
                log.finer("Search in " + entryCtxs[0] + " returned " + toReturn.size() + " entries");
             }
 
-            return toReturn;
+            finalResults = toReturn;
 
 
          }
@@ -3176,7 +3351,7 @@
 
 
 
-            return merged;
+            finalResults = merged;
          }
       }
       finally
@@ -3187,6 +3362,21 @@
          }
          ldapContext.close();
       }
+
+      if (getCache() != null && finalResults != null)
+      {
+         LDAPSearch search =
+            new LDAPSearch(entryCtxs, filter, filterArgs, returningAttributes, searchScope, requestControls);
+
+         getCache().putObject(getNamespace(), search.hashCode(), finalResults);
+
+         if (log.isLoggable(Level.FINER))
+         {
+            log.finer("LDAP search results stored in cache. size=" + finalResults.size());
+         }
+      }
+
+      return finalResults;
    }
 
    // HELPER
@@ -3485,6 +3675,7 @@
       try
       {
          subContext = ctx.createSubcontext(dn, attrs);
+
       }
       finally
       {
@@ -3495,4 +3686,22 @@
 
    }
 
+   IdentityStoreCacheProvider getCache()
+   {
+      return cache;
+   }
+
+   String getNamespace()
+   {
+      return getId();
+   }
+
+   void invalidateCache()
+   {
+      if (getCache() != null)
+      {
+         getCache().invalidate(getNamespace());
+      }
+   }
+
 }

Added: idm/trunk/picketlink-idm-ldap/src/main/java/org/picketlink/idm/impl/store/ldap/LDAPSearch.java
===================================================================
--- idm/trunk/picketlink-idm-ldap/src/main/java/org/picketlink/idm/impl/store/ldap/LDAPSearch.java	                        (rev 0)
+++ idm/trunk/picketlink-idm-ldap/src/main/java/org/picketlink/idm/impl/store/ldap/LDAPSearch.java	2010-04-28 22:58:21 UTC (rev 218)
@@ -0,0 +1,118 @@
+
+/*
+* JBoss, a division of Red Hat
+* Copyright 2006, Red Hat Middleware, LLC, and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.picketlink.idm.impl.store.ldap;
+
+import java.util.Arrays;
+
+import javax.naming.ldap.Control;
+
+/**
+ * Helper class to cache LDAP queries
+ *
+ * @author <a href="mailto:boleslaw.dawidowicz at redhat.com">Boleslaw Dawidowicz</a>
+ * @version : 0.1 $
+ */
+public class LDAPSearch
+{
+   private final String[] entryCtxs;
+
+   private final String filter;
+
+   private final Object[] filterArgs;
+
+   private final String[] returningAttributes;
+
+   private final String searchScope;
+
+   private final Control[] requestControls;
+
+   public LDAPSearch(String[] entryCtxs,
+                     String filter,
+                     Object[] filterArgs,
+                     String[] returningAttributes,
+                     String searchScope,
+                     Control[] requestControls)
+   {
+      this.entryCtxs = entryCtxs;
+      this.filter = filter;
+      this.filterArgs = filterArgs;
+      this.returningAttributes = returningAttributes;
+      this.searchScope = searchScope;
+      this.requestControls = requestControls;
+   }
+
+   @Override
+   public boolean equals(Object o)
+   {
+      if (this == o)
+      {
+         return true;
+      }
+      if (o == null || getClass() != o.getClass())
+      {
+         return false;
+      }
+
+      LDAPSearch that = (LDAPSearch) o;
+
+      if (!Arrays.equals(entryCtxs, that.entryCtxs))
+      {
+         return false;
+      }
+      if (filter != null ? !filter.equals(that.filter) : that.filter != null)
+      {
+         return false;
+      }
+      // Probably incorrect - comparing Object[] arrays with Arrays.equals
+      if (!Arrays.equals(filterArgs, that.filterArgs))
+      {
+         return false;
+      }
+      if (!Arrays.equals(requestControls, that.requestControls))
+      {
+         return false;
+      }
+      if (!Arrays.equals(returningAttributes, that.returningAttributes))
+      {
+         return false;
+      }
+      if (searchScope != null ? !searchScope.equals(that.searchScope) : that.searchScope != null)
+      {
+         return false;
+      }
+
+      return true;
+   }
+
+   @Override
+   public int hashCode()
+   {
+      int result = entryCtxs != null ? Arrays.hashCode(entryCtxs) : 0;
+      result = 31 * result + (filter != null ? filter.hashCode() : 0);
+      result = 31 * result + (filterArgs != null ? Arrays.hashCode(filterArgs) : 0);
+      result = 31 * result + (returningAttributes != null ? Arrays.hashCode(returningAttributes) : 0);
+      result = 31 * result + (searchScope != null ? searchScope.hashCode() : 0);
+      result = 31 * result + (requestControls != null ? Arrays.hashCode(requestControls) : 0);
+      return result;
+   }
+}

Modified: idm/trunk/picketlink-idm-spi/pom.xml
===================================================================
--- idm/trunk/picketlink-idm-spi/pom.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-spi/pom.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -2,7 +2,7 @@
    <parent>
       <groupId>org.picketlink.idm</groupId>
       <artifactId>picketlink-idm-parent</artifactId>
-      <version>1.1.2.GA</version>
+      <version>1.1.3.CR01-SNAPSHOT</version>
       <relativePath>../parent</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>

Modified: idm/trunk/picketlink-idm-spi/src/main/java/org/picketlink/idm/spi/cache/IdentityStoreCacheProvider.java
===================================================================
--- idm/trunk/picketlink-idm-spi/src/main/java/org/picketlink/idm/spi/cache/IdentityStoreCacheProvider.java	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-spi/src/main/java/org/picketlink/idm/spi/cache/IdentityStoreCacheProvider.java	2010-04-28 22:58:21 UTC (rev 218)
@@ -22,6 +22,7 @@
 
 package org.picketlink.idm.spi.cache;
 
+import org.picketlink.idm.spi.configuration.IdentityConfigurationContext;
 import org.picketlink.idm.spi.model.IdentityObjectAttribute;
 import org.picketlink.idm.spi.model.IdentityObjectType;
 import org.picketlink.idm.spi.model.IdentityObject;
@@ -47,7 +48,7 @@
     * Initialize provider.
     * @param properties
     */
-   void initialize(Map<String, String> properties, IdentityRepositoryConfigurationContext configurationContext);
+   void initialize(Map<String, String> properties, IdentityConfigurationContext configurationContext);
 
 
    /**
@@ -137,4 +138,14 @@
 
    void invalidateIdentityObjectAttriubtes(String ns);
 
+   //
+
+   void putObject(String ns, int hash, Object value);
+
+   Object getObject(String ns, int hash);
+
+   void invalidateObject(String ns, int hash);
+
+   void invalidateObjects(String ns);
+
 }

Modified: idm/trunk/picketlink-idm-testsuite/pom.xml
===================================================================
--- idm/trunk/picketlink-idm-testsuite/pom.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-testsuite/pom.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -2,7 +2,7 @@
    <parent>
       <groupId>org.picketlink.idm</groupId>
       <artifactId>picketlink-idm-parent</artifactId>
-      <version>1.1.2.GA</version>
+      <version>1.1.3.CR01-SNAPSHOT</version>
       <relativePath>../parent</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>

Modified: idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-msad-2k3.xml
===================================================================
--- idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-msad-2k3.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-msad-2k3.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -881,6 +881,14 @@
                   <name>searchTimeLimit</name>
                   <value>10000</value>
                </option>
+              <option>
+                <name>cache.providerClass</name>
+                <value>org.picketlink.idm.impl.cache.JBossCacheIdentityStoreCacheProviderImpl</value>
+              </option>
+              <option>
+                <name>cache.configFile</name>
+                <value>jboss-cache.xml</value>
+              </option>
             </options>
          </identity-store>
       </identity-stores>

Modified: idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-msad-2k8.xml
===================================================================
--- idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-msad-2k8.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-msad-2k8.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -881,6 +881,14 @@
                   <name>searchTimeLimit</name>
                   <value>10000</value>
                </option>
+              <option>
+                <name>cache.providerClass</name>
+                <value>org.picketlink.idm.impl.cache.JBossCacheIdentityStoreCacheProviderImpl</value>
+              </option>
+              <option>
+                <name>cache.configFile</name>
+                <value>jboss-cache.xml</value>
+              </option>
             </options>
          </identity-store>
       </identity-stores>

Modified: idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-msad-local.xml
===================================================================
--- idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-msad-local.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-msad-local.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -902,6 +902,14 @@
                   <name>searchTimeLimit</name>
                   <value>10000</value>
                </option>
+              <option>
+                <name>cache.providerClass</name>
+                <value>org.picketlink.idm.impl.cache.JBossCacheIdentityStoreCacheProviderImpl</value>
+              </option>
+              <option>
+                <name>cache.configFile</name>
+                <value>jboss-cache.xml</value>
+              </option>
             </options>
          </identity-store>
       </identity-stores>

Modified: idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-opends12.xml
===================================================================
--- idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-opends12.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-opends12.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -891,6 +891,14 @@
                   <name>searchTimeLimit</name>
                   <value>10000</value>
                </option>
+              <option>
+                <name>cache.providerClass</name>
+                <value>org.picketlink.idm.impl.cache.JBossCacheIdentityStoreCacheProviderImpl</value>
+              </option>
+              <option>
+                <name>cache.configFile</name>
+                <value>jboss-cache.xml</value>
+              </option>
             </options>
          </identity-store>
       </identity-stores>

Modified: idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-opends20.xml
===================================================================
--- idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-opends20.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-opends20.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -891,6 +891,14 @@
                   <name>searchTimeLimit</name>
                   <value>10000</value>
                </option>
+              <option>
+                <name>cache.providerClass</name>
+                <value>org.picketlink.idm.impl.cache.JBossCacheIdentityStoreCacheProviderImpl</value>
+              </option>
+              <option>
+                <name>cache.configFile</name>
+                <value>jboss-cache.xml</value>
+              </option>
             </options>
          </identity-store>
       </identity-stores>

Modified: idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-openldapd-23.xml
===================================================================
--- idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-openldapd-23.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-openldapd-23.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -886,6 +886,14 @@
                   <name>sortExtensionSupported</name>
                   <value>false</value>
                </option>
+              <option>
+                <name>cache.providerClass</name>
+                <value>org.picketlink.idm.impl.cache.JBossCacheIdentityStoreCacheProviderImpl</value>
+              </option>
+              <option>
+                <name>cache.configFile</name>
+                <value>jboss-cache.xml</value>
+              </option>
             </options>
          </identity-store>
       </identity-stores>

Modified: idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-openldapd-24.xml
===================================================================
--- idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-openldapd-24.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-openldapd-24.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -886,6 +886,14 @@
                   <name>sortExtensionSupported</name>
                   <value>false</value>
                </option>
+              <option>
+                <name>cache.providerClass</name>
+                <value>org.picketlink.idm.impl.cache.JBossCacheIdentityStoreCacheProviderImpl</value>
+              </option>
+              <option>
+                <name>cache.configFile</name>
+                <value>jboss-cache.xml</value>
+              </option>
             </options>
          </identity-store>
       </identity-stores>

Modified: idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-openldapds.xml
===================================================================
--- idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-openldapds.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-openldapds.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -886,6 +886,14 @@
                   <name>sortExtensionSupported</name>
                   <value>false</value>
                </option>
+              <option>
+                <name>cache.providerClass</name>
+                <value>org.picketlink.idm.impl.cache.JBossCacheIdentityStoreCacheProviderImpl</value>
+              </option>
+              <option>
+                <name>cache.configFile</name>
+                <value>jboss-cache.xml</value>
+              </option>
             </options>
          </identity-store>
       </identity-stores>

Modified: idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-redhatds.xml
===================================================================
--- idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-redhatds.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-redhatds.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -880,6 +880,14 @@
                   <name>searchTimeLimit</name>
                   <value>10000</value>
                </option>
+              <option>
+                <name>cache.providerClass</name>
+                <value>org.picketlink.idm.impl.cache.JBossCacheIdentityStoreCacheProviderImpl</value>
+              </option>
+              <option>
+                <name>cache.configFile</name>
+                <value>jboss-cache.xml</value>
+              </option>
             </options>
          </identity-store>
       </identity-stores>

Modified: idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-sunds.xml
===================================================================
--- idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-sunds.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config-sunds.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -880,6 +880,14 @@
                   <name>searchTimeLimit</name>
                   <value>10000</value>
                </option>
+              <option>
+                <name>cache.providerClass</name>
+                <value>org.picketlink.idm.impl.cache.JBossCacheIdentityStoreCacheProviderImpl</value>
+              </option>
+              <option>
+                <name>cache.configFile</name>
+                <value>jboss-cache.xml</value>
+              </option>
             </options>
          </identity-store>
       </identity-stores>

Modified: idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config.xml
===================================================================
--- idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/picketlink-idm-testsuite/src/test/resources/test-identity-config.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -929,6 +929,14 @@
                   <!--<name>createMissingContexts</name>-->
                   <!--<value>true</value>-->
                <!--</option>-->
+              <option>
+                <name>cache.providerClass</name>
+                <value>org.picketlink.idm.impl.cache.JBossCacheIdentityStoreCacheProviderImpl</value>
+              </option>
+              <option>
+                <name>cache.configFile</name>
+                <value>jboss-cache.xml</value>
+              </option>
             </options>
          </identity-store>
       </identity-stores>

Modified: idm/trunk/pom.xml
===================================================================
--- idm/trunk/pom.xml	2010-04-28 11:21:32 UTC (rev 217)
+++ idm/trunk/pom.xml	2010-04-28 22:58:21 UTC (rev 218)
@@ -3,7 +3,7 @@
    <parent>
       <groupId>org.picketlink.idm</groupId>
       <artifactId>picketlink-idm-parent</artifactId>
-      <version>1.1.2.GA</version>
+      <version>1.1.3.CR01-SNAPSHOT</version>
       <relativePath>parent</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>




More information about the jboss-cvs-commits mailing list