[exo-jcr-commits] exo-jcr SVN: r3522 - in jcr/trunk/exo.jcr.component.ext/src: test/java/org/exoplatform/services/jcr/ext/repository and 3 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Nov 23 08:08:49 EST 2010


Author: sergiykarpenko
Date: 2010-11-23 08:08:47 -0500 (Tue, 23 Nov 2010)
New Revision: 3522

Added:
   jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/repository/creation/
   jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/repository/creation/TestRepositoryCreationService.java
   jcr/trunk/exo.jcr.component.ext/src/test/resources/conf/standalone/udp-mux.xml
   jcr/trunk/exo.jcr.component.ext/src/test/resources/test.sql
Modified:
   jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/repository/creation/RepositoryCreationServiceImpl.java
   jcr/trunk/exo.jcr.component.ext/src/test/resources/conf/standalone/test-configuration.xml
   jcr/trunk/exo.jcr.component.ext/src/test/resources/test.policy
Log:
EXOJCR-929: TestRepositoryCreationService added, RepositoryCreationServiceImpl updated

Modified: jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/repository/creation/RepositoryCreationServiceImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/repository/creation/RepositoryCreationServiceImpl.java	2010-11-23 09:32:11 UTC (rev 3521)
+++ jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/repository/creation/RepositoryCreationServiceImpl.java	2010-11-23 13:08:47 UTC (rev 3522)
@@ -32,6 +32,7 @@
 import org.exoplatform.services.log.Log;
 import org.exoplatform.services.naming.InitialContextInitializer;
 import org.exoplatform.services.rpc.RPCService;
+import org.jboss.cache.util.concurrent.ConcurrentHashSet;
 
 import java.io.File;
 import java.io.FileNotFoundException;
@@ -73,8 +74,10 @@
 
    private final InitialContextInitializer initialContextInitializer;
 
-   private final Set<String> pendingRepositories = new HashSet<String>();
+   private final Set<String> pendingRepositories = new ConcurrentHashSet<String>();
 
+   private final Set<String> namesUnderNegotiation = new ConcurrentHashSet<String>();
+
    public RepositoryCreationServiceImpl(RepositoryService repositoryService, BackupManager backupManager,
       DBCreator dbCreator, InitialContextInitializer initialContextInitializer, final RPCService rpcService)
    {
@@ -91,7 +94,17 @@
    public void createRepository(String backupId, RepositoryEntry rEntry) throws RepositoryConfigurationException,
       RepositoryCreationException
    {
-      // TODO Auto-generated method stub
+      reserveRepositoryName(rEntry.getName());
+      //      1. check possibility to create repository locally
+      //          - check existing, pending repository and datasources with same names
+
+      //      2. reserve name and put additional information (ex. ip and port of current machine)
+      //      3. check possibility to create repository on others nodes 
+      //         - sending to all cluster nodes information about new repository and waiting for answers
+      //         - all cluster nodes receive information and check possibility to create repository locally
+      //         - send response 
+      //      4. reserve name on all nodes of cluster
+
    }
 
    /**
@@ -228,8 +241,56 @@
     */
    public String reserveRepositoryName(String repositoryName) throws RepositoryCreationException
    {
+      //      1. check possibility to create repository locally
+      //         - check existing, pending repository and datasources with same names
+
+      for (int i = 0; i < repositoryService.getConfig().getRepositoryConfigurations().size(); i++)
+      {
+         RepositoryEntry conf = repositoryService.getConfig().getRepositoryConfigurations().get(i);
+         if (conf.getName().equals(repositoryName))
+         {
+            throw new RepositoryCreationException("Repository " + repositoryName + " already exists.");
+         }
+
+      }
+
+      //      try
+      //      {
+      //         ManageableRepository repo = repositoryService.getRepository(repositoryName);
+      //         if (repo != null)
+      //         {
+      //            throw new RepositoryCreationException("Repository " + repositoryName + " already exists.");
+      //         }
+      //      }
+      //      catch (RepositoryException e)
+      //      {
+      //         throw new RepositoryCreationException(e.getMessage(), e);
+      //      }
+      //      catch (RepositoryConfigurationException e)
+      //      {
+      //         throw new RepositoryCreationException(e.getMessage(), e);
+      //      }
+
+      if (namesUnderNegotiation.contains(repositoryName) || pendingRepositories.contains(repositoryName))
+      {
+         throw new RepositoryCreationException("Repository name " + repositoryName + " already reserved.");
+      }
+
+      //      2. reserve name and put additional information (ex. ip and port of current machine)
+      namesUnderNegotiation.add(repositoryName);
+
+      // TODO ask other nodes does thay have pending repositories
+
       pendingRepositories.add(repositoryName);
-      //TODO notify all cluster-nodes that repositoryName is reserved
+      namesUnderNegotiation.remove(repositoryName);
+      // TODO register repositoryName on other nodes
+
+      //     3. check possibility to create repository on others nodes 
+      //         - sending to all cluster nodes information about new repository and waiting for answers
+      //         - all cluster nodes receive information and check possibility to create repository locally
+      //         - send response 
+      //      4. reserve name on all nodes of cluster
+
       return repositoryName;
    }
 

Added: jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/repository/creation/TestRepositoryCreationService.java
===================================================================
--- jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/repository/creation/TestRepositoryCreationService.java	                        (rev 0)
+++ jcr/trunk/exo.jcr.component.ext/src/test/java/org/exoplatform/services/jcr/ext/repository/creation/TestRepositoryCreationService.java	2010-11-23 13:08:47 UTC (rev 3522)
@@ -0,0 +1,120 @@
+/*
+ * Copyright (C) 2003-2010 eXo Platform SAS.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Affero General Public License
+ * as published by the Free Software Foundation; either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ */
+package org.exoplatform.services.jcr.ext.repository.creation;
+
+import org.exoplatform.services.jcr.RepositoryService;
+import org.exoplatform.services.jcr.config.RepositoryEntry;
+import org.exoplatform.services.jcr.core.ManageableRepository;
+import org.exoplatform.services.jcr.ext.backup.AbstractBackupTestCase;
+import org.exoplatform.services.jcr.ext.backup.BackupManager;
+import org.exoplatform.services.jcr.ext.backup.RepositoryBackupChain;
+import org.exoplatform.services.jcr.ext.backup.RepositoryBackupConfig;
+import org.exoplatform.services.jcr.impl.core.SessionImpl;
+
+import java.io.File;
+
+import javax.jcr.Node;
+
+/**
+ * Created by The eXo Platform SAS.
+ * 
+ * <br/>Date: 
+ *
+ * @author <a href="karpenko.sergiy at gmail.com">Karpenko Sergiy</a> 
+ * @version $Id: TestRepositoryCreationService.java 111 2008-11-11 11:11:11Z serg $
+ */
+public class TestRepositoryCreationService extends AbstractBackupTestCase
+{
+
+   public void testCreateRepository() throws Exception
+   {
+
+      // backup
+      File backDir = new File("target/backup");
+      backDir.mkdirs();
+
+      RepositoryBackupConfig config = new RepositoryBackupConfig();
+      config.setRepository(repository.getName());
+      config.setBackupType(BackupManager.FULL_BACKUP_ONLY);
+      config.setBackupDir(backDir);
+
+      backup.startBackup(config);
+
+      RepositoryBackupChain bch = backup.findRepositoryBackup(repository.getName());
+
+      backup.getRepositoryBackupsLogs();
+
+      // wait till full backup will be stopped
+      while (bch.getState() != RepositoryBackupChain.FINISHED)
+      {
+         Thread.yield();
+         Thread.sleep(50);
+      }
+
+      // stop fullBackup
+
+      if (bch != null)
+         backup.stopBackup(bch);
+      else
+         fail("Can't get fullBackup chain");
+
+      // restore with RepositoryCreatorService
+      RepositoryCreationService creatorService =
+         (RepositoryCreationService)container.getComponentInstanceOfType(RepositoryCreationService.class);
+
+      String tenantName = "new_repository";
+
+      String repoToken = creatorService.reserveRepositoryName(tenantName);
+
+      // restore             
+      RepositoryEntry baseRE =
+         (RepositoryEntry)ws1Session.getContainer().getComponentInstanceOfType(RepositoryEntry.class);
+
+      RepositoryEntry rEntry = makeRepositoryEntry(tenantName, baseRE, "source", null);
+
+      creatorService.createRepository(bch.getBackupId(), rEntry, repoToken);
+
+      // check
+      ManageableRepository restoredRepository = repositoryService.getRepository(tenantName);
+      assertNotNull(restoredRepository);
+
+      for (String wsName : restoredRepository.getWorkspaceNames())
+      {
+         SessionImpl back = null;
+         try
+         {
+            back = (SessionImpl)restoredRepository.login(credentials, wsName);
+            Node ws1backTestRoot = back.getRootNode().getNode("backupTest");
+            assertEquals("Restored content should be same", "property-5", ws1backTestRoot.getNode("node_5")
+               .getProperty("exo:data").getString());
+         }
+         catch (Exception e)
+         {
+            e.printStackTrace();
+            fail(e.getMessage());
+         }
+         finally
+         {
+            if (back != null)
+               back.logout();
+         }
+      }
+      //check repositoryConfiguration
+      RepositoryService repoService = (RepositoryService)this.container.getComponentInstance(RepositoryService.class);
+      assertNotNull(repoService.getConfig().getRepositoryConfiguration(tenantName));
+   }
+}

Modified: jcr/trunk/exo.jcr.component.ext/src/test/resources/conf/standalone/test-configuration.xml
===================================================================
--- jcr/trunk/exo.jcr.component.ext/src/test/resources/conf/standalone/test-configuration.xml	2010-11-23 09:32:11 UTC (rev 3521)
+++ jcr/trunk/exo.jcr.component.ext/src/test/resources/conf/standalone/test-configuration.xml	2010-11-23 13:08:47 UTC (rev 3522)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
+<?xml version="1.0" encoding="ISO-8859-1"?>
 <!--
 
     Copyright (C) 2009 eXo Platform SAS.
@@ -19,2105 +19,2159 @@
     02110-1301 USA, or see the FSF site: http://www.fsf.org.
 
 -->
-<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd http://www.exoplaform.org/xml/ns/kernel_1_0.xsd"
-   xmlns="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd">
-
-   <component>
-      <key>org.exoplatform.services.log.LogConfigurationInitializer</key>
-      <type>org.exoplatform.services.log.LogConfigurationInitializer</type>
-      <init-params>
-         <value-param>
-            <name>logger</name>
-            <value>org.exoplatform.services.log.impl.BufferedLog4JLogger</value>
-         </value-param>
-         <value-param>
-            <name>configurator</name>
-            <value>org.exoplatform.services.log.impl.Log4JConfigurator</value>
-         </value-param>
-         <properties-param>
-            <name>properties</name>
-            <description>Log4J properties</description>
-            <property name="log4j.rootLogger" value="INFO, stdout, file" />
-
-            <property name="log4j.appender.stdout" value="org.apache.log4j.ConsoleAppender" />
-            <property name="log4j.appender.stdout.threshold" value="INFO" />
-
-            <property name="log4j.appender.stdout.layout" value="org.apache.log4j.PatternLayout" />
-            <property name="log4j.appender.stdout.layout.ConversionPattern" value="%d{dd.MM.yyyy HH:mm:ss} *%-5p* [%t] %c{1}: %m (%F, line %L) %n" />
-
-            <property name="log4j.appender.file" value="org.apache.log4j.FileAppender" />
-            <property name="log4j.appender.file.File" value="target/jcr.log" />
-
-            <property name="log4j.appender.file.layout" value="org.apache.log4j.PatternLayout" />
-            <property name="log4j.appender.file.layout.ConversionPattern" value="%d{dd.MM.yyyy HH:mm:ss} *%-5p* [%t] %c{1}: %m (%F, line %L) %n" />
-
-            <!-- property name="log4j.category.ext.BackupScheduler" value="DEBUG"/>
-            <property name="log4j.category.ext.BackupManagerImpl" value="DEBUG"/ -->
-            <property name="log4j.category.jcr.ext.RestRepositoryService" value="DEBUG"/>
-
-         </properties-param>
-      </init-params>
-   </component>
-
-   <component>
-      <key>org.exoplatform.services.jcr.RepositoryService</key>
-      <type>org.exoplatform.services.jcr.impl.RepositoryServiceImpl</type>
-      <component-plugins>
-         <!-- component-plugin>
-            <name>register.listener</name>
-            <set-method>addPlugin</set-method>
-            <type>org.exoplatform.services.jcr.impl.RepositoryChangesListenerRegisterPlugin</type>
-            <init-params>
-               <value-param>
-                  <name>repository-name</name>
-                  <value>db1</value>
-               </value-param>
-               <value-param>
-                  <name>workspaces</name>
-                  <value>ws,ws3,ws4,ws5</value>
-               </value-param>
-               <value-param>
-                  <name>component-class-name</name>
-                  <value>org.exoplatform.services.jcr.ext.replication.async.AsyncStartChangesListener</value>
-               </value-param>
-            </init-params>
-         </component-plugin -->
-         <component-plugin>
-            <name>add.namespaces</name>
-            <set-method>addPlugin</set-method>
-            <type>org.exoplatform.services.jcr.impl.AddNamespacesPlugin</type>
-            <init-params>
-               <properties-param>
-                  <name>namespaces</name>
-                  <property name="dc" value="http://purl.org/dc/elements/1.1/" />
-               </properties-param>
-            </init-params>
-         </component-plugin>
-         <component-plugin>
-            <name>add.nodeType</name>
-            <set-method>addPlugin</set-method>
-            <type>org.exoplatform.services.jcr.impl.AddNodeTypePlugin</type>
-            <init-params>
-               <values-param>
-                  <name>autoCreatedInNewRepository</name>
-                  <description>Node types configuration file</description>
-                  <value>jar:/conf/ext-nodetypes-config.xml</value>
-                  <value>jar:/conf/test/nodetypes-ext-test.xml</value>
-               </values-param>
-            </init-params>
-         </component-plugin>
-      </component-plugins>
-   </component>
-
-   <component>
-      <key>org.exoplatform.services.jcr.config.RepositoryServiceConfiguration</key>
-      <type>org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl</type>
-      <init-params>
-         <value-param>
-            <name>conf-path</name>
-            <description>JCR configuration file</description>
-            <value>jar:/conf/standalone/test-jcr-ext-config.xml</value>
-         </value-param>
-      </init-params>
-   </component>
-   
-   <component>
-    <type>org.exoplatform.services.jcr.ext.repository.RestRepositoryService</type>
-  </component>
-
-   <!--  backup -->
-   <component>
-      <key>org.exoplatform.services.jcr.ext.backup.BackupManager</key>
-      <type>org.exoplatform.services.jcr.ext.backup.impl.BackupManagerImpl</type>
-      <init-params>
-         <properties-param>
-            <name>backup-properties</name>
-            <property name="default-incremental-job-period" value="3600" /><!-- set default incremental periond = 60 minutes  -->
-            <property name="full-backup-type" value="org.exoplatform.services.jcr.ext.backup.impl.fs.FullBackupJob" />
-            <property name="incremental-backup-type" value="org.exoplatform.services.jcr.ext.backup.impl.fs.IncrementalBackupJob" />
-            <property name="backup-dir" value="target/backup" />
-         </properties-param>
-      </init-params>
-   </component>
-
-   <!-- REST -->
-   <component>
-      <type>org.exoplatform.services.jcr.ext.registry.RESTRegistryService</type>
-   </component>
-
-   <!-- HTTPBackupAgent -->
-   <component>
-      <type>org.exoplatform.services.jcr.ext.backup.server.HTTPBackupAgent</type>
-   </component>
-
-   <component>
-      <type>org.exoplatform.services.jcr.ext.app.ThreadLocalSessionProviderService</type>
-   </component>
-
-   <component>
-      <type>org.exoplatform.services.jcr.ext.registry.RegistryService</type>
-      <component-plugins>
-         <component-plugin>
-            <name>appConfig</name>
-            <set-method>addPlugin</set-method>
-            <type>org.exoplatform.services.jcr.ext.registry.RegistryInitializationEntryPlugin</type>
-            <init-params>
-               <value-param>
-                  <name>GroovyEditor</name>
-                  <value>
-              <![CDATA[<GroovyEditor><context>portal/rest</context><repository>repository</repository><workspace>collaboration</workspace></GroovyEditor>]]>
-                  </value>
-               </value-param>
-            </init-params>
-         </component-plugin>
-      </component-plugins>
-      <init-params>
-         <properties-param>
-            <name>locations</name>
-            <property name="db1" value="ws2" />
-         </properties-param>
-      </init-params>
-   </component>
-
-   <!-- component>
-      <key>org.exoplatform.services.jcr.ext.audit.AuditService</key>
-      <type>org.exoplatform.services.jcr.ext.audit.AuditServiceImpl</type>
-      <init-params>
-         <value-param>
-            <name>adminIdentity</name>
-            <value>root;john</value>
-         </value-param>
-      </init-params>
-   </component -->
-
-   <!--component>
-      <type>org.exoplatform.services.organization.impl.mock.DummyOrganizationService</type>
-   </component-->
-
-   <component>
-      <key>org.exoplatform.services.security.Authenticator</key>
-      <type>org.exoplatform.services.organization.auth.OrganizationAuthenticatorImpl</type>
-   </component>
-
-   <component>
-      <type>org.exoplatform.services.jcr.ext.resource.NodeRepresentationService</type>
-   </component>
-
-   <component>
-      <type>org.exoplatform.services.jcr.ext.resource.XMLViewNodeRepresentationRenderer</type>
-   </component>
-
-   <component>
-      <type>org.exoplatform.services.jcr.ext.resource.jcr.Handler</type>
-   </component>
-
-   <component>
-      <type>org.exoplatform.services.jcr.ext.script.groovy.GroovyScript2RestLoader</type>
-      <init-params>
-         <object-param>
-            <name>observation.config</name>
-            <object type="org.exoplatform.services.jcr.ext.script.groovy.ObservationListenerConfiguration">
-               <field name="repository">
-                  <string>db1</string>
-               </field>
-               <field name="workspaces">
-                  <collection type="java.util.ArrayList">
-                     <value>
-                        <string>ws</string>
-                     </value>
-                  </collection>
-               </field>
-            </object>
-         </object-param>
-      </init-params>
-   </component>
-
-   <!-- component>
-      <type>org.exoplatform.services.jcr.ext.replication.async.AsyncReplication</type>
-      <component-plugins>
-
-         <component-plugin>
-            <name>async-workspace-config</name>
-            <set-method>addAsyncWorkspaceConfig</set-method>
-            <type>org.exoplatform.services.jcr.ext.replication.async.config.AsyncWorkspaceConfig</type>
-            <description>async replication config per workspace</description>
-            <init-params>
-               <properties-param>
-                  <name>async-workspace-config</name>
-                  <property name="repository-name" value="db1" />
-                  <property name="workspace-name" value="ws" />
-                  <property name="priority" value="80" />
-                  <property name="other-participants-priority" value="100,50" />
-                  <property name="bind-ip-address" value="127.0.0.1" />
-                  <property name="channel-config"
-                     value="TCP(start_port=7700;oob_thread_pool.queue_max_size=100;thread_naming_pattern=cl;use_concurrent_stack=true;oob_thread_pool.rejection_policy=Run;discard_incompatible_packets=true;thread_pool.max_threads=40;oob_thread_pool.enabled=true;oob_thread_pool.max_threads=20;loopback=false;oob_thread_pool.keep_alive_time=5000;thread_pool.queue_enabled=false;oob_thread_pool.queue_enabled=false;max_bundle_size=64000;thread_pool.queue_max_size=100;thread_pool.enabled=true;enable_diagnostics=true;max_bundle_timeout=30;oob_thread_pool.min_threads=8;use_incoming_packet_handler=true;thread_pool.rejection_policy=Run;bind_addr=$bind-ip-address;thread_pool.min_threads=8;thread_pool.keep_alive_time=5000;enable_bundling=true):MPING(timeout=2000;num_initial_members=8;mcast_port=35526;mcast_addr=224.0.0.1):FD(timeout=2000;max_tries=5;shun=true):FD_SOCK:VERIFY_SUSPECT(timeout=1500):pbcast.NAKACK(max_xmit_size=60000;print_stability_history_on_failed_xmit=true;use_mcast_xmit!
 =false;gc_lag=0;discard_delivered_msgs=true;retransmit_timeout=300,600,1200,2400,4800):pbcast.STABLE(stability_delay=1000;desired_avg_gossip=50000;max_bytes=8000000):pbcast.GMS(print_local_addr=true;join_timeout=3000;view_bundling=true;join_retry_timeout=2000;shun=true;merge_leader=true;reject_join_from_existing_member=true)" />
-                  <property name="channel-name" value="AsyncRepCh" />
-                  <property name="storage-dir" value="target/asyncreplication/db1/ws" />
-                  <property name="wait-all-members" value="15" />
-               </properties-param>
-            </init-params>
-         </component-plugin>
-
-         <component-plugin>
-            <name>async-workspace-config</name>
-            <set-method>addAsyncWorkspaceConfig</set-method>
-            <type>org.exoplatform.services.jcr.ext.replication.async.config.AsyncWorkspaceConfig</type>
-            <description>async replication config per workspace</description>
-            <init-params>
-               <properties-param>
-                  <name>async-workspce-config</name>
-                  <property name="repository-name" value="db1" />
-                  <property name="workspace-name" value="ws1" />
-                  <property name="priority" value="80" />
-                  <property name="other-participants-priority" value="100,50" />
-                  <property name="bind-ip-address" value="127.0.0.1" />
-                  <property name="channel-config"
-                     value="TCP(start_port=7700;oob_thread_pool.queue_max_size=100;thread_naming_pattern=cl;use_concurrent_stack=true;oob_thread_pool.rejection_policy=Run;discard_incompatible_packets=true;thread_pool.max_threads=40;oob_thread_pool.enabled=true;oob_thread_pool.max_threads=20;loopback=false;oob_thread_pool.keep_alive_time=5000;thread_pool.queue_enabled=false;oob_thread_pool.queue_enabled=false;max_bundle_size=64000;thread_pool.queue_max_size=100;thread_pool.enabled=true;enable_diagnostics=true;max_bundle_timeout=30;oob_thread_pool.min_threads=8;use_incoming_packet_handler=true;thread_pool.rejection_policy=Run;bind_addr=$bind-ip-address;thread_pool.min_threads=8;thread_pool.keep_alive_time=5000;enable_bundling=true):MPING(timeout=2000;num_initial_members=8;mcast_port=35526;mcast_addr=224.0.0.1):FD(timeout=2000;max_tries=5;shun=true):FD_SOCK:VERIFY_SUSPECT(timeout=1500):pbcast.NAKACK(max_xmit_size=60000;print_stability_history_on_failed_xmit=true;use_mcast_xmit!
 =false;gc_lag=0;discard_delivered_msgs=true;retransmit_timeout=300,600,1200,2400,4800):pbcast.STABLE(stability_delay=1000;desired_avg_gossip=50000;max_bytes=8000000):pbcast.GMS(print_local_addr=true;join_timeout=3000;view_bundling=true;join_retry_timeout=2000;shun=true;merge_leader=true;reject_join_from_existing_member=true)" />
-                  <property name="channel-name" value="AsyncRepCh" />
-                  <property name="storage-dir" value="target/asyncreplication/db1/ws1" />
-                  <property name="wait-all-members" value="15" />
-               </properties-param>
-            </init-params>
-         </component-plugin>
-
-      </component-plugins>
-   </component -->
-
-   <!-- component>
-      <type>org.exoplatform.services.jcr.ext.replication.async.executor.AsyncReplicationExecutor</type>
-      <init-params>
-         <object-param>
-            <name>async-replication-executor-configuration</name>
-            <description>async replication nodes</description>
-            <object type="org.exoplatform.services.jcr.ext.replication.async.executor.AsyncReplicationExecutor$ExecutorConf">
-               <field name="members">
-                  <collection type="java.util.ArrayList">
-                     <value>
-                        <object type="org.exoplatform.services.jcr.ext.replication.async.executor.Member">
-                           <field name="url">
-                              <string>http://root:exo@192.168.0.15:8080</string>
-                           </field>
-                           <field name="realmName">
-                              <string>eXo REST services</string>
-                           </field>
-                        </object>
-                     </value>
-                     <value>
-                        <object type="org.exoplatform.services.jcr.ext.replication.async.executor.Member">
-                           <field name="url">
-                              <string>http://root:exo@192.168.0.15:8090</string>
-                           </field>
-                           <field name="realmName">
-                              <string>eXo REST services</string>
-                           </field>
-                        </object>
-                     </value>
-                  </collection>
-               </field>
-            </object>
-         </object-param>
-      </init-params>
-   </component -->
-
-   <!-- component>
-      <key>org.exoplatform.services.organization.OrganizationService</key>
-      <type>org.exoplatform.services.jcr.ext.organization.JCROrganizationServiceImpl</type>
-      <init-params>
-         <value-param>
-            <name>storage-workspace</name>
-            <description>Workspace in default repository where organization storage will be created</description>
-            <value>ws</value>
-         </value-param>
-      </init-params>
-   </component -->
-
+<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd http://www.exoplaform.org/xml/ns/kernel_1_0.xsd"
+   xmlns="http://www.exoplaform.org/xml/ns/kernel_1_0.xsd">
+
    <component>
+      <key>org.exoplatform.services.log.LogConfigurationInitializer</key>
+      <type>org.exoplatform.services.log.LogConfigurationInitializer</type>
+      <init-params>
+         <value-param>
+            <name>logger</name>
+            <value>org.exoplatform.services.log.impl.BufferedLog4JLogger</value>
+         </value-param>
+         <value-param>
+            <name>configurator</name>
+            <value>org.exoplatform.services.log.impl.Log4JConfigurator</value>
+         </value-param>
+         <properties-param>
+            <name>properties</name>
+            <description>Log4J properties</description>
+            <property name="log4j.rootLogger" value="INFO, stdout, file" />
+
+            <property name="log4j.appender.stdout" value="org.apache.log4j.ConsoleAppender" />
+            <property name="log4j.appender.stdout.threshold" value="INFO" />
+
+            <property name="log4j.appender.stdout.layout" value="org.apache.log4j.PatternLayout" />
+            <property name="log4j.appender.stdout.layout.ConversionPattern" value="%d{dd.MM.yyyy HH:mm:ss} *%-5p* [%t] %c{1}: %m (%F, line %L) %n" />
+
+            <property name="log4j.appender.file" value="org.apache.log4j.FileAppender" />
+            <property name="log4j.appender.file.File" value="target/jcr.log" />
+
+            <property name="log4j.appender.file.layout" value="org.apache.log4j.PatternLayout" />
+            <property name="log4j.appender.file.layout.ConversionPattern" value="%d{dd.MM.yyyy HH:mm:ss} *%-5p* [%t] %c{1}: %m (%F, line %L) %n" />
+
+            <!-- property name="log4j.category.ext.BackupScheduler" value="DEBUG"/>
+            <property name="log4j.category.ext.BackupManagerImpl" value="DEBUG"/ -->
+            <property name="log4j.category.jcr.ext.RestRepositoryService" value="DEBUG"/>
+
+         </properties-param>
+      </init-params>
+   </component>
+
+   <component>
+      <key>org.exoplatform.services.jcr.RepositoryService</key>
+      <type>org.exoplatform.services.jcr.impl.RepositoryServiceImpl</type>
+      <component-plugins>
+         <!-- component-plugin>
+            <name>register.listener</name>
+            <set-method>addPlugin</set-method>
+            <type>org.exoplatform.services.jcr.impl.RepositoryChangesListenerRegisterPlugin</type>
+            <init-params>
+               <value-param>
+                  <name>repository-name</name>
+                  <value>db1</value>
+               </value-param>
+               <value-param>
+                  <name>workspaces</name>
+                  <value>ws,ws3,ws4,ws5</value>
+               </value-param>
+               <value-param>
+                  <name>component-class-name</name>
+                  <value>org.exoplatform.services.jcr.ext.replication.async.AsyncStartChangesListener</value>
+               </value-param>
+            </init-params>
+         </component-plugin -->
+         <component-plugin>
+            <name>add.namespaces</name>
+            <set-method>addPlugin</set-method>
+            <type>org.exoplatform.services.jcr.impl.AddNamespacesPlugin</type>
+            <init-params>
+               <properties-param>
+                  <name>namespaces</name>
+                  <property name="dc" value="http://purl.org/dc/elements/1.1/" />
+               </properties-param>
+            </init-params>
+         </component-plugin>
+         <component-plugin>
+            <name>add.nodeType</name>
+            <set-method>addPlugin</set-method>
+            <type>org.exoplatform.services.jcr.impl.AddNodeTypePlugin</type>
+            <init-params>
+               <values-param>
+                  <name>autoCreatedInNewRepository</name>
+                  <description>Node types configuration file</description>
+                  <value>jar:/conf/ext-nodetypes-config.xml</value>
+                  <value>jar:/conf/test/nodetypes-ext-test.xml</value>
+               </values-param>
+            </init-params>
+         </component-plugin>
+      </component-plugins>
+   </component>
+
+   <component>
+      <key>org.exoplatform.services.jcr.config.RepositoryServiceConfiguration</key>
+      <type>org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl</type>
+      <init-params>
+         <value-param>
+            <name>conf-path</name>
+            <description>JCR configuration file</description>
+            <value>jar:/conf/standalone/test-jcr-ext-config.xml</value>
+         </value-param>
+         <properties-param>
+            <name>working-conf</name>
+            <description>working-conf</description>
+            <property name="persister-class-name"
+               value="org.exoplatform.services.jcr.impl.config.JDBCConfigurationPersister" />
+            <property name="source-name" value="jdbcjcr" />
+         </properties-param>
+      </init-params>
+   </component>
+   
+   <component>
+    <type>org.exoplatform.services.jcr.ext.repository.RestRepositoryService</type>
+  </component>
+
+   <!--  backup -->
+   <component>
+      <key>org.exoplatform.services.jcr.ext.backup.BackupManager</key>
+      <type>org.exoplatform.services.jcr.ext.backup.impl.BackupManagerImpl</type>
+      <init-params>
+         <properties-param>
+            <name>backup-properties</name>
+            <property name="default-incremental-job-period" value="3600" /><!-- set default incremental periond = 60 minutes  -->
+            <property name="full-backup-type" value="org.exoplatform.services.jcr.ext.backup.impl.fs.FullBackupJob" />
+            <property name="incremental-backup-type" value="org.exoplatform.services.jcr.ext.backup.impl.fs.IncrementalBackupJob" />
+            <property name="backup-dir" value="target/backup" />
+         </properties-param>
+      </init-params>
+   </component>
+
+   <!-- REST -->
+   <component>
+      <type>org.exoplatform.services.jcr.ext.registry.RESTRegistryService</type>
+   </component>
+
+   <!-- HTTPBackupAgent -->
+   <component>
+      <type>org.exoplatform.services.jcr.ext.backup.server.HTTPBackupAgent</type>
+   </component>
+
+   <component>
+      <type>org.exoplatform.services.jcr.ext.app.ThreadLocalSessionProviderService</type>
+   </component>
+
+   <component>
+      <type>org.exoplatform.services.jcr.ext.registry.RegistryService</type>
+      <component-plugins>
+         <component-plugin>
+            <name>appConfig</name>
+            <set-method>addPlugin</set-method>
+            <type>org.exoplatform.services.jcr.ext.registry.RegistryInitializationEntryPlugin</type>
+            <init-params>
+               <value-param>
+                  <name>GroovyEditor</name>
+                  <value>
+              <![CDATA[<GroovyEditor><context>portal/rest</context><repository>repository</repository><workspace>collaboration</workspace></GroovyEditor>]]>
+                  </value>
+               </value-param>
+            </init-params>
+         </component-plugin>
+      </component-plugins>
+      <init-params>
+         <properties-param>
+            <name>locations</name>
+            <property name="db1" value="ws2" />
+         </properties-param>
+      </init-params>
+   </component>
+
+   <!-- component>
+      <key>org.exoplatform.services.jcr.ext.audit.AuditService</key>
+      <type>org.exoplatform.services.jcr.ext.audit.AuditServiceImpl</type>
+      <init-params>
+         <value-param>
+            <name>adminIdentity</name>
+            <value>root;john</value>
+         </value-param>
+      </init-params>
+   </component -->
+
+   <!--component>
       <type>org.exoplatform.services.organization.impl.mock.DummyOrganizationService</type>
-   </component>
-
+   </component-->
+
    <component>
       <key>org.exoplatform.services.security.Authenticator</key>
       <type>org.exoplatform.services.organization.auth.OrganizationAuthenticatorImpl</type>
    </component>
 
    <component>
+      <type>org.exoplatform.services.jcr.ext.resource.NodeRepresentationService</type>
+   </component>
+
+   <component>
+      <type>org.exoplatform.services.jcr.ext.resource.XMLViewNodeRepresentationRenderer</type>
+   </component>
+
+   <component>
+      <type>org.exoplatform.services.jcr.ext.resource.jcr.Handler</type>
+   </component>
+
+   <component>
+      <type>org.exoplatform.services.jcr.ext.script.groovy.GroovyScript2RestLoader</type>
+      <init-params>
+         <object-param>
+            <name>observation.config</name>
+            <object type="org.exoplatform.services.jcr.ext.script.groovy.ObservationListenerConfiguration">
+               <field name="repository">
+                  <string>db1</string>
+               </field>
+               <field name="workspaces">
+                  <collection type="java.util.ArrayList">
+                     <value>
+                        <string>ws</string>
+                     </value>
+                  </collection>
+               </field>
+            </object>
+         </object-param>
+      </init-params>
+   </component>
+
+   <!-- component>
+      <type>org.exoplatform.services.jcr.ext.replication.async.AsyncReplication</type>
+      <component-plugins>
+
+         <component-plugin>
+            <name>async-workspace-config</name>
+            <set-method>addAsyncWorkspaceConfig</set-method>
+            <type>org.exoplatform.services.jcr.ext.replication.async.config.AsyncWorkspaceConfig</type>
+            <description>async replication config per workspace</description>
+            <init-params>
+               <properties-param>
+                  <name>async-workspace-config</name>
+                  <property name="repository-name" value="db1" />
+                  <property name="workspace-name" value="ws" />
+                  <property name="priority" value="80" />
+                  <property name="other-participants-priority" value="100,50" />
+                  <property name="bind-ip-address" value="127.0.0.1" />
+                  <property name="channel-config"
+                     value="TCP(start_port=7700;oob_thread_pool.queue_max_size=100;thread_naming_pattern=cl;use_concurrent_stack=true;oob_thread_pool.rejection_policy=Run;discard_incompatible_packets=true;thread_pool.max_threads=40;oob_thread_pool.enabled=true;oob_thread_pool.max_threads=20;loopback=false;oob_thread_pool.keep_alive_time=5000;thread_pool.queue_enabled=false;oob_thread_pool.queue_enabled=false;max_bundle_size=64000;thread_pool.queue_max_size=100;thread_pool.enabled=true;enable_diagnostics=true;max_bundle_timeout=30;oob_thread_pool.min_threads=8;use_incoming_packet_handler=true;thread_pool.rejection_policy=Run;bind_addr=$bind-ip-address;thread_pool.min_threads=8;thread_pool.keep_alive_time=5000;enable_bundling=true):MPING(timeout=2000;num_initial_members=8;mcast_port=35526;mcast_addr=224.0.0.1):FD(timeout=2000;max_tries=5;shun=true):FD_SOCK:VERIFY_SUSPECT(timeout=1500):pbcast.NAKACK(max_xmit_size=60000;print_stability_history_on_failed_xmit=true;use_mcast_xmit!
 =false;gc_lag=0;discard_delivered_msgs=true;retransmit_timeout=300,600,1200,2400,4800):pbcast.STABLE(stability_delay=1000;desired_avg_gossip=50000;max_bytes=8000000):pbcast.GMS(print_local_addr=true;join_timeout=3000;view_bundling=true;join_retry_timeout=2000;shun=true;merge_leader=true;reject_join_from_existing_member=true)" />
+                  <property name="channel-name" value="AsyncRepCh" />
+                  <property name="storage-dir" value="target/asyncreplication/db1/ws" />
+                  <property name="wait-all-members" value="15" />
+               </properties-param>
+            </init-params>
+         </component-plugin>
+
+         <component-plugin>
+            <name>async-workspace-config</name>
+            <set-method>addAsyncWorkspaceConfig</set-method>
+            <type>org.exoplatform.services.jcr.ext.replication.async.config.AsyncWorkspaceConfig</type>
+            <description>async replication config per workspace</description>
+            <init-params>
+               <properties-param>
+                  <name>async-workspce-config</name>
+                  <property name="repository-name" value="db1" />
+                  <property name="workspace-name" value="ws1" />
+                  <property name="priority" value="80" />
+                  <property name="other-participants-priority" value="100,50" />
+                  <property name="bind-ip-address" value="127.0.0.1" />
+                  <property name="channel-config"
+                     value="TCP(start_port=7700;oob_thread_pool.queue_max_size=100;thread_naming_pattern=cl;use_concurrent_stack=true;oob_thread_pool.rejection_policy=Run;discard_incompatible_packets=true;thread_pool.max_threads=40;oob_thread_pool.enabled=true;oob_thread_pool.max_threads=20;loopback=false;oob_thread_pool.keep_alive_time=5000;thread_pool.queue_enabled=false;oob_thread_pool.queue_enabled=false;max_bundle_size=64000;thread_pool.queue_max_size=100;thread_pool.enabled=true;enable_diagnostics=true;max_bundle_timeout=30;oob_thread_pool.min_threads=8;use_incoming_packet_handler=true;thread_pool.rejection_policy=Run;bind_addr=$bind-ip-address;thread_pool.min_threads=8;thread_pool.keep_alive_time=5000;enable_bundling=true):MPING(timeout=2000;num_initial_members=8;mcast_port=35526;mcast_addr=224.0.0.1):FD(timeout=2000;max_tries=5;shun=true):FD_SOCK:VERIFY_SUSPECT(timeout=1500):pbcast.NAKACK(max_xmit_size=60000;print_stability_history_on_failed_xmit=true;use_mcast_xmit!
 =false;gc_lag=0;discard_delivered_msgs=true;retransmit_timeout=300,600,1200,2400,4800):pbcast.STABLE(stability_delay=1000;desired_avg_gossip=50000;max_bytes=8000000):pbcast.GMS(print_local_addr=true;join_timeout=3000;view_bundling=true;join_retry_timeout=2000;shun=true;merge_leader=true;reject_join_from_existing_member=true)" />
+                  <property name="channel-name" value="AsyncRepCh" />
+                  <property name="storage-dir" value="target/asyncreplication/db1/ws1" />
+                  <property name="wait-all-members" value="15" />
+               </properties-param>
+            </init-params>
+         </component-plugin>
+
+      </component-plugins>
+   </component -->
+
+   <!-- component>
+      <type>org.exoplatform.services.jcr.ext.replication.async.executor.AsyncReplicationExecutor</type>
+      <init-params>
+         <object-param>
+            <name>async-replication-executor-configuration</name>
+            <description>async replication nodes</description>
+            <object type="org.exoplatform.services.jcr.ext.replication.async.executor.AsyncReplicationExecutor$ExecutorConf">
+               <field name="members">
+                  <collection type="java.util.ArrayList">
+                     <value>
+                        <object type="org.exoplatform.services.jcr.ext.replication.async.executor.Member">
+                           <field name="url">
+                              <string>http://root:exo@192.168.0.15:8080</string>
+                           </field>
+                           <field name="realmName">
+                              <string>eXo REST services</string>
+                           </field>
+                        </object>
+                     </value>
+                     <value>
+                        <object type="org.exoplatform.services.jcr.ext.replication.async.executor.Member">
+                           <field name="url">
+                              <string>http://root:exo@192.168.0.15:8090</string>
+                           </field>
+                           <field name="realmName">
+                              <string>eXo REST services</string>
+                           </field>
+                        </object>
+                     </value>
+                  </collection>
+               </field>
+            </object>
+         </object-param>
+      </init-params>
+   </component -->
+
+   <!-- component>
+      <key>org.exoplatform.services.organization.OrganizationService</key>
+      <type>org.exoplatform.services.jcr.ext.organization.JCROrganizationServiceImpl</type>
+      <init-params>
+         <value-param>
+            <name>storage-workspace</name>
+            <description>Workspace in default repository where organization storage will be created</description>
+            <value>ws</value>
+         </value-param>
+      </init-params>
+   </component -->
+
+   <component>
+      <type>org.exoplatform.services.organization.impl.mock.DummyOrganizationService</type>
+   </component>
+
+   <component>
+      <key>org.exoplatform.services.security.Authenticator</key>
+      <type>org.exoplatform.services.organization.auth.OrganizationAuthenticatorImpl</type>
+   </component>
+
+   <component>
       <type>org.exoplatform.services.jcr.impl.ext.action.SessionActionCatalog</type>
    </component>
-   
-   <!-- component>
-      <key>org.exoplatform.services.database.HibernateService</key>
-      <jmx-name>database:type=HibernateService</jmx-name>
-      <type>org.exoplatform.services.database.impl.HibernateServiceImpl</type>
-      <init-params>
-         <properties-param>
-            <name>hibernate.properties</name>
-            <description>Default Hibernate Service</description>
-            <property name="hibernate.show_sql" value="false" />
-            <property name="hibernate.cglib.use_reflection_optimizer" value="true" />
-            <property name="hibernate.connection.url" value="jdbc:hsqldb:file:../temp/data/exodb" />
-            <property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver" />
-            <property name="hibernate.connection.autocommit" value="true" />
-            <property name="hibernate.connection.username" value="sa" />
-            <property name="hibernate.connection.password" value="" />
-            <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect" />
-            <property name="hibernate.c3p0.min_size" value="5" />
-            <property name="hibernate.c3p0.max_size" value="20" />
-            <property name="hibernate.c3p0.timeout" value="1800" />
-            <property name="hibernate.c3p0.max_statements" value="50" />
-         </properties-param>
-      </init-params>
-   </component -->
-
-   <!-- component>
-      <key>org.exoplatform.services.organization.OrganizationService</key>
-      <type>org.exoplatform.services.organization.hibernate.OrganizationServiceImpl</type>
-   </component>
-
-   <external-component-plugins>
-      <target-component>org.exoplatform.services.database.HibernateService</target-component>
-      <component-plugin>
-         <name>add.hibernate.mapping</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.database.impl.AddHibernateMappingPlugin</type>
-         <init-params>
-            <values-param>
-               <name>hibernate.mapping</name>
-               <value>org/exoplatform/services/organization/impl/UserImpl.hbm.xml</value>
-               <value>org/exoplatform/services/organization/impl/MembershipImpl.hbm.xml</value>
-               <value>org/exoplatform/services/organization/impl/GroupImpl.hbm.xml</value>
-               <value>org/exoplatform/services/organization/impl/MembershipTypeImpl.hbm.xml</value>
-               <value>org/exoplatform/services/organization/impl/UserProfileData.hbm.xml</value>
-            </values-param>
-         </init-params>
-      </component-plugin>
-   </external-component-plugins -->
-
-   <!-- org service initializer, copied from ECM portal.war -->
-   <!-- external-component-plugins>
-      <target-component>org.exoplatform.services.organization.OrganizationService</target-component>
-      <component-plugin>
-         <name>init.service.listener</name>
-         <set-method>addListenerPlugin</set-method>
-         <type>org.exoplatform.services.organization.OrganizationDatabaseInitializer</type>
-         <description>this listener populate organization data for the first launch</description>
-         <init-params>
-            <value-param>
-               <name>checkDatabaseAlgorithm</name>
-               <description>check database</description>
-               <value>entry</value>
-            </value-param>
-            <value-param>
-               <name>printInformation</name>
-               <description>Print information init database</description>
-               <value>false</value>
-            </value-param>
-            <object-param>
-               <name>configuration</name>
-               <description>description</description>
-               <object type="org.exoplatform.services.organization.OrganizationConfig">
-                  <field name="membershipType">
-                     <collection type="java.util.ArrayList">
-                        <value>
-                           <object type="org.exoplatform.services.organization.OrganizationConfig$MembershipType">
-                              <field name="type">
-                                 <string>manager</string>
-                              </field>
-                              <field name="description">
-                                 <string>manager membership type</string>
-                              </field>
-                           </object>
-                        </value>
-                        <value>
-                           <object type="org.exoplatform.services.organization.OrganizationConfig$MembershipType">
-                              <field name="type">
-                                 <string>member</string>
-                              </field>
-                              <field name="description">
-                                 <string>member membership type</string>
-                              </field>
-                           </object>
-                        </value>
-                        <value>
-                           <object type="org.exoplatform.services.organization.OrganizationConfig$MembershipType">
-                              <field name="type">
-                                 <string>validator</string>
-                              </field>
-                              <field name="description">
-                                 <string>validator membership type</string>
-                              </field>
-                           </object>
-                        </value>
-                     </collection>
-                  </field>
-
-                  <field name="group">
-                     <collection type="java.util.ArrayList">
-                        <value>
-                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
-                              <field name="name">
-                                 <string>platform</string>
-                              </field>
-                              <field name="parentId">
-                                 <string></string>
-                              </field>
-                              <field name="description">
-                                 <string>the /platform group</string>
-                              </field>
-                              <field name="label">
-                                 <string>Platform</string>
-                              </field>
-                           </object>
-                        </value>
-                        <value>
-                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
-                              <field name="name">
-                                 <string>administrators</string>
-                              </field>
-                              <field name="parentId">
-                                 <string>/platform</string>
-                              </field>
-                              <field name="description">
-                                 <string>the /platform/administrators group</string>
-                              </field>
-                              <field name="label">
-                                 <string>Administrators</string>
-                              </field>
-                           </object>
-                        </value>
-                        <value>
-                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
-                              <field name="name">
-                                 <string>users</string>
-                              </field>
-                              <field name="parentId">
-                                 <string>/platform</string>
-                              </field>
-                              <field name="description">
-                                 <string>the /platform/users group</string>
-                              </field>
-                              <field name="label">
-                                 <string>Users</string>
-                              </field>
-                           </object>
-                        </value>
-                        <value>
-                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
-                              <field name="name">
-                                 <string>guests</string>
-                              </field>
-                              <field name="parentId">
-                                 <string>/platform</string>
-                              </field>
-                              <field name="description">
-                                 <string>the /platform/guests group</string>
-                              </field>
-                              <field name="label">
-                                 <string>Guests</string>
-                              </field>
-                           </object>
-                        </value>
-                        <value>
-                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
-                              <field name="name">
-                                 <string>organization</string>
-                              </field>
-                              <field name="parentId">
-                                 <string></string>
-                              </field>
-                              <field name="description">
-                                 <string>the organization group</string>
-                              </field>
-                              <field name="label">
-                                 <string>Organization</string>
-                              </field>
-                           </object>
-                        </value>
-                        <value>
-                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
-                              <field name="name">
-                                 <string>management</string>
-                              </field>
-                              <field name="parentId">
-                                 <string>/organization</string>
-                              </field>
-                              <field name="description">
-                                 <string>the /organization/management group</string>
-                              </field>
-                              <field name="label">
-                                 <string>Management</string>
-                              </field>
-                           </object>
-                        </value>
-                        <value>
-                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
-                              <field name="name">
-                                 <string>executive-board</string>
-                              </field>
-                              <field name="parentId">
-                                 <string>/organization/management</string>
-                              </field>
-                              <field name="description">
-                                 <string>the /organization/management/executive-board group</string>
-                              </field>
-                              <field name="label">
-                                 <string>Executive Board</string>
-                              </field>
-                           </object>
-                        </value>
-                        <value>
-                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
-                              <field name="name">
-                                 <string>human-resources</string>
-                              </field>
-                              <field name="parentId">
-                                 <string>/organization/management</string>
-                              </field>
-                              <field name="description">
-                                 <string>the /organization/management/human-resource group</string>
-                              </field>
-                              <field name="label">
-                                 <string>Human Resources</string>
-                              </field>
-                           </object>
-                        </value>
-                        <value>
-                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
-                              <field name="name">
-                                 <string>communication</string>
-                              </field>
-                              <field name="parentId">
-                                 <string>/organization</string>
-                              </field>
-                              <field name="description">
-                                 <string>the /organization/communication group</string>
-                              </field>
-                              <field name="label">
-                                 <string>Communication</string>
-                              </field>
-                           </object>
-                        </value>
-                        <value>
-                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
-                              <field name="name">
-                                 <string>marketing</string>
-                              </field>
-                              <field name="parentId">
-                                 <string>/organization/communication</string>
-                              </field>
-                              <field name="description">
-                                 <string>the /organization/communication/marketing group</string>
-                              </field>
-                              <field name="label">
-                                 <string>Marketing</string>
-                              </field>
-                           </object>
-                        </value>
-                        <value>
-                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
-                              <field name="name">
-                                 <string>press-and-media</string>
-                              </field>
-                              <field name="parentId">
-                                 <string>/organization/communication</string>
-                              </field>
-                              <field name="description">
-                                 <string>the /organization/communication/press-and-media group</string>
-                              </field>
-                              <field name="label">
-                                 <string>Press and Media</string>
-                              </field>
-                           </object>
-                        </value>
-                        <value>
-                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
-                              <field name="name">
-                                 <string>operations</string>
-                              </field>
-                              <field name="parentId">
-                                 <string>/organization</string>
-                              </field>
-                              <field name="description">
-                                 <string>the /organization/operations and media group</string>
-                              </field>
-                              <field name="label">
-                                 <string>Operations</string>
-                              </field>
-                           </object>
-                        </value>
-                        <value>
-                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
-                              <field name="name">
-                                 <string>sales</string>
-                              </field>
-                              <field name="parentId">
-                                 <string>/organization/operations</string>
-                              </field>
-                              <field name="description">
-                                 <string>the /organization/operations/sales group</string>
-                              </field>
-                              <field name="label">
-                                 <string>Sales</string>
-                              </field>
-                           </object>
-                        </value>
-                        <value>
-                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
-                              <field name="name">
-                                 <string>finances</string>
-                              </field>
-                              <field name="parentId">
-                                 <string>/organization/operations</string>
-                              </field>
-                              <field name="description">
-                                 <string>the /organization/operations/finances group</string>
-                              </field>
-                              <field name="label">
-                                 <string>Finances</string>
-                              </field>
-                           </object>
-                        </value>
-                        <value>
-                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
-                              <field name="name">
-                                 <string>customers</string>
-                              </field>
-                              <field name="parentId">
-                                 <string></string>
-                              </field>
-                              <field name="description">
-                                 <string>the /customers group</string>
-                              </field>
-                              <field name="label">
-                                 <string>Customers</string>
-                              </field>
-                           </object>
-                        </value>
-                        <value>
-                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
-                              <field name="name">
-                                 <string>partners</string>
-                              </field>
-                              <field name="parentId">
-                                 <string></string>
-                              </field>
-                              <field name="description">
-                                 <string>the /partners group</string>
-                              </field>
-                              <field name="label">
-                                 <string>Partners</string>
-                              </field>
-                           </object>
-                        </value>
-                     </collection>
-                  </field>
-
-                  <field name="user">
-                     <collection type="java.util.ArrayList">
-                        <value>
-                           <object type="org.exoplatform.services.organization.OrganizationConfig$User">
-                              <field name="userName">
-                                 <string>root</string>
-                              </field>
-                              <field name="password">
-                                 <string>exo</string>
-                              </field>
-                              <field name="firstName">
-                                 <string>Root</string>
-                              </field>
-                              <field name="lastName">
-                                 <string>Root</string>
-                              </field>
-                              <field name="email">
-                                 <string>root at localhost</string>
-                              </field>
-                              <field name="groups">
-                                 <string>
-                                    *:/platform/administrators,*:/platform/users,
-                                    member:/organization/management/executive-board
-                      </string>
-                              </field>
-                           </object>
-                        </value>
-
-                        <value>
-                           <object type="org.exoplatform.services.organization.OrganizationConfig$User">
-                              <field name="userName">
-                                 <string>john</string>
-                              </field>
-                              <field name="password">
-                                 <string>exo</string>
-                              </field>
-                              <field name="firstName">
-                                 <string>John</string>
-                              </field>
-                              <field name="lastName">
-                                 <string>Anthony</string>
-                              </field>
-                              <field name="email">
-                                 <string>john at localhost</string>
-                              </field>
-                              <field name="groups">
-                                 <string>
-                                    validator:/platform/administrators,manager:/platform/users,
-                                    *:/organization/management/executive-board,
-                                    manager:/organization/management/executive-board, validator:/organization/management/executive-board
-                      </string>
-                              </field>
-                           </object>
-                        </value>
-                        <value>
-                           <object type="org.exoplatform.services.organization.OrganizationConfig$User">
-                              <field name="userName">
-                                 <string>marry</string>
-                              </field>
-                              <field name="password">
-                                 <string>exo</string>
-                              </field>
-                              <field name="firstName">
-                                 <string>Marry</string>
-                              </field>
-                              <field name="lastName">
-                                 <string>Kelly</string>
-                              </field>
-                              <field name="email">
-                                 <string>marry at localhost</string>
-                              </field>
-                              <field name="groups">
-                                 <string>member:/platform/users</string>
-                              </field>
-                           </object>
-                        </value>
-                        <value>
-                           <object type="org.exoplatform.services.organization.OrganizationConfig$User">
-                              <field name="userName">
-                                 <string>demo</string>
-                              </field>
-                              <field name="password">
-                                 <string>exo</string>
-                              </field>
-                              <field name="firstName">
-                                 <string>Demo</string>
-                              </field>
-                              <field name="lastName">
-                                 <string>exo</string>
-                              </field>
-                              <field name="email">
-                                 <string>demo at localhost</string>
-                              </field>
-                              <field name="groups">
-                                 <string>member:/platform/users</string>
-                              </field>
-                           </object>
-                        </value>
-                        <value>
-                           <object type="org.exoplatform.services.organization.OrganizationConfig$User">
-                              <field name="userName">
-                                 <string>james</string>
-                              </field>
-                              <field name="password">
-                                 <string>exo</string>
-                              </field>
-                              <field name="firstName">
-                                 <string>James</string>
-                              </field>
-                              <field name="lastName">
-                                 <string>Anderson</string>
-                              </field>
-                              <field name="email">
-                                 <string>james at localhost</string>
-                              </field>
-                              <field name="groups">
-                                 <string>*:/organization/management/human-resources,member:/platform/users</string>
-                              </field>
-                           </object>
-                        </value>
-                     </collection>
-                  </field>
-               </object>
-            </object-param>
-         </init-params>
-      </component-plugin>
-   </external-component-plugins -->
-
-   <component>
-      <type>org.exoplatform.services.jcr.impl.ext.action.SessionActionCatalog</type>
-      <component-plugins>
-         <component-plugin>
-            <name>addActions</name>
-            <set-method>addPlugin</set-method>
-            <type>org.exoplatform.services.jcr.impl.ext.action.AddActionsPlugin</type>
-            <description>add actions plugin</description>
-            <init-params>
-               <object-param>
-                  <name>actions</name>
-                  <object type="org.exoplatform.services.jcr.impl.ext.action.AddActionsPlugin$ActionsConfig">
-                     <field name="actions">
-                        <collection type="java.util.ArrayList">
-                           <!-- an example
-                           <value>
-                              <object type="org.exoplatform.services.jcr.impl.ext.action.ActionConfiguration">
-                                 <field name="eventTypes">
-                                    <string>addNode</string>
-                                 </field>
-                                 <field name="path">
-                                    <string>/test</string>
-                                 </field>
-                                 <field name="isDeep">
-                                    <boolean>true</boolean>
-                                 </field>
-                                 <field name="nodeTypes">
-                                    <string>nt:unstructured</string>
-                                 </field>
-                                 <field name="workspace">
-                                    <string>production</string>
-                                 </field>
-                                 <field name="actionClassName">
-                                    <string>org.exoplatform.services.jcr.ext.DummyAction</string>
-                                 </field>
-                              </object>
-                           </value>
-                           -->
-                           <value>
-                              <object type="org.exoplatform.services.jcr.impl.ext.action.ActionConfiguration">
-                                 <field name="eventTypes">
-                                    <string>addProperty,changeProperty</string>
-                                 </field>
-                                 <field name="path">
-                                    <string>/MetaDataActionTest/testAddContent</string>
-                                 </field>
-                                 <field name="isDeep">
-                                    <boolean>true</boolean>
-                                 </field>
-                                 <field name="nodeTypes">
-                                    <string>nt:resource</string>
-                                 </field>
-                                 <field name="actionClassName">
-                                    <string>org.exoplatform.services.jcr.ext.metadata.AddMetadataAction</string>
-                                 </field>
-                              </object>
-                           </value>
-                           <value>
-                              <object type="org.exoplatform.services.jcr.impl.ext.action.ActionConfiguration">
-                                 <field name="eventTypes">
-                                    <string>addNode</string>
-                                 </field>
-                                 <field name="path">
-                                    <string>/MetaDataActionTest/testSetMetaData</string>
-                                 </field>
-                                 <field name="isDeep">
-                                    <boolean>false</boolean>
-                                 </field>
-                                 <field name="actionClassName">
-                                    <string>org.exoplatform.services.jcr.ext.metadata.SetDCMetadataAction</string>
-                                 </field>
-                              </object>
-                           </value>
-                           <value>
-                              <object type="org.exoplatform.services.jcr.impl.ext.action.ActionConfiguration">
-                                 <field name="eventTypes">
-                                    <string>addNode</string>
-                                 </field>
-                                 <field name="path">
-                                    <string>/test</string>
-                                 </field>
-                                 <field name="isDeep">
-                                    <boolean>true</boolean>
-                                 </field>
-                                 <field name="actionClassName">
-                                    <string>org.exoplatform.services.jcr.ext.owner.AddOwneableAction</string>
-                                 </field>
-                              </object>
-                           </value>
-                        </collection>
-                     </field>
-                  </object>
-               </object-param>
-            </init-params>
-         </component-plugin>
-      </component-plugins>
-   </component>
-
-   <external-component-plugins>
-      <target-component>org.exoplatform.services.jcr.ext.script.groovy.GroovyScript2RestLoader</target-component>
-      <component-plugin>
-         <name>add groovy repo</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.jcr.ext.script.groovy.GroovyScriptAddRepoPlugin</type>
-         <init-params>
-            <properties-param>
-               <name>repo1</name>
-               <property name="repository" value="db1"/>
-               <property name="workspace" value="ws"/>
-               <property name="path" value="/repo"/>
-            </properties-param>
-         </init-params>
-      </component-plugin>
-   </external-component-plugins>
-
-   <external-component-plugins>
-      <target-component>org.exoplatform.services.naming.InitialContextInitializer</target-component>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/portal" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr1</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr2</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr2" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr_backup_only_use_1</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_backup_only_use_1" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr_backup_only_use_2</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_backup_only_use_2" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr_backup_only_use_3</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_backup_only_use_3" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr_backup_only_use_5</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_backup_only_use_4" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr_backup_only_use_6</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_backup_only_use_6" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr_backup_only_use_7</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_backup_only_use_7" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr_backup_only_use_8</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_backup_only_use_8" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr3</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr3" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr4</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr4" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr5</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr5" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr6</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr6" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr7</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr7" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr8</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr8" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr9</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr9" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr10</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr10" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr11</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr11" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr12</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr12" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr13</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr13" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr14</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr14" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr15</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr15" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr16</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr16" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr17</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr17" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr18</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr18" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr19</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr19" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr77</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr77" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr20</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr20" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr21</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr21" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr22</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr22" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr23</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr23" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr24</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr24" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr25</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr25" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr26</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr26" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr27</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr27" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr_to_rest_repo_1</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_to_rest_repo_1" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr_to_rest_repo_2</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_to_rest_repo_2" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr_to_repository_restore_1</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_to_repository_restore_1" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr_to_repository_restore_2</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_to_repository_restore_2" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr_to_repository_restore_3</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_to_repository_restore_3" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr_to_repository_restore_4</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_to_repository_restore_4" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-      <component-plugin>
-         <name>bind.datasource</name>
-         <set-method>addPlugin</set-method>
-         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
-         <init-params>
-            <value-param>
-               <name>bind-name</name>
-               <value>jdbcjcr_to_repository_restore_5</value>
-            </value-param>
-            <value-param>
-               <name>class-name</name>
-               <value>javax.sql.DataSource</value>
-            </value-param>
-            <value-param>
-               <name>factory</name>
-               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
-            </value-param>
-            <properties-param>
-               <name>ref-addresses</name>
-               <description>ref-addresses</description>
-               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
-               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_to_repository_restore_5" />
-               <property name="username" value="sa" />
-               <property name="password" value="" />
-            </properties-param>
-         </init-params>
-      </component-plugin>
-   </external-component-plugins>
-
-</configuration>
+   
+   <!-- component>
+      <key>org.exoplatform.services.database.HibernateService</key>
+      <jmx-name>database:type=HibernateService</jmx-name>
+      <type>org.exoplatform.services.database.impl.HibernateServiceImpl</type>
+      <init-params>
+         <properties-param>
+            <name>hibernate.properties</name>
+            <description>Default Hibernate Service</description>
+            <property name="hibernate.show_sql" value="false" />
+            <property name="hibernate.cglib.use_reflection_optimizer" value="true" />
+            <property name="hibernate.connection.url" value="jdbc:hsqldb:file:../temp/data/exodb" />
+            <property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver" />
+            <property name="hibernate.connection.autocommit" value="true" />
+            <property name="hibernate.connection.username" value="sa" />
+            <property name="hibernate.connection.password" value="" />
+            <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect" />
+            <property name="hibernate.c3p0.min_size" value="5" />
+            <property name="hibernate.c3p0.max_size" value="20" />
+            <property name="hibernate.c3p0.timeout" value="1800" />
+            <property name="hibernate.c3p0.max_statements" value="50" />
+         </properties-param>
+      </init-params>
+   </component -->
+
+   <component>
+      <key>org.exoplatform.services.database.creator.DBCreator</key>
+      <type>org.exoplatform.services.database.creator.DBCreator</type>
+      <init-params>
+         <properties-param>
+            <name>db-connection</name>
+            <description>database connection properties</description>
+            <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+            <property name="url" value="jdbc:hsqldb:file:target/temp/data/" />
+            <property name="username" value="sa" />
+            <property name="password" value="" />
+         </properties-param>
+         <properties-param>
+            <name>db-creation</name>
+            <description>database creation properties</description>
+            <property name="scriptPath" value="target/test-classes/test.sql" />
+            <property name="username" value="sa" />
+            <property name="password" value="" />
+         </properties-param>
+      </init-params>
+   </component>
+
+  <component>
+    <key>org.exoplatform.services.rpc.RPCService</key>
+    <type>org.exoplatform.services.rpc.impl.RPCServiceImpl</type>
+    <init-params>
+      <value-param>
+        <name>jgroups-configuration</name>
+        <value>jar:/conf/standalone/udp-mux.xml</value>
+      </value-param>
+      <value-param>
+        <name>jgroups-cluster-name</name>
+        <value>RPCService-Cluster</value>
+      </value-param>
+      <value-param>
+        <name>jgroups-default-timeout</name>
+        <value>0</value>
+      </value-param>
+    </init-params>
+  </component>  
+
+   <component>
+      <key>org.exoplatform.services.jcr.ext.repository.creation.RepositoryCreationService</key>
+      <type>org.exoplatform.services.jcr.ext.repository.creation.RepositoryCreationServiceImpl</type>
+   </component>
+
+   <!-- component>
+      <key>org.exoplatform.services.organization.OrganizationService</key>
+      <type>org.exoplatform.services.organization.hibernate.OrganizationServiceImpl</type>
+   </component>
+
+
+   <external-component-plugins>
+      <target-component>org.exoplatform.services.database.HibernateService</target-component>
+      <component-plugin>
+         <name>add.hibernate.mapping</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.database.impl.AddHibernateMappingPlugin</type>
+         <init-params>
+            <values-param>
+               <name>hibernate.mapping</name>
+               <value>org/exoplatform/services/organization/impl/UserImpl.hbm.xml</value>
+               <value>org/exoplatform/services/organization/impl/MembershipImpl.hbm.xml</value>
+               <value>org/exoplatform/services/organization/impl/GroupImpl.hbm.xml</value>
+               <value>org/exoplatform/services/organization/impl/MembershipTypeImpl.hbm.xml</value>
+               <value>org/exoplatform/services/organization/impl/UserProfileData.hbm.xml</value>
+            </values-param>
+         </init-params>
+      </component-plugin>
+   </external-component-plugins -->
+
+   <!-- org service initializer, copied from ECM portal.war -->
+   <!-- external-component-plugins>
+      <target-component>org.exoplatform.services.organization.OrganizationService</target-component>
+      <component-plugin>
+         <name>init.service.listener</name>
+         <set-method>addListenerPlugin</set-method>
+         <type>org.exoplatform.services.organization.OrganizationDatabaseInitializer</type>
+         <description>this listener populate organization data for the first launch</description>
+         <init-params>
+            <value-param>
+               <name>checkDatabaseAlgorithm</name>
+               <description>check database</description>
+               <value>entry</value>
+            </value-param>
+            <value-param>
+               <name>printInformation</name>
+               <description>Print information init database</description>
+               <value>false</value>
+            </value-param>
+            <object-param>
+               <name>configuration</name>
+               <description>description</description>
+               <object type="org.exoplatform.services.organization.OrganizationConfig">
+                  <field name="membershipType">
+                     <collection type="java.util.ArrayList">
+                        <value>
+                           <object type="org.exoplatform.services.organization.OrganizationConfig$MembershipType">
+                              <field name="type">
+                                 <string>manager</string>
+                              </field>
+                              <field name="description">
+                                 <string>manager membership type</string>
+                              </field>
+                           </object>
+                        </value>
+                        <value>
+                           <object type="org.exoplatform.services.organization.OrganizationConfig$MembershipType">
+                              <field name="type">
+                                 <string>member</string>
+                              </field>
+                              <field name="description">
+                                 <string>member membership type</string>
+                              </field>
+                           </object>
+                        </value>
+                        <value>
+                           <object type="org.exoplatform.services.organization.OrganizationConfig$MembershipType">
+                              <field name="type">
+                                 <string>validator</string>
+                              </field>
+                              <field name="description">
+                                 <string>validator membership type</string>
+                              </field>
+                           </object>
+                        </value>
+                     </collection>
+                  </field>
+
+                  <field name="group">
+                     <collection type="java.util.ArrayList">
+                        <value>
+                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
+                              <field name="name">
+                                 <string>platform</string>
+                              </field>
+                              <field name="parentId">
+                                 <string></string>
+                              </field>
+                              <field name="description">
+                                 <string>the /platform group</string>
+                              </field>
+                              <field name="label">
+                                 <string>Platform</string>
+                              </field>
+                           </object>
+                        </value>
+                        <value>
+                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
+                              <field name="name">
+                                 <string>administrators</string>
+                              </field>
+                              <field name="parentId">
+                                 <string>/platform</string>
+                              </field>
+                              <field name="description">
+                                 <string>the /platform/administrators group</string>
+                              </field>
+                              <field name="label">
+                                 <string>Administrators</string>
+                              </field>
+                           </object>
+                        </value>
+                        <value>
+                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
+                              <field name="name">
+                                 <string>users</string>
+                              </field>
+                              <field name="parentId">
+                                 <string>/platform</string>
+                              </field>
+                              <field name="description">
+                                 <string>the /platform/users group</string>
+                              </field>
+                              <field name="label">
+                                 <string>Users</string>
+                              </field>
+                           </object>
+                        </value>
+                        <value>
+                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
+                              <field name="name">
+                                 <string>guests</string>
+                              </field>
+                              <field name="parentId">
+                                 <string>/platform</string>
+                              </field>
+                              <field name="description">
+                                 <string>the /platform/guests group</string>
+                              </field>
+                              <field name="label">
+                                 <string>Guests</string>
+                              </field>
+                           </object>
+                        </value>
+                        <value>
+                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
+                              <field name="name">
+                                 <string>organization</string>
+                              </field>
+                              <field name="parentId">
+                                 <string></string>
+                              </field>
+                              <field name="description">
+                                 <string>the organization group</string>
+                              </field>
+                              <field name="label">
+                                 <string>Organization</string>
+                              </field>
+                           </object>
+                        </value>
+                        <value>
+                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
+                              <field name="name">
+                                 <string>management</string>
+                              </field>
+                              <field name="parentId">
+                                 <string>/organization</string>
+                              </field>
+                              <field name="description">
+                                 <string>the /organization/management group</string>
+                              </field>
+                              <field name="label">
+                                 <string>Management</string>
+                              </field>
+                           </object>
+                        </value>
+                        <value>
+                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
+                              <field name="name">
+                                 <string>executive-board</string>
+                              </field>
+                              <field name="parentId">
+                                 <string>/organization/management</string>
+                              </field>
+                              <field name="description">
+                                 <string>the /organization/management/executive-board group</string>
+                              </field>
+                              <field name="label">
+                                 <string>Executive Board</string>
+                              </field>
+                           </object>
+                        </value>
+                        <value>
+                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
+                              <field name="name">
+                                 <string>human-resources</string>
+                              </field>
+                              <field name="parentId">
+                                 <string>/organization/management</string>
+                              </field>
+                              <field name="description">
+                                 <string>the /organization/management/human-resource group</string>
+                              </field>
+                              <field name="label">
+                                 <string>Human Resources</string>
+                              </field>
+                           </object>
+                        </value>
+                        <value>
+                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
+                              <field name="name">
+                                 <string>communication</string>
+                              </field>
+                              <field name="parentId">
+                                 <string>/organization</string>
+                              </field>
+                              <field name="description">
+                                 <string>the /organization/communication group</string>
+                              </field>
+                              <field name="label">
+                                 <string>Communication</string>
+                              </field>
+                           </object>
+                        </value>
+                        <value>
+                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
+                              <field name="name">
+                                 <string>marketing</string>
+                              </field>
+                              <field name="parentId">
+                                 <string>/organization/communication</string>
+                              </field>
+                              <field name="description">
+                                 <string>the /organization/communication/marketing group</string>
+                              </field>
+                              <field name="label">
+                                 <string>Marketing</string>
+                              </field>
+                           </object>
+                        </value>
+                        <value>
+                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
+                              <field name="name">
+                                 <string>press-and-media</string>
+                              </field>
+                              <field name="parentId">
+                                 <string>/organization/communication</string>
+                              </field>
+                              <field name="description">
+                                 <string>the /organization/communication/press-and-media group</string>
+                              </field>
+                              <field name="label">
+                                 <string>Press and Media</string>
+                              </field>
+                           </object>
+                        </value>
+                        <value>
+                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
+                              <field name="name">
+                                 <string>operations</string>
+                              </field>
+                              <field name="parentId">
+                                 <string>/organization</string>
+                              </field>
+                              <field name="description">
+                                 <string>the /organization/operations and media group</string>
+                              </field>
+                              <field name="label">
+                                 <string>Operations</string>
+                              </field>
+                           </object>
+                        </value>
+                        <value>
+                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
+                              <field name="name">
+                                 <string>sales</string>
+                              </field>
+                              <field name="parentId">
+                                 <string>/organization/operations</string>
+                              </field>
+                              <field name="description">
+                                 <string>the /organization/operations/sales group</string>
+                              </field>
+                              <field name="label">
+                                 <string>Sales</string>
+                              </field>
+                           </object>
+                        </value>
+                        <value>
+                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
+                              <field name="name">
+                                 <string>finances</string>
+                              </field>
+                              <field name="parentId">
+                                 <string>/organization/operations</string>
+                              </field>
+                              <field name="description">
+                                 <string>the /organization/operations/finances group</string>
+                              </field>
+                              <field name="label">
+                                 <string>Finances</string>
+                              </field>
+                           </object>
+                        </value>
+                        <value>
+                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
+                              <field name="name">
+                                 <string>customers</string>
+                              </field>
+                              <field name="parentId">
+                                 <string></string>
+                              </field>
+                              <field name="description">
+                                 <string>the /customers group</string>
+                              </field>
+                              <field name="label">
+                                 <string>Customers</string>
+                              </field>
+                           </object>
+                        </value>
+                        <value>
+                           <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
+                              <field name="name">
+                                 <string>partners</string>
+                              </field>
+                              <field name="parentId">
+                                 <string></string>
+                              </field>
+                              <field name="description">
+                                 <string>the /partners group</string>
+                              </field>
+                              <field name="label">
+                                 <string>Partners</string>
+                              </field>
+                           </object>
+                        </value>
+                     </collection>
+                  </field>
+
+                  <field name="user">
+                     <collection type="java.util.ArrayList">
+                        <value>
+                           <object type="org.exoplatform.services.organization.OrganizationConfig$User">
+                              <field name="userName">
+                                 <string>root</string>
+                              </field>
+                              <field name="password">
+                                 <string>exo</string>
+                              </field>
+                              <field name="firstName">
+                                 <string>Root</string>
+                              </field>
+                              <field name="lastName">
+                                 <string>Root</string>
+                              </field>
+                              <field name="email">
+                                 <string>root at localhost</string>
+                              </field>
+                              <field name="groups">
+                                 <string>
+                                    *:/platform/administrators,*:/platform/users,
+                                    member:/organization/management/executive-board
+                      </string>
+                              </field>
+                           </object>
+                        </value>
+
+                        <value>
+                           <object type="org.exoplatform.services.organization.OrganizationConfig$User">
+                              <field name="userName">
+                                 <string>john</string>
+                              </field>
+                              <field name="password">
+                                 <string>exo</string>
+                              </field>
+                              <field name="firstName">
+                                 <string>John</string>
+                              </field>
+                              <field name="lastName">
+                                 <string>Anthony</string>
+                              </field>
+                              <field name="email">
+                                 <string>john at localhost</string>
+                              </field>
+                              <field name="groups">
+                                 <string>
+                                    validator:/platform/administrators,manager:/platform/users,
+                                    *:/organization/management/executive-board,
+                                    manager:/organization/management/executive-board, validator:/organization/management/executive-board
+                      </string>
+                              </field>
+                           </object>
+                        </value>
+                        <value>
+                           <object type="org.exoplatform.services.organization.OrganizationConfig$User">
+                              <field name="userName">
+                                 <string>marry</string>
+                              </field>
+                              <field name="password">
+                                 <string>exo</string>
+                              </field>
+                              <field name="firstName">
+                                 <string>Marry</string>
+                              </field>
+                              <field name="lastName">
+                                 <string>Kelly</string>
+                              </field>
+                              <field name="email">
+                                 <string>marry at localhost</string>
+                              </field>
+                              <field name="groups">
+                                 <string>member:/platform/users</string>
+                              </field>
+                           </object>
+                        </value>
+                        <value>
+                           <object type="org.exoplatform.services.organization.OrganizationConfig$User">
+                              <field name="userName">
+                                 <string>demo</string>
+                              </field>
+                              <field name="password">
+                                 <string>exo</string>
+                              </field>
+                              <field name="firstName">
+                                 <string>Demo</string>
+                              </field>
+                              <field name="lastName">
+                                 <string>exo</string>
+                              </field>
+                              <field name="email">
+                                 <string>demo at localhost</string>
+                              </field>
+                              <field name="groups">
+                                 <string>member:/platform/users</string>
+                              </field>
+                           </object>
+                        </value>
+                        <value>
+                           <object type="org.exoplatform.services.organization.OrganizationConfig$User">
+                              <field name="userName">
+                                 <string>james</string>
+                              </field>
+                              <field name="password">
+                                 <string>exo</string>
+                              </field>
+                              <field name="firstName">
+                                 <string>James</string>
+                              </field>
+                              <field name="lastName">
+                                 <string>Anderson</string>
+                              </field>
+                              <field name="email">
+                                 <string>james at localhost</string>
+                              </field>
+                              <field name="groups">
+                                 <string>*:/organization/management/human-resources,member:/platform/users</string>
+                              </field>
+                           </object>
+                        </value>
+                     </collection>
+                  </field>
+               </object>
+            </object-param>
+         </init-params>
+      </component-plugin>
+   </external-component-plugins -->
+
+   <component>
+      <type>org.exoplatform.services.jcr.impl.ext.action.SessionActionCatalog</type>
+      <component-plugins>
+         <component-plugin>
+            <name>addActions</name>
+            <set-method>addPlugin</set-method>
+            <type>org.exoplatform.services.jcr.impl.ext.action.AddActionsPlugin</type>
+            <description>add actions plugin</description>
+            <init-params>
+               <object-param>
+                  <name>actions</name>
+                  <object type="org.exoplatform.services.jcr.impl.ext.action.AddActionsPlugin$ActionsConfig">
+                     <field name="actions">
+                        <collection type="java.util.ArrayList">
+                           <!-- an example
+                           <value>
+                              <object type="org.exoplatform.services.jcr.impl.ext.action.ActionConfiguration">
+                                 <field name="eventTypes">
+                                    <string>addNode</string>
+                                 </field>
+                                 <field name="path">
+                                    <string>/test</string>
+                                 </field>
+                                 <field name="isDeep">
+                                    <boolean>true</boolean>
+                                 </field>
+                                 <field name="nodeTypes">
+                                    <string>nt:unstructured</string>
+                                 </field>
+                                 <field name="workspace">
+                                    <string>production</string>
+                                 </field>
+                                 <field name="actionClassName">
+                                    <string>org.exoplatform.services.jcr.ext.DummyAction</string>
+                                 </field>
+                              </object>
+                           </value>
+                           -->
+                           <value>
+                              <object type="org.exoplatform.services.jcr.impl.ext.action.ActionConfiguration">
+                                 <field name="eventTypes">
+                                    <string>addProperty,changeProperty</string>
+                                 </field>
+                                 <field name="path">
+                                    <string>/MetaDataActionTest/testAddContent</string>
+                                 </field>
+                                 <field name="isDeep">
+                                    <boolean>true</boolean>
+                                 </field>
+                                 <field name="nodeTypes">
+                                    <string>nt:resource</string>
+                                 </field>
+                                 <field name="actionClassName">
+                                    <string>org.exoplatform.services.jcr.ext.metadata.AddMetadataAction</string>
+                                 </field>
+                              </object>
+                           </value>
+                           <value>
+                              <object type="org.exoplatform.services.jcr.impl.ext.action.ActionConfiguration">
+                                 <field name="eventTypes">
+                                    <string>addNode</string>
+                                 </field>
+                                 <field name="path">
+                                    <string>/MetaDataActionTest/testSetMetaData</string>
+                                 </field>
+                                 <field name="isDeep">
+                                    <boolean>false</boolean>
+                                 </field>
+                                 <field name="actionClassName">
+                                    <string>org.exoplatform.services.jcr.ext.metadata.SetDCMetadataAction</string>
+                                 </field>
+                              </object>
+                           </value>
+                           <value>
+                              <object type="org.exoplatform.services.jcr.impl.ext.action.ActionConfiguration">
+                                 <field name="eventTypes">
+                                    <string>addNode</string>
+                                 </field>
+                                 <field name="path">
+                                    <string>/test</string>
+                                 </field>
+                                 <field name="isDeep">
+                                    <boolean>true</boolean>
+                                 </field>
+                                 <field name="actionClassName">
+                                    <string>org.exoplatform.services.jcr.ext.owner.AddOwneableAction</string>
+                                 </field>
+                              </object>
+                           </value>
+                        </collection>
+                     </field>
+                  </object>
+               </object-param>
+            </init-params>
+         </component-plugin>
+      </component-plugins>
+   </component>
+
+   <external-component-plugins>
+      <target-component>org.exoplatform.services.jcr.ext.script.groovy.GroovyScript2RestLoader</target-component>
+      <component-plugin>
+         <name>add groovy repo</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.jcr.ext.script.groovy.GroovyScriptAddRepoPlugin</type>
+         <init-params>
+            <properties-param>
+               <name>repo1</name>
+               <property name="repository" value="db1"/>
+               <property name="workspace" value="ws"/>
+               <property name="path" value="/repo"/>
+            </properties-param>
+         </init-params>
+      </component-plugin>
+   </external-component-plugins>
+
+   <external-component-plugins>
+      <target-component>org.exoplatform.services.naming.InitialContextInitializer</target-component>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/portal" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr1</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr2</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr2" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr_backup_only_use_1</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_backup_only_use_1" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr_backup_only_use_2</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_backup_only_use_2" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr_backup_only_use_3</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_backup_only_use_3" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr_backup_only_use_5</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_backup_only_use_4" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr_backup_only_use_6</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_backup_only_use_6" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr_backup_only_use_7</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_backup_only_use_7" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr_backup_only_use_8</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_backup_only_use_8" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr3</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr3" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr4</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr4" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr5</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr5" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr6</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr6" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr7</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr7" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr8</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr8" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr9</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr9" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr10</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr10" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr11</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr11" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr12</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr12" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr13</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr13" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr14</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr14" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr15</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr15" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr16</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr16" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr17</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr17" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr18</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr18" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr19</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr19" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr77</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr77" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr20</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr20" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr21</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr21" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr22</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr22" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr23</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr23" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr24</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr24" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr25</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr25" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr26</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr26" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr27</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jcr27" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr_to_rest_repo_1</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_to_rest_repo_1" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr_to_rest_repo_2</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_to_rest_repo_2" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr_to_repository_restore_1</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_to_repository_restore_1" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr_to_repository_restore_2</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_to_repository_restore_2" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr_to_repository_restore_3</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_to_repository_restore_3" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr_to_repository_restore_4</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_to_repository_restore_4" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+      <component-plugin>
+         <name>bind.datasource</name>
+         <set-method>addPlugin</set-method>
+         <type>org.exoplatform.services.naming.BindReferencePlugin</type>
+         <init-params>
+            <value-param>
+               <name>bind-name</name>
+               <value>jdbcjcr_to_repository_restore_5</value>
+            </value-param>
+            <value-param>
+               <name>class-name</name>
+               <value>javax.sql.DataSource</value>
+            </value-param>
+            <value-param>
+               <name>factory</name>
+               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
+            </value-param>
+            <properties-param>
+               <name>ref-addresses</name>
+               <description>ref-addresses</description>
+               <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
+               <property name="url" value="jdbc:hsqldb:file:target/temp/data/jdbcjcr_to_repository_restore_5" />
+               <property name="username" value="sa" />
+               <property name="password" value="" />
+            </properties-param>
+         </init-params>
+      </component-plugin>
+   </external-component-plugins>
+
+</configuration>

Added: jcr/trunk/exo.jcr.component.ext/src/test/resources/conf/standalone/udp-mux.xml
===================================================================
--- jcr/trunk/exo.jcr.component.ext/src/test/resources/conf/standalone/udp-mux.xml	                        (rev 0)
+++ jcr/trunk/exo.jcr.component.ext/src/test/resources/conf/standalone/udp-mux.xml	2010-11-23 13:08:47 UTC (rev 3522)
@@ -0,0 +1,65 @@
+<config>
+    <UDP
+         singleton_name="JCR-cluster" 
+         mcast_addr="${jgroups.udp.mcast_addr:228.10.10.10}"
+         mcast_port="${jgroups.udp.mcast_port:45588}"
+         tos="8" 
+         ucast_recv_buf_size="20000000"
+         ucast_send_buf_size="640000" 
+         mcast_recv_buf_size="25000000" 
+         mcast_send_buf_size="640000" 
+         loopback="false"
+         discard_incompatible_packets="true" 
+         max_bundle_size="64000" 
+         max_bundle_timeout="30"
+         use_incoming_packet_handler="true" 
+         ip_ttl="${jgroups.udp.ip_ttl:2}"
+         enable_bundling="false" 
+         enable_diagnostics="true"
+         thread_naming_pattern="cl" 
+
+         use_concurrent_stack="true" 
+
+         thread_pool.enabled="true" 
+         thread_pool.min_threads="2"
+         thread_pool.max_threads="8" 
+         thread_pool.keep_alive_time="5000" 
+         thread_pool.queue_enabled="true"
+         thread_pool.queue_max_size="1000"
+         thread_pool.rejection_policy="discard"
+
+         oob_thread_pool.enabled="true"
+         oob_thread_pool.min_threads="1"
+         oob_thread_pool.max_threads="8"
+         oob_thread_pool.keep_alive_time="5000"
+         oob_thread_pool.queue_enabled="false" 
+         oob_thread_pool.queue_max_size="100" 
+         oob_thread_pool.rejection_policy="Run" />
+
+    <PING timeout="2000"
+            num_initial_members="3"/>
+    <MERGE2 max_interval="30000"
+            min_interval="10000"/>
+   <FD_SOCK />
+   <FD timeout="10000" max_tries="5" shun="true" />
+   <VERIFY_SUSPECT timeout="1500" />
+   <BARRIER />
+    <pbcast.NAKACK use_stats_for_retransmission="false"
+                   exponential_backoff="150"
+                   use_mcast_xmit="true" gc_lag="0"
+                   retransmit_timeout="50,300,600,1200"
+                   discard_delivered_msgs="true"/>
+   <UNICAST timeout="300,600,1200" />
+    <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
+                   max_bytes="1000000"/>
+   <VIEW_SYNC avg_send_interval="60000" />
+    <pbcast.GMS print_local_addr="true" join_timeout="3000"
+                shun="false"
+                view_bundling="true"/>
+    <FC max_credits="500000"
+                    min_threshold="0.20"/>
+   <FRAG2 frag_size="60000" />
+   <!--pbcast.STREAMING_STATE_TRANSFER /-->
+   <pbcast.STATE_TRANSFER />
+   <!-- pbcast.FLUSH  /-->
+</config>

Modified: jcr/trunk/exo.jcr.component.ext/src/test/resources/test.policy
===================================================================
--- jcr/trunk/exo.jcr.component.ext/src/test/resources/test.policy	2010-11-23 09:32:11 UTC (rev 3521)
+++ jcr/trunk/exo.jcr.component.ext/src/test/resources/test.policy	2010-11-23 13:08:47 UTC (rev 3522)
@@ -1,20 +1,21 @@
-grant codeBase "@MAVEN_REPO at -"{
-   permission java.security.AllPermission;
-};
-
-grant codeBase "@MAIN_CLASSES at -"{
-   permission java.security.AllPermission;
-};
-
-grant codeBase "@TEST_CLASSES at -"{
-   permission java.lang.RuntimePermission "createSystemSession";
-   permission java.lang.RuntimePermission "manageRepository";
-   permission java.lang.RuntimePermission "invokeInternalAPI";
-   permission java.lang.RuntimePermission "modifyConversationState";
-};
-
-grant codeBase "@MAIN_CLASSES at ../../../exo.jcr.component.core/-"{
-   permission java.security.AllPermission;
-};
-
-
+grant codeBase "@MAVEN_REPO at -"{
+   permission java.security.AllPermission;
+};
+
+grant codeBase "@MAIN_CLASSES at -"{
+   permission java.security.AllPermission;
+};
+
+grant codeBase "@TEST_CLASSES at -"{
+   permission java.lang.RuntimePermission "createSystemSession";
+   permission java.lang.RuntimePermission "manageRepository";
+   permission java.lang.RuntimePermission "invokeInternalAPI";
+   permission java.lang.RuntimePermission "accessRPCService";
+   permission java.lang.RuntimePermission "modifyConversationState";
+};
+
+grant codeBase "@MAIN_CLASSES at ../../../exo.jcr.component.core/-"{
+   permission java.security.AllPermission;
+};
+
+

Added: jcr/trunk/exo.jcr.component.ext/src/test/resources/test.sql
===================================================================



More information about the exo-jcr-commits mailing list