[infinispan-commits] Infinispan SVN: r510 - in branches/ISPN-32/query: src/main/java/org/infinispan/query and 1 other directory.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Wed Jul 1 08:49:56 EDT 2009
Author: navssurtani
Date: 2009-07-01 08:49:55 -0400 (Wed, 01 Jul 2009)
New Revision: 510
Added:
branches/ISPN-32/query/src/main/java/org/infinispan/query/EntityLoader.java
branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCoreInterceptor.java
branches/ISPN-32/query/src/main/java/org/infinispan/query/TreeEntityId.java
branches/ISPN-32/query/src/main/java/org/infinispan/query/TreeEntityIdImpl.java
Removed:
branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCoreRemover.java
Modified:
branches/ISPN-32/query/pom.xml
branches/ISPN-32/query/src/main/java/org/infinispan/query/CacheEntityId.java
branches/ISPN-32/query/src/main/java/org/infinispan/query/CacheEntityLoader.java
branches/ISPN-32/query/src/main/java/org/infinispan/query/CacheQuery.java
branches/ISPN-32/query/src/main/java/org/infinispan/query/CacheQueryImpl.java
branches/ISPN-32/query/src/main/java/org/infinispan/query/EntityId.java
branches/ISPN-32/query/src/main/java/org/infinispan/query/IndexSearcherCloser.java
branches/ISPN-32/query/src/main/java/org/infinispan/query/InvalidFqnException.java
branches/ISPN-32/query/src/main/java/org/infinispan/query/InvalidKeyException.java
branches/ISPN-32/query/src/main/java/org/infinispan/query/LazyQueryResultIterator.java
branches/ISPN-32/query/src/main/java/org/infinispan/query/QueryResultIterator.java
branches/ISPN-32/query/src/main/java/org/infinispan/query/QueryResultIteratorImpl.java
branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCache.java
branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCacheConfiguration.java
branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCacheFactory.java
branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCacheImpl.java
branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCoreListener.java
branches/ISPN-32/query/src/main/java/org/infinispan/query/Transformer.java
branches/ISPN-32/query/src/main/java/org/infinispan/query/Version.java
Log:
[ISPN-32] WIP
Modified: branches/ISPN-32/query/pom.xml
===================================================================
--- branches/ISPN-32/query/pom.xml 2009-07-01 12:22:07 UTC (rev 509)
+++ branches/ISPN-32/query/pom.xml 2009-07-01 12:49:55 UTC (rev 510)
@@ -26,6 +26,12 @@
<artifactId> hibernate-search</artifactId>
<version>3.1.1.GA</version>
</dependency>
+
+ <dependency>
+ <groupId>${project-package}</groupId>
+ <artifactId>infinispan-tree</artifactId>
+ <version>${project-version}</version>
+ </dependency>
<dependency>
<groupId>${project-package}</groupId>
@@ -34,5 +40,15 @@
<type>test-jar</type>
<scope>test</scope>
</dependency>
+
+ <dependency>
+ <groupId>${project-package}</groupId>
+ <artifactId>infinispan-tree</artifactId>
+ <version>${project-version}</version>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
+
+
</dependencies>
</project>
Modified: branches/ISPN-32/query/src/main/java/org/infinispan/query/CacheEntityId.java
===================================================================
--- branches/ISPN-32/query/src/main/java/org/infinispan/query/CacheEntityId.java 2009-07-01 12:22:07 UTC (rev 509)
+++ branches/ISPN-32/query/src/main/java/org/infinispan/query/CacheEntityId.java 2009-07-01 12:49:55 UTC (rev 510)
@@ -20,37 +20,26 @@
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package org.jboss.cache.search;
+package org.infinispan.query;
-import org.jboss.cache.Fqn;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
*
- * This class is used to get fqns, keys and documentId's by calling methods on {@link org.jboss.cache.search.Transformer}
+ * This class is used to store keys which are the same as documentId's.
* <p/>
- * @author Navin Surtani (<a href="mailto:nsurtani at redhat.com">nsurtani at redhat.com</a>)
+ * @author Navin Surtani
*/
-public class CacheEntityId extends PojoEntityId
+public class CacheEntityId implements EntityId
{
private static final Log log = LogFactory.getLog(CacheEntityId.class);
- String key;
+ protected String key;
- public CacheEntityId(String documentId)
+ public CacheEntityId(String key)
{
- super(documentId);
-// if (log.isDebugEnabled()) log.debug("Called CEI constructor using documentID constructor. DocId is " + documentId);
- }
-
- public CacheEntityId(Fqn fqn, String key) throws InvalidKeyException
- {
- super(fqn);
-// if (log.isDebugEnabled()) log.debug("Called CEI constructor using fqn, key constructor. Fqn & key are " + fqn + key);
- if(key == null) throw new NullPointerException("Key is null");
this.key = key;
- this.documentId = Transformer.generateId(fqn, key);
}
/**
@@ -61,36 +50,8 @@
public String getKey()
{
- if (key != null) return key;
- if (documentId != null)
- {
- key = Transformer.getKey(documentId);
- return key;
- }
-
- throw new IllegalArgumentException("At least key or documentId must be set to call this method");
+ return key;
}
- /**
- * Gets a documentId String from an Fqn and key combination.
- *
- * @return documentId String.
- */
- public String getDocumentId() throws InvalidKeyException
- {
- if (key == null || fqn == null)
- {
- throw new IllegalArgumentException("Either your key or fqn is null. Please check again.");
- }
-
- return Transformer.generateId(fqn, key);
- }
-
- public Fqn getFqn()
- {
-// if (log.isWarnEnabled()) log.warn("getFqn() called with fqn of " + fqn + " so my documentId should be " + documentId);
-
- return Transformer.getFqn(documentId);
- }
}
Modified: branches/ISPN-32/query/src/main/java/org/infinispan/query/CacheEntityLoader.java
===================================================================
--- branches/ISPN-32/query/src/main/java/org/infinispan/query/CacheEntityLoader.java 2009-07-01 12:22:07 UTC (rev 509)
+++ branches/ISPN-32/query/src/main/java/org/infinispan/query/CacheEntityLoader.java 2009-07-01 12:49:55 UTC (rev 510)
@@ -20,63 +20,61 @@
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package org.jboss.cache.search;
+package org.infinispan.query;
-import org.jboss.cache.Cache;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.infinispan.Cache;
-import java.util.List;
import java.util.ArrayList;
+import java.util.List;
/**
* Class that is used to load objects from a list of CacheEntityId ids.
* <p/>
- * @author Navin Surtani (<a href="mailto:nsurtani at redhat.com">nsurtani at redhat.com</a>)
+ *
+ * @author Navin Surtani
*/
-public class CacheEntityLoader
-{
+public class CacheEntityLoader implements EntityLoader {
Cache cache;
private static final Log log = LogFactory.getLog(CacheEntityLoader.class);
- public CacheEntityLoader(Cache cache)
- {
+ public CacheEntityLoader(Cache cache) {
this.cache = cache;
}
/**
* Takes a list of entity ids and gets them from the cache.
+ *
* @param ids list of cache entity IDs. Cannot be null.
- * @return List of objects loaded from the cache. The list returned will be exactly the same size as the ids list passed in.
+ * @return List of objects loaded from the cache. The list returned will be exactly the same size as the ids list
+ * passed in.
* @throws NullPointerException if ids is null.
*/
- public List<Object> load(List<EntityId> ids)
- {
+ public List<Object> load(List<EntityId> ids) {
if (ids == null) throw new NullPointerException("ids are null");
- List<Object> retVal = new ArrayList<Object>(ids.size());
+ List<Object> objectsToReturn = new ArrayList<Object>(ids.size());
- for (EntityId id: ids)
- {
- retVal.add( loadFromCache(id) );
- if(log.isTraceEnabled()) log.trace("Created list of return values. Size is " + retVal.size() );
+ for (EntityId id : ids) {
+ objectsToReturn.add(loadFromCache(id));
+ if (log.isTraceEnabled()) log.trace("Created list of return values. Size is " + objectsToReturn.size());
}
- return retVal;
+ return objectsToReturn;
}
- protected Object loadFromCache(EntityId id)
- {
+ protected Object loadFromCache(EntityId id) {
CacheEntityId cei = (CacheEntityId) id;
- return cache.get(cei.getFqn(), cei.getKey());
+ return cache.get(cei.getKey());
}
/**
- * Takes a list of entity ids and gets them from the cache.
+ * Takes a single entity id and gets it from the cache.
+ *
* @param id cache entity id to look up in the cache.
* @return the object from the cache, or null if one cannot be found.
* @throws NullPointerException if ids is null.
*/
- public Object load(EntityId id)
- {
+ public Object load(EntityId id) {
if (id == null) throw new NullPointerException("id is null");
return loadFromCache(id);
}
Modified: branches/ISPN-32/query/src/main/java/org/infinispan/query/CacheQuery.java
===================================================================
--- branches/ISPN-32/query/src/main/java/org/infinispan/query/CacheQuery.java 2009-07-01 12:22:07 UTC (rev 509)
+++ branches/ISPN-32/query/src/main/java/org/infinispan/query/CacheQuery.java 2009-07-01 12:49:55 UTC (rev 510)
@@ -20,10 +20,10 @@
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package org.jboss.cache.search;
+package org.infinispan.query;
+import org.apache.lucene.search.Filter;
import org.apache.lucene.search.Sort;
-import org.apache.lucene.search.Filter;
import org.hibernate.search.FullTextFilter;
import java.util.List;
@@ -35,7 +35,7 @@
* <p/>
* @author Manik Surtani (<a href="mailto:manik at jboss.org">manik at jboss.org</a>)
* @author Navin Surtani (<a href="mailto:nsurtani at redhat.com">nsurtani at redhat.com</a>)
- * @see org.jboss.cache.search.SearchableCache#createQuery(org.apache.lucene.search.Query)
+ * @see org.infinispan.query.SearchableCache#createQuery(org.apache.lucene.search.Query)
*/
public interface CacheQuery extends Iterable
{
@@ -48,7 +48,7 @@
List<Object> list();
/**
- * Returns the results of a search as a {@link QueryResultIterator} with a given
+ * Returns the results of a search as a {@link org.infinispan.query.QueryResultIterator} with a given
* integer parameter - the fetchSize.
*
* @param fetchSize integer to be given to the implementation constructor.
@@ -67,10 +67,10 @@
QueryResultIterator iterator();
/**
- * Lazily loads the results from the Query as a {@link org.jboss.cache.search.QueryResultIterator} with a given
+ * Lazily loads the results from the Query as a {@link org.infinispan.query.QueryResultIterator} with a given
* integer parameter - the fetchSize.
*
- * @param fetchSize integer to be passed into the lazy implementation of {@link org.jboss.cache.search.QueryResultIterator}
+ * @param fetchSize integer to be passed into the lazy implementation of {@link org.infinispan.query.QueryResultIterator}
* @return a QueryResultIterator which can be used to <B>lazily</B> iterate through results.
*/
Modified: branches/ISPN-32/query/src/main/java/org/infinispan/query/CacheQueryImpl.java
===================================================================
--- branches/ISPN-32/query/src/main/java/org/infinispan/query/CacheQueryImpl.java 2009-07-01 12:22:07 UTC (rev 509)
+++ branches/ISPN-32/query/src/main/java/org/infinispan/query/CacheQueryImpl.java 2009-07-01 12:49:55 UTC (rev 510)
@@ -20,28 +20,33 @@
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package org.jboss.cache.search;
+package org.infinispan.query;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.Term;
-import org.apache.lucene.index.IndexReader;
import org.apache.lucene.search.*;
import org.hibernate.HibernateException;
import org.hibernate.search.FullTextFilter;
import org.hibernate.search.SearchException;
-import org.hibernate.search.reader.ReaderProvider;
-import static org.hibernate.search.reader.ReaderProviderHelper.getIndexReaders;
-import static org.hibernate.search.util.FilterCacheModeTypeHelper.cacheInstance;
-import static org.hibernate.search.util.FilterCacheModeTypeHelper.cacheResults;
-import org.hibernate.search.engine.*;
+import org.hibernate.search.engine.DocumentBuilder;
+import org.hibernate.search.engine.DocumentBuilderIndexedEntity;
+import org.hibernate.search.engine.DocumentExtractor;
+import org.hibernate.search.engine.FilterDef;
+import org.hibernate.search.engine.SearchFactoryImplementor;
import org.hibernate.search.filter.ChainedFilter;
import org.hibernate.search.filter.FilterKey;
import org.hibernate.search.filter.StandardFilterKey;
import org.hibernate.search.query.FullTextFilterImpl;
import org.hibernate.search.query.QueryHits;
+import org.hibernate.search.reader.ReaderProvider;
+import static org.hibernate.search.reader.ReaderProviderHelper.getIndexReaders;
import org.hibernate.search.store.DirectoryProvider;
+import static org.hibernate.search.util.FilterCacheModeTypeHelper.cacheInstance;
+import static org.hibernate.search.util.FilterCacheModeTypeHelper.cacheResults;
import org.hibernate.transform.ResultTransformer;
+import org.infinispan.Cache;
import org.jboss.cache.Cache;
import org.jboss.cache.pojo.PojoCache;
Modified: branches/ISPN-32/query/src/main/java/org/infinispan/query/EntityId.java
===================================================================
--- branches/ISPN-32/query/src/main/java/org/infinispan/query/EntityId.java 2009-07-01 12:22:07 UTC (rev 509)
+++ branches/ISPN-32/query/src/main/java/org/infinispan/query/EntityId.java 2009-07-01 12:49:55 UTC (rev 510)
@@ -1,13 +1,11 @@
-package org.jboss.cache.search;
+package org.infinispan.query;
-import org.jboss.cache.Fqn;
/**
* @author Navin Surtani (<a href="mailto:nsurtani at redhat.com">nsurtani at redhat.com</a>)
*/
public interface EntityId
{
- Fqn getFqn();
+ public String getKey();
- String getDocumentId() throws InvalidKeyException;
}
Added: branches/ISPN-32/query/src/main/java/org/infinispan/query/EntityLoader.java
===================================================================
--- branches/ISPN-32/query/src/main/java/org/infinispan/query/EntityLoader.java (rev 0)
+++ branches/ISPN-32/query/src/main/java/org/infinispan/query/EntityLoader.java 2009-07-01 12:49:55 UTC (rev 510)
@@ -0,0 +1,33 @@
+package org.infinispan.query;
+
+import java.util.List;
+
+/**
+ * // TODO: Document this
+ *
+ * @author Navin Surtani
+ * @since 4.0
+ */
+
+public interface EntityLoader {
+
+ /**
+ * Takes a list of entity ids and gets them from the cache.
+ * @param ids - a list of cache entity ids to look up in the cache.
+ * @return a list of the objects from the cache.
+ * @throws NullPointerException if ids is null.
+ */
+
+
+ public List<Object> load(List<EntityId> ids);
+
+
+ /**
+ * Takes a single entity id and gets it from the cache.
+ * @param id cache entity id to look up in the cache.
+ * @return the object from the cache, or null if one cannot be found.
+ * @throws NullPointerException if ids is null.
+ */
+ public Object load(EntityId id);
+
+}
Modified: branches/ISPN-32/query/src/main/java/org/infinispan/query/IndexSearcherCloser.java
===================================================================
--- branches/ISPN-32/query/src/main/java/org/infinispan/query/IndexSearcherCloser.java 2009-07-01 12:22:07 UTC (rev 509)
+++ branches/ISPN-32/query/src/main/java/org/infinispan/query/IndexSearcherCloser.java 2009-07-01 12:49:55 UTC (rev 510)
@@ -20,7 +20,7 @@
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package org.jboss.cache.search;
+package org.infinispan.query;
import org.hibernate.search.engine.SearchFactoryImplementor;
import org.hibernate.search.reader.ReaderProvider;
Modified: branches/ISPN-32/query/src/main/java/org/infinispan/query/InvalidFqnException.java
===================================================================
--- branches/ISPN-32/query/src/main/java/org/infinispan/query/InvalidFqnException.java 2009-07-01 12:22:07 UTC (rev 509)
+++ branches/ISPN-32/query/src/main/java/org/infinispan/query/InvalidFqnException.java 2009-07-01 12:49:55 UTC (rev 510)
@@ -20,12 +20,12 @@
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package org.jboss.cache.search;
+package org.infinispan.query;
-import org.jboss.cache.CacheException;
+import org.infinispan.CacheException;
/**
- * Thrown when an invalid Fqn is passed into {@link org.jboss.cache.search.Transformer#generateId(org.jboss.cache.Fqn, String)}
+ * Thrown when an invalid Fqn is passed into {@link org.infinispan.query.Transformer#generateTreeId(org.infinispan.tree.Fqn, String)}
* <p />
* @author Navin Surtani (<a href="mailto:nsurtani at redhat.com">nsurtani at redhat.com</a>)
*/
Modified: branches/ISPN-32/query/src/main/java/org/infinispan/query/InvalidKeyException.java
===================================================================
--- branches/ISPN-32/query/src/main/java/org/infinispan/query/InvalidKeyException.java 2009-07-01 12:22:07 UTC (rev 509)
+++ branches/ISPN-32/query/src/main/java/org/infinispan/query/InvalidKeyException.java 2009-07-01 12:49:55 UTC (rev 510)
@@ -20,7 +20,7 @@
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package org.jboss.cache.search;
+package org.infinispan.query;
/**
* * Thrown when an invalid Key is passed into {@link org.jboss.cache.search.Transformer#generateId(org.jboss.cache.Fqn, String)}
Modified: branches/ISPN-32/query/src/main/java/org/infinispan/query/LazyQueryResultIterator.java
===================================================================
--- branches/ISPN-32/query/src/main/java/org/infinispan/query/LazyQueryResultIterator.java 2009-07-01 12:22:07 UTC (rev 509)
+++ branches/ISPN-32/query/src/main/java/org/infinispan/query/LazyQueryResultIterator.java 2009-07-01 12:49:55 UTC (rev 510)
@@ -20,20 +20,20 @@
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package org.jboss.cache.search;
+package org.infinispan.query;
+import org.apache.lucene.search.IndexSearcher;
import org.hibernate.search.engine.DocumentExtractor;
import org.hibernate.search.engine.SearchFactoryImplementor;
-import org.apache.lucene.search.IndexSearcher;
+import java.io.IOException;
+import java.util.Arrays;
import java.util.NoSuchElementException;
-import java.util.Arrays;
-import java.io.IOException;
/**
- * Implementation for {@link org.jboss.cache.search.QueryResultIterator}. This is what is returned when
+ * Implementation for {@link org.infinispan.query.QueryResultIterator}. This is what is returned when
* the {@link CacheQuery#lazyIterator()} method is called. This loads the results only when required and hence differs from
- * {@link org.jboss.cache.search.QueryResultIteratorImpl} which is the other implementation of QueryResultIterator.
+ * {@link org.infinispan.query.QueryResultIteratorImpl} which is the other implementation of QueryResultIterator.
*
* @author Navin Surtani (<a href="mailto:nsurtani at redhat.com">nsurtani at redhat.com</a>)
*/
Modified: branches/ISPN-32/query/src/main/java/org/infinispan/query/QueryResultIterator.java
===================================================================
--- branches/ISPN-32/query/src/main/java/org/infinispan/query/QueryResultIterator.java 2009-07-01 12:22:07 UTC (rev 509)
+++ branches/ISPN-32/query/src/main/java/org/infinispan/query/QueryResultIterator.java 2009-07-01 12:49:55 UTC (rev 510)
@@ -20,7 +20,7 @@
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package org.jboss.cache.search;
+package org.infinispan.query;
import java.util.ListIterator;
Modified: branches/ISPN-32/query/src/main/java/org/infinispan/query/QueryResultIteratorImpl.java
===================================================================
--- branches/ISPN-32/query/src/main/java/org/infinispan/query/QueryResultIteratorImpl.java 2009-07-01 12:22:07 UTC (rev 509)
+++ branches/ISPN-32/query/src/main/java/org/infinispan/query/QueryResultIteratorImpl.java 2009-07-01 12:49:55 UTC (rev 510)
@@ -20,7 +20,7 @@
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package org.jboss.cache.search;
+package org.infinispan.query;
import org.apache.commons.logging.Log;
Modified: branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCache.java
===================================================================
--- branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCache.java 2009-07-01 12:22:07 UTC (rev 509)
+++ branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCache.java 2009-07-01 12:49:55 UTC (rev 510)
@@ -20,10 +20,10 @@
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package org.jboss.cache.search;
+package org.infinispan.query;
import org.apache.lucene.search.Query;
-import org.jboss.cache.Cache;
+import org.infinispan.Cache;
/**
* This will be the most used interface in JBossCache searchable. It extends Cache and therefore will have
Modified: branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCacheConfiguration.java
===================================================================
--- branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCacheConfiguration.java 2009-07-01 12:22:07 UTC (rev 509)
+++ branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCacheConfiguration.java 2009-07-01 12:49:55 UTC (rev 510)
@@ -20,7 +20,7 @@
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package org.jboss.cache.search;
+package org.infinispan.query;
import org.hibernate.search.cfg.SearchConfiguration;
import org.hibernate.annotations.common.reflection.ReflectionManager;
@@ -31,10 +31,10 @@
import java.util.HashMap;
/**
- * Class that implements {@link org.hibernate.search.cfg.SearchConfiguration} so that within JBossCache Searchable, there is no
+ * Class that implements {@link org.hibernate.search.cfg.SearchConfiguration} so that within Infinispan-Query, there is no
* need for a Hibernate Core configuration object.
*
- * @author Navin Surtani (<a href="mailto:nsurtani at redhat.com">nsurtani at redhat.com</a>)
+ * @author Navin Surtani
*/
public class SearchableCacheConfiguration implements SearchConfiguration
{
Modified: branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCacheFactory.java
===================================================================
--- branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCacheFactory.java 2009-07-01 12:22:07 UTC (rev 509)
+++ branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCacheFactory.java 2009-07-01 12:49:55 UTC (rev 510)
@@ -20,19 +20,17 @@
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package org.jboss.cache.search;
+package org.infinispan.query;
-import org.hibernate.search.impl.SearchFactoryImpl;
-import org.hibernate.search.cfg.SearchConfiguration;
-import org.hibernate.search.engine.SearchFactoryImplementor;
-import org.jboss.cache.Cache;
-import org.jboss.cache.CacheStatus;
-import org.jboss.cache.pojo.PojoCache;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.hibernate.search.cfg.SearchConfiguration;
+import org.hibernate.search.engine.SearchFactoryImplementor;
+import org.hibernate.search.impl.SearchFactoryImpl;
+import org.infinispan.Cache;
-import java.util.Properties;
import java.lang.reflect.Field;
+import java.util.Properties;
/**
* Factory class used to create the searchable-cache like so: -
Modified: branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCacheImpl.java
===================================================================
--- branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCacheImpl.java 2009-07-01 12:22:07 UTC (rev 509)
+++ branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCacheImpl.java 2009-07-01 12:49:55 UTC (rev 510)
@@ -20,7 +20,7 @@
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package org.jboss.cache.search;
+package org.infinispan.query;
import org.apache.lucene.search.Query;
import org.hibernate.search.engine.SearchFactoryImplementor;
Added: branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCoreInterceptor.java
===================================================================
--- branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCoreInterceptor.java (rev 0)
+++ branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCoreInterceptor.java 2009-07-01 12:49:55 UTC (rev 510)
@@ -0,0 +1,38 @@
+package org.infinispan.query;
+
+import org.hibernate.search.engine.SearchFactoryImplementor;
+import org.infinispan.commands.write.PutKeyValueCommand;
+import org.infinispan.context.InvocationContext;
+import org.infinispan.interceptors.base.CommandInterceptor;
+
+/**
+ * // TODO: Document this
+ *
+ * @author Navin Surtani
+ * @since 4.0
+ */
+
+public class SearchableCoreInterceptor extends CommandInterceptor {
+
+ private SearchFactoryImplementor searchFactory;
+
+ public SearchableCoreInterceptor(SearchFactoryImplementor searchFactory){
+ this.searchFactory = searchFactory;
+ }
+
+ @Override
+ public Object visitPutKeyValueCommand(InvocationContext ctx, PutKeyValueCommand command) throws Throwable {
+
+ log.debug("Entered the searchable core interceptor visitPutKeyValueCommand()");
+
+ // I think this is the equivalent of event.isPre()?
+ invokeNextInterceptor(ctx, command);
+
+ // getting the data of the put() command
+
+
+ }
+
+ @Override
+ public Object
+}
Modified: branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCoreListener.java
===================================================================
--- branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCoreListener.java 2009-07-01 12:22:07 UTC (rev 509)
+++ branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCoreListener.java 2009-07-01 12:49:55 UTC (rev 510)
@@ -20,7 +20,7 @@
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package org.jboss.cache.search;
+package org.infinispan.query;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -95,7 +95,7 @@
Map dataMap = event.getData();
if (log.isTraceEnabled()) log.trace("Called event.getData() and saved to a Map");
- TransactionContext ctx = new TransactionalEventTransactionContext(event);
+ TransactionContext ctx = new org.jboss.cache.search.TransactionalEventTransactionContext(event);
for (Object key : dataMap.keySet())
{
@@ -143,7 +143,7 @@
*/
- protected void handlePutData(NodeModifiedEvent event, SearchFactoryImplementor searchFactory) throws InvalidKeyException
+ public void handlePutData(NodeModifiedEvent event, SearchFactoryImplementor searchFactory) throws InvalidKeyException
{
Map dataMap = event.getData();
if (log.isTraceEnabled()) log.trace("Called event.getData() and saved to a Map");
Deleted: branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCoreRemover.java
===================================================================
--- branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCoreRemover.java 2009-07-01 12:22:07 UTC (rev 509)
+++ branches/ISPN-32/query/src/main/java/org/infinispan/query/SearchableCoreRemover.java 2009-07-01 12:49:55 UTC (rev 510)
@@ -1,62 +0,0 @@
-package org.jboss.cache.search;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.hibernate.search.backend.TransactionContext;
-import org.hibernate.search.backend.Work;
-import org.hibernate.search.backend.WorkType;
-import org.hibernate.search.engine.SearchFactoryImplementor;
-import org.jboss.cache.notifications.annotation.CacheListener;
-import org.jboss.cache.notifications.annotation.NodeRemoved;
-import org.jboss.cache.notifications.event.NodeRemovedEvent;
-
-import java.util.Map;
-
-/**
- * @author Navin Surtani (<a href="mailto:nsurtani at redhat.com">nsurtani at redhat.com</a>)
- */
- at CacheListener
-public class SearchableCoreRemover
-{
- private SearchFactoryImplementor searchFactory;
- private static final Log log = LogFactory.getLog(SearchableCoreListener.class);
-
- public SearchableCoreRemover(SearchFactoryImplementor searchFactory)
- {
- this.searchFactory = searchFactory;
- }
-
-
- @NodeRemoved
- public void logEvent(NodeRemovedEvent event) throws InvalidKeyException
- {
- log.debug("Entered - SearchableCoreRemover with @NodeRemoved");
- if (event.isPre())
- {
- System.out.println("Event isPre()");
-
- // Directly going to handle the deletion of data.
- Map dataMap = event.getData();
- if (log.isTraceEnabled()) log.trace("Called event.getData() and saved to a Map");
-
- TransactionContext ctx = new TransactionalEventTransactionContext(event);
-
- for (Object key : dataMap.keySet())
- {
- CacheEntityId cacheEntityId = new CacheEntityId(event.getFqn(), (String) key);
- if (log.isTraceEnabled()) log.trace("Created new CacheEntityId");
-
- String fqnString = cacheEntityId.getFqn().toString(); // Vars for logging
- String keyString = (String) key;
-
-
- searchFactory.getWorker().performWork(new Work(dataMap.get(key), cacheEntityId.getDocumentId(), WorkType.DELETE), ctx);
-
- if (log.isTraceEnabled())
- {
- log.debug("Added your object into Lucene with Fqn " + fqnString + " and key " + keyString);
- }
- }
- }
- }
-}
Modified: branches/ISPN-32/query/src/main/java/org/infinispan/query/Transformer.java
===================================================================
--- branches/ISPN-32/query/src/main/java/org/infinispan/query/Transformer.java 2009-07-01 12:22:07 UTC (rev 509)
+++ branches/ISPN-32/query/src/main/java/org/infinispan/query/Transformer.java 2009-07-01 12:49:55 UTC (rev 510)
@@ -20,19 +20,19 @@
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
-package org.jboss.cache.search;
+package org.infinispan.query;
-import org.jboss.cache.Fqn;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.infinispan.tree.Fqn;
/**
*
-* This class is one that does all the 'conversion' work between JBossCache and Hibernate Search. This is where
-* users can switch from Fqn and key to a documentId and vice versa.
+* This class is one that does all the 'conversion' work between Infinispan and Hibernate Search. This is where
+* users can switch from Fqn and key to a documentId and vice versa. Methods on this class should *only* be used with the tree cache.
*
* If the Fqn is in the form /a/b/c and the key - which has to be a String - is keystring; the documentId - which is also
-* a String - will be "Fqn=[/a/b/c]Key=[keystring]"
+* a String - will be "Fqn=[/a/b/c]Key=[keystring]".
*
* @author Navin Surtani (<a href="mailto:nsurtani at redhat.com">nsurtani at redhat.com</a>)
*/
@@ -41,14 +41,14 @@
private static final Log log = LogFactory.getLog(Transformer.class);
/**
- * Takes in the documentId string from the user and will return the key from the Fqn, key combination.
+ * Takes in the documentId string from the user and will return the key from the Fqn, key combination. For tree cache only!
*
*
* @param docId - for the keystring to be obtained
* @return keystring.
*/
- public static String getKey(String docId)
+ public static String getTreeKey(String docId)
{
//docID comes in the format "Fqn=[/a/b/c]Key=[key]"
@@ -69,14 +69,14 @@
}
/**
- * Takes in the documentId string from the user and will return the Fqn from the Fqn, key combination.
+ * Takes in the documentId string from the user and will return the Fqn from the Fqn, key combination. For tree cache only!
*
* @param docId - for the Fqn to be obtained
* @return Fqn from the documentId.
*/
- public static Fqn getFqn(String docId)
+ public static Fqn getTreeFqn(String docId)
{
//docId comes in the format "Fqn=[/a/b/c]Key=[key]"
@@ -100,7 +100,7 @@
}
/**
- * Generates the documentId from an Fqn, key combination.
+ * Generates the documentId from an Fqn, key combination. For tree cache only!
*
*
* @param fqn - standard call Fqn.fromString()
@@ -109,7 +109,7 @@
* @throws InvalidFqnException
*/
- public static String generateId(Fqn fqn, String key) throws InvalidFqnException, InvalidKeyException
+ public static String generateTreeId(Fqn fqn, String key) throws InvalidFqnException, InvalidKeyException
{
if (key == null) throw new NullPointerException("Key passed in cannot be null!");
Added: branches/ISPN-32/query/src/main/java/org/infinispan/query/TreeEntityId.java
===================================================================
--- branches/ISPN-32/query/src/main/java/org/infinispan/query/TreeEntityId.java (rev 0)
+++ branches/ISPN-32/query/src/main/java/org/infinispan/query/TreeEntityId.java 2009-07-01 12:49:55 UTC (rev 510)
@@ -0,0 +1,19 @@
+package org.infinispan.query;
+
+import org.infinispan.tree.Fqn;
+
+/**
+ * // TODO: Document this
+ *
+ * Sub-interface of {@link org.infinispan.query.EntityId} for people using the {@link org.infinispan.tree.TreeCache}.
+ *
+ * @author Navin Surtani
+ * @since 4.0
+ */
+
+public interface TreeEntityId extends EntityId {
+
+ public Fqn getFqn();
+
+ public String getDocumentId();
+}
Added: branches/ISPN-32/query/src/main/java/org/infinispan/query/TreeEntityIdImpl.java
===================================================================
--- branches/ISPN-32/query/src/main/java/org/infinispan/query/TreeEntityIdImpl.java (rev 0)
+++ branches/ISPN-32/query/src/main/java/org/infinispan/query/TreeEntityIdImpl.java 2009-07-01 12:49:55 UTC (rev 510)
@@ -0,0 +1,45 @@
+package org.infinispan.query;
+
+import org.infinispan.tree.Fqn;
+
+/**
+ * This class is used to get fqns, keys and documentId's by calling methods on {@link org.infinispan.query.Transformer}
+ * <p/>
+ *
+ * // TODO: Document this
+ *
+ * @author Navin Surtani
+ * @since 4.0
+ */
+
+
+public class TreeEntityIdImpl implements TreeEntityId {
+
+ private String key;
+ private Fqn fqn;
+ private String documentId;
+
+ public TreeEntityIdImpl (String key, Fqn fqn) throws InvalidKeyException {
+ this.key = key;
+ this.fqn = fqn;
+ documentId = Transformer.generateTreeId(fqn, key);
+ }
+
+ public TreeEntityIdImpl (String documentId) throws InvalidKeyException{
+ this.documentId = documentId;
+ this.key = Transformer.getTreeKey(documentId);
+ this.fqn = Transformer.getTreeFqn(documentId);
+ }
+
+ public Fqn getFqn() {
+ return fqn;
+ }
+
+ public String getDocumentId() {
+ return documentId;
+ }
+
+ public String getKey() {
+ return key;
+ }
+}
Modified: branches/ISPN-32/query/src/main/java/org/infinispan/query/Version.java
===================================================================
--- branches/ISPN-32/query/src/main/java/org/infinispan/query/Version.java 2009-07-01 12:22:07 UTC (rev 509)
+++ branches/ISPN-32/query/src/main/java/org/infinispan/query/Version.java 2009-07-01 12:49:55 UTC (rev 510)
@@ -1,4 +1,4 @@
-package org.jboss.cache.search;
+package org.infinispan.query;
/**
* Spits out the version number.
More information about the infinispan-commits
mailing list