[jboss-identity-commits] JBoss Identity SVN: r215 - in idm/trunk/identity-impl/src: main/java/org/jboss/identity/idm/impl/api/session/managers and 5 other directories.

jboss-identity-commits at lists.jboss.org jboss-identity-commits at lists.jboss.org
Tue Jan 13 17:54:31 EST 2009


Author: bdaw
Date: 2009-01-13 17:54:31 -0500 (Tue, 13 Jan 2009)
New Revision: 215

Added:
   idm/trunk/identity-impl/src/test/resources/example-db-config.xml
   idm/trunk/identity-impl/src/test/resources/example-ldap-config.xml
   idm/trunk/identity-impl/src/test/resources/example-mixed-config.xml
Modified:
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/api/AbstractCredential.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/api/IdentitySessionFactoryImpl.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/api/session/managers/RelationshipManagerImpl.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/AttributesType.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/IdentityObjectTypeType.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/IdentityStoreMappingType.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/IdentityStoreMappingsType.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/IdentityStoreType.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/IdentityStoresType.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/IdentityTypeMappingsType.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/JbossIdentityType.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/ObjectFactory.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/OptionsType.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/RealmType.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/RealmsType.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/RelationshipsType.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/RepositoriesType.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/RepositoryType.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/StoresType.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/SupportedIdentityObjectTypesType.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/package-info.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/repository/AbstractIdentityStoreRepository.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/repository/FallbackIdentityStoreRepository.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/repository/WrapperIdentityStoreRepository.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/store/hibernate/HibernateIdentityStoreImpl.java
   idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/store/ldap/LDAPIdentityStoreImpl.java
   idm/trunk/identity-impl/src/test/resources/identity-config.xml
   idm/trunk/identity-impl/src/test/resources/identity-config.xsd
   idm/trunk/identity-impl/src/test/resources/organization-test-config.xml
   idm/trunk/identity-impl/src/test/resources/store-test-config.xml
   idm/trunk/identity-impl/src/test/resources/test-config.xml
Log:
+++

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/api/AbstractCredential.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/api/AbstractCredential.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/api/AbstractCredential.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -40,9 +40,6 @@
          throw new IllegalArgumentException("type is null");
       }
 
-      
-
-
       this.type = type;
    }
 

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/api/IdentitySessionFactoryImpl.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/api/IdentitySessionFactoryImpl.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/api/IdentitySessionFactoryImpl.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -35,6 +35,7 @@
 import org.jboss.identity.idm.impl.api.session.IdentitySessionImpl;
 import org.jboss.identity.idm.impl.api.session.mapper.DirectIdentityObjectTypeMapperImpl;
 import org.jboss.identity.idm.impl.api.session.mapper.IdentityObjectTypeMapper;
+import org.jboss.identity.idm.impl.api.session.mapper.IdentityObjectTypeMapperImpl;
 import org.jboss.identity.idm.exception.IdentityException;
 
 import java.util.Map;
@@ -143,9 +144,18 @@
 
          IdentityStoreRepository repo = bootstrappedRepositories.get(metaData.getIdentityRepositoryIdRef());
 
-         //TODO: for now we just use direct type mapper and ignore group type mappings config
-         IdentityObjectTypeMapper mapper = new DirectIdentityObjectTypeMapperImpl(metaData.getIdentityMapping());
+         IdentityObjectTypeMapper mapper = null;
 
+         if (metaData.getGroupTypeMappings() == null || metaData.getGroupTypeMappings().isEmpty())
+         {
+            // use direct type mapper
+            mapper = new DirectIdentityObjectTypeMapperImpl(metaData.getIdentityMapping());
+         }
+         else
+         {
+            mapper = new IdentityObjectTypeMapperImpl(metaData.getGroupTypeMappings(), metaData.getIdentityMapping());
+         }
+
          IdentitySession session = new IdentitySessionImpl(realmName, repo, mapper);
 
          sessionMap.put(realmName, session);

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/api/session/managers/RelationshipManagerImpl.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/api/session/managers/RelationshipManagerImpl.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/api/session/managers/RelationshipManagerImpl.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -183,6 +183,10 @@
       IdentityObjectType iot = getIdentityObjectType(groupType);
 
       //TODO Handle inherited
+      if (inherited)
+      {
+         throw new NotYetImplementedException("Support for 'inherited' argument is not yet implemented. Please use 'false' value for now");
+      }
 
       Collection<IdentityObject> ios = getRepository().findIdentityObject(getInvocationContext(), createIdentityObject(group), MEMBER, parent, convertSearchControls(controls));
 
@@ -251,6 +255,10 @@
       List<Identity> identities = new LinkedList<Identity>();
 
       //TODO Handle inherited
+      if (inherited)
+      {
+         throw new NotYetImplementedException("Support for 'inherited' argument is not yet implemented. Please use 'false' value for now");
+      }
 
       Collection<IdentityObject> ios = getRepository().findIdentityObject(getInvocationContext(), createIdentityObject(group), MEMBER, true, convertSearchControls(controls));
 

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/AttributesType.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/AttributesType.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/AttributesType.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -25,7 +25,7 @@
  *   &lt;complexContent>
  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       &lt;sequence>
- *         &lt;element name="attribute" type="{urn:jboss:identity:config:v0_1}attributeType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="attribute" type="{urn:jboss:identity:idm:config:v1_0_alpha}attributeType" maxOccurs="unbounded" minOccurs="0"/>
  *       &lt;/sequence>
  *     &lt;/restriction>
  *   &lt;/complexContent>

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/IdentityObjectTypeType.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/IdentityObjectTypeType.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/IdentityObjectTypeType.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -32,7 +32,7 @@
  *             &lt;complexContent>
  *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *                 &lt;sequence>
- *                   &lt;element name="relationship" type="{urn:jboss:identity:config:v0_1}relationshipType" maxOccurs="unbounded" minOccurs="0"/>
+ *                   &lt;element name="relationship" type="{urn:jboss:identity:idm:config:v1_0_alpha}relationshipType" maxOccurs="unbounded" minOccurs="0"/>
  *                 &lt;/sequence>
  *               &lt;/restriction>
  *             &lt;/complexContent>
@@ -54,7 +54,7 @@
  *             &lt;complexContent>
  *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *                 &lt;sequence>
- *                   &lt;element name="attribute" type="{urn:jboss:identity:config:v0_1}attributeType" maxOccurs="unbounded" minOccurs="0"/>
+ *                   &lt;element name="attribute" type="{urn:jboss:identity:idm:config:v1_0_alpha}attributeType" maxOccurs="unbounded" minOccurs="0"/>
  *                 &lt;/sequence>
  *               &lt;/restriction>
  *             &lt;/complexContent>
@@ -65,7 +65,7 @@
  *             &lt;complexContent>
  *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *                 &lt;sequence>
- *                   &lt;element name="option" type="{urn:jboss:identity:config:v0_1}optionType" maxOccurs="unbounded" minOccurs="0"/>
+ *                   &lt;element name="option" type="{urn:jboss:identity:idm:config:v1_0_alpha}optionType" maxOccurs="unbounded" minOccurs="0"/>
  *                 &lt;/sequence>
  *               &lt;/restriction>
  *             &lt;/complexContent>
@@ -231,7 +231,7 @@
      *   &lt;complexContent>
      *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
      *       &lt;sequence>
-     *         &lt;element name="attribute" type="{urn:jboss:identity:config:v0_1}attributeType" maxOccurs="unbounded" minOccurs="0"/>
+     *         &lt;element name="attribute" type="{urn:jboss:identity:idm:config:v1_0_alpha}attributeType" maxOccurs="unbounded" minOccurs="0"/>
      *       &lt;/sequence>
      *     &lt;/restriction>
      *   &lt;/complexContent>
@@ -350,7 +350,7 @@
      *   &lt;complexContent>
      *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
      *       &lt;sequence>
-     *         &lt;element name="option" type="{urn:jboss:identity:config:v0_1}optionType" maxOccurs="unbounded" minOccurs="0"/>
+     *         &lt;element name="option" type="{urn:jboss:identity:idm:config:v1_0_alpha}optionType" maxOccurs="unbounded" minOccurs="0"/>
      *       &lt;/sequence>
      *     &lt;/restriction>
      *   &lt;/complexContent>
@@ -409,7 +409,7 @@
      *   &lt;complexContent>
      *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
      *       &lt;sequence>
-     *         &lt;element name="relationship" type="{urn:jboss:identity:config:v0_1}relationshipType" maxOccurs="unbounded" minOccurs="0"/>
+     *         &lt;element name="relationship" type="{urn:jboss:identity:idm:config:v1_0_alpha}relationshipType" maxOccurs="unbounded" minOccurs="0"/>
      *       &lt;/sequence>
      *     &lt;/restriction>
      *   &lt;/complexContent>

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/IdentityStoreMappingType.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/IdentityStoreMappingType.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/IdentityStoreMappingType.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -25,8 +25,8 @@
  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       &lt;sequence>
  *         &lt;element name="identity-store-id" type="{http://www.w3.org/2001/XMLSchema}string"/>
- *         &lt;element name="identity-object-types" type="{urn:jboss:identity:config:v0_1}identity-object-typesType"/>
- *         &lt;element name="options" type="{urn:jboss:identity:config:v0_1}optionsType"/>
+ *         &lt;element name="identity-object-types" type="{urn:jboss:identity:idm:config:v1_0_alpha}identity-object-typesType"/>
+ *         &lt;element name="options" type="{urn:jboss:identity:idm:config:v1_0_alpha}optionsType"/>
  *       &lt;/sequence>
  *     &lt;/restriction>
  *   &lt;/complexContent>

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/IdentityStoreMappingsType.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/IdentityStoreMappingsType.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/IdentityStoreMappingsType.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -26,7 +26,7 @@
  *   &lt;complexContent>
  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       &lt;sequence>
- *         &lt;element name="identity-store-mapping" type="{urn:jboss:identity:config:v0_1}identity-store-mappingType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="identity-store-mapping" type="{urn:jboss:identity:idm:config:v1_0_alpha}identity-store-mappingType" maxOccurs="unbounded" minOccurs="0"/>
  *       &lt;/sequence>
  *     &lt;/restriction>
  *   &lt;/complexContent>

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/IdentityStoreType.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/IdentityStoreType.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/IdentityStoreType.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -28,15 +28,15 @@
  *       &lt;sequence>
  *         &lt;element name="id" type="{http://www.w3.org/2001/XMLSchema}string"/>
  *         &lt;element name="class" type="{http://www.w3.org/2001/XMLSchema}string"/>
- *         &lt;element name="external-config" type="{urn:jboss:identity:config:v0_1}external-configType"/>
- *         &lt;element name="supported-relationship-types" type="{urn:jboss:identity:config:v0_1}supported-relationship-typesType"/>
- *         &lt;element name="supported-identity-object-types" type="{urn:jboss:identity:config:v0_1}supported-identity-object-typesType"/>
+ *         &lt;element name="external-config" type="{urn:jboss:identity:idm:config:v1_0_alpha}external-configType"/>
+ *         &lt;element name="supported-relationship-types" type="{urn:jboss:identity:idm:config:v1_0_alpha}supported-relationship-typesType"/>
+ *         &lt;element name="supported-identity-object-types" type="{urn:jboss:identity:idm:config:v1_0_alpha}supported-identity-object-typesType"/>
  *         &lt;element name="options">
  *           &lt;complexType>
  *             &lt;complexContent>
  *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *                 &lt;sequence>
- *                   &lt;element name="option" type="{urn:jboss:identity:config:v0_1}optionType" maxOccurs="unbounded" minOccurs="0"/>
+ *                   &lt;element name="option" type="{urn:jboss:identity:idm:config:v1_0_alpha}optionType" maxOccurs="unbounded" minOccurs="0"/>
  *                 &lt;/sequence>
  *               &lt;/restriction>
  *             &lt;/complexContent>
@@ -229,7 +229,7 @@
      *   &lt;complexContent>
      *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
      *       &lt;sequence>
-     *         &lt;element name="option" type="{urn:jboss:identity:config:v0_1}optionType" maxOccurs="unbounded" minOccurs="0"/>
+     *         &lt;element name="option" type="{urn:jboss:identity:idm:config:v1_0_alpha}optionType" maxOccurs="unbounded" minOccurs="0"/>
      *       &lt;/sequence>
      *     &lt;/restriction>
      *   &lt;/complexContent>

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/IdentityStoresType.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/IdentityStoresType.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/IdentityStoresType.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -26,7 +26,7 @@
  *   &lt;complexContent>
  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       &lt;sequence>
- *         &lt;element name="identity-store" type="{urn:jboss:identity:config:v0_1}identity-storeType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="identity-store" type="{urn:jboss:identity:idm:config:v1_0_alpha}identity-storeType" maxOccurs="unbounded" minOccurs="0"/>
  *       &lt;/sequence>
  *     &lt;/restriction>
  *   &lt;/complexContent>

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/IdentityTypeMappingsType.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/IdentityTypeMappingsType.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/IdentityTypeMappingsType.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -27,7 +27,7 @@
  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       &lt;sequence>
  *         &lt;element name="identity-mapping" type="{http://www.w3.org/2001/XMLSchema}string"/>
- *         &lt;element name="group-type-mapping" type="{urn:jboss:identity:config:v0_1}group-type-mappingType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="group-type-mapping" type="{urn:jboss:identity:idm:config:v1_0_alpha}group-type-mappingType" maxOccurs="unbounded" minOccurs="0"/>
  *       &lt;/sequence>
  *     &lt;/restriction>
  *   &lt;/complexContent>

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/JbossIdentityType.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/JbossIdentityType.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/JbossIdentityType.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -24,9 +24,9 @@
  *   &lt;complexContent>
  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       &lt;sequence>
- *         &lt;element name="realms" type="{urn:jboss:identity:config:v0_1}realmsType"/>
- *         &lt;element name="repositories" type="{urn:jboss:identity:config:v0_1}repositoriesType"/>
- *         &lt;element name="stores" type="{urn:jboss:identity:config:v0_1}storesType"/>
+ *         &lt;element name="realms" type="{urn:jboss:identity:idm:config:v1_0_alpha}realmsType"/>
+ *         &lt;element name="repositories" type="{urn:jboss:identity:idm:config:v1_0_alpha}repositoriesType"/>
+ *         &lt;element name="stores" type="{urn:jboss:identity:idm:config:v1_0_alpha}storesType"/>
  *       &lt;/sequence>
  *     &lt;/restriction>
  *   &lt;/complexContent>

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/ObjectFactory.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/ObjectFactory.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/ObjectFactory.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -31,7 +31,7 @@
 @XmlRegistry
 public class ObjectFactory {
 
-    private final static QName _JbossIdentity_QNAME = new QName("urn:jboss:identity:config:v0_1", "jboss-identity");
+    private final static QName _JbossIdentity_QNAME = new QName("urn:jboss:identity:idm:config:v1_0_alpha", "jboss-identity");
 
     /**
      * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.jboss.identity.impl.configuration.jaxb2.generated
@@ -276,7 +276,7 @@
      * Create an instance of {@link JAXBElement }{@code <}{@link JbossIdentityType }{@code >}}
      * 
      */
-    @XmlElementDecl(namespace = "urn:jboss:identity:config:v0_1", name = "jboss-identity")
+    @XmlElementDecl(namespace = "urn:jboss:identity:idm:config:v1_0_alpha", name = "jboss-identity")
     public JAXBElement<JbossIdentityType> createJbossIdentity(JbossIdentityType value) {
         return new JAXBElement<JbossIdentityType>(_JbossIdentity_QNAME, JbossIdentityType.class, null, value);
     }

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/OptionsType.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/OptionsType.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/OptionsType.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -25,7 +25,7 @@
  *   &lt;complexContent>
  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       &lt;sequence>
- *         &lt;element name="option" type="{urn:jboss:identity:config:v0_1}optionType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="option" type="{urn:jboss:identity:idm:config:v1_0_alpha}optionType" maxOccurs="unbounded" minOccurs="0"/>
  *       &lt;/sequence>
  *     &lt;/restriction>
  *   &lt;/complexContent>

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/RealmType.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/RealmType.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/RealmType.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -26,8 +26,8 @@
  *       &lt;sequence>
  *         &lt;element name="id" type="{http://www.w3.org/2001/XMLSchema}string"/>
  *         &lt;element name="repository-id-ref" type="{http://www.w3.org/2001/XMLSchema}string"/>
- *         &lt;element name="identity-type-mappings" type="{urn:jboss:identity:config:v0_1}identity-type-mappingsType" minOccurs="0"/>
- *         &lt;element name="options" type="{urn:jboss:identity:config:v0_1}optionsType" minOccurs="0"/>
+ *         &lt;element name="identity-type-mappings" type="{urn:jboss:identity:idm:config:v1_0_alpha}identity-type-mappingsType" minOccurs="0"/>
+ *         &lt;element name="options" type="{urn:jboss:identity:idm:config:v1_0_alpha}optionsType" minOccurs="0"/>
  *       &lt;/sequence>
  *     &lt;/restriction>
  *   &lt;/complexContent>

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/RealmsType.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/RealmsType.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/RealmsType.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -25,7 +25,7 @@
  *   &lt;complexContent>
  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       &lt;sequence>
- *         &lt;element name="realm" type="{urn:jboss:identity:config:v0_1}realmType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="realm" type="{urn:jboss:identity:idm:config:v1_0_alpha}realmType" maxOccurs="unbounded" minOccurs="0"/>
  *       &lt;/sequence>
  *     &lt;/restriction>
  *   &lt;/complexContent>

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/RelationshipsType.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/RelationshipsType.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/RelationshipsType.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -25,7 +25,7 @@
  *   &lt;complexContent>
  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       &lt;sequence>
- *         &lt;element name="relationship" type="{urn:jboss:identity:config:v0_1}relationshipType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="relationship" type="{urn:jboss:identity:idm:config:v1_0_alpha}relationshipType" maxOccurs="unbounded" minOccurs="0"/>
  *       &lt;/sequence>
  *     &lt;/restriction>
  *   &lt;/complexContent>

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/RepositoriesType.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/RepositoriesType.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/RepositoriesType.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -25,7 +25,7 @@
  *   &lt;complexContent>
  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       &lt;sequence>
- *         &lt;element name="repository" type="{urn:jboss:identity:config:v0_1}repositoryType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="repository" type="{urn:jboss:identity:idm:config:v1_0_alpha}repositoryType" maxOccurs="unbounded" minOccurs="0"/>
  *       &lt;/sequence>
  *     &lt;/restriction>
  *   &lt;/complexContent>

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/RepositoryType.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/RepositoryType.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/RepositoryType.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -26,11 +26,11 @@
  *       &lt;sequence>
  *         &lt;element name="id" type="{http://www.w3.org/2001/XMLSchema}string"/>
  *         &lt;element name="class" type="{http://www.w3.org/2001/XMLSchema}string"/>
- *         &lt;element name="external-config" type="{urn:jboss:identity:config:v0_1}external-configType" minOccurs="0"/>
+ *         &lt;element name="external-config" type="{urn:jboss:identity:idm:config:v1_0_alpha}external-configType" minOccurs="0"/>
  *         &lt;element name="default-identity-store-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
  *         &lt;element name="default-attribute-store-id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
- *         &lt;element name="identity-store-mappings" type="{urn:jboss:identity:config:v0_1}identity-store-mappingsType" minOccurs="0"/>
- *         &lt;element name="options" type="{urn:jboss:identity:config:v0_1}optionsType" minOccurs="0"/>
+ *         &lt;element name="identity-store-mappings" type="{urn:jboss:identity:idm:config:v1_0_alpha}identity-store-mappingsType" minOccurs="0"/>
+ *         &lt;element name="options" type="{urn:jboss:identity:idm:config:v1_0_alpha}optionsType" minOccurs="0"/>
  *       &lt;/sequence>
  *     &lt;/restriction>
  *   &lt;/complexContent>

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/StoresType.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/StoresType.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/StoresType.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -25,7 +25,7 @@
  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       &lt;sequence>
  *         &lt;element name="attribute-stores" type="{http://www.w3.org/2001/XMLSchema}string"/>
- *         &lt;element name="identity-stores" type="{urn:jboss:identity:config:v0_1}identity-storesType"/>
+ *         &lt;element name="identity-stores" type="{urn:jboss:identity:idm:config:v1_0_alpha}identity-storesType"/>
  *       &lt;/sequence>
  *     &lt;/restriction>
  *   &lt;/complexContent>

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/SupportedIdentityObjectTypesType.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/SupportedIdentityObjectTypesType.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/SupportedIdentityObjectTypesType.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -26,7 +26,7 @@
  *   &lt;complexContent>
  *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       &lt;sequence>
- *         &lt;element name="identity-object-type" type="{urn:jboss:identity:config:v0_1}identity-object-typeType" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="identity-object-type" type="{urn:jboss:identity:idm:config:v1_0_alpha}identity-object-typeType" maxOccurs="unbounded" minOccurs="0"/>
  *       &lt;/sequence>
  *     &lt;/restriction>
  *   &lt;/complexContent>

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/package-info.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/package-info.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/configuration/jaxb2/generated/package-info.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -5,5 +5,5 @@
 // Generated on: 2008.12.18 at 03:00:04 PM CET 
 //
 
- at javax.xml.bind.annotation.XmlSchema(namespace = "urn:jboss:identity:config:v0_1", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+ at javax.xml.bind.annotation.XmlSchema(namespace = "urn:jboss:identity:idm:config:v1_0_alpha", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
 package org.jboss.identity.idm.impl.configuration.jaxb2.generated;

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/repository/AbstractIdentityStoreRepository.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/repository/AbstractIdentityStoreRepository.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/repository/AbstractIdentityStoreRepository.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -49,11 +49,29 @@
 
    protected Map<String, AttributeStore> attributeStoreMappings = new HashMap<String, AttributeStore>();
 
+   protected IdentityStore defaultIdentityStore;
+
+   protected AttributeStore defaultAttributeStore;
+   
+
    public void bootstrap(IdentityRepositoryConfigurationMetaData configurationMD,
                          Map<String, IdentityStore> bootstrappedIdentityStores,
                          Map<String, AttributeStore> bootstrappedAttributeStores) throws IdentityException
    {
 
+      String asId = configurationMD.getDefaultAttributeStroeId();
+      String isId = configurationMD.getDefaultIdentityStoreId();
+
+      if (asId != null && bootstrappedAttributeStores.keySet().contains(asId))
+      {
+         defaultAttributeStore = bootstrappedAttributeStores.get(asId);
+      }
+
+      if (isId != null && bootstrappedIdentityStores.keySet().contains(isId))
+      {
+         defaultIdentityStore = bootstrappedIdentityStores.get(isId);
+      }
+
       for (IdentityStoreMappingMetaData identityStoreMappingMetaData : configurationMD.getIdentityStoreToIdentityObjectTypeMappings())
       {
          String storeId = identityStoreMappingMetaData.getIdentityStoreId();

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/repository/FallbackIdentityStoreRepository.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/repository/FallbackIdentityStoreRepository.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/repository/FallbackIdentityStoreRepository.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -70,17 +70,12 @@
  */
 public class FallbackIdentityStoreRepository extends AbstractIdentityStoreRepository
 {
-   //TODO: - 
    //TODO: - filter out controls based on features MD before passing
    //TODO: - configuration option to store not mapped attributes in default store
    //TODO: - configuration option to fallback named relationships to default store when not supported in mapped one
 
    private final String id;
 
-   private IdentityStore defaultIdentityStore;
-
-   private AttributeStore defaultAttributeStore;
-
    //TODO: rewrite this to other config object?
    private IdentityRepositoryConfigurationMetaData configurationMD;
 
@@ -97,6 +92,7 @@
       this.id = id;
    }
 
+   @Override
    public void bootstrap(IdentityRepositoryConfigurationMetaData configurationMD,
                          Map<String, IdentityStore> bootstrappedIdentityStores,
                          Map<String, AttributeStore> bootstrappedAttributeStores) throws IdentityException
@@ -114,18 +110,10 @@
 
       this.configurationMD = configurationMD;
 
-      String asId = configurationMD.getDefaultAttributeStroeId();
       String isId = configurationMD.getDefaultIdentityStoreId();
 
-      if (asId != null && bootstrappedAttributeStores.keySet().contains(asId))
-      {
-         defaultAttributeStore = bootstrappedAttributeStores.get(asId);
-      }
-
       if (isId != null && bootstrappedIdentityStores.keySet().contains(isId))
       {
-         defaultIdentityStore = bootstrappedIdentityStores.get(isId);
-
          if (!getIdentityStoreMappings().keySet().contains(defaultIdentityStore.getId()))
          {
             configuredIdentityStores.add(defaultIdentityStore);

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/repository/WrapperIdentityStoreRepository.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/repository/WrapperIdentityStoreRepository.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/repository/WrapperIdentityStoreRepository.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -22,166 +22,290 @@
 
 package org.jboss.identity.idm.impl.repository;
 
+import org.jboss.identity.idm.spi.store.IdentityStore;
+import org.jboss.identity.idm.spi.store.AttributeStore;
+import org.jboss.identity.idm.spi.store.IdentityStoreSession;
+import org.jboss.identity.idm.spi.store.FeaturesMetaData;
+import org.jboss.identity.idm.spi.store.IdentityStoreInvocationContext;
+import org.jboss.identity.idm.spi.configuration.metadata.IdentityStoreConfigurationMetaData;
+import org.jboss.identity.idm.spi.configuration.metadata.IdentityObjectAttributeMetaData;
+import org.jboss.identity.idm.spi.configuration.metadata.IdentityRepositoryConfigurationMetaData;
+import org.jboss.identity.idm.spi.model.IdentityObject;
+import org.jboss.identity.idm.spi.model.IdentityObjectType;
+import org.jboss.identity.idm.spi.model.IdentityObjectRelationshipType;
+import org.jboss.identity.idm.spi.model.IdentityObjectRelationship;
+import org.jboss.identity.idm.spi.model.IdentityObjectCredential;
+import org.jboss.identity.idm.spi.model.IdentityObjectAttribute;
+import org.jboss.identity.idm.spi.exception.OperationNotSupportedException;
+import org.jboss.identity.idm.spi.searchcontrol.IdentityObjectSearchControl;
+import org.jboss.identity.idm.exception.IdentityException;
+import org.jboss.identity.idm.impl.store.SimpleIdentityStoreInvocationContext;
+
+import java.util.Map;
+import java.util.Collection;
+import java.util.Set;
+import java.util.HashMap;
+
 /**
  * Simply wraps IdentityStore and AttributeStore and delegates all the calls
  *
  * @author <a href="mailto:boleslaw.dawidowicz at redhat.com">Boleslaw Dawidowicz</a>
  * @version : 0.1 $
  */
-//public class WrapperIdentityStoreRepository extends AbstractIdentityStoreRepository
-//{
-//
-//   private final IdentityStore identityStore;
-//
-//   private final AttributeStore attributeStore;
-//
-//   public WrapperIdentityStoreRepository(IdentityStore identityStore, AttributeStore attributeStore,
-//                                         Map<String, IdentityStore> identityStoreMappings, Map<String, AttributeStore> attributeStoreMappings)
-//   {
-////      super(identityStoreMappings, attributeStoreMappings);
-////
-//      this.identityStore = identityStore;
-//      this.attributeStore = attributeStore;
-//   }
-//
-//   public void bootstrap(IdentityStoreConfigurationMetaData configurationMD) throws IdentityException
-//   {
-//      //TODO
-//   }
-//
-//   public IdentityStoreSession createIdentityStoreSession()
-//   {
-//      //TODO
-//      return null;
-//   }
-//
-//   public String getId()
-//   {
-//      return null;
-//   }
-//
-//   public FeaturesMetaData getSupportedFeatures()
-//   {
-//      return null;
-//   }
-//
-//   public IdentityObject createIdentityObject(IdentityStoreInvocationContext invocationCtx, String name, IdentityObjectType identityObjectType) throws IdentityException
-//   {
-//      return identityStore.createIdentityObject(invocationCtx, name, identityObjectType);
-//   }
-//
-//   public void removeIdentityObject(IdentityStoreInvocationContext invocationCtx, IdentityObject identity) throws IdentityException
-//   {
-//      identityStore.removeIdentityObject(invocationCtx, identity);
-//   }
-//
-//   public int getIdentityObjectsCount(IdentityStoreInvocationContext invocationCtx, IdentityObjectType identityType) throws IdentityException
-//   {
-//      return identityStore.getIdentityObjectsCount(invocationCtx, identityType);
-//   }
-//
-//   public IdentityObject findIdentityObject(IdentityStoreInvocationContext invocationContext, String name, IdentityObjectType identityObjectType) throws IdentityException
-//   {
-//      return identityStore.findIdentityObject(invocationContext, name, identityObjectType);
-//   }
-//
-//   public IdentityObject findIdentityObject(IdentityStoreInvocationContext invocationContext, Object id) throws IdentityException
-//   {
-//      return identityStore.findIdentityObject(invocationContext, id);
-//   }
-//
-//   public Collection<IdentityObject> findIdentityObject(IdentityStoreInvocationContext invocationCtx, IdentityObjectType identityType, String nameFilter, int offset, int limit, boolean orderByName, boolean ascending) throws IdentityException
-//   {
-//      return identityStore.findIdentityObject(invocationCtx, identityType, nameFilter, offset, limit, orderByName, ascending);
-//   }
-//
-//   public Collection<IdentityObject> findIdentityObject(IdentityStoreInvocationContext invocationCtx, IdentityObjectType identityType, Map<String, String[]> attributes, int offset, int limit, boolean orderByName, boolean ascending) throws IdentityException
-//   {
-//      return identityStore.findIdentityObject(invocationCtx, identityType, attributes, offset, limit, orderByName, ascending);
-//   }
-//
-//   public Collection<IdentityObject> findIdentityObject(IdentityStoreInvocationContext invocationCxt, IdentityObject identity, IdentityObjectRelationshipType relationshipType, boolean parent, int offset, int limit, boolean orderByName, boolean ascending) throws IdentityException
-//   {
-//      return identityStore.findIdentityObject(invocationCxt, identity, relationshipType, parent, offset, limit, orderByName, ascending);
-//   }
-//
-//   public IdentityObjectRelationship createRelationship(IdentityStoreInvocationContext invocationCxt, IdentityObject fromIdentity, IdentityObject toIdentity, IdentityObjectRelationshipType relationshipType, String relationshipName, boolean createNames) throws IdentityException
-//   {
-//      return identityStore.createRelationship(invocationCxt, fromIdentity, toIdentity, relationshipType, relationshipName, createNames);
-//   }
-//
-//   public void removeRelationship(IdentityStoreInvocationContext invocationCxt, IdentityObject fromIdentity, IdentityObject toIdentity, IdentityObjectRelationshipType relationshipType, String relationshipName) throws IdentityException
-//   {
-//      identityStore.removeRelationship(invocationCxt, fromIdentity, toIdentity, relationshipType, relationshipName);
-//   }
-//
-//   public void removeRelationships(IdentityStoreInvocationContext invocationCtx, IdentityObject identity1, IdentityObject identity2, boolean named) throws IdentityException
-//   {
-//      identityStore.removeRelationships(invocationCtx, identity1, identity2, named);
-//   }
-//
-//   public Set<IdentityObjectRelationship> resolveRelationships(IdentityStoreInvocationContext invocationCxt, IdentityObject fromIdentity, IdentityObject toIdentity) throws IdentityException
-//   {
-//      return identityStore.resolveRelationships(invocationCxt, fromIdentity, toIdentity);
-//   }
-//
-//   public String createRelationshipName(IdentityStoreInvocationContext ctx, String name) throws IdentityException, OperationNotSupportedException
-//   {
-//      return identityStore.createRelationshipName(ctx, name);
-//   }
-//
-//   public String removeRelationshipName(IdentityStoreInvocationContext ctx, String name) throws IdentityException, OperationNotSupportedException
-//   {
-//      return identityStore.removeRelationshipName(ctx, name);
-//   }
-//
-//   public Set<String> getRelationshipNames(IdentityStoreInvocationContext ctx, int offset, int limit, boolean orderByName, boolean ascending) throws IdentityException, OperationNotSupportedException
-//   {
-//      return identityStore.getRelationshipNames(ctx, offset, limit, orderByName, ascending);
-//   }
-//
-//   public Set<String> getRelationshipNames(IdentityStoreInvocationContext ctx, IdentityObject identity, int offset, int limit, boolean orderByName, boolean ascending) throws IdentityException, OperationNotSupportedException
-//   {
-//      return identityStore.getRelationshipNames(ctx, identity, offset, limit, orderByName, ascending);
-//   }
-//
-//   public boolean hasPasswordAttribute(IdentityStoreInvocationContext ctx, IdentityObjectType type) throws IdentityException
-//   {
-//      return identityStore.hasPasswordAttribute(ctx, type);
-//   }
-//
-//   public boolean validatePassword(IdentityStoreInvocationContext ctx, IdentityObject identityObject, String password) throws IdentityException
-//   {
-//      return identityStore.validatePassword(ctx, identityObject, password);
-//   }
-//
-//   public void updatePassword(IdentityStoreInvocationContext ctx, IdentityObject identityObject, String password) throws IdentityException
-//   {
-//      identityStore.updatePassword(ctx, identityObject, password);
-//   }
-//
-//   public <T extends IdentityObjectType> Set<String> getSupportedAttributeNames(IdentityStoreInvocationContext invocationContext, T identityType) throws IdentityException
-//   {
-//      return attributeStore.getSupportedAttributeNames(invocationContext, identityType);
-//   }
-//
-//   public Map<String, Set<String>> getAttributes(IdentityStoreInvocationContext invocationContext, IdentityObject identity) throws IdentityException
-//   {
-//      return attributeStore.getAttributes(invocationContext, identity);
-//   }
-//
-//   public void updateAttributes(IdentityStoreInvocationContext invocationCtx, IdentityObject identity, Map<String, Set<String>> attributes) throws IdentityException
-//   {
-//      attributeStore.updateAttributes(invocationCtx, identity, attributes);
-//   }
-//
-//   public void addAttributes(IdentityStoreInvocationContext invocationCtx, IdentityObject identity, Map<String, Set<String>> attributes) throws IdentityException
-//   {
-//      attributeStore.addAttributes(invocationCtx, identity, attributes);
-//   }
-//
-//   public void removeAttributes(IdentityStoreInvocationContext invocationCtx, IdentityObject identity, Set<String> attributes) throws IdentityException
-//   {
-//      attributeStore.removeAttributes(invocationCtx, identity, attributes);
-//   }
-//}
+public class WrapperIdentityStoreRepository extends AbstractIdentityStoreRepository
+{
+
+   private final String id;
+
+
+   public WrapperIdentityStoreRepository(String id)
+   {
+      this.id = id;
+   }
+
+   @Override
+   public void bootstrap(IdentityRepositoryConfigurationMetaData configurationMD,
+                         Map<String, IdentityStore> bootstrappedIdentityStores,
+                         Map<String, AttributeStore> bootstrappedAttributeStores) throws IdentityException
+   {
+      super.bootstrap(configurationMD, bootstrappedIdentityStores, bootstrappedAttributeStores);
+   }
+
+   public void bootstrap(IdentityStoreConfigurationMetaData configurationMD) throws IdentityException
+   {
+      //Nothing
+   }
+
+   public IdentityStoreSession createIdentityStoreSession() throws IdentityException
+   {
+      Map<String, IdentityStoreSession> sessions = new HashMap<String, IdentityStoreSession>();
+
+      sessions.put(defaultAttributeStore.getId(), defaultAttributeStore.createIdentityStoreSession());
+
+      if (!sessions.containsKey(defaultIdentityStore.getId()))
+      {
+         sessions.put(defaultIdentityStore.getId(), defaultIdentityStore.createIdentityStoreSession());
+      }
+
+      return new RepositoryIdentityStoreSessionImpl(sessions);
+   }
+
+   IdentityStoreInvocationContext resolveIdentityStoreInvocationContext(IdentityStoreInvocationContext invocationCtx)
+   {
+      return resolveInvocationContext(defaultIdentityStore.getId(), invocationCtx);
+
+   }
+
+   IdentityStoreInvocationContext resolveAttributeStoreInvocationContext(IdentityStoreInvocationContext invocationCtx)
+   {
+      return resolveInvocationContext(defaultAttributeStore.getId(), invocationCtx);
+
+   }
+
+   IdentityStoreInvocationContext resolveInvocationContext(String id, IdentityStoreInvocationContext invocationCtx)
+   {
+      RepositoryIdentityStoreSessionImpl repoSession = (RepositoryIdentityStoreSessionImpl)invocationCtx.getIdentityStoreSession();
+      IdentityStoreSession targetSession = repoSession.getIdentityStoreSession(id);
+
+      return new SimpleIdentityStoreInvocationContext(targetSession, invocationCtx.getRealmId());
+
+   }
+
+   public String getId()
+   {
+      return id;
+   }
+
+   public FeaturesMetaData getSupportedFeatures()
+   {
+      return defaultIdentityStore.getSupportedFeatures();
+   }
+
+   public IdentityObject createIdentityObject(IdentityStoreInvocationContext invocationCtx,
+                                              String name,
+                                              IdentityObjectType identityObjectType) throws IdentityException
+   {
+      return defaultIdentityStore.createIdentityObject(resolveIdentityStoreInvocationContext(invocationCtx), name, identityObjectType);
+   }
+
+   public IdentityObject createIdentityObject(IdentityStoreInvocationContext invocationCtx,
+                                              String name,
+                                              IdentityObjectType identityObjectType,
+                                              Map<String, String[]> attributes) throws IdentityException
+   {
+      return defaultIdentityStore.createIdentityObject(resolveIdentityStoreInvocationContext(invocationCtx), name, identityObjectType, attributes);
+   }
+
+   public void removeIdentityObject(IdentityStoreInvocationContext invocationCtx,
+                                    IdentityObject identity) throws IdentityException
+   {
+      defaultIdentityStore.removeIdentityObject(resolveIdentityStoreInvocationContext(invocationCtx), identity);
+   }
+
+   public int getIdentityObjectsCount(IdentityStoreInvocationContext invocationCtx,
+                                      IdentityObjectType identityType) throws IdentityException
+   {
+      return defaultIdentityStore.getIdentityObjectsCount(resolveIdentityStoreInvocationContext(invocationCtx), identityType);
+   }
+
+   public IdentityObject findIdentityObject(IdentityStoreInvocationContext invocationContext,
+                                            String name,
+                                            IdentityObjectType identityObjectType) throws IdentityException
+   {
+      return defaultIdentityStore.findIdentityObject(resolveIdentityStoreInvocationContext(invocationContext), name, identityObjectType);
+   }
+
+   public IdentityObject findIdentityObject(IdentityStoreInvocationContext invocationContext,
+                                            String id) throws IdentityException
+   {
+      return defaultIdentityStore.findIdentityObject(resolveIdentityStoreInvocationContext(invocationContext), id);
+   }
+
+   public Collection<IdentityObject> findIdentityObject(IdentityStoreInvocationContext invocationCtx,
+                                                        IdentityObjectType identityType,
+                                                        IdentityObjectSearchControl[] controls) throws IdentityException
+   {
+      return defaultIdentityStore.findIdentityObject(resolveIdentityStoreInvocationContext(invocationCtx), identityType, controls);
+   }
+
+   public Collection<IdentityObject> findIdentityObject(IdentityStoreInvocationContext invocationCtx,
+                                                        IdentityObject identity,
+                                                        IdentityObjectRelationshipType relationshipType,
+                                                        boolean parent,
+                                                        IdentityObjectSearchControl[] controls) throws IdentityException
+   {
+      return defaultIdentityStore.findIdentityObject(resolveIdentityStoreInvocationContext(invocationCtx), identity, relationshipType, parent, controls);
+   }
+
+   public IdentityObjectRelationship createRelationship(IdentityStoreInvocationContext invocationCxt,
+                                                        IdentityObject fromIdentity,
+                                                        IdentityObject toIdentity,
+                                                        IdentityObjectRelationshipType relationshipType,
+                                                        String relationshipName,
+                                                        boolean createNames) throws IdentityException
+   {
+      return defaultIdentityStore.createRelationship(resolveIdentityStoreInvocationContext(invocationCxt),
+         fromIdentity, toIdentity, relationshipType, relationshipName, createNames);
+   }
+
+   public void removeRelationship(IdentityStoreInvocationContext invocationCxt,
+                                  IdentityObject fromIdentity,
+                                  IdentityObject toIdentity,
+                                  IdentityObjectRelationshipType relationshipType,
+                                  String relationshipName) throws IdentityException
+   {
+      defaultIdentityStore.removeRelationship(resolveIdentityStoreInvocationContext(invocationCxt), fromIdentity, toIdentity, relationshipType, relationshipName);
+   }
+
+   public void removeRelationships(IdentityStoreInvocationContext invocationCtx,
+                                   IdentityObject identity1,
+                                   IdentityObject identity2,
+                                   boolean named) throws IdentityException
+   {
+      defaultIdentityStore.removeRelationships(resolveIdentityStoreInvocationContext(invocationCtx), identity1, identity2, named);
+   }
+
+   public Set<IdentityObjectRelationship> resolveRelationships(IdentityStoreInvocationContext invocationCxt,
+                                                               IdentityObject fromIdentity,
+                                                               IdentityObject toIdentity,
+                                                               IdentityObjectRelationshipType relationshipType) throws IdentityException
+   {
+      return defaultIdentityStore.resolveRelationships(resolveIdentityStoreInvocationContext(invocationCxt), fromIdentity, toIdentity, relationshipType);
+   }
+
+   public Set<IdentityObjectRelationship> resolveRelationships(IdentityStoreInvocationContext invocationCtx,
+                                                               IdentityObject identity,
+                                                               IdentityObjectRelationshipType relationshipType,
+                                                               boolean parent,
+                                                               boolean named,
+                                                               String name) throws IdentityException
+   {
+      return defaultIdentityStore.resolveRelationships(resolveIdentityStoreInvocationContext(invocationCtx),
+         identity, relationshipType, parent, named, name);
+   }
+
+   public String createRelationshipName(IdentityStoreInvocationContext ctx,
+                                        String name) throws IdentityException, OperationNotSupportedException
+   {
+      return defaultIdentityStore.createRelationshipName(resolveIdentityStoreInvocationContext(ctx), name);
+   }
+
+   public String removeRelationshipName(IdentityStoreInvocationContext ctx,
+                                        String name) throws IdentityException, OperationNotSupportedException
+   {
+      return defaultIdentityStore.removeRelationshipName(resolveIdentityStoreInvocationContext(ctx), name);
+   }
+
+   public Set<String> getRelationshipNames(IdentityStoreInvocationContext ctx,
+                                           IdentityObjectSearchControl[] controls) throws IdentityException, OperationNotSupportedException
+   {
+      return defaultIdentityStore.getRelationshipNames(resolveIdentityStoreInvocationContext(ctx), controls);
+   }
+
+   public Set<String> getRelationshipNames(IdentityStoreInvocationContext ctx,
+                                           IdentityObject identity,
+                                           IdentityObjectSearchControl[] controls) throws IdentityException, OperationNotSupportedException
+   {
+      return defaultIdentityStore.getRelationshipNames(resolveIdentityStoreInvocationContext(ctx), identity, controls);
+   }
+
+   public boolean validateCredential(IdentityStoreInvocationContext ctx,
+                                     IdentityObject identityObject,
+                                     IdentityObjectCredential credential) throws IdentityException
+   {
+      return defaultIdentityStore.validateCredential(resolveIdentityStoreInvocationContext(ctx), identityObject, credential);
+   }
+
+   public void updateCredential(IdentityStoreInvocationContext ctx,
+                                IdentityObject identityObject,
+                                IdentityObjectCredential credential) throws IdentityException
+   {
+      defaultIdentityStore.updateCredential(resolveIdentityStoreInvocationContext(ctx), identityObject, credential);
+   }
+
+   public Set<String> getSupportedAttributeNames(IdentityStoreInvocationContext invocationContext,
+                                                 IdentityObjectType identityType) throws IdentityException
+   {
+      return defaultAttributeStore.getSupportedAttributeNames(resolveAttributeStoreInvocationContext(invocationContext), identityType);
+   }
+
+   public Map<String, IdentityObjectAttributeMetaData> getAttributesMetaData(IdentityStoreInvocationContext invocationContext,
+                                                                             IdentityObjectType identityType)
+   {
+      return defaultAttributeStore.getAttributesMetaData(resolveAttributeStoreInvocationContext(invocationContext), identityType);
+   }
+
+   public Map<String, IdentityObjectAttribute> getAttributes(IdentityStoreInvocationContext invocationContext,
+                                                             IdentityObject identity) throws IdentityException
+   {
+      return defaultAttributeStore.getAttributes(resolveAttributeStoreInvocationContext(invocationContext), identity);
+   }
+
+   public IdentityObjectAttribute getAttribute(IdentityStoreInvocationContext invocationContext,
+                                               IdentityObject identity,
+                                               String name) throws IdentityException
+   {
+      return defaultAttributeStore.getAttribute(resolveAttributeStoreInvocationContext(invocationContext), identity, name);
+   }
+
+   public void updateAttributes(IdentityStoreInvocationContext invocationCtx,
+                                IdentityObject identity,
+                                IdentityObjectAttribute[] attributes) throws IdentityException
+   {
+      defaultAttributeStore.updateAttributes(resolveAttributeStoreInvocationContext(invocationCtx), identity, attributes);
+   }
+
+   public void addAttributes(IdentityStoreInvocationContext invocationCtx,
+                             IdentityObject identity,
+                             IdentityObjectAttribute[] attributes) throws IdentityException
+   {
+      defaultAttributeStore.addAttributes(resolveAttributeStoreInvocationContext(invocationCtx), identity, attributes);
+   }
+
+   public void removeAttributes(IdentityStoreInvocationContext invocationCtx,
+                                IdentityObject identity,
+                                String[] attributeNames) throws IdentityException
+   {
+      defaultAttributeStore.removeAttributes(resolveAttributeStoreInvocationContext(invocationCtx), identity, attributeNames);
+   }
+}

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/store/hibernate/HibernateIdentityStoreImpl.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/store/hibernate/HibernateIdentityStoreImpl.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/store/hibernate/HibernateIdentityStoreImpl.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -787,9 +787,12 @@
       HibernateIdentityObject toIO = safeGet(ctx, toIdentity);
       HibernateIdentityObjectRelationshipType type = getHibernateIdentityObjectRelationshipType(ctx, relationshipType);
 
-      getSupportedFeatures().isRelationshipTypeSupported(fromIO.getIdentityType(), toIO.getIdentityType(), relationshipType);
+      if (!getSupportedFeatures().isRelationshipTypeSupported(fromIO.getIdentityType(), toIO.getIdentityType(), relationshipType))
+      {
+         throw new IdentityException("Relationship not supported. RelationshipType[ " + relationshipType.getName() + " ] " +
+            "beetween: [ " + fromIO.getIdentityType().getName() + " ] and [ " + toIO.getIdentityType().getName() + " ]");
+      }
 
-
       org.hibernate.Query query = getHibernateEntityManager(ctx).getSession().createQuery(QUERY_RELATIONSHIP_BY_FROM_TO_TYPE_NAME)
          .setParameter("fromIO", fromIO)
          .setParameter("toIO", toIO)

Modified: idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/store/ldap/LDAPIdentityStoreImpl.java
===================================================================
--- idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/store/ldap/LDAPIdentityStoreImpl.java	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/main/java/org/jboss/identity/idm/impl/store/ldap/LDAPIdentityStoreImpl.java	2009-01-13 22:54:31 UTC (rev 215)
@@ -1144,7 +1144,8 @@
       // Check posibilities
       if (!getSupportedFeatures().isRelationshipTypeSupported(fromIdentity.getIdentityType(), toIdentity.getIdentityType(), relationshipType))
       {
-         throw new IdentityException("Relationship not supported");
+         throw new IdentityException("Relationship not supported. RelationshipType[ " + relationshipType + " ] " +
+            "beetween: [ " + fromIdentity.getIdentityType().getName() + " ] and [ " + toIdentity.getIdentityType().getName() + " ]");
       }
 
       try

Added: idm/trunk/identity-impl/src/test/resources/example-db-config.xml
===================================================================
--- idm/trunk/identity-impl/src/test/resources/example-db-config.xml	                        (rev 0)
+++ idm/trunk/identity-impl/src/test/resources/example-db-config.xml	2009-01-13 22:54:31 UTC (rev 215)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jboss-identity xmlns="urn:jboss:identity:idm:config:v1_0_alpha"
+                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                xsi:schemaLocation="urn:jboss:identity:idm:config:v1_0_alpha identity-config.xsd">
+    <realms>
+        <realm>
+            <id>realm://Example/DB</id>
+            <repository-id-ref>Example Repository</repository-id-ref>
+            <identity-type-mappings>
+                <identity-mapping>IDENTITY</identity-mapping>
+            </identity-type-mappings>
+        </realm>
+    </realms>
+    <repositories>
+        <repository>
+            <id>Example Repository</id>
+            <class>org.jboss.identity.idm.impl.repository.WrapperIdentityStoreRepository</class>
+            <external-config/>
+            <default-identity-store-id>Hibernate Identity Store</default-identity-store-id>
+            <default-attribute-store-id>Hibernate Identity Store</default-attribute-store-id>
+            <options>
+                <option>
+                    <name>allowNotDefinedAttributes</name>
+                    <value>true</value>
+                </option>
+            </options>
+        </repository>
+    </repositories>
+    <stores>
+        <attribute-stores/>
+        <identity-stores>
+        </identity-stores>
+    </stores>
+</jboss-identity>
\ No newline at end of file

Added: idm/trunk/identity-impl/src/test/resources/example-ldap-config.xml
===================================================================

Added: idm/trunk/identity-impl/src/test/resources/example-mixed-config.xml
===================================================================

Modified: idm/trunk/identity-impl/src/test/resources/identity-config.xml
===================================================================
--- idm/trunk/identity-impl/src/test/resources/identity-config.xml	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/test/resources/identity-config.xml	2009-01-13 22:54:31 UTC (rev 215)
@@ -4,14 +4,14 @@
 <!--attributeFormDefault="unqualified"-->
 <!--elementFormDefault="qualified"-->
 <!--xmlns:xs="http://www.w3.org/2001/XMLSchema"-->
-<!--targetNamespace="urn:jboss:identity:config:v0_1"-->
-<!--xmlns="urn:jboss:identity:config:v0_1"-->
+<!--targetNamespace="urn:jboss:identity:idm:config:v1_0_alpha"-->
+<!--xmlns="urn:jboss:identity:idm:config:v1_0_alpha"-->
 <!--xmlns:xml="http://www.w3.org/XML/1998/namespace"-->
-<!--xmlns:wcc="urn:jboss:identity:config:v0_1">   -->
+<!--xmlns:wcc="urn:jboss:identity:idm:config:v1_0_alpha">   -->
 
-<jboss-identity xmlns="urn:jboss:identity:config:v0_1"
+<jboss-identity xmlns="urn:jboss:identity:idm:config:v1_0_alpha"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-                xsi:schemaLocation="urn:jboss:identity:config:v0_1 identity-config.xsd">
+                xsi:schemaLocation="urn:jboss:identity:idm:config:v1_0_alpha identity-config.xsd">
     <realms>
         <realm>
             <id></id>

Modified: idm/trunk/identity-impl/src/test/resources/identity-config.xsd
===================================================================
--- idm/trunk/identity-impl/src/test/resources/identity-config.xsd	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/test/resources/identity-config.xsd	2009-01-13 22:54:31 UTC (rev 215)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="urn:jboss:identity:config:v0_1" xmlns:xs="http://www.w3.org/2001/XMLSchema">
-  <xs:element name="jboss-identity" type="urn:jboss-identityType" xmlns:urn="urn:jboss:identity:config:v0_1">
+<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="urn:jboss:identity:idm:config:v1_0_alpha" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:element name="jboss-identity" type="urn:jboss-identityType" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha">
     <xs:annotation>
-      <xs:documentation>&lt;xs:schemaattributeFormDefault="unqualified"elementFormDefault="qualified"xmlns:xs="http://www.w3.org/2001/XMLSchema"targetNamespace="urn:jboss:identity:config:v0_1"xmlns="urn:jboss:identity:config:v0_1"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:wcc="urn:jboss:identity:config:v0_1"></xs:documentation>
+      <xs:documentation>&lt;xs:schemaattributeFormDefault="unqualified"elementFormDefault="qualified"xmlns:xs="http://www.w3.org/2001/XMLSchema"targetNamespace="urn:jboss:identity:idm:config:v1_0_alpha"xmlns="urn:jboss:identity:idm:config:v1_0_alpha"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:wcc="urn:jboss:identity:idm:config:v1_0_alpha"></xs:documentation>
     </xs:annotation>
   </xs:element>
   <xs:complexType name="identity-object-typesType">
@@ -14,24 +14,24 @@
     <xs:sequence>
       <xs:element type="xs:string" name="id"/>
       <xs:element type="xs:string" name="class"/>
-      <xs:element type="urn:external-configType" name="external-config" minOccurs="0" xmlns:urn="urn:jboss:identity:config:v0_1"/>
+      <xs:element type="urn:external-configType" name="external-config" minOccurs="0" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
       <xs:element type="xs:string" name="default-identity-store-id" minOccurs="0"/>
       <xs:element type="xs:string" name="default-attribute-store-id" minOccurs="0"/>
-      <xs:element type="urn:identity-store-mappingsType" name="identity-store-mappings" minOccurs="0" xmlns:urn="urn:jboss:identity:config:v0_1"/>
-      <xs:element type="urn:optionsType" name="options" minOccurs="0" xmlns:urn="urn:jboss:identity:config:v0_1"/>
+      <xs:element type="urn:identity-store-mappingsType" name="identity-store-mappings" minOccurs="0" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
+      <xs:element type="urn:optionsType" name="options" minOccurs="0" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
     </xs:sequence>
   </xs:complexType>
   <xs:complexType name="identity-storeType">
     <xs:sequence>
       <xs:element type="xs:string" name="id"/>
       <xs:element type="xs:string" name="class"/>
-      <xs:element type="urn:external-configType" name="external-config" xmlns:urn="urn:jboss:identity:config:v0_1"/>
-      <xs:element type="urn:supported-relationship-typesType" name="supported-relationship-types" xmlns:urn="urn:jboss:identity:config:v0_1"/>
-      <xs:element type="urn:supported-identity-object-typesType" name="supported-identity-object-types" xmlns:urn="urn:jboss:identity:config:v0_1"/>
+      <xs:element type="urn:external-configType" name="external-config" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
+      <xs:element type="urn:supported-relationship-typesType" name="supported-relationship-types" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
+      <xs:element type="urn:supported-identity-object-typesType" name="supported-identity-object-types" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
       <xs:element name="options">
         <xs:complexType>
           <xs:sequence>
-            <xs:element type="urn:optionType" name="option" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:config:v0_1"/>
+            <xs:element type="urn:optionType" name="option" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
@@ -46,25 +46,25 @@
   </xs:complexType>
   <xs:complexType name="identity-store-mappingsType">
     <xs:sequence>
-      <xs:element type="urn:identity-store-mappingType" name="identity-store-mapping" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:config:v0_1"/>
+      <xs:element type="urn:identity-store-mappingType" name="identity-store-mapping" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
     </xs:sequence>
   </xs:complexType>
   <xs:complexType name="storesType">
     <xs:sequence>
       <xs:element type="xs:string" name="attribute-stores"/>
-      <xs:element type="urn:identity-storesType" name="identity-stores" xmlns:urn="urn:jboss:identity:config:v0_1"/>
+      <xs:element type="urn:identity-storesType" name="identity-stores" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
     </xs:sequence>
   </xs:complexType>
   <xs:complexType name="jboss-identityType">
     <xs:sequence>
-      <xs:element type="urn:realmsType" name="realms" xmlns:urn="urn:jboss:identity:config:v0_1"/>
-      <xs:element type="urn:repositoriesType" name="repositories" xmlns:urn="urn:jboss:identity:config:v0_1"/>
-      <xs:element type="urn:storesType" name="stores" xmlns:urn="urn:jboss:identity:config:v0_1"/>
+      <xs:element type="urn:realmsType" name="realms" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
+      <xs:element type="urn:repositoriesType" name="repositories" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
+      <xs:element type="urn:storesType" name="stores" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
     </xs:sequence>
   </xs:complexType>
   <xs:complexType name="supported-identity-object-typesType">
     <xs:sequence>
-      <xs:element type="urn:identity-object-typeType" name="identity-object-type" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:config:v0_1"/>
+      <xs:element type="urn:identity-object-typeType" name="identity-object-type" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
     </xs:sequence>
   </xs:complexType>
   <xs:complexType name="optionType">
@@ -86,31 +86,31 @@
   </xs:complexType>
   <xs:complexType name="repositoriesType">
     <xs:sequence>
-      <xs:element type="urn:repositoryType" name="repository" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:config:v0_1"/>
+      <xs:element type="urn:repositoryType" name="repository" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
     </xs:sequence>
   </xs:complexType>
   <xs:complexType name="realmType">
     <xs:sequence>
       <xs:element type="xs:string" name="id"/>
       <xs:element type="xs:string" name="repository-id-ref"/>
-      <xs:element type="urn:identity-type-mappingsType" name="identity-type-mappings" minOccurs="0" xmlns:urn="urn:jboss:identity:config:v0_1"/>
-      <xs:element type="urn:optionsType" name="options" minOccurs="0" xmlns:urn="urn:jboss:identity:config:v0_1"/>
+      <xs:element type="urn:identity-type-mappingsType" name="identity-type-mappings" minOccurs="0" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
+      <xs:element type="urn:optionsType" name="options" minOccurs="0" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
     </xs:sequence>
   </xs:complexType>
   <xs:complexType name="relationshipsType">
     <xs:sequence>
-      <xs:element type="urn:relationshipType" name="relationship" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:config:v0_1"/>
+      <xs:element type="urn:relationshipType" name="relationship" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
     </xs:sequence>
   </xs:complexType>
   <xs:complexType name="realmsType">
     <xs:sequence>
-      <xs:element type="urn:realmType" name="realm" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:config:v0_1"/>
+      <xs:element type="urn:realmType" name="realm" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
     </xs:sequence>
   </xs:complexType>
   <xs:complexType name="identity-type-mappingsType">
     <xs:sequence>
       <xs:element type="xs:string" name="identity-mapping"/>
-      <xs:element type="urn:group-type-mappingType" name="group-type-mapping" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:config:v0_1"/>
+      <xs:element type="urn:group-type-mappingType" name="group-type-mapping" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
     </xs:sequence>
   </xs:complexType>
   <xs:complexType name="supported-relationship-typesType">
@@ -120,19 +120,19 @@
   </xs:complexType>
   <xs:complexType name="identity-storesType">
     <xs:sequence>
-      <xs:element type="urn:identity-storeType" name="identity-store" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:config:v0_1"/>
+      <xs:element type="urn:identity-storeType" name="identity-store" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
     </xs:sequence>
   </xs:complexType>
   <xs:complexType name="attributesType">
     <xs:sequence>
-      <xs:element type="urn:attributeType" name="attribute" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:config:v0_1"/>
+      <xs:element type="urn:attributeType" name="attribute" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
     </xs:sequence>
   </xs:complexType>
   <xs:complexType name="identity-store-mappingType">
     <xs:sequence>
       <xs:element type="xs:string" name="identity-store-id"/>
-      <xs:element type="urn:identity-object-typesType" name="identity-object-types" xmlns:urn="urn:jboss:identity:config:v0_1"/>
-      <xs:element type="urn:optionsType" name="options" xmlns:urn="urn:jboss:identity:config:v0_1"/>
+      <xs:element type="urn:identity-object-typesType" name="identity-object-types" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
+      <xs:element type="urn:optionsType" name="options" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
     </xs:sequence>
   </xs:complexType>
   <xs:complexType name="relationshipType">
@@ -143,7 +143,7 @@
   </xs:complexType>
   <xs:complexType name="optionsType">
     <xs:sequence>
-      <xs:element type="urn:optionType" name="option" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:config:v0_1"/>
+      <xs:element type="urn:optionType" name="option" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
     </xs:sequence>
   </xs:complexType>
   <xs:complexType name="identity-object-typeType">
@@ -152,7 +152,7 @@
       <xs:element name="relationships">
         <xs:complexType>
           <xs:sequence>
-            <xs:element type="urn:relationshipType" name="relationship" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:config:v0_1"/>
+            <xs:element type="urn:relationshipType" name="relationship" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
@@ -166,14 +166,14 @@
       <xs:element name="attributes">
         <xs:complexType>
           <xs:sequence>
-            <xs:element type="urn:attributeType" name="attribute" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:config:v0_1"/>
+            <xs:element type="urn:attributeType" name="attribute" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
       <xs:element name="options">
         <xs:complexType>
           <xs:sequence>
-            <xs:element type="urn:optionType" name="option" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:config:v0_1"/>
+            <xs:element type="urn:optionType" name="option" maxOccurs="unbounded" minOccurs="0" xmlns:urn="urn:jboss:identity:idm:config:v1_0_alpha"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>

Modified: idm/trunk/identity-impl/src/test/resources/organization-test-config.xml
===================================================================
--- idm/trunk/identity-impl/src/test/resources/organization-test-config.xml	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/test/resources/organization-test-config.xml	2009-01-13 22:54:31 UTC (rev 215)
@@ -1,14 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<jboss-identity xmlns="urn:jboss:identity:config:v0_1"
+<jboss-identity xmlns="urn:jboss:identity:idm:config:v1_0_alpha"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-                xsi:schemaLocation="urn:jboss:identity:config:v0_1 identity-config.xsd">
+                xsi:schemaLocation="urn:jboss:identity:idm:config:v1_0_alpha identity-config.xsd">
     <realms>
         <realm>
             <id>realm://RedHat/DB</id>
             <repository-id-ref>RedHat Repository DB</repository-id-ref>
             <identity-type-mappings>
                 <identity-mapping>IDENTITY</identity-mapping>
-                <!-- group types -->
             </identity-type-mappings>
         </realm>
         <realm>
@@ -36,25 +35,10 @@
     <repositories>
         <repository>
             <id>RedHat Repository DB</id>
-            <class>org.jboss.identity.idm.impl.repository.FallbackIdentityStoreRepository</class>
+            <class>org.jboss.identity.idm.impl.repository.WrapperIdentityStoreRepository</class>
             <external-config/>
             <default-identity-store-id>Hibernate Identity Store</default-identity-store-id>
             <default-attribute-store-id>Hibernate Identity Store</default-attribute-store-id>
-            <identity-store-mappings>
-                <identity-store-mapping>
-                    <identity-store-id>Hibernate Identity Store</identity-store-id>
-                    <identity-object-types>
-                        <identity-object-type>ORGANIZATION</identity-object-type>
-                        <identity-object-type>ORGANIZATION_UNIT</identity-object-type>
-                        <identity-object-type>DIVISION</identity-object-type>
-                        <identity-object-type>DEPARTMENT</identity-object-type>
-                        <identity-object-type>PROJECT</identity-object-type>
-                        <identity-object-type>PEOPLE</identity-object-type>
-                        <identity-object-type>IDENTITY</identity-object-type>
-                    </identity-object-types>
-                    <options/>
-                </identity-store-mapping>
-            </identity-store-mappings>
             <options>
                 <option>
                     <name>allowNotDefinedAttributes</name>
@@ -64,29 +48,10 @@
         </repository>
         <repository>
             <id>Sample Portal Repository DB</id>
-            <class>org.jboss.identity.idm.impl.repository.FallbackIdentityStoreRepository</class>
+            <class>org.jboss.identity.idm.impl.repository.WrapperIdentityStoreRepository</class>
             <external-config/>
             <default-identity-store-id>Hibernate Identity Store</default-identity-store-id>
             <default-attribute-store-id>Hibernate Identity Store</default-attribute-store-id>
-            <identity-store-mappings>
-                <identity-store-mapping>
-                    <identity-store-id>Hibernate Identity Store</identity-store-id>
-                    <identity-object-types>
-                        <identity-object-type>SYSTEM</identity-object-type>
-                        <identity-object-type>ADMINISTRATION</identity-object-type>
-                        <identity-object-type>COMMUNITY</identity-object-type>
-                        <identity-object-type>ORGANIZATION</identity-object-type>
-                        <identity-object-type>ORGANIZATION_UNIT</identity-object-type>
-                        <identity-object-type>OFFICE</identity-object-type>
-                        <identity-object-type>DIVISION</identity-object-type>
-                        <identity-object-type>DEPARTMENT</identity-object-type>
-                        <identity-object-type>SECURITY</identity-object-type>
-                        <identity-object-type>PEOPLE</identity-object-type>
-                        <identity-object-type>IDENTITY</identity-object-type>
-                    </identity-object-types>
-                    <options/>
-                </identity-store-mapping>
-            </identity-store-mappings>
             <options>
                 <option>
                     <name>allowNotDefinedAttributes</name>
@@ -107,7 +72,6 @@
                         <identity-object-type>ORGANIZATION</identity-object-type>
                         <identity-object-type>ORGANIZATION_UNIT</identity-object-type>
                         <identity-object-type>DIVISION</identity-object-type>
-                        <!--<identity-object-type>DEPARTMENT</identity-object-type>-->
                         <identity-object-type>PROJECT</identity-object-type>
                         <identity-object-type>PEOPLE</identity-object-type>
                     </identity-object-types>
@@ -144,11 +108,7 @@
                         <identity-object-type>SYSTEM</identity-object-type>
                         <identity-object-type>ADMINISTRATION</identity-object-type>
                         <identity-object-type>COMMUNITY</identity-object-type>
-                        <!--<identity-object-type>ORGANIZATION</identity-object-type>-->
-                        <!--<identity-object-type>ORGANIZATION_UNIT</identity-object-type>-->
-                        <!--<identity-object-type>OFFICE</identity-object-type>-->
                         <identity-object-type>DIVISION</identity-object-type>
-                        <!--<identity-object-type>DEPARTMENT</identity-object-type>-->
                         <identity-object-type>SECURITY</identity-object-type>
                         <identity-object-type>PEOPLE</identity-object-type>
                     </identity-object-types>
@@ -188,7 +148,32 @@
                 <supported-identity-object-types>
                     <identity-object-type>
                         <name>IDENTITY</name>
-                        <relationships/>
+                        <relationships>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_ROLE</relationship-type-ref>
+                                <identity-object-type-ref>COMMUNITY</identity-object-type-ref>
+                            </relationship>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_ROLE</relationship-type-ref>
+                                <identity-object-type-ref>OFFICE</identity-object-type-ref>
+                            </relationship>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_ROLE</relationship-type-ref>
+                                <identity-object-type-ref>SECURITY</identity-object-type-ref>
+                            </relationship>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_ROLE</relationship-type-ref>
+                                <identity-object-type-ref>ORGANIZATION_UNIT</identity-object-type-ref>
+                            </relationship>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_ROLE</relationship-type-ref>
+                                <identity-object-type-ref>PROJECT</identity-object-type-ref>
+                            </relationship>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_ROLE</relationship-type-ref>
+                                <identity-object-type-ref>PEOPLE</identity-object-type-ref>
+                            </relationship>
+                        </relationships>
                         <credentials>
                             <credential-type>PASSWORD</credential-type>
                         </credentials>
@@ -206,77 +191,196 @@
                     </identity-object-type>
                     <identity-object-type>
                         <name>ORGANIZATION</name>
-                        <relationships/>
+                        <relationships>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+                            </relationship>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>ORGANIZATION_UNIT</identity-object-type-ref>
+                            </relationship>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>ORGANIZATION</identity-object-type-ref>
+                            </relationship>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>DIVISION</identity-object-type-ref>
+                            </relationship>
+                        </relationships>
                         <credentials/>
                         <attributes/>
                         <options/>
                     </identity-object-type>
                     <identity-object-type>
                         <name>ORGANIZATION_UNIT</name>
-                        <relationships/>
+                        <relationships>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+                            </relationship>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>ORGANIZATION_UNIT</identity-object-type-ref>
+                            </relationship>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>DIVISION</identity-object-type-ref>
+                            </relationship>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>DEPARTMENT</identity-object-type-ref>
+                            </relationship>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>OFFICE</identity-object-type-ref>
+                            </relationship>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>PEOPLE</identity-object-type-ref>
+                            </relationship>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>PROJECT</identity-object-type-ref>
+                            </relationship>
+                        </relationships>
                         <credentials/>
                         <attributes/>
                         <options/>
                     </identity-object-type>
                     <identity-object-type>
                         <name>DIVISION</name>
-                        <relationships/>
+                        <relationships>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+                            </relationship>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>ORGANIZATION_UNIT</identity-object-type-ref>
+                            </relationship>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>DEPARTMENT</identity-object-type-ref>
+                            </relationship>
+                        </relationships>
                         <credentials/>
                         <attributes/>
                         <options/>
                     </identity-object-type>
                     <identity-object-type>
                         <name>DEPARTMENT</name>
-                        <relationships/>
+                        <relationships>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+                            </relationship>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>DEPARTMENT</identity-object-type-ref>
+                            </relationship>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>ORGANIZATION_UNIT</identity-object-type-ref>
+                            </relationship>
+                        </relationships>
                         <credentials/>
                         <attributes/>
                         <options/>
                     </identity-object-type>
                     <identity-object-type>
                         <name>PROJECT</name>
-                        <relationships/>
+                        <relationships>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+                            </relationship>
+                        </relationships>
                         <credentials/>
                         <attributes/>
                         <options/>
                     </identity-object-type>
                     <identity-object-type>
                         <name>PEOPLE</name>
-                        <relationships/>
+                        <relationships>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+                            </relationship>
+                        </relationships>
                         <credentials/>
                         <attributes/>
                         <options/>
                     </identity-object-type>
                     <identity-object-type>
                         <name>ADMINISTRATION</name>
-                        <relationships/>
+                        <relationships>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+                            </relationship>
+                        </relationships>
                         <credentials/>
                         <attributes/>
                         <options/>
                     </identity-object-type>
                     <identity-object-type>
                         <name>COMMUNITY</name>
-                        <relationships/>
+                        <relationships>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+                            </relationship>
+                        </relationships>
                         <credentials/>
                         <attributes/>
                         <options/>
                     </identity-object-type>
                     <identity-object-type>
                         <name>OFFICE</name>
-                        <relationships/>
+                        <relationships>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+                            </relationship>
+                        </relationships>
                         <credentials/>
                         <attributes/>
                         <options/>
                     </identity-object-type>
                     <identity-object-type>
                         <name>SECURITY</name>
-                        <relationships/>
+                        <relationships>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+                            </relationship>
+                        </relationships>
                         <credentials/>
                         <attributes/>
                         <options/>
                     </identity-object-type>
                     <identity-object-type>
                         <name>SYSTEM</name>
-                        <relationships/>
+                        <relationships>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+                            </relationship>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>SECURITY</identity-object-type-ref>
+                            </relationship>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>COMMUNITY</identity-object-type-ref>
+                            </relationship>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>ORGANIZATION</identity-object-type-ref>
+                            </relationship>
+                        </relationships>
                         <credentials/>
                         <attributes/>
                         <options/>

Modified: idm/trunk/identity-impl/src/test/resources/store-test-config.xml
===================================================================
--- idm/trunk/identity-impl/src/test/resources/store-test-config.xml	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/test/resources/store-test-config.xml	2009-01-13 22:54:31 UTC (rev 215)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<jboss-identity xmlns="urn:jboss:identity:config:v0_1"
+<jboss-identity xmlns="urn:jboss:identity:idm:config:v1_0_alpha"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-                xsi:schemaLocation="urn:jboss:identity:config:v0_1 identity-config.xsd">
+                xsi:schemaLocation="urn:jboss:identity:idm:config:v1_0_alpha identity-config.xsd">
     <realms>
         <realm>
             <id>realm://Dymmy</id>
@@ -51,88 +51,40 @@
                     </identity-object-type>
                     <identity-object-type>
                         <name>ORGANIZATION</name>
-                        <relationships/>
+                        <relationships>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+                            </relationship>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>ROLE</identity-object-type-ref>
+                            </relationship>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>GROUP</identity-object-type-ref>
+                            </relationship>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>ORGANIZATION</identity-object-type-ref>
+                            </relationship>
+                        </relationships>
                         <credentials/>
                         <attributes/>
                         <options/>
                     </identity-object-type>
                     <identity-object-type>
-                        <name>ORGANIZATION_UNIT</name>
-                        <relationships/>
-                        <credentials/>
-                        <attributes/>
-                        <options/>
-                    </identity-object-type>
-                    <identity-object-type>
-                        <name>DIVISION</name>
-                        <relationships/>
-                        <credentials/>
-                        <attributes/>
-                        <options/>
-                    </identity-object-type>
-                    <identity-object-type>
-                        <name>DEPARTMENT</name>
-                        <relationships/>
-                        <credentials/>
-                        <attributes/>
-                        <options/>
-                    </identity-object-type>
-                    <identity-object-type>
-                        <name>PROJECT</name>
-                        <relationships/>
-                        <credentials/>
-                        <attributes/>
-                        <options/>
-                    </identity-object-type>
-                    <identity-object-type>
-                        <name>PEOPLE</name>
-                        <relationships/>
-                        <credentials/>
-                        <attributes/>
-                        <options/>
-                    </identity-object-type>
-                    <identity-object-type>
-                        <name>ADMINISTRATION</name>
-                        <relationships/>
-                        <credentials/>
-                        <attributes/>
-                        <options/>
-                    </identity-object-type>
-                    <identity-object-type>
-                        <name>COMMUNITY</name>
-                        <relationships/>
-                        <credentials/>
-                        <attributes/>
-                        <options/>
-                    </identity-object-type>
-                    <identity-object-type>
-                        <name>OFFICE</name>
-                        <relationships/>
-                        <credentials/>
-                        <attributes/>
-                        <options/>
-                    </identity-object-type>
-                    <identity-object-type>
-                        <name>SECURITY</name>
-                        <relationships/>
-                        <credentials/>
-                        <attributes/>
-                        <options/>
-                    </identity-object-type>
-                    <identity-object-type>
                         <name>ROLE</name>
-                        <relationships/>
+                        <relationships>
+                            <relationship>
+                                <relationship-type-ref>JBOSS_IDENTITY_MEMBERSHIP</relationship-type-ref>
+                                <identity-object-type-ref>IDENTITY</identity-object-type-ref>
+                            </relationship>
+                        </relationships>
                         <credentials/>
                         <attributes/>
                         <options/>
                     </identity-object-type>
-                    <identity-object-type>
-                        <name>SYSTEM</name>
-                        <relationships/>
-                        <credentials/>
-                        <attributes/>
-                        <options/>
-                    </identity-object-type>
                 </supported-identity-object-types>
                 <options>
                     <option>

Modified: idm/trunk/identity-impl/src/test/resources/test-config.xml
===================================================================
--- idm/trunk/identity-impl/src/test/resources/test-config.xml	2009-01-13 15:43:48 UTC (rev 214)
+++ idm/trunk/identity-impl/src/test/resources/test-config.xml	2009-01-13 22:54:31 UTC (rev 215)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<jboss-identity xmlns="urn:jboss:identity:config:v0_1"
+<jboss-identity xmlns="urn:jboss:identity:idm:config:v1_0_alpha"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-                xsi:schemaLocation="urn:jboss:identity:config:v0_1 identity-config.xsd">
+                xsi:schemaLocation="urn:jboss:identity:idm:config:v1_0_alpha identity-config.xsd">
    <realms>
       <realm>
           <id></id>




More information about the jboss-identity-commits mailing list