[exo-jcr-commits] 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.
do-not-reply at jboss.org
do-not-reply at jboss.org
Tue Mar 15 05:05:45 EDT 2011
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 at exoplatform.com.ua">Peter Nedonosko</a>
+ * @author <a href="mailto:anatoliy.bazko at 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}
*/
More information about the exo-jcr-commits
mailing list