exo-jcr SVN: r4087 - in jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl: dataflow/persistent/infinispan and 1 other directory.
by do-not-reply@jboss.org
Author: nzamosenchuk
Date: 2011-03-15 05:05:44 -0400 (Tue, 15 Mar 2011)
New Revision: 4087
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/AbstractIndexerCacheStore.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/ChangesKey.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/ISPNIndexChangesFilter.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/IndexerCacheStore.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/LocalIndexChangesFilter.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheKey.java
Log:
EXOJCR-834 : Making ISPNIndexerChangesFilter rely on Strings in maps instead of ints.
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/AbstractIndexerCacheStore.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/AbstractIndexerCacheStore.java 2011-03-14 17:13:48 UTC (rev 4086)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/AbstractIndexerCacheStore.java 2011-03-15 09:05:44 UTC (rev 4087)
@@ -52,7 +52,7 @@
/**
* A map of all the indexers that has been registered
*/
- protected final Map<Integer, Indexer> indexers = new HashMap<Integer, Indexer>();
+ protected final Map<String, Indexer> indexers = new HashMap<String, Indexer>();
protected static final Log log = ExoLogger.getLogger("exo.jcr.component.core.IndexerCacheLoader");
@@ -68,7 +68,7 @@
public void register(SearchManager searchManager, SearchManager parentSearchManager, QueryHandler handler,
QueryHandler parentHandler) throws RepositoryConfigurationException
{
- indexers.put(searchManager.getWsId().hashCode(), new Indexer(searchManager, parentSearchManager, handler,
+ indexers.put(searchManager.getWsId(), new Indexer(searchManager, parentSearchManager, handler,
parentHandler));
if (log.isDebugEnabled())
{
@@ -81,7 +81,7 @@
*/
public void store(InternalCacheEntry entry) throws CacheLoaderException
{
- if (entry.getValue() instanceof ChangesFilterListsWrapper && entry.getKey() instanceof ChangesKey)
+ if (entry.getKey() instanceof ChangesKey && entry.getValue() instanceof ChangesFilterListsWrapper)
{
if (log.isDebugEnabled())
{
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/ChangesKey.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/ChangesKey.java 2011-03-14 17:13:48 UTC (rev 4086)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/ChangesKey.java 2011-03-15 09:05:44 UTC (rev 4087)
@@ -18,6 +18,7 @@
*/
package org.exoplatform.services.jcr.impl.core.query.ispn;
+import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.dataflow.persistent.infinispan.CacheKey;
import java.io.IOException;
@@ -34,14 +35,14 @@
*/
public class ChangesKey extends CacheKey
{
- private int wsId;
+ private String wsId;
ChangesKey()
{
super();
}
- ChangesKey(int wsId, String id)
+ ChangesKey(String wsId, String id)
{
super(id);
this.wsId = wsId;
@@ -50,7 +51,7 @@
/**
* @return unique workspace identifier
*/
- public int getWsId()
+ public String getWsId()
{
return wsId;
}
@@ -62,7 +63,9 @@
public void writeExternal(ObjectOutput out) throws IOException
{
super.writeExternal(out);
- out.writeInt(wsId);
+ byte[] buf = wsId.getBytes(Constants.DEFAULT_ENCODING);
+ out.writeInt(buf.length);
+ out.write(buf);
}
/**
@@ -72,7 +75,9 @@
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
{
super.readExternal(in);
- wsId = in.readInt();
+ byte[] buf = new byte[in.readInt()];
+ in.readFully(buf);
+ wsId = new String(buf, Constants.DEFAULT_ENCODING);
}
/**
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/ISPNIndexChangesFilter.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/ISPNIndexChangesFilter.java 2011-03-14 17:13:48 UTC (rev 4086)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/ISPNIndexChangesFilter.java 2011-03-15 09:05:44 UTC (rev 4087)
@@ -69,7 +69,7 @@
/**
* Unique workspace identifier.
*/
- private final int wsId;
+ private final String wsId;
/**
* ISPNIndexChangesFilter constructor.
@@ -81,7 +81,7 @@
{
super(searchManager, parentSearchManager, config, indexingTree, parentIndexingTree, handler, parentHandler, cfm);
- this.wsId = searchManager.getWsId().hashCode();
+ this.wsId = searchManager.getWsId();
ISPNCacheFactory<Serializable, Object> factory = new ISPNCacheFactory<Serializable, Object>(cfm);
config.putParameterValue(PARAM_INFINISPAN_CACHESTORE_CLASS, IndexerCacheStore.class.getName());
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/IndexerCacheStore.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/IndexerCacheStore.java 2011-03-14 17:13:48 UTC (rev 4086)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/IndexerCacheStore.java 2011-03-15 09:05:44 UTC (rev 4087)
@@ -166,7 +166,7 @@
log.debug("start pushing in-memory state to cache cacheLoader collection");
}
- Map<Integer, ChangesFilterListsWrapper> changesMap = new HashMap<Integer, ChangesFilterListsWrapper>();
+ Map<String, ChangesFilterListsWrapper> changesMap = new HashMap<String, ChangesFilterListsWrapper>();
List<ChangesKey> processedItemKeys = new ArrayList<ChangesKey>();
DataContainer dc = cache.getAdvancedCache().getDataContainer();
@@ -209,7 +209,7 @@
}
// process all lists for each workspace
- for (Entry<Integer, ChangesFilterListsWrapper> changesEntry : changesMap.entrySet())
+ for (Entry<String, ChangesFilterListsWrapper> changesEntry : changesMap.entrySet())
{
// create key based on wsId and generated id
ChangesKey changesKey = new ChangesKey(changesEntry.getKey(), IdGenerator.generate());
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/LocalIndexChangesFilter.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/LocalIndexChangesFilter.java 2011-03-14 17:13:48 UTC (rev 4086)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/LocalIndexChangesFilter.java 2011-03-15 09:05:44 UTC (rev 4087)
@@ -66,7 +66,7 @@
private final Cache<Serializable, Object> cache;
- private final int wsId;
+ private final String wsId;
/**
* LocalIndexChangesFilter constructor.
@@ -78,7 +78,7 @@
{
super(searchManager, parentSearchManager, config, indexingTree, parentIndexingTree, handler, parentHandler, cfm);
- this.wsId = searchManager.getWsId().hashCode();
+ this.wsId = searchManager.getWsId();
ISPNCacheFactory<Serializable, Object> factory = new ISPNCacheFactory<Serializable, Object>(cfm);
config.putParameterValue(PARAM_INFINISPAN_CACHESTORE_CLASS, LocalIndexCacheStore.class.getName());
this.cache = factory.createCache("Indexer_" + searchManager.getWsId(), config);
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheKey.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheKey.java 2011-03-14 17:13:48 UTC (rev 4086)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheKey.java 2011-03-15 09:05:44 UTC (rev 4087)
@@ -27,12 +27,11 @@
/**
* Created by The eXo Platform SAS. <br/>
- * RE
* Base class for WorkspaceCache keys.<br/>
*
* Date: 10.06.2008<br/>
*
- * @author <a href="mailto:peter.nedonosko@exoplatform.com.ua">Peter Nedonosko</a>
+ * @author <a href="mailto:anatoliy.bazko@exoplatform.com.ua">Anatoliy Bazko</a>
* @version $Id: CacheKey.java 2845 2010-07-30 13:29:37Z tolusha $
*/
public abstract class CacheKey implements Externalizable, Comparable<CacheKey>
@@ -86,7 +85,6 @@
/**
* {@inheritDoc}
*/
- @Override
public void writeExternal(ObjectOutput out) throws IOException
{
out.writeInt(hash);
@@ -100,7 +98,6 @@
/**
* {@inheritDoc}
*/
- @Override
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
{
hash = in.readInt();
@@ -109,7 +106,7 @@
in.readFully(buf);
fullId = new String(buf, Constants.DEFAULT_ENCODING);
}
-
+
/**
* {@inheritDoc}
*/
15 years, 1 month
exo-jcr SVN: r4086 - jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan.
by do-not-reply@jboss.org
Author: tolusha
Date: 2011-03-14 13:13:48 -0400 (Mon, 14 Mar 2011)
New Revision: 4086
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheKey.java
Log:
EXOJCR-834: fix cache key
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheKey.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheKey.java 2011-03-14 16:03:23 UTC (rev 4085)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheKey.java 2011-03-14 17:13:48 UTC (rev 4086)
@@ -48,8 +48,7 @@
public CacheKey(String id)
{
- this.fullId = this.getClass().getSimpleName() + "-" + id;
- this.hash = this.fullId.hashCode();
+ this(id, id.hashCode());
}
public CacheKey(String id, int hash)
15 years, 1 month
exo-jcr SVN: r4085 - in jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone: cluster and 1 other directory.
by do-not-reply@jboss.org
Author: tolusha
Date: 2011-03-14 12:03:23 -0400 (Mon, 14 Mar 2011)
New Revision: 4085
Modified:
jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-infinispan-config.xml
jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-infinispan-indexer.xml
jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-infinispan-lock.xml
jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/test-infinispan-config.xml
jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/test-infinispan-indexer.xml
jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/test-infinispan-lock.xml
Log:
EXOJCR-834: remove "deadlock detection" section, add useLockStriping="false"
Modified: jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-infinispan-config.xml
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-infinispan-config.xml 2011-03-14 15:53:55 UTC (rev 4084)
+++ jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-infinispan-config.xml 2011-03-14 16:03:23 UTC (rev 4085)
@@ -46,7 +46,7 @@
<sync />
</clustering>
- <locking isolationLevel="READ_COMMITTED" lockAcquisitionTimeout="20000" writeSkewCheck="false" concurrencyLevel="500"/>
+ <locking isolationLevel="READ_COMMITTED" lockAcquisitionTimeout="20000" writeSkewCheck="false" concurrencyLevel="500" useLockStriping="false"/>
<transaction transactionManagerLookupClass="org.infinispan.transaction.lookup.JBossStandaloneJTAManagerLookup" syncRollbackPhase="false" syncCommitPhase="false"/>
<jmxStatistics enabled="true"/>
<eviction strategy="LRU" wakeUpInterval="5000" threadPolicy="DEFAULT" maxEntries="1000000"/>
Modified: jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-infinispan-indexer.xml
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-infinispan-indexer.xml 2011-03-14 15:53:55 UTC (rev 4084)
+++ jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-infinispan-indexer.xml 2011-03-14 16:03:23 UTC (rev 4085)
@@ -21,8 +21,8 @@
-->
<infinispan
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:infinispan:config:4.0 http://www.infinispan.org/schemas/infinispan-config-4.0.xsd"
- xmlns="urn:infinispan:config:4.0">
+ xsi:schemaLocation="urn:infinispan:config:4.1 http://www.infinispan.org/schemas/infinispan-config-4.1.xsd"
+ xmlns="urn:infinispan:config:4.1">
<global>
<evictionScheduledExecutor factory="org.infinispan.executors.DefaultScheduledExecutorFactory">
@@ -46,10 +46,9 @@
<sync />
</clustering>
- <locking isolationLevel="READ_COMMITTED" lockAcquisitionTimeout="20000" writeSkewCheck="false" concurrencyLevel="500"/>
+ <locking isolationLevel="READ_COMMITTED" lockAcquisitionTimeout="20000" writeSkewCheck="false" concurrencyLevel="500" useLockStriping="false"/>
<transaction transactionManagerLookupClass="org.infinispan.transaction.lookup.JBossStandaloneJTAManagerLookup" syncRollbackPhase="false" syncCommitPhase="false"/>
<jmxStatistics enabled="true"/>
- <deadlockDetection enabled="true" spinDuration="100"/>
<eviction strategy="NONE"/>
<loaders passivation="false" shared="false" preload="false">
Modified: jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-infinispan-lock.xml
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-infinispan-lock.xml 2011-03-14 15:53:55 UTC (rev 4084)
+++ jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-infinispan-lock.xml 2011-03-14 16:03:23 UTC (rev 4085)
@@ -21,8 +21,8 @@
-->
<infinispan
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:infinispan:config:4.0 http://www.infinispan.org/schemas/infinispan-config-4.0.xsd"
- xmlns="urn:infinispan:config:4.0">
+ xsi:schemaLocation="urn:infinispan:config:4.1 http://www.infinispan.org/schemas/infinispan-config-4.1.xsd"
+ xmlns="urn:infinispan:config:4.1">
<global>
<evictionScheduledExecutor factory="org.infinispan.executors.DefaultScheduledExecutorFactory">
@@ -46,10 +46,9 @@
<sync />
</clustering>
- <locking isolationLevel="READ_COMMITTED" lockAcquisitionTimeout="20000" writeSkewCheck="false" concurrencyLevel="500"/>
+ <locking isolationLevel="READ_COMMITTED" lockAcquisitionTimeout="20000" writeSkewCheck="false" concurrencyLevel="500" useLockStriping="false"/>
<transaction transactionManagerLookupClass="org.infinispan.transaction.lookup.JBossStandaloneJTAManagerLookup" syncRollbackPhase="false" syncCommitPhase="false"/>
<jmxStatistics enabled="true"/>
- <deadlockDetection enabled="true" spinDuration="100"/>
<eviction strategy="NONE"/>
<loaders passivation="false" shared="true" preload="true">
Modified: jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/test-infinispan-config.xml
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/test-infinispan-config.xml 2011-03-14 15:53:55 UTC (rev 4084)
+++ jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/test-infinispan-config.xml 2011-03-14 16:03:23 UTC (rev 4085)
@@ -35,7 +35,7 @@
</global>
<default>
- <locking isolationLevel="READ_COMMITTED" lockAcquisitionTimeout="20000" writeSkewCheck="false" concurrencyLevel="500"/>
+ <locking isolationLevel="READ_COMMITTED" lockAcquisitionTimeout="20000" writeSkewCheck="false" concurrencyLevel="500" useLockStriping="false"/>
<transaction transactionManagerLookupClass="org.infinispan.transaction.lookup.JBossStandaloneJTAManagerLookup" syncRollbackPhase="false" syncCommitPhase="false"/>
<jmxStatistics enabled="true"/>
<eviction strategy="LRU" wakeUpInterval="5000" threadPolicy="DEFAULT" maxEntries="1000000"/>
Modified: jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/test-infinispan-indexer.xml
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/test-infinispan-indexer.xml 2011-03-14 15:53:55 UTC (rev 4084)
+++ jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/test-infinispan-indexer.xml 2011-03-14 16:03:23 UTC (rev 4085)
@@ -21,8 +21,8 @@
-->
<infinispan
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:infinispan:config:4.0 http://www.infinispan.org/schemas/infinispan-config-4.0.xsd"
- xmlns="urn:infinispan:config:4.0">
+ xsi:schemaLocation="urn:infinispan:config:4.1 http://www.infinispan.org/schemas/infinispan-config-4.1.xsd"
+ xmlns="urn:infinispan:config:4.1">
<global>
<evictionScheduledExecutor factory="org.infinispan.executors.DefaultScheduledExecutorFactory">
@@ -35,9 +35,8 @@
</global>
<default>
- <locking isolationLevel="READ_COMMITTED" lockAcquisitionTimeout="20000" writeSkewCheck="false" concurrencyLevel="500"/>
+ <locking isolationLevel="READ_COMMITTED" lockAcquisitionTimeout="20000" writeSkewCheck="false" concurrencyLevel="500" useLockStriping="false"/>
<jmxStatistics enabled="true"/>
- <deadlockDetection enabled="true" spinDuration="100"/>
<eviction strategy="NONE"/>
<transaction transactionManagerLookupClass="org.infinispan.transaction.lookup.JBossStandaloneJTAManagerLookup" syncRollbackPhase="false" syncCommitPhase="false"/>
Modified: jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/test-infinispan-lock.xml
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/test-infinispan-lock.xml 2011-03-14 15:53:55 UTC (rev 4084)
+++ jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/test-infinispan-lock.xml 2011-03-14 16:03:23 UTC (rev 4085)
@@ -21,8 +21,8 @@
-->
<infinispan
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:infinispan:config:4.0 http://www.infinispan.org/schemas/infinispan-config-4.0.xsd"
- xmlns="urn:infinispan:config:4.0">
+ xsi:schemaLocation="urn:infinispan:config:4.1 http://www.infinispan.org/schemas/infinispan-config-4.1.xsd"
+ xmlns="urn:infinispan:config:4.1">
<global>
<evictionScheduledExecutor factory="org.infinispan.executors.DefaultScheduledExecutorFactory">
@@ -35,10 +35,9 @@
</global>
<default>
- <locking isolationLevel="READ_COMMITTED" lockAcquisitionTimeout="20000" writeSkewCheck="false" concurrencyLevel="500"/>
+ <locking isolationLevel="READ_COMMITTED" lockAcquisitionTimeout="20000" writeSkewCheck="false" concurrencyLevel="500" useLockStriping="false"/>
<transaction transactionManagerLookupClass="org.infinispan.transaction.lookup.JBossStandaloneJTAManagerLookup" syncRollbackPhase="false" syncCommitPhase="false"/>
<jmxStatistics enabled="true"/>
- <deadlockDetection enabled="true" spinDuration="100"/>
<eviction strategy="NONE"/>
<loaders passivation="false" shared="true" preload="true">
15 years, 1 month
exo-jcr SVN: r4084 - in jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl: dataflow/persistent/infinispan and 1 other directory.
by do-not-reply@jboss.org
Author: tolusha
Date: 2011-03-14 11:53:55 -0400 (Mon, 14 Mar 2011)
New Revision: 4084
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/ChangesKey.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/IndexInfosKey.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/IndexUpdateKey.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheId.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheKey.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheNodesId.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CachePropsId.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheQPath.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheRefsId.java
Log:
EXOJCR-834: Make ChangesKey to be Externalizable
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/ChangesKey.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/ChangesKey.java 2011-03-14 15:43:30 UTC (rev 4083)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/ChangesKey.java 2011-03-14 15:53:55 UTC (rev 4084)
@@ -20,6 +20,10 @@
import org.exoplatform.services.jcr.impl.dataflow.persistent.infinispan.CacheKey;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+
/**
* Created by The eXo Platform SAS.
*
@@ -30,9 +34,12 @@
*/
public class ChangesKey extends CacheKey
{
- private static final long serialVersionUID = 8597037282459379392L;
+ private int wsId;
- private final int wsId;
+ ChangesKey()
+ {
+ super();
+ }
ChangesKey(int wsId, String id)
{
@@ -52,6 +59,26 @@
* {@inheritDoc}
*/
@Override
+ public void writeExternal(ObjectOutput out) throws IOException
+ {
+ super.writeExternal(out);
+ out.writeInt(wsId);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
+ {
+ super.readExternal(in);
+ wsId = in.readInt();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
public boolean equals(Object obj)
{
if (obj instanceof ChangesKey)
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/IndexInfosKey.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/IndexInfosKey.java 2011-03-14 15:43:30 UTC (rev 4083)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/IndexInfosKey.java 2011-03-14 15:53:55 UTC (rev 4084)
@@ -30,6 +30,10 @@
*/
public class IndexInfosKey extends CacheKey
{
+ IndexInfosKey()
+ {
+ super();
+ }
IndexInfosKey(String id)
{
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/IndexUpdateKey.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/IndexUpdateKey.java 2011-03-14 15:43:30 UTC (rev 4083)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/IndexUpdateKey.java 2011-03-14 15:53:55 UTC (rev 4084)
@@ -31,6 +31,11 @@
public class IndexUpdateKey extends CacheKey
{
+ IndexUpdateKey()
+ {
+ super();
+ }
+
IndexUpdateKey(String id)
{
super(id);
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheId.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheId.java 2011-03-14 15:43:30 UTC (rev 4083)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheId.java 2011-03-14 15:53:55 UTC (rev 4084)
@@ -18,6 +18,7 @@
*/
package org.exoplatform.services.jcr.impl.dataflow.persistent.infinispan;
+
/**
*
* @author <a href="anatoliy.bazko(a)exoplatform.org">Anatoliy Bazko</a>
@@ -26,11 +27,11 @@
public class CacheId extends CacheKey
{
- /**
- * CacheId constructor.
- *
- * @param id
- */
+ CacheId()
+ {
+ super();
+ }
+
CacheId(String id)
{
super(id);
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheKey.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheKey.java 2011-03-14 15:43:30 UTC (rev 4083)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheKey.java 2011-03-14 15:53:55 UTC (rev 4084)
@@ -18,8 +18,13 @@
*/
package org.exoplatform.services.jcr.impl.dataflow.persistent.infinispan;
-import java.io.Serializable;
+import org.exoplatform.services.jcr.impl.Constants;
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+
/**
* Created by The eXo Platform SAS. <br/>
* RE
@@ -30,13 +35,17 @@
* @author <a href="mailto:peter.nedonosko@exoplatform.com.ua">Peter Nedonosko</a>
* @version $Id: CacheKey.java 2845 2010-07-30 13:29:37Z tolusha $
*/
-public abstract class CacheKey implements Serializable, Comparable<CacheKey>
+public abstract class CacheKey implements Externalizable, Comparable<CacheKey>
{
- protected final String fullId;
+ protected String fullId;
- protected final int hash;
+ protected int hash;
+ public CacheKey()
+ {
+ }
+
public CacheKey(String id)
{
this.fullId = this.getClass().getSimpleName() + "-" + id;
@@ -46,7 +55,7 @@
public CacheKey(String id, int hash)
{
this.fullId = this.getClass().getSimpleName() + "-" + id;
- this.hash = this.fullId.hashCode();
+ this.hash = hash;
}
/**
@@ -74,6 +83,33 @@
{
return fullId.compareTo(o.fullId);
}
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void writeExternal(ObjectOutput out) throws IOException
+ {
+ out.writeInt(hash);
+
+ byte[] buf = fullId.getBytes(Constants.DEFAULT_ENCODING);
+ out.writeInt(buf.length);
+ out.write(buf);
+
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
+ {
+ hash = in.readInt();
+
+ byte[] buf = new byte[in.readInt()];
+ in.readFully(buf);
+ fullId = new String(buf, Constants.DEFAULT_ENCODING);
+ }
/**
* {@inheritDoc}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheNodesId.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheNodesId.java 2011-03-14 15:43:30 UTC (rev 4083)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheNodesId.java 2011-03-14 15:53:55 UTC (rev 4084)
@@ -31,6 +31,11 @@
public class CacheNodesId extends CacheKey
{
+ CacheNodesId()
+ {
+ super();
+ }
+
CacheNodesId(String id)
{
super(id);
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CachePropsId.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CachePropsId.java 2011-03-14 15:43:30 UTC (rev 4083)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CachePropsId.java 2011-03-14 15:53:55 UTC (rev 4084)
@@ -31,6 +31,11 @@
public class CachePropsId extends CacheKey
{
+ CachePropsId()
+ {
+ super();
+ }
+
CachePropsId(String id)
{
super(id);
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheQPath.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheQPath.java 2011-03-14 15:43:30 UTC (rev 4083)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheQPath.java 2011-03-14 15:53:55 UTC (rev 4084)
@@ -35,6 +35,11 @@
*/
class CacheQPath extends CacheKey
{
+ CacheQPath()
+ {
+ super();
+ }
+
CacheQPath(String parentId, QPath path, ItemType itemType)
{
this(parentId, path.getEntries()[path.getEntries().length - 1], itemType);
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheRefsId.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheRefsId.java 2011-03-14 15:43:30 UTC (rev 4083)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheRefsId.java 2011-03-14 15:53:55 UTC (rev 4084)
@@ -30,6 +30,10 @@
*/
public class CacheRefsId extends CacheKey
{
+ CacheRefsId()
+ {
+ super();
+ }
CacheRefsId(String id)
{
15 years, 1 month
exo-jcr SVN: r4083 - in jcr/trunk/exo.jcr.component.core: src/main/java/org/exoplatform/services/jcr/impl/core/version and 1 other directory.
by do-not-reply@jboss.org
Author: sergiykarpenko
Date: 2011-03-14 11:43:30 -0400 (Mon, 14 Mar 2011)
New Revision: 4083
Modified:
jcr/trunk/exo.jcr.component.core/pom.xml
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/ItemDataRestoreVisitor.java
Log:
EXOJCR-1045: testRestoreRelPath() fixed
Modified: jcr/trunk/exo.jcr.component.core/pom.xml
===================================================================
--- jcr/trunk/exo.jcr.component.core/pom.xml 2011-03-14 15:38:59 UTC (rev 4082)
+++ jcr/trunk/exo.jcr.component.core/pom.xml 2011-03-14 15:43:30 UTC (rev 4083)
@@ -1,781 +1,778 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (C) 2009 eXo Platform SAS.
-
- This is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of
- the License, or (at your option) any later version.
-
- This software is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this software; if not, write to the Free
- Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.exoplatform.jcr</groupId>
- <artifactId>jcr-parent</artifactId>
- <version>1.14.0-CR1-SNAPSHOT</version>
- </parent>
- <artifactId>exo.jcr.component.core</artifactId>
- <name>eXo JCR :: Component :: Core Service</name>
- <description>eXo JCR Service core component</description>
- <properties>
- <jcr.test.configuration.file>/conf/standalone/test-configuration.xml</jcr.test.configuration.file>
- <jbosscache.shareable>true</jbosscache.shareable>
- </properties>
- <dependencies>
- <dependency>
- <groupId>javax.jcr</groupId>
- <artifactId>jcr</artifactId>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.kernel</groupId>
- <artifactId>exo.kernel.container</artifactId>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.kernel</groupId>
- <artifactId>exo.kernel.commons</artifactId>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.kernel</groupId>
- <artifactId>exo.kernel.commons.test</artifactId>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.kernel</groupId>
- <artifactId>exo.kernel.component.command</artifactId>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.kernel</groupId>
- <artifactId>exo.kernel.component.common</artifactId>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.kernel</groupId>
- <artifactId>exo.kernel.component.cache</artifactId>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.core</groupId>
- <artifactId>exo.core.component.organization.api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.core</groupId>
- <artifactId>exo.core.component.document</artifactId>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.core</groupId>
- <artifactId>exo.core.component.security.core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.ws</groupId>
- <artifactId>exo.ws.commons</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.exoplatform.jcr</groupId>
- <artifactId>exo.jcr.cluster.testclient</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.lucene</groupId>
- <artifactId>lucene-core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.lucene</groupId>
- <artifactId>lucene-spellchecker</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.lucene</groupId>
- <artifactId>lucene-memory</artifactId>
- </dependency>
- <dependency>
- <groupId>com.sun.xml.stream</groupId>
- <artifactId>sjsxp</artifactId>
- </dependency>
- <dependency>
- <groupId>commons-dbcp</groupId>
- <artifactId>commons-dbcp</artifactId>
- <exclusions>
- <exclusion>
- <groupId>xerces</groupId>
- <artifactId>xercesImpl</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>commons-pool</groupId>
- <artifactId>commons-pool</artifactId>
- </dependency>
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- </dependency>
- <dependency>
- <groupId>commons-chain</groupId>
- <artifactId>commons-chain</artifactId>
- </dependency>
- <dependency>
- <groupId>xml-apis</groupId>
- <artifactId>xml-apis</artifactId>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.jibx</groupId>
- <artifactId>jibx-run</artifactId>
- </dependency>
- <dependency>
- <groupId>picocontainer</groupId>
- <artifactId>picocontainer</artifactId>
- </dependency>
- <dependency>
- <groupId>javax.resource</groupId>
- <artifactId>connector-api</artifactId>
- </dependency>
- <dependency>
- <groupId>javax.transaction</groupId>
- <artifactId>jta</artifactId>
- </dependency>
- <dependency>
- <groupId>concurrent</groupId>
- <artifactId>concurrent</artifactId>
- </dependency>
- <dependency>
- <groupId>commons-collections</groupId>
- <artifactId>commons-collections</artifactId>
- </dependency>
- <dependency>
- <groupId>commons-beanutils</groupId>
- <artifactId>commons-beanutils</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jgroups</groupId>
- <artifactId>jgroups</artifactId>
- </dependency>
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </dependency>
- <dependency>
- <groupId>xpp3</groupId>
- <artifactId>xpp3</artifactId>
- </dependency>
- <dependency>
- <groupId>jboss.jbossts</groupId>
- <artifactId>jbossjts</artifactId>
- </dependency>
- <dependency>
- <groupId>jboss.jbossts</groupId>
- <artifactId>jbossts-common</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.ws.commons</groupId>
- <artifactId>ws-commons-util</artifactId>
- <exclusions>
- <exclusion>
- <groupId>xml-apis</groupId>
- <artifactId>xml-apis</artifactId>
- </exclusion>
- <exclusion>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <!-- TCK binaries and deps for repo stub, some eXo API test -->
- <dependency>
- <groupId>org.jboss.cache</groupId>
- <artifactId>jbosscache-core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.infinispan</groupId>
- <artifactId>infinispan-core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.infinispan</groupId>
- <artifactId>infinispan-cachestore-jdbc</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.jackrabbit</groupId>
- <artifactId>jackrabbit-jcr-tests</artifactId>
- <classifier>sources</classifier>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </dependency>
- <!-- ===== Databases JDBC support for tests ===== -->
- <dependency>
- <groupId>org.hsqldb</groupId>
- <artifactId>hsqldb</artifactId>
- <scope>test</scope>
- </dependency>
- <!-- For MySQL support -->
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>5.1.14</version>
- <scope>test</scope>
- </dependency>
- <!-- For PostgresSQL support -->
- <dependency>
- <groupId>postgresql</groupId>
- <artifactId>postgresql</artifactId>
- <version>8.3-606.jdbc3</version>
- <scope>test</scope>
- </dependency>
- <!-- For Oracle 10g support (local-jcr repository) -->
- <!-- dependency>
- <groupId>ojdbc</groupId>
- <artifactId>ojdbc</artifactId>
- <version>14</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>ojdbc</groupId>
- <artifactId>orai18n</artifactId>
- <version>14</version>
- <scope>test</scope>
- </dependency -->
- <!-- For IBM DB2 support (local-jcr repository) -->
- <!-- dependency>
- <groupId>com.ibm.db2</groupId>
- <artifactId>db2jcc</artifactId>
- <version>9.7</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>com.ibm.db2</groupId>
- <artifactId>db2jcc_license_cu</artifactId>
- <version>9.7</version>
- <scope>test</scope>
- </dependency -->
- <!-- For MS SQL 7/2000/2005 and Sybase ASE/Anywhere support (jTDS driver) -->
- <!-- dependency>
- <groupId>net.sourceforge.jtds</groupId>
- <artifactId>jtds</artifactId>
- <version>1.2</version>
- <scope>test</scope>
- </dependency -->
- <!-- For MS SQL 2005 support (Microsoft JDBC driver) (local-jcr repository) -->
- <!-- dependency>
- <groupId>com.microsoft.sqlserver</groupId>
- <artifactId>sqljdbc</artifactId>
- <version>9.0</version>
- <scope>test</scope>
- </dependency -->
- <!-- dependency>
- <groupId>com.microsoft</groupId>
- <artifactId>sqljdbc</artifactId>
- <version>3.0.1301.101</version>
- <scope>test</scope>
- </dependency -->
- <!-- For Apache Derby support (aka JavaDB) -->
- <!-- dependency>
- <groupId>org.apache.derby</groupId>
- <artifactId>derby</artifactId>
- <version>10.2.2.0</version>
- <scope>test</scope>
- </dependency -->
- <!-- H2 Database (not supported now) -->
- <!-- dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
- <version>1.2.132</version>
- </dependency-->
- <!-- Ingres Database (local repository) -->
- <!-- dependency>
- <groupId>com.ingres.jdbc</groupId>
- <artifactId>iijdbc</artifactId>
- <version>9.2</version>
- <scope>test</scope>
- </dependency -->
- <!-- For Sybase ASE/Anywhere support (jConnect driver) (local-jcr repository) -->
- <!-- dependency>
- <groupId>com.sybase.jdbc3.jdbc</groupId>
- <artifactId>jconn3</artifactId>
- <version>6.05</version>
- <scope>test</scope>
- </dependency -->
- </dependencies>
- <!-- ======================================================================= -->
- <build>
- <resources>
- <resource>
- <directory>src/main/resources</directory>
- <includes>
- <include>**/*.xml</include>
- <include>**/*.sql</include>
- <include>**/*.dtd</include>
- </includes>
- </resource>
- </resources>
- <testResources>
- <testResource>
- <directory>src/test/resources</directory>
- <includes>
- <include>**/*.properties</include>
- <include>login.conf</include>
- <include>**/*.xml</include>
- <include>**/*.drl</include>
- <include>**/*.vm</include>
- <include>**/*.doc</include>
- <include>**/*.xls</include>
- <include>**/*.ppt</include>
- <include>**/*.txt</include>
- <include>**/*.tiff</include>
- <include>**/*.pdf</include>
- <include>**/*.dtd</include>
- <include>**/*.policy</include>
- </includes>
- </testResource>
- </testResources>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>unpack</id>
- <phase>generate-test-sources</phase>
- <goals>
- <goal>unpack</goal>
- </goals>
- <configuration>
- <artifactItems>
- <artifactItem>
- <groupId>org.apache.jackrabbit</groupId>
- <artifactId>jackrabbit-jcr-tests</artifactId>
- <classifier>sources</classifier>
- <type>jar</type>
- <overWrite>false</overWrite>
- </artifactItem>
- </artifactItems>
- <outputDirectory>${project.build.testSourceDirectory}</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <argLine>${env.MAVEN_OPTS} -Djava.security.manager=org.exoplatform.commons.test.TestSecurityManager -Djava.security.policy=${project.build.directory}/test-classes/test.policy</argLine>
- <systemProperties>
- <property>
- <name>jcr.test.configuration.file</name>
- <value>${jcr.test.configuration.file}</value>
- </property>
- <property>
- <name>emma.coverage.out.file</name>
- <value>target/emma/coverage.ec</value>
- </property>
- <property>
- <name>jbosscache-shareable</name>
- <value>${jbosscache.shareable}</value>
- </property>
- <!-- Uncomment the line below if you want to enable the statistics -->
- <!--property>
- <name>JDBCWorkspaceDataContainer.statistics.enabled</name>
- <value>true</value>
- </property-->
- </systemProperties>
- <includes>
- <include>org/exoplatform/services/jcr/api/**/Test*.java</include>
- <include>org/exoplatform/services/jcr/usecases/**/Test*.java</include>
- <include>org/exoplatform/services/jcr/usecases/**/*Test.java</include>
- <include>org/exoplatform/services/jcr/impl/**/Test*.java</include>
- </includes>
- <excludes>
- <exclude>org/exoplatform/services/jcr/**/api/TestAll.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/TestErrorMultithreading.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/TestRollbackBigFiles.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/api/**/TestVersionRestore.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/impl/**/TestWorkspaceManagement.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/impl/**/TestWorkspaceRestore.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/impl/**/TestRepositoryManagement.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/impl/**/TestSessionCleaner.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/impl/**/Base*.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/impl/**/TestJCRSerializationStream.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/impl/**/TestJCRSerializationVersionRestore.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/usecases/**/RemoveSameNameSiblingTest.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/usecases/**/TestQueryWithNumberAndSpace.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/usecases/BaseUsecasesTest.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/impl/**/SQLBenchmarkTest.java</exclude>
- </excludes>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.jibx</groupId>
- <artifactId>maven-jibx-plugin</artifactId>
- <configuration>
- <directory>src/main/resources</directory>
- <includes>
- <includes>binding*.xml</includes>
- </includes>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>bind</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <id>delete-sources</id>
- <phase>process-sources</phase>
- <configuration>
- <tasks>
- <echo>Remove files that have been customized</echo>
- <delete>
- <fileset dir="${project.build.directory}/generated-sources/javacc/org/exoplatform/services/jcr/impl/core/query">
- <include name="sql/ASTLiteral.java" />
- <include name="sql/ASTContainsExpression.java" />
- <include name="sql/ASTPredicate.java" />
- <include name="sql/ASTIdentifier.java" />
- <include name="xpath/SimpleNode.java" />
- </fileset>
- </delete>
- </tasks>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- <execution>
- <id>prepare-test-policy</id>
- <phase>process-test-resources</phase>
- <configuration>
- <tasks>
- <echo>Creating Access Policy for tests</echo>
- <makeurl file="${settings.localRepository}" property="localRepositoryURL" />
- <makeurl file="${project.build.outputDirectory}" property="outputDirectoryURL" />
- <makeurl file="${project.build.testOutputDirectory}" property="testOutputDirectoryURL" />
- <copy todir="${project.build.testOutputDirectory}" overwrite="true">
- <fileset dir="${project.basedir}/src/test/resources/">
- <include name="test.policy" />
- </fileset>
- <filterset>
- <filter token="MAVEN_REPO" value="${localRepositoryURL}" />
- <filter token="MAIN_CLASSES" value="${outputDirectoryURL}" />
- <filter token="TEST_CLASSES" value="${testOutputDirectoryURL}" />
- </filterset>
- </copy>
- </tasks>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>ant</groupId>
- <artifactId>ant-optional</artifactId>
- <version>1.5.3-1</version>
- </dependency>
- </dependencies>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>javacc-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>fulltext</id>
- <configuration>
- <sourceDirectory>${basedir}/src/main/javacc/fulltext</sourceDirectory>
- </configuration>
- <goals>
- <goal>jjtree-javacc</goal>
- </goals>
- </execution>
- <execution>
- <id>sql</id>
- <configuration>
- <sourceDirectory>${basedir}/src/main/javacc/sql</sourceDirectory>
- </configuration>
- <goals>
- <goal>jjtree-javacc</goal>
- </goals>
- </execution>
- <execution>
- <id>xpath</id>
- <configuration>
- <sourceDirectory>${basedir}/src/main/javacc/xpath</sourceDirectory>
- </configuration>
- <goals>
- <goal>jjtree-javacc</goal>
- </goals>
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>net.java.dev.javacc</groupId>
- <artifactId>javacc</artifactId>
- <version>3.2</version>
- </dependency>
- </dependencies>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>taglist-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
- <profiles>
- <!-- *** -->
- <!-- TCK -->
- <!-- *** -->
- <!-- Use "mvn -Prun-tck" to launch only them -->
- <profile>
- <id>run-tck</id>
- <build>
- <testResources>
- <testResource>
- <directory>src/TCK/java</directory>
- <includes>
- <include>**/org/apache/jackrabbit/test/api/nodetype/spec/*.txt</include>
- </includes>
- </testResource>
- </testResources>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <!-- TAKE CARE TO UPDATE ALSO run-all PROFILE -->
- <argLine>${env.MAVEN_OPTS} -Djava.security.manager=org.exoplatform.commons.test.TestSecurityManager -Djava.security.policy=${project.build.directory}/test-classes/test.policy</argLine>
- <systemProperties>
- <property>
- <name>jcr.test.configuration.file</name>
- <value>${jcr.test.configuration.file}</value>
- </property>
- <property>
- <name>emma.coverage.out.file</name>
- <value>target/emma/coverage.ec</value>
- </property>
- <property>
- <name>jbosscache-shareable</name>
- <value>${jbosscache.shareable}</value>
- </property>
- <property>
- <name>known.issues</name>
- <value>org.apache.jackrabbit.test.api.SetValueConstraintViolationExceptionTest#testBooleanProperty
- org.apache.jackrabbit.test.api.SetValueConstraintViolationExceptionTest#testMultipleBooleanProperty
- org.apache.jackrabbit.test.api.version.RestoreTest#testRestoreName
- org.apache.jackrabbit.test.api.version.RestoreTest#testRestoreOrder
- org.apache.jackrabbit.test.api.version.RestoreTest#testRestoreOrder2
- org.apache.jackrabbit.test.api.nodetype.PropertyDefTest#testIsRequiredType
- org.apache.jackrabbit.test.api.SetPropertyConstraintViolationExceptionTest#testBooleanProperty
- org.apache.jackrabbit.test.api.nodetype.PredefinedNodeTypeTest#testShareable
- org.apache.jackrabbit.test.api.nodetype.PredefinedNodeTypeTest#testSimpleVersionable
- org.apache.jackrabbit.test.api.nodetype.PredefinedNodeTypeTest#testActivity
- org.apache.jackrabbit.test.api.nodetype.PredefinedNodeTypeTest#testConfiguration
- org.apache.jackrabbit.test.api.nodetype.PredefinedNodeTypeTest#testVersionable
- org.apache.jackrabbit.test.api.nodetype.PredefinedNodeTypeTest#testVersion
- org.apache.jackrabbit.test.api.NamespaceRegistryTest#testRegisterNamespace</value>
- </property>
- <!-- Uncomment the line below if you want to enable the statistics -->
- <!--property>
- <name>JDBCWorkspaceDataContainer.statistics.enabled</name>
- <value>true</value>
- </property-->
- </systemProperties>
- <includes>
- <include>org/apache/jackrabbit/test/api/*Test.java</include>
- <include>org/apache/jackrabbit/test/api/observation/*Test.java</include>
- <include>org/apache/jackrabbit/test/api/lock/*Test.java</include>
- <include>org/apache/jackrabbit/test/api/nodetype/*Test.java</include>
- <include>org/apache/jackrabbit/test/api/query/*Test.java</include>
- <include>org/apache/jackrabbit/test/api/version/*Test.java</include>
- </includes>
- <excludes>
- <exclude>org/apache/jackrabbit/test/api/TestAll.java</exclude>
- <exclude>org/apache/jackrabbit/test/api/**/Abstract*.java</exclude>
- <exclude>org/apache/jackrabbit/test/api/**/FrozenNodeTest.java</exclude>
- <exclude>org/exoplatform/services/jcr/impl/core/security/Test*.java</exclude>
- </excludes>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- <!-- *** -->
- <!-- ALL -->
- <!-- *** -->
- <!-- Use "mvn -Prun-all" to launch default tests and TCK -->
- <profile>
- <id>run-all</id>
- <build>
- <testResources>
- <testResource>
- <directory>src/TCK/java</directory>
- <includes>
- <include>**/org/apache/jackrabbit/test/api/nodetype/spec/*.txt</include>
- </includes>
- </testResource>
- </testResources>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <!-- TAKE CARE TO UPDATE ALSO run-tck PROFILE -->
- <argLine>${env.MAVEN_OPTS} -Djava.security.manager=org.exoplatform.commons.test.TestSecurityManager -Djava.security.policy=${project.build.directory}/test-classes/test.policy</argLine>
- <systemProperties>
- <property>
- <name>jcr.test.configuration.file</name>
- <value>${jcr.test.configuration.file}</value>
- </property>
- <property>
- <name>emma.coverage.out.file</name>
- <value>target/emma/coverage.ec</value>
- </property>
- <property>
- <name>jbosscache-shareable</name>
- <value>${jbosscache.shareable}</value>
- </property>
- <property>
- <name>known.issues</name>
- <value>org.apache.jackrabbit.test.api.SetValueConstraintViolationExceptionTest#testBooleanProperty
- org.apache.jackrabbit.test.api.SetValueConstraintViolationExceptionTest#testMultipleBooleanProperty
- org.apache.jackrabbit.test.api.version.RestoreTest#testRestoreName
- org.apache.jackrabbit.test.api.version.RestoreTest#testRestoreOrder
- org.apache.jackrabbit.test.api.version.RestoreTest#testRestoreOrder2
- org.apache.jackrabbit.test.api.nodetype.PropertyDefTest#testIsRequiredType
- org.apache.jackrabbit.test.api.SetPropertyConstraintViolationExceptionTest#testBooleanProperty
- org.apache.jackrabbit.test.api.nodetype.PredefinedNodeTypeTest#testShareable
- org.apache.jackrabbit.test.api.nodetype.PredefinedNodeTypeTest#testSimpleVersionable
- org.apache.jackrabbit.test.api.nodetype.PredefinedNodeTypeTest#testActivity
- org.apache.jackrabbit.test.api.nodetype.PredefinedNodeTypeTest#testConfiguration
- org.apache.jackrabbit.test.api.nodetype.PredefinedNodeTypeTest#testVersionable
- org.apache.jackrabbit.test.api.nodetype.PredefinedNodeTypeTest#testVersion
- org.apache.jackrabbit.test.api.NamespaceRegistryTest#testRegisterNamespace</value>
- </property>
- <!-- Uncomment the line below if you want to enable the statistics -->
- <!--property>
- <name>JDBCWorkspaceDataContainer.statistics.enabled</name>
- <value>true</value>
- </property-->
- </systemProperties>
- <includes>
- <!-- From default tests -->
- <include>org/exoplatform/services/jcr/api/**/Test*.java</include>
- <include>org/exoplatform/services/jcr/usecases/**/Test*.java</include>
- <include>org/exoplatform/services/jcr/usecases/**/*Test.java</include>
- <include>org/exoplatform/services/jcr/impl/**/Test*.java</include>
- <!-- From TCK -->
- <include>org/apache/jackrabbit/test/api/*Test.java</include>
- <include>org/apache/jackrabbit/test/api/observation/*Test.java</include>
- <include>org/apache/jackrabbit/test/api/lock/*Test.java</include>
- <include>org/apache/jackrabbit/test/api/nodetype/*Test.java</include>
- <include>org/apache/jackrabbit/test/api/query/*Test.java</include>
- <include>org/apache/jackrabbit/test/api/version/*Test.java</include>
- </includes>
- <excludes>
- <!-- From default tests -->
- <exclude>org/exoplatform/services/jcr/**/TestQueryUsecases.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/TestRollbackBigFiles.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/TestImport.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/TestRollbackBigFiles.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/TestErrorMultithreading.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/api/TestAll.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/api/**/TestSameNameItems.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/api/**/TestVersionRestore.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/api/**/TestSameNameItems.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/api/**/TestVersionRestore.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/impl/**/TestWorkspaceManagement.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/impl/**/TestWorkspaceRestore.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/impl/**/TestRepositoryManagement.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/impl/**/TestSaveConfiguration.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/impl/**/ValueStoragePluginTest.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/impl/**/TestSessionCleaner.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/impl/**/Base*.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/impl/**/TestJCRSerializationStream.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/impl/**/TestJCRSerializationVersionRestore.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/usecases/**/RemoveSameNameSiblingTest.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/usecases/**/TestQueryWithNumberAndSpace.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/usecases/BaseUsecasesTest.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/usecases/**/ExportWorkspaceSystemViewTest.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/impl/**/TestLinkedWorkspaceStorageCacheMetrics.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/impl/**/SQLBenchmarkTest.java</exclude>
- <exclude>org/exoplatform/services/jcr/**/impl/**/TestCleanableFileStreamValueData.java</exclude>
- <!-- From TCK -->
- <exclude>org/apache/jackrabbit/test/api/TestAll.java</exclude>
- <exclude>org/apache/jackrabbit/test/api/**/Abstract*.java</exclude>
- <exclude>org/apache/jackrabbit/test/api/**/FrozenNodeTest.java</exclude>
- </excludes>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>run-devtests</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <phase>test</phase>
- <forkMode>never</forkMode>
- <!-- argLine>${env.MAVEN_OPTS}</argLine -->
- <goals>
- <goal>test</goal>
- </goals>
- <systemProperties>
- <property>
- <name>jcr.test.configuration.file</name>
- <value>${jcr.test.configuration.file}</value>
- </property>
- <property>
- <name>jbosscache-shareable</name>
- <value>${jbosscache.shareable}</value>
- </property>
- <!-- Uncomment the line below if you want to enable the statistics -->
- <!--property>
- <name>JDBCWorkspaceDataContainer.statistics.enabled</name>
- <value>true</value>
- </property-->
- </systemProperties>
- <includes>
- <include>**/**/reading_/Test*.java</include>
- <include>**/**/writing_/Test*.java</include>
- <include>**/**/TestJBossCacheWorkspaceStorageCache_.java</include>
- <exclude>**/**/TestCleanableFileStreamValueData.java</exclude>
- <include>**/**/TestSVNodeDataOptimization_.java</include>
- <include>**/**/TestValueConstraints.java</include>
- </includes>
- <excludes>
- <exclude>org/exoplatform/services/jcr/impl/core/security/Test*.java</exclude>
- </excludes>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Copyright (C) 2009 eXo Platform SAS.
+
+ This is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2.1 of
+ the License, or (at your option) any later version.
+
+ This software is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this software; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.exoplatform.jcr</groupId>
+ <artifactId>jcr-parent</artifactId>
+ <version>1.14.0-CR1-SNAPSHOT</version>
+ </parent>
+ <artifactId>exo.jcr.component.core</artifactId>
+ <name>eXo JCR :: Component :: Core Service</name>
+ <description>eXo JCR Service core component</description>
+ <properties>
+ <jcr.test.configuration.file>/conf/standalone/test-configuration.xml</jcr.test.configuration.file>
+ <jbosscache.shareable>true</jbosscache.shareable>
+ </properties>
+ <dependencies>
+ <dependency>
+ <groupId>javax.jcr</groupId>
+ <artifactId>jcr</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.kernel</groupId>
+ <artifactId>exo.kernel.container</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.kernel</groupId>
+ <artifactId>exo.kernel.commons</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.kernel</groupId>
+ <artifactId>exo.kernel.commons.test</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.kernel</groupId>
+ <artifactId>exo.kernel.component.command</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.kernel</groupId>
+ <artifactId>exo.kernel.component.common</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.kernel</groupId>
+ <artifactId>exo.kernel.component.cache</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.core</groupId>
+ <artifactId>exo.core.component.organization.api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.core</groupId>
+ <artifactId>exo.core.component.document</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.core</groupId>
+ <artifactId>exo.core.component.security.core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.ws</groupId>
+ <artifactId>exo.ws.commons</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.exoplatform.jcr</groupId>
+ <artifactId>exo.jcr.cluster.testclient</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.lucene</groupId>
+ <artifactId>lucene-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.lucene</groupId>
+ <artifactId>lucene-spellchecker</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.lucene</groupId>
+ <artifactId>lucene-memory</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.xml.stream</groupId>
+ <artifactId>sjsxp</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-dbcp</groupId>
+ <artifactId>commons-dbcp</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>xerces</groupId>
+ <artifactId>xercesImpl</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>commons-pool</groupId>
+ <artifactId>commons-pool</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-chain</groupId>
+ <artifactId>commons-chain</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>xml-apis</groupId>
+ <artifactId>xml-apis</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jibx</groupId>
+ <artifactId>jibx-run</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>picocontainer</groupId>
+ <artifactId>picocontainer</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.resource</groupId>
+ <artifactId>connector-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.transaction</groupId>
+ <artifactId>jta</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>concurrent</groupId>
+ <artifactId>concurrent</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-beanutils</groupId>
+ <artifactId>commons-beanutils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jgroups</groupId>
+ <artifactId>jgroups</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>xpp3</groupId>
+ <artifactId>xpp3</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>jboss.jbossts</groupId>
+ <artifactId>jbossjts</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>jboss.jbossts</groupId>
+ <artifactId>jbossts-common</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ws.commons</groupId>
+ <artifactId>ws-commons-util</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>xml-apis</groupId>
+ <artifactId>xml-apis</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <!-- TCK binaries and deps for repo stub, some eXo API test -->
+ <dependency>
+ <groupId>org.jboss.cache</groupId>
+ <artifactId>jbosscache-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.infinispan</groupId>
+ <artifactId>infinispan-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.infinispan</groupId>
+ <artifactId>infinispan-cachestore-jdbc</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>jackrabbit-jcr-tests</artifactId>
+ <classifier>sources</classifier>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ </dependency>
+ <!-- ===== Databases JDBC support for tests ===== -->
+ <dependency>
+ <groupId>org.hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <!-- For MySQL support -->
+ <dependency>
+ <groupId>mysql</groupId>
+ <artifactId>mysql-connector-java</artifactId>
+ <version>5.1.14</version>
+ <scope>test</scope>
+ </dependency>
+ <!-- For PostgresSQL support -->
+ <dependency>
+ <groupId>postgresql</groupId>
+ <artifactId>postgresql</artifactId>
+ <version>8.3-606.jdbc3</version>
+ <scope>test</scope>
+ </dependency>
+ <!-- For Oracle 10g support (local-jcr repository) -->
+ <!-- dependency>
+ <groupId>ojdbc</groupId>
+ <artifactId>ojdbc</artifactId>
+ <version>14</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>ojdbc</groupId>
+ <artifactId>orai18n</artifactId>
+ <version>14</version>
+ <scope>test</scope>
+ </dependency -->
+ <!-- For IBM DB2 support (local-jcr repository) -->
+ <!-- dependency>
+ <groupId>com.ibm.db2</groupId>
+ <artifactId>db2jcc</artifactId>
+ <version>9.7</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.ibm.db2</groupId>
+ <artifactId>db2jcc_license_cu</artifactId>
+ <version>9.7</version>
+ <scope>test</scope>
+ </dependency -->
+ <!-- For MS SQL 7/2000/2005 and Sybase ASE/Anywhere support (jTDS driver) -->
+ <!-- dependency>
+ <groupId>net.sourceforge.jtds</groupId>
+ <artifactId>jtds</artifactId>
+ <version>1.2</version>
+ <scope>test</scope>
+ </dependency -->
+ <!-- For MS SQL 2005 support (Microsoft JDBC driver) (local-jcr repository) -->
+ <!-- dependency>
+ <groupId>com.microsoft.sqlserver</groupId>
+ <artifactId>sqljdbc</artifactId>
+ <version>9.0</version>
+ <scope>test</scope>
+ </dependency -->
+ <!-- dependency>
+ <groupId>com.microsoft</groupId>
+ <artifactId>sqljdbc</artifactId>
+ <version>3.0.1301.101</version>
+ <scope>test</scope>
+ </dependency -->
+ <!-- For Apache Derby support (aka JavaDB) -->
+ <!-- dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
+ <version>10.2.2.0</version>
+ <scope>test</scope>
+ </dependency -->
+ <!-- H2 Database (not supported now) -->
+ <!-- dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ <version>1.2.132</version>
+ </dependency-->
+ <!-- Ingres Database (local repository) -->
+ <!-- dependency>
+ <groupId>com.ingres.jdbc</groupId>
+ <artifactId>iijdbc</artifactId>
+ <version>9.2</version>
+ <scope>test</scope>
+ </dependency -->
+ <!-- For Sybase ASE/Anywhere support (jConnect driver) (local-jcr repository) -->
+ <!-- dependency>
+ <groupId>com.sybase.jdbc3.jdbc</groupId>
+ <artifactId>jconn3</artifactId>
+ <version>6.05</version>
+ <scope>test</scope>
+ </dependency -->
+ </dependencies>
+ <!-- ======================================================================= -->
+ <build>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <includes>
+ <include>**/*.xml</include>
+ <include>**/*.sql</include>
+ <include>**/*.dtd</include>
+ </includes>
+ </resource>
+ </resources>
+ <testResources>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <includes>
+ <include>**/*.properties</include>
+ <include>login.conf</include>
+ <include>**/*.xml</include>
+ <include>**/*.drl</include>
+ <include>**/*.vm</include>
+ <include>**/*.doc</include>
+ <include>**/*.xls</include>
+ <include>**/*.ppt</include>
+ <include>**/*.txt</include>
+ <include>**/*.tiff</include>
+ <include>**/*.pdf</include>
+ <include>**/*.dtd</include>
+ <include>**/*.policy</include>
+ </includes>
+ </testResource>
+ </testResources>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>unpack</id>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>jackrabbit-jcr-tests</artifactId>
+ <classifier>sources</classifier>
+ <type>jar</type>
+ <overWrite>false</overWrite>
+ </artifactItem>
+ </artifactItems>
+ <outputDirectory>${project.build.testSourceDirectory}</outputDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <argLine>${env.MAVEN_OPTS} -Djava.security.manager=org.exoplatform.commons.test.TestSecurityManager -Djava.security.policy=${project.build.directory}/test-classes/test.policy</argLine>
+ <systemProperties>
+ <property>
+ <name>jcr.test.configuration.file</name>
+ <value>${jcr.test.configuration.file}</value>
+ </property>
+ <property>
+ <name>emma.coverage.out.file</name>
+ <value>target/emma/coverage.ec</value>
+ </property>
+ <property>
+ <name>jbosscache-shareable</name>
+ <value>${jbosscache.shareable}</value>
+ </property>
+ <!-- Uncomment the line below if you want to enable the statistics -->
+ <!--property>
+ <name>JDBCWorkspaceDataContainer.statistics.enabled</name>
+ <value>true</value>
+ </property-->
+ </systemProperties>
+ <includes>
+ <include>org/exoplatform/services/jcr/api/**/Test*.java</include>
+ <include>org/exoplatform/services/jcr/usecases/**/Test*.java</include>
+ <include>org/exoplatform/services/jcr/usecases/**/*Test.java</include>
+ <include>org/exoplatform/services/jcr/impl/**/Test*.java</include>
+ </includes>
+ <excludes>
+ <exclude>org/exoplatform/services/jcr/**/api/TestAll.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/TestErrorMultithreading.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/TestRollbackBigFiles.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/impl/**/TestWorkspaceManagement.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/impl/**/TestWorkspaceRestore.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/impl/**/TestRepositoryManagement.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/impl/**/TestSessionCleaner.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/impl/**/Base*.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/impl/**/TestJCRSerializationStream.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/impl/**/TestJCRSerializationVersionRestore.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/usecases/**/RemoveSameNameSiblingTest.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/usecases/**/TestQueryWithNumberAndSpace.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/usecases/BaseUsecasesTest.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/impl/**/SQLBenchmarkTest.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.jibx</groupId>
+ <artifactId>maven-jibx-plugin</artifactId>
+ <configuration>
+ <directory>src/main/resources</directory>
+ <includes>
+ <includes>binding*.xml</includes>
+ </includes>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>bind</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>delete-sources</id>
+ <phase>process-sources</phase>
+ <configuration>
+ <tasks>
+ <echo>Remove files that have been customized</echo>
+ <delete>
+ <fileset dir="${project.build.directory}/generated-sources/javacc/org/exoplatform/services/jcr/impl/core/query">
+ <include name="sql/ASTLiteral.java" />
+ <include name="sql/ASTContainsExpression.java" />
+ <include name="sql/ASTPredicate.java" />
+ <include name="sql/ASTIdentifier.java" />
+ <include name="xpath/SimpleNode.java" />
+ </fileset>
+ </delete>
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>prepare-test-policy</id>
+ <phase>process-test-resources</phase>
+ <configuration>
+ <tasks>
+ <echo>Creating Access Policy for tests</echo>
+ <makeurl file="${settings.localRepository}" property="localRepositoryURL" />
+ <makeurl file="${project.build.outputDirectory}" property="outputDirectoryURL" />
+ <makeurl file="${project.build.testOutputDirectory}" property="testOutputDirectoryURL" />
+ <copy todir="${project.build.testOutputDirectory}" overwrite="true">
+ <fileset dir="${project.basedir}/src/test/resources/">
+ <include name="test.policy" />
+ </fileset>
+ <filterset>
+ <filter token="MAVEN_REPO" value="${localRepositoryURL}" />
+ <filter token="MAIN_CLASSES" value="${outputDirectoryURL}" />
+ <filter token="TEST_CLASSES" value="${testOutputDirectoryURL}" />
+ </filterset>
+ </copy>
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>ant</groupId>
+ <artifactId>ant-optional</artifactId>
+ <version>1.5.3-1</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>javacc-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>fulltext</id>
+ <configuration>
+ <sourceDirectory>${basedir}/src/main/javacc/fulltext</sourceDirectory>
+ </configuration>
+ <goals>
+ <goal>jjtree-javacc</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>sql</id>
+ <configuration>
+ <sourceDirectory>${basedir}/src/main/javacc/sql</sourceDirectory>
+ </configuration>
+ <goals>
+ <goal>jjtree-javacc</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>xpath</id>
+ <configuration>
+ <sourceDirectory>${basedir}/src/main/javacc/xpath</sourceDirectory>
+ </configuration>
+ <goals>
+ <goal>jjtree-javacc</goal>
+ </goals>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>net.java.dev.javacc</groupId>
+ <artifactId>javacc</artifactId>
+ <version>3.2</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>taglist-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+ <profiles>
+ <!-- *** -->
+ <!-- TCK -->
+ <!-- *** -->
+ <!-- Use "mvn -Prun-tck" to launch only them -->
+ <profile>
+ <id>run-tck</id>
+ <build>
+ <testResources>
+ <testResource>
+ <directory>src/TCK/java</directory>
+ <includes>
+ <include>**/org/apache/jackrabbit/test/api/nodetype/spec/*.txt</include>
+ </includes>
+ </testResource>
+ </testResources>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <!-- TAKE CARE TO UPDATE ALSO run-all PROFILE -->
+ <argLine>${env.MAVEN_OPTS} -Djava.security.manager=org.exoplatform.commons.test.TestSecurityManager -Djava.security.policy=${project.build.directory}/test-classes/test.policy</argLine>
+ <systemProperties>
+ <property>
+ <name>jcr.test.configuration.file</name>
+ <value>${jcr.test.configuration.file}</value>
+ </property>
+ <property>
+ <name>emma.coverage.out.file</name>
+ <value>target/emma/coverage.ec</value>
+ </property>
+ <property>
+ <name>jbosscache-shareable</name>
+ <value>${jbosscache.shareable}</value>
+ </property>
+ <property>
+ <name>known.issues</name>
+ <value>org.apache.jackrabbit.test.api.SetValueConstraintViolationExceptionTest#testBooleanProperty
+ org.apache.jackrabbit.test.api.SetValueConstraintViolationExceptionTest#testMultipleBooleanProperty
+ org.apache.jackrabbit.test.api.version.RestoreTest#testRestoreName
+ org.apache.jackrabbit.test.api.version.RestoreTest#testRestoreOrder
+ org.apache.jackrabbit.test.api.version.RestoreTest#testRestoreOrder2
+ org.apache.jackrabbit.test.api.nodetype.PropertyDefTest#testIsRequiredType
+ org.apache.jackrabbit.test.api.SetPropertyConstraintViolationExceptionTest#testBooleanProperty
+ org.apache.jackrabbit.test.api.nodetype.PredefinedNodeTypeTest#testShareable
+ org.apache.jackrabbit.test.api.nodetype.PredefinedNodeTypeTest#testSimpleVersionable
+ org.apache.jackrabbit.test.api.nodetype.PredefinedNodeTypeTest#testActivity
+ org.apache.jackrabbit.test.api.nodetype.PredefinedNodeTypeTest#testConfiguration
+ org.apache.jackrabbit.test.api.nodetype.PredefinedNodeTypeTest#testVersionable
+ org.apache.jackrabbit.test.api.nodetype.PredefinedNodeTypeTest#testVersion
+ org.apache.jackrabbit.test.api.NamespaceRegistryTest#testRegisterNamespace</value>
+ </property>
+ <!-- Uncomment the line below if you want to enable the statistics -->
+ <!--property>
+ <name>JDBCWorkspaceDataContainer.statistics.enabled</name>
+ <value>true</value>
+ </property-->
+ </systemProperties>
+ <includes>
+ <include>org/apache/jackrabbit/test/api/*Test.java</include>
+ <include>org/apache/jackrabbit/test/api/observation/*Test.java</include>
+ <include>org/apache/jackrabbit/test/api/lock/*Test.java</include>
+ <include>org/apache/jackrabbit/test/api/nodetype/*Test.java</include>
+ <include>org/apache/jackrabbit/test/api/query/*Test.java</include>
+ <include>org/apache/jackrabbit/test/api/version/*Test.java</include>
+ </includes>
+ <excludes>
+ <exclude>org/apache/jackrabbit/test/api/TestAll.java</exclude>
+ <exclude>org/apache/jackrabbit/test/api/**/Abstract*.java</exclude>
+ <exclude>org/apache/jackrabbit/test/api/**/FrozenNodeTest.java</exclude>
+ <exclude>org/exoplatform/services/jcr/impl/core/security/Test*.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <!-- *** -->
+ <!-- ALL -->
+ <!-- *** -->
+ <!-- Use "mvn -Prun-all" to launch default tests and TCK -->
+ <profile>
+ <id>run-all</id>
+ <build>
+ <testResources>
+ <testResource>
+ <directory>src/TCK/java</directory>
+ <includes>
+ <include>**/org/apache/jackrabbit/test/api/nodetype/spec/*.txt</include>
+ </includes>
+ </testResource>
+ </testResources>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <!-- TAKE CARE TO UPDATE ALSO run-tck PROFILE -->
+ <argLine>${env.MAVEN_OPTS} -Djava.security.manager=org.exoplatform.commons.test.TestSecurityManager -Djava.security.policy=${project.build.directory}/test-classes/test.policy</argLine>
+ <systemProperties>
+ <property>
+ <name>jcr.test.configuration.file</name>
+ <value>${jcr.test.configuration.file}</value>
+ </property>
+ <property>
+ <name>emma.coverage.out.file</name>
+ <value>target/emma/coverage.ec</value>
+ </property>
+ <property>
+ <name>jbosscache-shareable</name>
+ <value>${jbosscache.shareable}</value>
+ </property>
+ <property>
+ <name>known.issues</name>
+ <value>org.apache.jackrabbit.test.api.SetValueConstraintViolationExceptionTest#testBooleanProperty
+ org.apache.jackrabbit.test.api.SetValueConstraintViolationExceptionTest#testMultipleBooleanProperty
+ org.apache.jackrabbit.test.api.version.RestoreTest#testRestoreName
+ org.apache.jackrabbit.test.api.version.RestoreTest#testRestoreOrder
+ org.apache.jackrabbit.test.api.version.RestoreTest#testRestoreOrder2
+ org.apache.jackrabbit.test.api.nodetype.PropertyDefTest#testIsRequiredType
+ org.apache.jackrabbit.test.api.SetPropertyConstraintViolationExceptionTest#testBooleanProperty
+ org.apache.jackrabbit.test.api.nodetype.PredefinedNodeTypeTest#testShareable
+ org.apache.jackrabbit.test.api.nodetype.PredefinedNodeTypeTest#testSimpleVersionable
+ org.apache.jackrabbit.test.api.nodetype.PredefinedNodeTypeTest#testActivity
+ org.apache.jackrabbit.test.api.nodetype.PredefinedNodeTypeTest#testConfiguration
+ org.apache.jackrabbit.test.api.nodetype.PredefinedNodeTypeTest#testVersionable
+ org.apache.jackrabbit.test.api.nodetype.PredefinedNodeTypeTest#testVersion
+ org.apache.jackrabbit.test.api.NamespaceRegistryTest#testRegisterNamespace</value>
+ </property>
+ <!-- Uncomment the line below if you want to enable the statistics -->
+ <!--property>
+ <name>JDBCWorkspaceDataContainer.statistics.enabled</name>
+ <value>true</value>
+ </property-->
+ </systemProperties>
+ <includes>
+ <!-- From default tests -->
+ <include>org/exoplatform/services/jcr/api/**/Test*.java</include>
+ <include>org/exoplatform/services/jcr/usecases/**/Test*.java</include>
+ <include>org/exoplatform/services/jcr/usecases/**/*Test.java</include>
+ <include>org/exoplatform/services/jcr/impl/**/Test*.java</include>
+ <!-- From TCK -->
+ <include>org/apache/jackrabbit/test/api/*Test.java</include>
+ <include>org/apache/jackrabbit/test/api/observation/*Test.java</include>
+ <include>org/apache/jackrabbit/test/api/lock/*Test.java</include>
+ <include>org/apache/jackrabbit/test/api/nodetype/*Test.java</include>
+ <include>org/apache/jackrabbit/test/api/query/*Test.java</include>
+ <include>org/apache/jackrabbit/test/api/version/*Test.java</include>
+ </includes>
+ <excludes>
+ <!-- From default tests -->
+ <exclude>org/exoplatform/services/jcr/**/TestQueryUsecases.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/TestRollbackBigFiles.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/TestImport.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/TestRollbackBigFiles.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/TestErrorMultithreading.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/api/TestAll.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/api/**/TestSameNameItems.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/api/**/TestSameNameItems.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/impl/**/TestWorkspaceManagement.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/impl/**/TestWorkspaceRestore.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/impl/**/TestRepositoryManagement.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/impl/**/TestSaveConfiguration.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/impl/**/ValueStoragePluginTest.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/impl/**/TestSessionCleaner.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/impl/**/Base*.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/impl/**/TestJCRSerializationStream.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/impl/**/TestJCRSerializationVersionRestore.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/usecases/**/RemoveSameNameSiblingTest.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/usecases/**/TestQueryWithNumberAndSpace.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/usecases/BaseUsecasesTest.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/usecases/**/ExportWorkspaceSystemViewTest.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/impl/**/TestLinkedWorkspaceStorageCacheMetrics.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/impl/**/SQLBenchmarkTest.java</exclude>
+ <exclude>org/exoplatform/services/jcr/**/impl/**/TestCleanableFileStreamValueData.java</exclude>
+ <!-- From TCK -->
+ <exclude>org/apache/jackrabbit/test/api/TestAll.java</exclude>
+ <exclude>org/apache/jackrabbit/test/api/**/Abstract*.java</exclude>
+ <exclude>org/apache/jackrabbit/test/api/**/FrozenNodeTest.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>run-devtests</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <phase>test</phase>
+ <forkMode>never</forkMode>
+ <!-- argLine>${env.MAVEN_OPTS}</argLine -->
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <systemProperties>
+ <property>
+ <name>jcr.test.configuration.file</name>
+ <value>${jcr.test.configuration.file}</value>
+ </property>
+ <property>
+ <name>jbosscache-shareable</name>
+ <value>${jbosscache.shareable}</value>
+ </property>
+ <!-- Uncomment the line below if you want to enable the statistics -->
+ <!--property>
+ <name>JDBCWorkspaceDataContainer.statistics.enabled</name>
+ <value>true</value>
+ </property-->
+ </systemProperties>
+ <includes>
+ <include>**/**/reading_/Test*.java</include>
+ <include>**/**/writing_/Test*.java</include>
+ <include>**/**/TestJBossCacheWorkspaceStorageCache_.java</include>
+ <exclude>**/**/TestCleanableFileStreamValueData.java</exclude>
+ <include>**/**/TestSVNodeDataOptimization_.java</include>
+ <include>**/**/TestValueConstraints.java</include>
+ </includes>
+ <excludes>
+ <exclude>org/exoplatform/services/jcr/impl/core/security/Test*.java</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+</project>
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/ItemDataRestoreVisitor.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/ItemDataRestoreVisitor.java 2011-03-14 15:38:59 UTC (rev 4082)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/version/ItemDataRestoreVisitor.java 2011-03-14 15:43:30 UTC (rev 4083)
@@ -745,13 +745,16 @@
// exists in workspace
if (removeExisting)
{
- // remove existed node, with validation (same as for restored
- // root)
- RemoveVisitor removeVisitor = new RemoveVisitor();
- removeVisitor.visit(existing);
+ if (changes.getItemState(existing.getIdentifier(), ItemState.DELETED) == null)
+ {
+ // remove existed node, with validation (same as for restored
+ // root)
+ RemoveVisitor removeVisitor = new RemoveVisitor();
+ removeVisitor.visit(existing);
- changes.addAll(removeVisitor.getRemovedStates());
- updatingPath.addAll(removeVisitor.getUpdatingPath());
+ changes.addAll(removeVisitor.getRemovedStates());
+ updatingPath.addAll(removeVisitor.getUpdatingPath());
+ }
}
else
{
15 years, 1 month
exo-jcr SVN: r4082 - in jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone: cluster and 1 other directory.
by do-not-reply@jboss.org
Author: nfilotto
Date: 2011-03-14 11:38:59 -0400 (Mon, 14 Mar 2011)
New Revision: 4082
Modified:
jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-infinispan-config.xml
jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/test-infinispan-config.xml
Log:
EXOJCR-834: ISPN config updated to use the right ISPN version and to remove the lock detector
Modified: jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-infinispan-config.xml
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-infinispan-config.xml 2011-03-14 15:20:54 UTC (rev 4081)
+++ jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/cluster/test-infinispan-config.xml 2011-03-14 15:38:59 UTC (rev 4082)
@@ -21,8 +21,8 @@
-->
<infinispan
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:infinispan:config:4.0 http://www.infinispan.org/schemas/infinispan-config-4.0.xsd"
- xmlns="urn:infinispan:config:4.0">
+ xsi:schemaLocation="urn:infinispan:config:4.1 http://www.infinispan.org/schemas/infinispan-config-4.1.xsd"
+ xmlns="urn:infinispan:config:4.1">
<global>
<evictionScheduledExecutor factory="org.infinispan.executors.DefaultScheduledExecutorFactory">
@@ -49,7 +49,6 @@
<locking isolationLevel="READ_COMMITTED" lockAcquisitionTimeout="20000" writeSkewCheck="false" concurrencyLevel="500"/>
<transaction transactionManagerLookupClass="org.infinispan.transaction.lookup.JBossStandaloneJTAManagerLookup" syncRollbackPhase="false" syncCommitPhase="false"/>
<jmxStatistics enabled="true"/>
- <deadlockDetection enabled="true" spinDuration="100"/>
<eviction strategy="LRU" wakeUpInterval="5000" threadPolicy="DEFAULT" maxEntries="1000000"/>
</default>
</infinispan>
Modified: jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/test-infinispan-config.xml
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/test-infinispan-config.xml 2011-03-14 15:20:54 UTC (rev 4081)
+++ jcr/trunk/exo.jcr.component.core/src/test/resources/conf/standalone/test-infinispan-config.xml 2011-03-14 15:38:59 UTC (rev 4082)
@@ -21,8 +21,8 @@
-->
<infinispan
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:infinispan:config:4.0 http://www.infinispan.org/schemas/infinispan-config-4.0.xsd"
- xmlns="urn:infinispan:config:4.0">
+ xsi:schemaLocation="urn:infinispan:config:4.1 http://www.infinispan.org/schemas/infinispan-config-4.1.xsd"
+ xmlns="urn:infinispan:config:4.1">
<global>
<evictionScheduledExecutor factory="org.infinispan.executors.DefaultScheduledExecutorFactory">
@@ -38,7 +38,6 @@
<locking isolationLevel="READ_COMMITTED" lockAcquisitionTimeout="20000" writeSkewCheck="false" concurrencyLevel="500"/>
<transaction transactionManagerLookupClass="org.infinispan.transaction.lookup.JBossStandaloneJTAManagerLookup" syncRollbackPhase="false" syncCommitPhase="false"/>
<jmxStatistics enabled="true"/>
- <deadlockDetection enabled="true" spinDuration="100"/>
<eviction strategy="LRU" wakeUpInterval="5000" threadPolicy="DEFAULT" maxEntries="1000000"/>
</default>
</infinispan>
15 years, 1 month
exo-jcr SVN: r4081 - in jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl: dataflow/persistent/infinispan and 1 other directories.
by do-not-reply@jboss.org
Author: tolusha
Date: 2011-03-14 11:20:54 -0400 (Mon, 14 Mar 2011)
New Revision: 4081
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/ChangesKey.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/IndexInfosKey.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/IndexUpdateKey.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheId.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheKey.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheNodesId.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CachePropsId.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheQPath.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheRefsId.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainer.java
Log:
EXOJCR-834: fix CacheKey' id
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/ChangesKey.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/ChangesKey.java 2011-03-14 10:08:56 UTC (rev 4080)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/ChangesKey.java 2011-03-14 15:20:54 UTC (rev 4081)
@@ -57,7 +57,7 @@
if (obj instanceof ChangesKey)
{
ChangesKey key = (ChangesKey)obj;
- return (key.hash == hash && key.id.equals(id));
+ return (key.hash == hash && key.fullId.equals(fullId));
}
else
{
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/IndexInfosKey.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/IndexInfosKey.java 2011-03-14 10:08:56 UTC (rev 4080)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/IndexInfosKey.java 2011-03-14 15:20:54 UTC (rev 4081)
@@ -33,7 +33,7 @@
IndexInfosKey(String id)
{
- super("IndexInfos" + id);
+ super(id);
}
/**
@@ -45,7 +45,7 @@
if (obj instanceof IndexInfosKey)
{
IndexInfosKey key = (IndexInfosKey)obj;
- return (key.hash == hash && key.id.equals(id));
+ return (key.hash == hash && key.fullId.equals(fullId));
}
else
{
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/IndexUpdateKey.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/IndexUpdateKey.java 2011-03-14 10:08:56 UTC (rev 4080)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ispn/IndexUpdateKey.java 2011-03-14 15:20:54 UTC (rev 4081)
@@ -33,7 +33,7 @@
IndexUpdateKey(String id)
{
- super("UpdateMonitor" + id);
+ super(id);
}
/**
@@ -45,7 +45,7 @@
if (obj instanceof IndexUpdateKey)
{
IndexUpdateKey key = (IndexUpdateKey)obj;
- return (key.hash == hash && key.id.equals(id));
+ return (key.hash == hash && key.fullId.equals(fullId));
}
else
{
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheId.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheId.java 2011-03-14 10:08:56 UTC (rev 4080)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheId.java 2011-03-14 15:20:54 UTC (rev 4081)
@@ -45,7 +45,7 @@
if (obj instanceof CacheId)
{
CacheId cacheId = (CacheId)obj;
- return (cacheId.hash == hash && cacheId.id.equals(id));
+ return (cacheId.hash == hash && cacheId.fullId.equals(fullId));
}
else
{
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheKey.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheKey.java 2011-03-14 10:08:56 UTC (rev 4080)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheKey.java 2011-03-14 15:20:54 UTC (rev 4081)
@@ -22,7 +22,7 @@
/**
* Created by The eXo Platform SAS. <br/>
- *
+ * RE
* Base class for WorkspaceCache keys.<br/>
*
* Date: 10.06.2008<br/>
@@ -33,20 +33,20 @@
public abstract class CacheKey implements Serializable, Comparable<CacheKey>
{
- protected final String id;
+ protected final String fullId;
protected final int hash;
public CacheKey(String id)
{
- this.id = id;
- this.hash = id.hashCode();
+ this.fullId = this.getClass().getSimpleName() + "-" + id;
+ this.hash = this.fullId.hashCode();
}
public CacheKey(String id, int hash)
{
- this.id = id;
- this.hash = hash;
+ this.fullId = this.getClass().getSimpleName() + "-" + id;
+ this.hash = this.fullId.hashCode();
}
/**
@@ -64,7 +64,7 @@
@Override
public String toString()
{
- return this.id.toString();
+ return this.fullId;
}
/**
@@ -72,7 +72,7 @@
*/
public int compareTo(CacheKey o)
{
- return id.compareTo(o.id);
+ return fullId.compareTo(o.fullId);
}
/**
@@ -80,4 +80,4 @@
*/
@Override
public abstract boolean equals(Object obj);
-}
+}
\ No newline at end of file
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheNodesId.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheNodesId.java 2011-03-14 10:08:56 UTC (rev 4080)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheNodesId.java 2011-03-14 15:20:54 UTC (rev 4081)
@@ -42,7 +42,7 @@
if (obj instanceof CacheNodesId)
{
CacheNodesId cacheNodesId = (CacheNodesId)obj;
- return (cacheNodesId.hash == hash && cacheNodesId.id.equals(id));
+ return (cacheNodesId.hash == hash && cacheNodesId.fullId.equals(fullId));
}
else
{
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CachePropsId.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CachePropsId.java 2011-03-14 10:08:56 UTC (rev 4080)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CachePropsId.java 2011-03-14 15:20:54 UTC (rev 4081)
@@ -42,7 +42,7 @@
if (obj instanceof CachePropsId)
{
CachePropsId cachePropsId = (CachePropsId)obj;
- return (cachePropsId.hash == hash && cachePropsId.id.equals(id));
+ return (cachePropsId.hash == hash && cachePropsId.fullId.equals(fullId));
}
else
{
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheQPath.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheQPath.java 2011-03-14 10:08:56 UTC (rev 4080)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheQPath.java 2011-03-14 15:20:54 UTC (rev 4081)
@@ -52,7 +52,7 @@
if (obj instanceof CacheQPath)
{
CacheQPath cacheQPath = (CacheQPath)obj;
- return (cacheQPath.hash == hash && cacheQPath.id.equals(id));
+ return (cacheQPath.hash == hash && cacheQPath.fullId.equals(fullId));
}
else
{
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheRefsId.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheRefsId.java 2011-03-14 10:08:56 UTC (rev 4080)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/CacheRefsId.java 2011-03-14 15:20:54 UTC (rev 4081)
@@ -31,11 +31,9 @@
public class CacheRefsId extends CacheKey
{
- public static final String PREFIX = "R";
-
CacheRefsId(String id)
{
- super(PREFIX + id);
+ super(id);
}
@Override
@@ -44,7 +42,7 @@
if (obj instanceof CacheRefsId)
{
CacheRefsId cachePropsId = (CacheRefsId)obj;
- return (cachePropsId.hash == hash && cachePropsId.id.equals(id));
+ return (cachePropsId.hash == hash && cachePropsId.fullId.equals(fullId));
}
else
{
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainer.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainer.java 2011-03-14 10:08:56 UTC (rev 4080)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainer.java 2011-03-14 15:20:54 UTC (rev 4081)
@@ -1184,6 +1184,7 @@
*/
public DataRestor getDataRestorer(File storageDir, Connection jdbcConn) throws BackupException
{
+
List<DataRestor> restorers = new ArrayList<DataRestor>();
ObjectReader backupInfo = null;
15 years, 1 month
exo-jcr SVN: r4080 - in jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main: resources/images and 1 other directory.
by do-not-reply@jboss.org
Author: nzamosenchuk
Date: 2011-03-14 06:08:56 -0400 (Mon, 14 Mar 2011)
New Revision: 4080
Added:
jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png
jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-standalone-index.png
Modified:
jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/query-handler-config.xml
jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-shared-index.png
jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-source.svg
Log:
EXOJCR-1080 : updating doc. QueryHandler configuration article rewritten. Added Shared and Local index description and configuration issues.
Modified: jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/query-handler-config.xml
===================================================================
--- jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/query-handler-config.xml 2011-03-14 09:25:50 UTC (rev 4079)
+++ jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/docbook/en-US/modules/jcr/query-handler-config.xml 2011-03-14 10:08:56 UTC (rev 4080)
@@ -7,88 +7,91 @@
<title>QueryHandler configuration</title>
<section>
- <title>How does it work?</title>
+ <title>Indexing in clustered environment</title>
- <para>Let's talk about indexing content in cluster.</para>
+ <para>JCR offers multiple indexing strategies. They include both for
+ standalone and clustered environments using the advantages of running in a
+ single JVM or doing the best to use all resources available in cluster.
+ JCR uses Lucene library as underlying search and indexing engine, but it
+ has several limitations that greatly reduce possibilities and limits the
+ usage of cluster advantages. That's why eXo JCR offers three strategies
+ that are suitable for it's own usecases. They are standalone, clustered
+ with shared index and clustered with local indexes. Each one has it's pros
+ and cons. </para>
- <para>For couple of reasons, we can't replicate index. It means that some
- data added and indexed on one cluster node will be replicated to another
- cluster node, but will not be indexed on that node.</para>
+ <para>Stanadlone strategy provides a stack of indexes to achieve greater
+ performance within single JVM. </para>
- <para><citetitle>So, how do the indexing works in cluster
- environment?</citetitle></para>
+ <mediaobject>
+ <imageobject>
+ <imagedata align="center"
+ fileref="images/diagram-standalone-index.png" />
+ </imageobject>
+ </mediaobject>
- <para>As, we can not index the same data on all nodes of cluster, we must
- index it on one node. Node, that can index data and do changes on lucene
- index, is called "coordinator". Coordinator-node is choosen automaticaly,
- so we do not need special configuration for coordinator.</para>
+ <para>It combines in-memory buffer index directory with delayed
+ file-system flushing. This index is called "Volatile" and it is invoked in
+ searches also. Within some conditions volatile index is flushed to the
+ persistent storage (file system) as new index directory. This allows to
+ achieve great results for write operations. </para>
- <para>But, how can another nodes save their changes to lucene
- index?</para>
+ <para>Clustered implementation with local indexes is built upon same
+ strategy with volatile in-memory index buffer along with delayed flushing
+ on persistent storage. </para>
- <para>First of all, data is already saved and replicated to another
- cluster-nodes, so we need only deliver message like "we need to index this
- data" to coordinator. Thats why Jboss-cache is used.</para>
+ <mediaobject>
+ <imageobject>
+ <imagedata align="center" fileref="images/diagram-local-index.png" />
+ </imageobject>
+ </mediaobject>
- <para>All nodes of cluster writes messages into JBoss-cache but only
- coordinator takes those messages and makes changes Lucene index.</para>
+ <para>As this implementation designed for clustered environment it has
+ additional mechanisms for data delivery within cluster. Actual text
+ extraction jobs done on the same node that does content operations (i.e.
+ write operation). Prepared "documents" (Lucene term that means block of
+ data ready for indexing) are replicated withing cluster nodes and
+ processed by local indexes. So each cluster instance has the same index
+ content. When new node joins the cluster it has no initial index, so it
+ must be created. There are some supported ways of doing this operation.
+ The simplest is to simply copy the index manually but this is not intended
+ for use. If no initial index found JCR uses automated sceneries. They are
+ controlled via configuration (see "index-recovery-mode" parameter)
+ offering full re-indexing from database or copying from another cluster
+ node. </para>
- <para><citetitle>How do the search works in cluster
- environment?</citetitle></para>
+ <para>For some reasons having a multiple index copies on each instance can
+ be costly. So shared index can be used instead (see diagram below).
+ </para>
- <para>Search engine do not works with indexer, coordinator, etc. Search
- needs only lucene index. But only one cluster node can change lucene index
- - asking you. Yes - lucene index is shared. So, all cluster nodes must be
- configured to use lucene index from shared directory.</para>
+ <mediaobject>
+ <imageobject>
+ <imagedata align="center" fileref="images/diagram-shared-index.png" />
+ </imageobject>
+ </mediaobject>
- <para>A little bit about indexing process (no matter, cluster or not):
- Indexer does not write changes to FS lucene index immediately. At first,
- Indexer write the changes to Volatile index. If Volatile index size become
- 1Mb or more, it is flushed to FS. Also, there is timer, that flushes
- volatile index by timeout. Volatile index timeout is configured by
- "max-volatile-time" paremeter.</para>
+ <para>This indexing strategy combines advantages of in-memory index along
+ with shared persistent index offering "near" real time search
+ capabilities. This means that newly added content is accessible via search
+ practically immediately. This strategy allows nodes to index data in their
+ own volatile (in-memory) indexes, but persistent indexes are managed by
+ single "coordinator" node only. Each cluster instance has a read access
+ for shared index to perform queries combining search results found in own
+ in-memory index also. Take in account that shared folder must be
+ configured in your system environment (i.e. mounted NFS folder). But this
+ strategy in some extremely rare cases can have a bit different volatile
+ indexes within cluster instances for a while. In a few seconds they will
+ be up2date.</para>
<para>See more about <link linkend="JCR.SearchConfiguration">Search
Configuration</link>.</para>
-
- <para>Common scheme of Shared Index<mediaobject>
- <imageobject>
- <imagedata fileref="images/diagram-shared-index.png" />
- </imageobject>
- </mediaobject></para>
</section>
<section>
<title>Configuration</title>
<section>
- <title>Common requirements</title>
+ <title>Query-handler configuration overview</title>
- <para>Now, let's see what we need to run Search engine in cluster
- environment.<itemizedlist>
- <listitem>
- <para>Shared directory for storing Lucene index (i.e. NFS);</para>
- </listitem>
-
- <listitem>
- <para>Changes filter configured as
- org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter;</para>
-
- <note>
- <para>This filter ignore changes on non-coordinator nodes, and
- index changes on coordinator node.</para>
- </note>
- </listitem>
-
- <listitem>
- <para>configure JBoss-cache, course;</para>
- </listitem>
- </itemizedlist></para>
- </section>
-
- <section>
- <title>Query-handler configuration</title>
-
<para>Configuration example:<programlisting><workspace name="ws">
<query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
<properties>
@@ -125,6 +128,13 @@
</row>
<row>
+ <entry>changesfilter-class</entry>
+
+ <entry>template of JBoss-cache configuration for all
+ query-handlers in repository</entry>
+ </row>
+
+ <row>
<entry>jbosscache-configuration</entry>
<entry>template of JBoss-cache configuration for all
@@ -188,9 +198,80 @@
</section>
<section>
+ <title>Standalone strategy</title>
+
+ <para>When running JCR in standalone usually standalone indexing is used
+ also. Such parameters as "changesfilter-class", "jgroups-configuration"
+ and all the "jbosscache-*" must be skipped and not defined. Like the
+ configuration below.<programlisting><workspace name="ws">
+ <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+ <properties>
+ <property name="index-dir" value="shareddir/index/db1/ws" />
+ <property name="max-volatile-time" value="60" />
+ <property name="rdbms-reindexing" value="true" />
+ <property name="reindexing-page-size" value="1000" />
+ <property name="index-recovery-mode" value="from-coordinator" />
+ </properties>
+ </query-handler>
+</workspace></programlisting> </para>
+ </section>
+
+ <section>
+ <title>Cluster-ready indexing strategies</title>
+
+ <para>For both cluster-ready implementations JBoss Cache, JGroups and
+ Changes Filter values must be defined. Shared index requires some kind
+ of remote or shared file system to be attached in a system (i.e. NFS,
+ SMB or etc). Indexing directory ("indexDir" value) must point to it.
+ Setting "changesfilter-class" to
+ "org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter"
+ will enable shared index implementation.<programlisting><workspace name="ws">
+ <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+ <properties>
+ <property name="index-dir" value="/mnt/nfs_drive/index/db1/ws" />
+ <property name="changesfilter-class"
+ value="org.exoplatform.services.jcr.impl.core.query.jbosscache.JBossCacheIndexChangesFilter" />
+ <property name="jbosscache-configuration" value="jbosscache-indexer.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
+ <property name="jgroups-multiplexer-stack" value="true" />
+ <property name="jbosscache-cluster-name" value="JCR-cluster-indexer-ws" />
+ <property name="max-volatile-time" value="60" />
+ <property name="rdbms-reindexing" value="true" />
+ <property name="reindexing-page-size" value="1000" />
+ <property name="index-recovery-mode" value="from-coordinator" />
+ </properties>
+ </query-handler>
+</workspace></programlisting> In order to use cluster-ready strategy
+ based on local indexes, when each node has own copy of index on local
+ file system, the following configuration must be applied. Indexing
+ directory must point to any folder on local file system and
+ "changesfilter-class" must be set to
+ "org.exoplatform.services.jcr.impl.core.query.jbosscache.LocalIndexChangesFilter".</para>
+
+ <para><programlisting><workspace name="ws">
+ <query-handler class="org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex">
+ <properties>
+ <property name="index-dir" value="/mnt/nfs_drive/index/db1/ws" />
+ <property name="changesfilter-class"
+ value="org.exoplatform.services.jcr.impl.core.query.jbosscache.LocalIndexChangesFilter" />
+ <property name="jbosscache-configuration" value="jbosscache-indexer.xml" />
+ <property name="jgroups-configuration" value="udp-mux.xml" />
+ <property name="jgroups-multiplexer-stack" value="true" />
+ <property name="jbosscache-cluster-name" value="JCR-cluster-indexer-ws" />
+ <property name="max-volatile-time" value="60" />
+ <property name="rdbms-reindexing" value="true" />
+ <property name="reindexing-page-size" value="1000" />
+ <property name="index-recovery-mode" value="from-coordinator" />
+ </properties>
+ </query-handler>
+</workspace></programlisting></para>
+ </section>
+
+ <section>
<title>JBoss-Cache template configuration</title>
- <para>JBoss-Cache template configuration for query handler.</para>
+ <para>JBoss-Cache template configuration for query handler is about the
+ same for both clustered strategies.</para>
<para>jbosscache-indexer.xml<programlisting><?xml version="1.0" encoding="UTF-8"?>
<jbosscache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:jboss:jbosscache-core:config:3.1">
Added: jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png
===================================================================
(Binary files differ)
Property changes on: jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-shared-index.png
===================================================================
(Binary files differ)
Modified: jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-source.svg
===================================================================
--- jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-source.svg 2011-03-14 09:25:50 UTC (rev 4079)
+++ jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-source.svg 2011-03-14 10:08:56 UTC (rev 4080)
@@ -14,11 +14,13 @@
height="1180"
id="svg2"
version="1.1"
- inkscape:version="0.47pre4 r22446"
- sodipodi:docname="cluster.svg"
+ inkscape:version="0.48.0 r9654"
+ sodipodi:docname="diagram-source.svg"
inkscape:export-filename="/home/nikolaz/Desktop/cluster.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
+ <title
+ id="title3567">eXO JCR Diagram sources</title>
<defs
id="defs4">
<inkscape:perspective
@@ -903,6 +905,442 @@
fx="172.86125"
fy="30.079779"
r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590"
+ id="radialGradient3486"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3012875,-2.3220185e-7,6.539924e-8,0.30700819,48.830151,138.07367)"
+ cx="192.30554"
+ cy="128.54347"
+ fx="192.30554"
+ fy="128.54347"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590"
+ id="radialGradient3490"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3012875,-2.3220185e-7,6.539924e-8,0.30700819,48.830151,138.07367)"
+ cx="192.30554"
+ cy="128.54347"
+ fx="192.30554"
+ fy="128.54347"
+ r="114.28571" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590"
+ id="linearGradient3492"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1052.2075,-146.87721)"
+ x1="71.50563"
+ y1="369.29129"
+ x2="167.36424"
+ y2="369.29129" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590"
+ id="linearGradient3494"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1052.2075,-146.87721)"
+ x1="71.50563"
+ y1="394.31128"
+ x2="130.18889"
+ y2="394.31128" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3679"
+ id="linearGradient3496"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1052.2075,-146.87721)"
+ x1="130.10934"
+ y1="378.4386"
+ x2="167.42206"
+ y2="378.4386" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590-0"
+ id="radialGradient3498"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.49287173,-1.4585165e-7,2.4715537e-8,0.08114378,-1050.957,435.79549)"
+ cx="172.86125"
+ cy="30.079779"
+ fx="172.86125"
+ fy="30.079779"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590-0"
+ id="radialGradient3555"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3012875,-4.386106e-7,1.8785129e-7,0.48024927,71.6568,1292.6379)"
+ cx="192.30554"
+ cy="128.54347"
+ fx="192.30554"
+ fy="128.54347"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4019"
+ id="radialGradient3568"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3012875,-4.386106e-7,1.8785129e-7,0.48024927,71.6568,1292.6379)"
+ cx="192.30554"
+ cy="128.54347"
+ fx="192.30554"
+ fy="128.54347"
+ r="114.28571" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590"
+ id="linearGradient3624"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1052.2075,-146.87721)"
+ x1="71.50563"
+ y1="369.29129"
+ x2="167.36424"
+ y2="369.29129" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590"
+ id="linearGradient3626"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1052.2075,-146.87721)"
+ x1="71.50563"
+ y1="394.31128"
+ x2="130.18889"
+ y2="394.31128" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3679"
+ id="linearGradient3628"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1052.2075,-146.87721)"
+ x1="130.10934"
+ y1="378.4386"
+ x2="167.42206"
+ y2="378.4386" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590-0"
+ id="radialGradient3630"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.49287173,-1.4585165e-7,2.4715537e-8,0.08114378,-1050.957,435.79549)"
+ cx="172.86125"
+ cy="30.079779"
+ fx="172.86125"
+ fy="30.079779"
+ r="114.28571" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590"
+ id="linearGradient3687"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1052.2075,-146.87721)"
+ x1="71.50563"
+ y1="369.29129"
+ x2="167.36424"
+ y2="369.29129" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590"
+ id="linearGradient3689"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1052.2075,-146.87721)"
+ x1="71.50563"
+ y1="394.31128"
+ x2="130.18889"
+ y2="394.31128" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3679"
+ id="linearGradient3691"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1052.2075,-146.87721)"
+ x1="130.10934"
+ y1="378.4386"
+ x2="167.42206"
+ y2="378.4386" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590-0"
+ id="radialGradient3693"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.49287173,-1.4585165e-7,2.4715537e-8,0.08114378,-1050.957,435.79549)"
+ cx="172.86125"
+ cy="30.079779"
+ fx="172.86125"
+ fy="30.079779"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4019"
+ id="radialGradient4601"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3012875,-4.386106e-7,1.8785129e-7,0.48024927,-128.3432,1292.6379)"
+ cx="192.30554"
+ cy="128.54347"
+ fx="192.30554"
+ fy="128.54347"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590-0"
+ id="radialGradient4603"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3012875,-4.386106e-7,1.8785129e-7,0.48024927,-128.3432,1292.6379)"
+ cx="192.30554"
+ cy="128.54347"
+ fx="192.30554"
+ fy="128.54347"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590-0"
+ id="radialGradient4605"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.49287173,-1.4585165e-7,2.4715537e-8,0.08114378,-1050.957,435.79549)"
+ cx="172.86125"
+ cy="30.079779"
+ fx="172.86125"
+ fy="30.079779"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4019"
+ id="radialGradient4625"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3012875,-4.386106e-7,1.8785129e-7,0.48024927,351.6568,1292.6379)"
+ cx="192.30554"
+ cy="128.54347"
+ fx="192.30554"
+ fy="128.54347"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590-0"
+ id="radialGradient4627"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3012875,-4.386106e-7,1.8785129e-7,0.48024927,351.6568,1292.6379)"
+ cx="192.30554"
+ cy="128.54347"
+ fx="192.30554"
+ fy="128.54347"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590-0"
+ id="radialGradient4629"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.49287173,-1.4585165e-7,2.4715537e-8,0.08114378,-1050.957,435.79549)"
+ cx="172.86125"
+ cy="30.079779"
+ fx="172.86125"
+ fy="30.079779"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590"
+ id="radialGradient3615"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3012875,-2.3220185e-7,6.539924e-8,0.30700819,48.830151,138.07367)"
+ cx="192.30554"
+ cy="128.54347"
+ fx="192.30554"
+ fy="128.54347"
+ r="114.28571" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590"
+ id="linearGradient3617"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1052.2075,-146.87721)"
+ x1="71.50563"
+ y1="369.29129"
+ x2="167.36424"
+ y2="369.29129" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590"
+ id="linearGradient3619"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1052.2075,-146.87721)"
+ x1="71.50563"
+ y1="394.31128"
+ x2="130.18889"
+ y2="394.31128" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3679"
+ id="linearGradient3621"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1052.2075,-146.87721)"
+ x1="130.10934"
+ y1="378.4386"
+ x2="167.42206"
+ y2="378.4386" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590-0"
+ id="radialGradient3623"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.49287173,-1.4585165e-7,2.4715537e-8,0.08114378,-1050.957,435.79549)"
+ cx="172.86125"
+ cy="30.079779"
+ fx="172.86125"
+ fy="30.079779"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4019"
+ id="radialGradient3679"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3012875,-4.386106e-7,1.8785129e-7,0.48024927,71.6568,1652.6379)"
+ cx="192.30554"
+ cy="128.54347"
+ fx="192.30554"
+ fy="128.54347"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4019"
+ id="radialGradient3692"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3012875,-4.386106e-7,1.8785129e-7,0.48024927,71.6568,1652.6379)"
+ cx="192.30554"
+ cy="128.54347"
+ fx="192.30554"
+ fy="128.54347"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4019"
+ id="radialGradient3712"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3012875,-4.386106e-7,1.8785129e-7,0.48024927,-128.3432,1652.6379)"
+ cx="192.30554"
+ cy="128.54347"
+ fx="192.30554"
+ fy="128.54347"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590-0"
+ id="radialGradient3714"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3012875,-4.386106e-7,1.8785129e-7,0.48024927,-128.3432,1652.6379)"
+ cx="192.30554"
+ cy="128.54347"
+ fx="192.30554"
+ fy="128.54347"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590-0"
+ id="radialGradient3716"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.49287173,-1.4585165e-7,2.4715537e-8,0.08114378,-1050.957,435.79549)"
+ cx="172.86125"
+ cy="30.079779"
+ fx="172.86125"
+ fy="30.079779"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4019"
+ id="radialGradient3736"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3012875,-4.386106e-7,1.8785129e-7,0.48024927,351.6568,1652.6379)"
+ cx="192.30554"
+ cy="128.54347"
+ fx="192.30554"
+ fy="128.54347"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590-0"
+ id="radialGradient3738"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3012875,-4.386106e-7,1.8785129e-7,0.48024927,351.6568,1652.6379)"
+ cx="192.30554"
+ cy="128.54347"
+ fx="192.30554"
+ fy="128.54347"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590-0"
+ id="radialGradient3740"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.49287173,-1.4585165e-7,2.4715537e-8,0.08114378,-1050.957,435.79549)"
+ cx="172.86125"
+ cy="30.079779"
+ fx="172.86125"
+ fy="30.079779"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590-0"
+ id="radialGradient3719"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.49287173,-1.4585165e-7,2.4715537e-8,0.08114378,-1050.957,435.79549)"
+ cx="172.86125"
+ cy="30.079779"
+ fx="172.86125"
+ fy="30.079779"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4019"
+ id="radialGradient3775"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3012875,-4.386106e-7,1.8785129e-7,0.48024927,-28.3432,1912.6379)"
+ cx="192.30554"
+ cy="128.54347"
+ fx="192.30554"
+ fy="128.54347"
+ r="114.28571" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4019"
+ id="radialGradient3788"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3012875,-4.386106e-7,1.8785129e-7,0.48024927,-28.3432,1912.6379)"
+ cx="192.30554"
+ cy="128.54347"
+ fx="192.30554"
+ fy="128.54347"
+ r="114.28571" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590"
+ id="linearGradient3790"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1052.2075,-146.87721)"
+ x1="71.50563"
+ y1="369.29129"
+ x2="167.36424"
+ y2="369.29129" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3590"
+ id="linearGradient3792"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1052.2075,-146.87721)"
+ x1="71.50563"
+ y1="394.31128"
+ x2="130.18889"
+ y2="394.31128" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3679"
+ id="linearGradient3794"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-1052.2075,-146.87721)"
+ x1="130.10934"
+ y1="378.4386"
+ x2="167.42206"
+ y2="378.4386" />
</defs>
<sodipodi:namedview
id="base"
@@ -911,14 +1349,14 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="0.3535534"
- inkscape:cx="232.14363"
- inkscape:cy="647.86293"
+ inkscape:zoom="0.7071068"
+ inkscape:cx="443.18636"
+ inkscape:cy="-987.03691"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
- inkscape:window-width="1600"
- inkscape:window-height="850"
+ inkscape:window-width="1680"
+ inkscape:window-height="1000"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="1"
@@ -933,7 +1371,17 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title />
+ <dc:title>eXO JCR Diagram sources</dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Nikolay Zamosenchuk / eXo Platform SAS.</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title>Copyright (C) 2009-2011 eXo Platform SAS.</dc:title>
+ </cc:Agent>
+ </dc:rights>
</cc:Work>
</rdf:RDF>
</metadata>
@@ -2427,5 +2875,1412 @@
</g>
</g>
</g>
+ <g
+ id="g3892">
+ <rect
+ style="fill:url(#radialGradient3568);fill-opacity:1;stroke:#000000;stroke-opacity:1;filter:url(#filter5884)"
+ ry="7"
+ rx="7"
+ y="1299.4851"
+ x="239.94072"
+ height="89.972282"
+ width="163.92166"
+ id="rect3353"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <g
+ style="opacity:0.26200873"
+ transform="matrix(0.48339876,0,0,2.5152896,219.4854,470.78522)"
+ id="g3355"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <path
+ id="path3358"
+ d="m -74.25,344.8125 0,15 730.4375,0 0,-15 -730.4375,0 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:15;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
+ inkscape:connector-curvature="0" />
+ </g>
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ sodipodi:linespacing="80.000001%"
+ x="349.88257"
+ y="1210.3958"
+ id="text3360"
+ style="font-size:20px;font-style:normal;font-weight:normal;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="font-size:20px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle"
+ y="1210.3958"
+ x="349.88257"
+ id="tspan3362"
+ sodipodi:role="line">local</tspan><tspan
+ id="tspan3364"
+ style="font-size:20px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle"
+ y="1226.3958"
+ x="349.88257"
+ sodipodi:role="line">file system</tspan></text>
+ <rect
+ id="rect3376"
+ width="163.92166"
+ height="89.972282"
+ x="239.94072"
+ y="1299.4851"
+ rx="7"
+ ry="7"
+ style="fill:url(#radialGradient3555);fill-opacity:1.0"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="257.58612"
+ y="1365.818"
+ id="text3378"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan3380"
+ x="257.58612"
+ y="1365.818">JCR #2</tspan></text>
+ <path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ sodipodi:nodetypes="cs"
+ id="path3396"
+ d="m 383.67405,1292.3976 c -0.462,-34.8901 -0.0914,-19.4649 -0.57286,-55.734"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-mid:none;marker-end:url(#Arrow1Mend)"
+ inkscape:connector-curvature="0" />
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ id="text3402"
+ y="1132.1257"
+ x="258.55304"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"><tspan
+ style="font-size:30px"
+ id="tspan3404"
+ y="1132.1257"
+ x="258.55304"
+ sodipodi:role="line">Local index</tspan></text>
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ x="462.73706"
+ y="1361.521"
+ id="text3406"
+ style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle;opacity:0.39738045;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"
+ sodipodi:linespacing="80.000001%"><tspan
+ style="font-size:15px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle"
+ y="1361.521"
+ x="462.73706"
+ sodipodi:role="line"
+ id="tspan3408">JBoss Cache</tspan></text>
+ <g
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ transform="translate(1283.846,1000.7636)"
+ id="g3410">
+ <g
+ style="fill:#000000;fill-opacity:1;filter:url(#filter3958)"
+ id="g3412">
+ <path
+ id="path3414"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -927.54545,153.32625 -46.3903,25.73628 -0.0692,-8.28635 46.40736,-23.6939 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3416"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -0.0561,-6.71388 -45.32037,-4.9837 0.0522,6.24397 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3418"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -56.91756,-10.05543 46.3903,-25.73628 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3420"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.27725,152.06598 -34.81726,27.91714 -56.91047,-9.20694 46.40736,-23.6939 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3422"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -917.01819,189.11796 -0.0763,-9.13484 -56.91047,-9.20694 0.0692,8.28635 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3424"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -0.0763,-9.13484 34.81726,-27.91714 z"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ style="fill:none"
+ id="g3426">
+ <path
+ id="path3428"
+ style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
+ d="m -927.54545,153.32625 -46.3903,25.73628 -0.0692,-8.28635 46.40736,-23.6939 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3430"
+ style="fill:#353564;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -0.0561,-6.71388 -45.32037,-4.9837 0.0522,6.24397 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3432"
+ style="fill:#4d4d9f;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -56.91756,-10.05543 46.3903,-25.73628 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3434"
+ style="fill:url(#linearGradient3492);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.27725,152.06598 -34.81726,27.91714 -56.91047,-9.20694 46.40736,-23.6939 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3436"
+ style="fill:url(#linearGradient3494);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -917.01819,189.11796 -0.0763,-9.13484 -56.91047,-9.20694 0.0692,8.28635 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3438"
+ style="fill:url(#linearGradient3496);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -0.0763,-9.13484 34.81726,-27.91714 z"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+ <path
+ style="opacity:0.59825331999999998;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow2Lstart-53);marker-end:url(#Arrow2Lend-8)"
+ d="m 407.7407,1370.6464 107.44101,0"
+ id="path3448"
+ sodipodi:nodetypes="cc"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ inkscape:connector-curvature="0" />
+ <g
+ id="g3450"
+ transform="translate(1277.846,878.7636)"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <rect
+ style="fill:#000000;fill-opacity:1;filter:url(#filter6060)"
+ ry="4"
+ rx="4"
+ y="428.96268"
+ x="-1022.2118"
+ height="17.132936"
+ width="135.1803"
+ id="rect3452" />
+ <rect
+ id="rect3454"
+ width="135.1803"
+ height="17.132936"
+ x="-1022.2118"
+ y="428.96268"
+ rx="4"
+ ry="4"
+ style="fill:url(#radialGradient3498);fill-opacity:1" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-1004.0707"
+ y="442.27301"
+ id="text3456"><tspan
+ sodipodi:role="line"
+ id="tspan3458"
+ x="-1004.0707"
+ y="442.27301"
+ style="font-size:15px">Volatile index</tspan></text>
+ </g>
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ x="461.1297"
+ y="1385.8094"
+ id="text3464"
+ style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"
+ sodipodi:linespacing="80.000001%"><tspan
+ style="font-size:10px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle"
+ y="1385.8094"
+ x="461.1297"
+ sodipodi:role="line"
+ id="tspan3466">list of new/updated</tspan><tspan
+ style="font-size:10px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle"
+ y="1393.8094"
+ x="461.1297"
+ sodipodi:role="line"
+ id="tspan3468">content</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;text-align:end;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ id="text3470"
+ y="1260.0768"
+ x="375.82294"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ x="380.59833"
+ y="1260.0768"
+ style="font-size:15px;text-align:end;text-anchor:end"
+ id="tspan3472">flush </tspan><tspan
+ sodipodi:role="line"
+ x="375.82294"
+ y="1278.8268"
+ style="font-size:15px;text-align:end;text-anchor:end"
+ id="tspan3474">volatile index</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:20px;font-style:normal;font-weight:normal;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ id="text3570"
+ y="1210.3958"
+ x="149.88257"
+ sodipodi:linespacing="80.000001%"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan3572"
+ x="149.88257"
+ y="1210.3958"
+ style="font-size:20px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle">local</tspan><tspan
+ sodipodi:role="line"
+ x="149.88257"
+ y="1226.3958"
+ style="font-size:20px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle"
+ id="tspan3574">file system</tspan></text>
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-mid:none;marker-end:url(#Arrow1Mend)"
+ d="m 183.67405,1292.3976 c -0.462,-34.8901 -0.0914,-19.4649 -0.57286,-55.734"
+ id="path3576"
+ sodipodi:nodetypes="cs"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <g
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ id="g3578"
+ transform="translate(1083.846,1000.7636)">
+ <g
+ id="g3580"
+ style="fill:#000000;fill-opacity:1;filter:url(#filter3958)">
+ <path
+ inkscape:connector-curvature="0"
+ d="m -927.54545,153.32625 -46.3903,25.73628 -0.0692,-8.28635 46.40736,-23.6939 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path3582" />
+ <path
+ inkscape:connector-curvature="0"
+ d="m -882.22116,158.77986 -0.0561,-6.71388 -45.32037,-4.9837 0.0522,6.24397 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path3584" />
+ <path
+ inkscape:connector-curvature="0"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -56.91756,-10.05543 46.3903,-25.73628 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path3586" />
+ <path
+ inkscape:connector-curvature="0"
+ d="m -882.27725,152.06598 -34.81726,27.91714 -56.91047,-9.20694 46.40736,-23.6939 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path3588" />
+ <path
+ inkscape:connector-curvature="0"
+ d="m -917.01819,189.11796 -0.0763,-9.13484 -56.91047,-9.20694 0.0692,8.28635 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path3590" />
+ <path
+ inkscape:connector-curvature="0"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -0.0763,-9.13484 34.81726,-27.91714 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path3592" />
+ </g>
+ <g
+ id="g3594"
+ style="fill:none">
+ <path
+ inkscape:connector-curvature="0"
+ d="m -927.54545,153.32625 -46.3903,25.73628 -0.0692,-8.28635 46.40736,-23.6939 z"
+ style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
+ id="path3596" />
+ <path
+ inkscape:connector-curvature="0"
+ d="m -882.22116,158.77986 -0.0561,-6.71388 -45.32037,-4.9837 0.0522,6.24397 z"
+ style="fill:#353564;fill-rule:evenodd;stroke:none"
+ id="path3598" />
+ <path
+ inkscape:connector-curvature="0"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -56.91756,-10.05543 46.3903,-25.73628 z"
+ style="fill:#4d4d9f;fill-rule:evenodd;stroke:none"
+ id="path3600" />
+ <path
+ inkscape:connector-curvature="0"
+ d="m -882.27725,152.06598 -34.81726,27.91714 -56.91047,-9.20694 46.40736,-23.6939 z"
+ style="fill:url(#linearGradient3624);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path3602" />
+ <path
+ inkscape:connector-curvature="0"
+ d="m -917.01819,189.11796 -0.0763,-9.13484 -56.91047,-9.20694 0.0692,8.28635 z"
+ style="fill:url(#linearGradient3626);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path3604" />
+ <path
+ inkscape:connector-curvature="0"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -0.0763,-9.13484 34.81726,-27.91714 z"
+ style="fill:url(#linearGradient3628);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path3606" />
+ </g>
+ </g>
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ x="175.82294"
+ y="1260.0768"
+ id="text3618"
+ style="font-size:40px;font-style:normal;font-weight:normal;text-align:end;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ id="tspan3620"
+ style="font-size:15px;text-align:end;text-anchor:end"
+ y="1260.0768"
+ x="180.59833"
+ sodipodi:role="line">flush </tspan><tspan
+ id="tspan3622"
+ style="font-size:15px;text-align:end;text-anchor:end"
+ y="1278.8268"
+ x="175.82294"
+ sodipodi:role="line">volatile index</tspan></text>
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ sodipodi:linespacing="80.000001%"
+ x="629.88257"
+ y="1210.3958"
+ id="text3632"
+ style="font-size:20px;font-style:normal;font-weight:normal;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="font-size:20px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle"
+ y="1210.3958"
+ x="629.88257"
+ id="tspan3634"
+ sodipodi:role="line">local</tspan><tspan
+ id="tspan3636"
+ style="font-size:20px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle"
+ y="1226.3958"
+ x="629.88257"
+ sodipodi:role="line">file system</tspan></text>
+ <path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ sodipodi:nodetypes="cs"
+ id="path3638"
+ d="m 663.67405,1292.3976 c -0.462,-34.8901 -0.0914,-19.4649 -0.57286,-55.734"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-mid:none;marker-end:url(#Arrow1Mend)"
+ inkscape:connector-curvature="0" />
+ <g
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ transform="translate(1563.846,1000.7636)"
+ id="g3640">
+ <g
+ style="fill:#000000;fill-opacity:1;filter:url(#filter3958)"
+ id="g3642">
+ <path
+ id="path3644"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -927.54545,153.32625 -46.3903,25.73628 -0.0692,-8.28635 46.40736,-23.6939 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3646"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -0.0561,-6.71388 -45.32037,-4.9837 0.0522,6.24397 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3648"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -56.91756,-10.05543 46.3903,-25.73628 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3650"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.27725,152.06598 -34.81726,27.91714 -56.91047,-9.20694 46.40736,-23.6939 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3652"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -917.01819,189.11796 -0.0763,-9.13484 -56.91047,-9.20694 0.0692,8.28635 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3654"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -0.0763,-9.13484 34.81726,-27.91714 z"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ style="fill:none"
+ id="g3656">
+ <path
+ id="path3658"
+ style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
+ d="m -927.54545,153.32625 -46.3903,25.73628 -0.0692,-8.28635 46.40736,-23.6939 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3660"
+ style="fill:#353564;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -0.0561,-6.71388 -45.32037,-4.9837 0.0522,6.24397 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3662"
+ style="fill:#4d4d9f;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -56.91756,-10.05543 46.3903,-25.73628 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3664"
+ style="fill:url(#linearGradient3687);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.27725,152.06598 -34.81726,27.91714 -56.91047,-9.20694 46.40736,-23.6939 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3666"
+ style="fill:url(#linearGradient3689);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -917.01819,189.11796 -0.0763,-9.13484 -56.91047,-9.20694 0.0692,8.28635 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3668"
+ style="fill:url(#linearGradient3691);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -0.0763,-9.13484 34.81726,-27.91714 z"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;text-align:end;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ id="text3681"
+ y="1260.0768"
+ x="655.82294"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ x="660.59833"
+ y="1260.0768"
+ style="font-size:15px;text-align:end;text-anchor:end"
+ id="tspan3683">flush </tspan><tspan
+ sodipodi:role="line"
+ x="655.82294"
+ y="1278.8268"
+ style="font-size:15px;text-align:end;text-anchor:end"
+ id="tspan3685">volatile index</tspan></text>
+ <rect
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ id="rect4583"
+ width="163.92166"
+ height="89.972282"
+ x="39.94072"
+ y="1299.4851"
+ rx="7"
+ ry="7"
+ style="fill:url(#radialGradient4601);fill-opacity:1;stroke:#000000;stroke-opacity:1;filter:url(#filter5884)" />
+ <rect
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ style="fill:url(#radialGradient4603);fill-opacity:1"
+ ry="7"
+ rx="7"
+ y="1299.4851"
+ x="39.94072"
+ height="89.972282"
+ width="163.92166"
+ id="rect4585" />
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ id="text4587"
+ y="1365.818"
+ x="57.586121"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="1365.818"
+ x="57.586121"
+ id="tspan4589"
+ sodipodi:role="line">JCR #1</tspan></text>
+ <g
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ transform="translate(1077.846,878.7636)"
+ id="g4591">
+ <rect
+ id="rect4593"
+ width="135.1803"
+ height="17.132936"
+ x="-1022.2118"
+ y="428.96268"
+ rx="4"
+ ry="4"
+ style="fill:#000000;fill-opacity:1;filter:url(#filter6060)" />
+ <rect
+ style="fill:url(#radialGradient4605);fill-opacity:1"
+ ry="4"
+ rx="4"
+ y="428.96268"
+ x="-1022.2118"
+ height="17.132936"
+ width="135.1803"
+ id="rect4595" />
+ <text
+ id="text4597"
+ y="442.27301"
+ x="-1004.0707"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="font-size:15px"
+ y="442.27301"
+ x="-1004.0707"
+ id="tspan4599"
+ sodipodi:role="line">Volatile index</tspan></text>
+ </g>
+ <rect
+ style="fill:url(#radialGradient4625);fill-opacity:1;stroke:#000000;stroke-opacity:1;filter:url(#filter5884)"
+ ry="7"
+ rx="7"
+ y="1299.4851"
+ x="519.94073"
+ height="89.972282"
+ width="163.92166"
+ id="rect4607"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ id="rect4609"
+ width="163.92166"
+ height="89.972282"
+ x="519.94073"
+ y="1299.4851"
+ rx="7"
+ ry="7"
+ style="fill:url(#radialGradient4627);fill-opacity:1"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="537.58612"
+ y="1365.818"
+ id="text4611"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan4613"
+ x="537.58612"
+ y="1365.818">JCR #n</tspan></text>
+ <g
+ id="g4615"
+ transform="translate(1557.846,878.7636)"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <rect
+ style="fill:#000000;fill-opacity:1;filter:url(#filter6060)"
+ ry="4"
+ rx="4"
+ y="428.96268"
+ x="-1022.2118"
+ height="17.132936"
+ width="135.1803"
+ id="rect4617" />
+ <rect
+ id="rect4619"
+ width="135.1803"
+ height="17.132936"
+ x="-1022.2118"
+ y="428.96268"
+ rx="4"
+ ry="4"
+ style="fill:url(#radialGradient4629);fill-opacity:1" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-1004.0707"
+ y="442.27301"
+ id="text4621"><tspan
+ sodipodi:role="line"
+ id="tspan4623"
+ x="-1004.0707"
+ y="442.27301"
+ style="font-size:15px">Volatile index</tspan></text>
+ </g>
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ sodipodi:nodetypes="cc"
+ id="path4845"
+ d="m 207.7407,1370.6464 26.83084,0"
+ style="opacity:0.59825332;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow2Lstart-53);marker-end:url(#Arrow2Lend-8)" />
+ </g>
+ <g
+ id="g3817"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-shared-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <rect
+ style="fill:url(#radialGradient3692);fill-opacity:1;stroke:#000000;stroke-opacity:1;filter:url(#filter5884)"
+ ry="7"
+ rx="7"
+ y="1659.4851"
+ x="239.94072"
+ height="89.972282"
+ width="163.92166"
+ id="rect3479"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <g
+ style="opacity:0.26200873"
+ transform="matrix(0.48339876,0,0,2.5152896,219.4854,830.78522)"
+ id="g3481"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <path
+ id="path3483"
+ d="m -74.25,344.8125 0,15 730.4375,0 0,-15 -730.4375,0 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:15;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
+ inkscape:connector-curvature="0" />
+ </g>
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ sodipodi:linespacing="80.000001%"
+ x="349.88257"
+ y="1570.3958"
+ id="text3485"
+ style="font-size:20px;font-style:normal;font-weight:normal;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="font-size:20px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle"
+ y="1570.3958"
+ x="349.88257"
+ id="tspan3487"
+ sodipodi:role="line">shared</tspan><tspan
+ id="tspan3489"
+ style="font-size:20px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle"
+ y="1586.3958"
+ x="349.88257"
+ sodipodi:role="line">file system</tspan></text>
+ <rect
+ id="rect3501"
+ width="163.92166"
+ height="89.972282"
+ x="239.94072"
+ y="1659.4851"
+ rx="7"
+ ry="7"
+ style="fill:url(#radialGradient3679);fill-opacity:1"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="257.58612"
+ y="1725.818"
+ id="text3503"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan3505"
+ x="257.58612"
+ y="1725.818">JCR #2</tspan></text>
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ x="314.95868"
+ y="1764.8414"
+ id="text3517"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="font-size:15px"
+ y="1764.8414"
+ x="314.95868"
+ id="tspan3519"
+ sodipodi:role="line">coordinator</tspan></text>
+ <path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ sodipodi:nodetypes="cs"
+ id="path3521"
+ d="m 383.67405,1652.3976 c -0.462,-34.8901 -0.0914,-19.4649 -0.57286,-55.734"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-mid:none;marker-end:url(#Arrow1Mend)"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ sodipodi:nodetypes="cs"
+ id="path3523"
+ d="m 128.0635,1639.5331 c 10.7939,-52.8187 82.8737,-104.2973 172.7081,-112.2878"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:8, 8;stroke-dashoffset:0;marker-start:url(#Arrow1Mstart);marker-mid:none;marker-end:none"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ sodipodi:nodetypes="cs"
+ id="path3525"
+ d="m 614.84648,1636.6393 c -13.00506,-60.3041 -78.805,-107.6969 -206.55845,-110.4448"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:8, 8;stroke-dashoffset:0;marker-start:url(#Arrow1Mstart);marker-mid:none;marker-end:none"
+ inkscape:connector-curvature="0" />
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ id="text3527"
+ y="1492.1257"
+ x="258.55304"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"><tspan
+ style="font-size:30px"
+ id="tspan3529"
+ y="1492.1257"
+ x="258.55304"
+ sodipodi:role="line">Shared index</tspan></text>
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ x="462.73706"
+ y="1721.521"
+ id="text3531"
+ style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle;opacity:0.39738045;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"
+ sodipodi:linespacing="80.000001%"><tspan
+ style="font-size:15px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle"
+ y="1721.521"
+ x="462.73706"
+ sodipodi:role="line"
+ id="tspan3533">JBoss Cache</tspan></text>
+ <g
+ transform="translate(1283.846,1360.7636)"
+ id="g3535">
+ <g
+ style="fill:#000000;fill-opacity:1;filter:url(#filter3958)"
+ id="g3537">
+ <path
+ id="path3539"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -927.54545,153.32625 -46.3903,25.73628 -0.0692,-8.28635 46.40736,-23.6939 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3541"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -0.0561,-6.71388 -45.32037,-4.9837 0.0522,6.24397 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3543"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -56.91756,-10.05543 46.3903,-25.73628 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3545"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.27725,152.06598 -34.81726,27.91714 -56.91047,-9.20694 46.40736,-23.6939 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3547"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -917.01819,189.11796 -0.0763,-9.13484 -56.91047,-9.20694 0.0692,8.28635 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3549"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -0.0763,-9.13484 34.81726,-27.91714 z"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ style="fill:none"
+ id="g3551">
+ <path
+ id="path3553"
+ style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
+ d="m -927.54545,153.32625 -46.3903,25.73628 -0.0692,-8.28635 46.40736,-23.6939 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3555"
+ style="fill:#353564;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -0.0561,-6.71388 -45.32037,-4.9837 0.0522,6.24397 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3557"
+ style="fill:#4d4d9f;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -56.91756,-10.05543 46.3903,-25.73628 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3559"
+ style="fill:url(#linearGradient3617);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.27725,152.06598 -34.81726,27.91714 -56.91047,-9.20694 46.40736,-23.6939 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3561"
+ style="fill:url(#linearGradient3619);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -917.01819,189.11796 -0.0763,-9.13484 -56.91047,-9.20694 0.0692,8.28635 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3563"
+ style="fill:url(#linearGradient3621);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -0.0763,-9.13484 34.81726,-27.91714 z"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ x="121.82293"
+ y="1625.0768"
+ id="text3565"
+ style="font-size:40px;font-style:normal;font-weight:normal;text-align:end;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="font-size:15px;text-align:end;text-anchor:end"
+ y="1625.0768"
+ x="121.82293"
+ id="tspan3567"
+ sodipodi:role="line">read lucene</tspan><tspan
+ style="font-size:15px;text-align:end;text-anchor:end"
+ y="1643.8268"
+ x="121.82293"
+ sodipodi:role="line"
+ id="tspan3569">index on query</tspan></text>
+ <path
+ style="opacity:0.59825332;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow2Lstart-53)"
+ d="m 515.26014,1702.7261 -107.51944,0"
+ id="path3571"
+ sodipodi:nodetypes="cc"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ inkscape:connector-curvature="0" />
+ <path
+ style="opacity:0.59825332;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow2Lstart-53)"
+ d="m 407.7407,1730.6464 107.44101,0"
+ id="path3573"
+ sodipodi:nodetypes="cc"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ inkscape:connector-curvature="0" />
+ <g
+ id="g3575"
+ transform="translate(1277.846,1238.7636)"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <rect
+ style="fill:#000000;fill-opacity:1;filter:url(#filter6060)"
+ ry="4"
+ rx="4"
+ y="428.96268"
+ x="-1022.2118"
+ height="17.132936"
+ width="135.1803"
+ id="rect3577" />
+ <rect
+ id="rect3579"
+ width="135.1803"
+ height="17.132936"
+ x="-1022.2118"
+ y="428.96268"
+ rx="4"
+ ry="4"
+ style="fill:url(#radialGradient3623);fill-opacity:1" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-1004.0707"
+ y="442.27301"
+ id="text3581"><tspan
+ sodipodi:role="line"
+ id="tspan3583"
+ x="-1004.0707"
+ y="442.27301"
+ style="font-size:15px">Volatile index</tspan></text>
+ </g>
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ x="496.50299"
+ y="1695.3475"
+ id="text3585"
+ style="font-size:40px;font-style:normal;font-weight:normal;text-align:end;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="font-size:10px;text-align:end;text-anchor:end"
+ y="1695.3475"
+ x="496.50299"
+ sodipodi:role="line"
+ id="tspan3587">list of indexes</tspan></text>
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ x="461.1297"
+ y="1745.8094"
+ id="text3589"
+ style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"
+ sodipodi:linespacing="80.000001%"><tspan
+ style="font-size:10px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle"
+ y="1745.8094"
+ x="461.1297"
+ sodipodi:role="line"
+ id="tspan3591">list of new/updated</tspan><tspan
+ style="font-size:10px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle"
+ y="1753.8094"
+ x="461.1297"
+ sodipodi:role="line"
+ id="tspan3593">content</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;text-align:end;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ id="text3595"
+ y="1620.0768"
+ x="375.82294"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ x="380.59833"
+ y="1620.0768"
+ style="font-size:15px;text-align:end;text-anchor:end"
+ id="tspan3597">flush </tspan><tspan
+ sodipodi:role="line"
+ x="375.82294"
+ y="1638.8268"
+ style="font-size:15px;text-align:end;text-anchor:end"
+ id="tspan3599">volatile index</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ id="text3601"
+ y="1625.0768"
+ x="621.82294"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan3603"
+ x="621.82294"
+ y="1625.0768"
+ style="font-size:15px;text-align:start;text-anchor:start">read lucene</tspan><tspan
+ id="tspan3605"
+ sodipodi:role="line"
+ x="621.82294"
+ y="1643.8268"
+ style="font-size:15px;text-align:start;text-anchor:start">index on query</tspan></text>
+ <path
+ sodipodi:nodetypes="cc"
+ id="path3607"
+ d="m 207.981,1702.7261 26.8308,0"
+ style="opacity:0.59825332;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow2Lstart-53)"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="fill:url(#radialGradient3712);fill-opacity:1;stroke:#000000;stroke-opacity:1;filter:url(#filter5884)"
+ ry="7"
+ rx="7"
+ y="1659.4851"
+ x="39.94072"
+ height="89.972282"
+ width="163.92166"
+ id="rect3694"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ id="rect3696"
+ width="163.92166"
+ height="89.972282"
+ x="39.94072"
+ y="1659.4851"
+ rx="7"
+ ry="7"
+ style="fill:url(#radialGradient3714);fill-opacity:1"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="57.586121"
+ y="1725.818"
+ id="text3698"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan3700"
+ x="57.586121"
+ y="1725.818">JCR #1</tspan></text>
+ <g
+ id="g3702"
+ transform="translate(1077.846,1238.7636)"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <rect
+ style="fill:#000000;fill-opacity:1;filter:url(#filter6060)"
+ ry="4"
+ rx="4"
+ y="428.96268"
+ x="-1022.2118"
+ height="17.132936"
+ width="135.1803"
+ id="rect3704" />
+ <rect
+ id="rect3706"
+ width="135.1803"
+ height="17.132936"
+ x="-1022.2118"
+ y="428.96268"
+ rx="4"
+ ry="4"
+ style="fill:url(#radialGradient3716);fill-opacity:1" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-1004.0707"
+ y="442.27301"
+ id="text3708"><tspan
+ sodipodi:role="line"
+ id="tspan3710"
+ x="-1004.0707"
+ y="442.27301"
+ style="font-size:15px">Volatile index</tspan></text>
+ </g>
+ <rect
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ id="rect3718"
+ width="163.92166"
+ height="89.972282"
+ x="519.94073"
+ y="1659.4851"
+ rx="7"
+ ry="7"
+ style="fill:url(#radialGradient3736);fill-opacity:1;stroke:#000000;stroke-opacity:1;filter:url(#filter5884)" />
+ <rect
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ style="fill:url(#radialGradient3738);fill-opacity:1"
+ ry="7"
+ rx="7"
+ y="1659.4851"
+ x="519.94073"
+ height="89.972282"
+ width="163.92166"
+ id="rect3720" />
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ id="text3722"
+ y="1725.818"
+ x="537.58612"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="1725.818"
+ x="537.58612"
+ id="tspan3724"
+ sodipodi:role="line">JCR #n</tspan></text>
+ <g
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-local-index.png"
+ transform="translate(1557.846,1238.7636)"
+ id="g3726">
+ <rect
+ id="rect3728"
+ width="135.1803"
+ height="17.132936"
+ x="-1022.2118"
+ y="428.96268"
+ rx="4"
+ ry="4"
+ style="fill:#000000;fill-opacity:1;filter:url(#filter6060)" />
+ <rect
+ style="fill:url(#radialGradient3740);fill-opacity:1"
+ ry="4"
+ rx="4"
+ y="428.96268"
+ x="-1022.2118"
+ height="17.132936"
+ width="135.1803"
+ id="rect3730" />
+ <text
+ id="text3732"
+ y="442.27301"
+ x="-1004.0707"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="font-size:15px"
+ y="442.27301"
+ x="-1004.0707"
+ id="tspan3734"
+ sodipodi:role="line">Volatile index</tspan></text>
+ </g>
+ </g>
+ <g
+ id="g3802"
+ inkscape:export-filename="/home/nikolaz/java/jboss/jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-standalone-index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <rect
+ style="fill:url(#radialGradient3788);fill-opacity:1;stroke:#000000;stroke-opacity:1;filter:url(#filter5884)"
+ ry="7"
+ rx="7"
+ y="1919.4851"
+ x="139.94072"
+ height="89.972282"
+ width="163.92166"
+ id="rect3569"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ sodipodi:linespacing="80.000001%"
+ x="469.88257"
+ y="1978.3958"
+ id="text3576"
+ style="font-size:20px;font-style:normal;font-weight:normal;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="font-size:20px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle"
+ y="1978.3958"
+ x="469.88257"
+ id="tspan3578"
+ sodipodi:role="line" /><tspan
+ id="tspan3580"
+ style="font-size:20px;text-align:center;line-height:80.00000119%;writing-mode:lr-tb;text-anchor:middle"
+ y="1994.3958"
+ x="469.88257"
+ sodipodi:role="line">file system</tspan></text>
+ <rect
+ id="rect3592"
+ width="163.92166"
+ height="89.972282"
+ x="139.94072"
+ y="1919.4851"
+ rx="7"
+ ry="7"
+ style="fill:url(#radialGradient3775);fill-opacity:1"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="225.8244"
+ y="1985.8179"
+ id="text3594"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan3596"
+ x="225.8244"
+ y="1985.8179">JCR</tspan></text>
+ <path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ sodipodi:nodetypes="cs"
+ id="path3612"
+ d="m 327.52082,1985.8168 c 34.8901,-0.462 33.4649,-0.091 69.734,-0.5728"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-mid:none;marker-end:url(#Arrow1Mend)"
+ inkscape:connector-curvature="0" />
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ id="text3619"
+ y="1892.1257"
+ x="190.55304"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"><tspan
+ style="font-size:30px"
+ id="tspan3621"
+ y="1892.1257"
+ x="190.55304"
+ sodipodi:role="line">Standalone index</tspan></text>
+ <g
+ transform="translate(1403.846,1780.7636)"
+ id="g3627">
+ <g
+ style="fill:#000000;fill-opacity:1;filter:url(#filter3958)"
+ id="g3629">
+ <path
+ id="path3631"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -927.54545,153.32625 -46.3903,25.73628 -0.0692,-8.28635 46.40736,-23.6939 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3634"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -0.0561,-6.71388 -45.32037,-4.9837 0.0522,6.24397 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3637"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -56.91756,-10.05543 46.3903,-25.73628 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3639"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.27725,152.06598 -34.81726,27.91714 -56.91047,-9.20694 46.40736,-23.6939 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3641"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -917.01819,189.11796 -0.0763,-9.13484 -56.91047,-9.20694 0.0692,8.28635 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3643"
+ style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -0.0763,-9.13484 34.81726,-27.91714 z"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ style="fill:none"
+ id="g3645">
+ <path
+ id="path3647"
+ style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
+ d="m -927.54545,153.32625 -46.3903,25.73628 -0.0692,-8.28635 46.40736,-23.6939 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3649"
+ style="fill:#353564;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -0.0561,-6.71388 -45.32037,-4.9837 0.0522,6.24397 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3651"
+ style="fill:#4d4d9f;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -56.91756,-10.05543 46.3903,-25.73628 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3653"
+ style="fill:url(#linearGradient3790);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.27725,152.06598 -34.81726,27.91714 -56.91047,-9.20694 46.40736,-23.6939 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3655"
+ style="fill:url(#linearGradient3792);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -917.01819,189.11796 -0.0763,-9.13484 -56.91047,-9.20694 0.0692,8.28635 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path3657"
+ style="fill:url(#linearGradient3794);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -882.22116,158.77986 -34.79703,30.3381 -0.0763,-9.13484 34.81726,-27.91714 z"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+ <g
+ id="g3669"
+ transform="translate(1177.846,1498.7636)"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <rect
+ style="fill:#000000;fill-opacity:1;filter:url(#filter6060)"
+ ry="4"
+ rx="4"
+ y="428.96268"
+ x="-1022.2118"
+ height="17.132936"
+ width="135.1803"
+ id="rect3671" />
+ <rect
+ id="rect3673"
+ width="135.1803"
+ height="17.132936"
+ x="-1022.2118"
+ y="428.96268"
+ rx="4"
+ ry="4"
+ style="fill:url(#radialGradient3719);fill-opacity:1" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-1004.0707"
+ y="442.27301"
+ id="text3675"><tspan
+ sodipodi:role="line"
+ id="tspan3677"
+ x="-1004.0707"
+ y="442.27301"
+ style="font-size:15px">Volatile index</tspan></text>
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;text-align:end;text-anchor:end;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ id="text3690"
+ y="1933.0767"
+ x="359.62445"
+ inkscape:export-filename="/home/nikolaz/Desktop/shared_index.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ x="362.01215"
+ y="1933.0767"
+ style="font-size:15px;text-align:center;text-anchor:middle"
+ id="tspan3695">flush </tspan><tspan
+ id="tspan3798"
+ sodipodi:role="line"
+ x="359.62445"
+ y="1951.8267"
+ style="font-size:15px;text-align:center;text-anchor:middle">volatile</tspan><tspan
+ id="tspan3800"
+ sodipodi:role="line"
+ x="359.62445"
+ y="1970.5767"
+ style="font-size:15px;text-align:center;text-anchor:middle">index</tspan></text>
+ </g>
</g>
</svg>
Added: jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-standalone-index.png
===================================================================
(Binary files differ)
Property changes on: jcr/trunk/exo.jcr.docs/exo.jcr.docs.developer/en/src/main/resources/images/diagram-standalone-index.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
15 years, 1 month
exo-jcr SVN: r4079 - jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan.
by do-not-reply@jboss.org
Author: nfilotto
Date: 2011-03-14 05:25:50 -0400 (Mon, 14 Mar 2011)
New Revision: 4079
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/ISPNCacheWorkspaceStorageCache.java
Log:
EXOJCR-1202: Support disable feature for ISPN cache
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/ISPNCacheWorkspaceStorageCache.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/ISPNCacheWorkspaceStorageCache.java 2011-03-11 17:15:10 UTC (rev 4078)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/infinispan/ISPNCacheWorkspaceStorageCache.java 2011-03-14 09:25:50 UTC (rev 4079)
@@ -94,6 +94,8 @@
private static final Log LOG = ExoLogger.getLogger("exo.jcr.component.core.ISPNCacheWorkspaceStorageCache");
+ private final boolean enabled;
+
protected final BufferedISPNCache cache;
/**
@@ -217,7 +219,8 @@
{
throw new RepositoryConfigurationException("Cache configuration not found");
}
-
+ this.enabled = wsConfig.getCache().isEnabled();
+
// create cache using custom factory
ISPNCacheFactory<Serializable, Object> factory = new ISPNCacheFactory<Serializable, Object>(cfm);
@@ -612,7 +615,7 @@
*/
public boolean isEnabled()
{
- return true;
+ return enabled;
}
/**
15 years, 1 month
exo-jcr SVN: r4078 - jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/infinispan.
by do-not-reply@jboss.org
Author: nfilotto
Date: 2011-03-11 12:15:10 -0500 (Fri, 11 Mar 2011)
New Revision: 4078
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/infinispan/ISPNCacheFactory.java
Log:
EXOJCR-828: Fixed an outdated info message
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/infinispan/ISPNCacheFactory.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/infinispan/ISPNCacheFactory.java 2011-03-11 14:19:25 UTC (rev 4077)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/infinispan/ISPNCacheFactory.java 2011-03-11 17:15:10 UTC (rev 4078)
@@ -167,7 +167,7 @@
CACHE_MANAGERS.put(gc, manager);
if (log.isInfoEnabled())
{
- log.info("A new JBoss Cache instance has been registered for the region " + regionId
+ log.info("A new ISPN Cache Manager instance has been registered for the region " + regionId
+ " and the container " + container.getContext().getName());
}
}
15 years, 1 month