[jbosscache-commits] JBoss Cache SVN: r6249 - in searchable/trunk: src/main/java/org/jboss/cache/search and 3 other directories.

jbosscache-commits at lists.jboss.org jbosscache-commits at lists.jboss.org
Fri Jul 11 10:34:06 EDT 2008


Author: navssurtani
Date: 2008-07-11 10:34:06 -0400 (Fri, 11 Jul 2008)
New Revision: 6249

Added:
   searchable/trunk/src/test/java/org/jboss/cache/search/SearchableCacheImplTest.java
Modified:
   searchable/trunk/TODO.txt
   searchable/trunk/pom.xml
   searchable/trunk/src/main/java/org/jboss/cache/search/CacheQuery.java
   searchable/trunk/src/main/java/org/jboss/cache/search/CacheQueryImpl.java
   searchable/trunk/src/main/java/org/jboss/cache/search/SearchableCacheCfgImpl.java
   searchable/trunk/src/main/java/org/jboss/cache/search/SearchableCacheFactory.java
   searchable/trunk/src/main/java/org/jboss/cache/search/SearchableCacheImpl.java
   searchable/trunk/src/test/java/org/jboss/cache/search/blackbox/BrokenAnnotationTest.java
   searchable/trunk/src/test/java/org/jboss/cache/search/blackbox/LocalCacheTest.java
   searchable/trunk/src/test/java/org/jboss/cache/search/test/Person.java
Log:
Wrote up setSort() test in LocalCacheTest.

Modified: searchable/trunk/TODO.txt
===================================================================
--- searchable/trunk/TODO.txt	2008-07-11 13:58:16 UTC (rev 6248)
+++ searchable/trunk/TODO.txt	2008-07-11 14:34:06 UTC (rev 6249)
@@ -10,4 +10,6 @@
 
 4 - Non-string keys.
 
-Think.
\ No newline at end of file
+Think.
+
+5 - Mock objects.
\ No newline at end of file

Modified: searchable/trunk/pom.xml
===================================================================
--- searchable/trunk/pom.xml	2008-07-11 13:58:16 UTC (rev 6248)
+++ searchable/trunk/pom.xml	2008-07-11 14:34:06 UTC (rev 6249)
@@ -47,6 +47,9 @@
          <version>1.0.4</version>
       </dependency>
 
+
+      <!-- Test dependencies -->
+
       <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
@@ -61,6 +64,14 @@
          <scope>test</scope>
       </dependency>
 
+      <dependency>
+         <groupId>org.easymock</groupId>
+         <artifactId>easymock</artifactId>
+         <version>2.3</version>
+         <scope>test</scope>
+      </dependency>
+
+
    </dependencies>
    <build>
       <plugins>

Modified: searchable/trunk/src/main/java/org/jboss/cache/search/CacheQuery.java
===================================================================
--- searchable/trunk/src/main/java/org/jboss/cache/search/CacheQuery.java	2008-07-11 13:58:16 UTC (rev 6248)
+++ searchable/trunk/src/main/java/org/jboss/cache/search/CacheQuery.java	2008-07-11 14:34:06 UTC (rev 6249)
@@ -65,7 +65,7 @@
    int getResultSize();
 
    /**
-    * Allows lucene to sort the results.
+    * Allows lucene to sort the results. Integers are sorted in descending order.
     *
     * @param s - lucene sort object
     */
@@ -89,7 +89,7 @@
    public void disableFullTextFilter(String name);
 
    /**
-    * Takes in a lucene filter and sets it to the filter field in the class.
+    * Allows lucene to filter the results.
     *
     * @param f - lucene filter
     */

Modified: searchable/trunk/src/main/java/org/jboss/cache/search/CacheQueryImpl.java
===================================================================
--- searchable/trunk/src/main/java/org/jboss/cache/search/CacheQueryImpl.java	2008-07-11 13:58:16 UTC (rev 6248)
+++ searchable/trunk/src/main/java/org/jboss/cache/search/CacheQueryImpl.java	2008-07-11 14:34:06 UTC (rev 6249)
@@ -41,7 +41,7 @@
  */
 public class CacheQueryImpl implements CacheQuery
 {
-   private Cache cache;
+//   private Cache cache; - Removed on 11/07/2008, cache is assigned but never used. Hence removed.
    private Class[] classes;
    private Sort sort;
    private Filter filter;
@@ -63,7 +63,7 @@
    public CacheQueryImpl(Query luceneQuery, SearchFactoryImpl searchFactory, Cache cache)
    {
       this.luceneQuery = luceneQuery;
-      this.cache = cache;
+//      this.cache = cache;
       entityLoader = new CacheEntityLoader(cache);
       this.searchFactory = searchFactory;
    }
@@ -94,7 +94,7 @@
    {
       if (resultSize == null)
       {
-         //get result size without object initialization
+//         get result size without object initialization
          IndexSearcher searcher = buildSearcher(searchFactory);
          if (searcher == null)
          {

Modified: searchable/trunk/src/main/java/org/jboss/cache/search/SearchableCacheCfgImpl.java
===================================================================
--- searchable/trunk/src/main/java/org/jboss/cache/search/SearchableCacheCfgImpl.java	2008-07-11 13:58:16 UTC (rev 6248)
+++ searchable/trunk/src/main/java/org/jboss/cache/search/SearchableCacheCfgImpl.java	2008-07-11 14:34:06 UTC (rev 6249)
@@ -11,34 +11,32 @@
 import java.util.HashMap;
 
 /**
- * Class that implements {@link org.hibernate.search.cfg.Cfg} so that within JBossCache Searchable, there is no
+ * Class that implements {@link org.hibernate.search.cfg.SearchConfiguration} so that within JBossCache Searchable, there is no
  * need for a Hibernate Core configuration object.
  *
  * @author Navin Surtani  - navin at surtani.org
  */
 public class SearchableCacheCfgImpl implements SearchConfiguration
 {
-   protected Map<String, PersistentClass> classes;
+   protected Map<String, Class> classes;
    private Properties properties;
 
    public SearchableCacheCfgImpl(Class[] classArray, Properties properties)
    {
       // null chks
+      if (classArray == null) throw new NullPointerException("Classes provided are null");
       this.properties = properties;
       if (this.properties == null) this.properties = new Properties();
       
-      classes = new HashMap<String, PersistentClass>();
+      classes = new HashMap<String, Class>();
 
       // loop thru your classArray
       // populate your Map
-      // you bog
-      
+
       for (Class c: classArray)
       {
          String classname = c.getName();
-         RootClass rc = new RootClass();
-         rc.setClassName(classname);
-         classes.put(classname, rc);
+         classes.put(classname, c);
       }
    }
 
@@ -47,7 +45,7 @@
       return classes.values().iterator();
    }
 
-   public PersistentClass getClassMapping(String name)
+   public Class getClassMapping(String name)
    {
       return classes.get(name);
    }
@@ -64,8 +62,8 @@
 
    public ReflectionManager getReflectionManager()
    {
-      //TODO: Am I meant to throw unsupported exception?
-      return null;
+      throw new UnsupportedOperationException("This method is not supported within JBossCache Searchable");
+
    }
 
 }

Modified: searchable/trunk/src/main/java/org/jboss/cache/search/SearchableCacheFactory.java
===================================================================
--- searchable/trunk/src/main/java/org/jboss/cache/search/SearchableCacheFactory.java	2008-07-11 13:58:16 UTC (rev 6248)
+++ searchable/trunk/src/main/java/org/jboss/cache/search/SearchableCacheFactory.java	2008-07-11 14:34:06 UTC (rev 6249)
@@ -63,7 +63,7 @@
       // set classes in the cfg
 
       SearchFactoryImpl searchFactory = new SearchFactoryImpl(cfg);
-      // boolean isPojoCache = c instanceof PojoCache; keep this for later usage
+//       boolean isPojoCache = c instanceof PojoCache; keep this for later usage
 
       // Step 2: Add cache listener to listen for events happening in the cache.
       //SearchableListener listener = isPojoCache ? new SearchablePojoListener(searchFactory) : new SearchableCoreListener(searchFactory);

Modified: searchable/trunk/src/main/java/org/jboss/cache/search/SearchableCacheImpl.java
===================================================================
--- searchable/trunk/src/main/java/org/jboss/cache/search/SearchableCacheImpl.java	2008-07-11 13:58:16 UTC (rev 6248)
+++ searchable/trunk/src/main/java/org/jboss/cache/search/SearchableCacheImpl.java	2008-07-11 14:34:06 UTC (rev 6249)
@@ -32,8 +32,8 @@
 
    public SearchableCacheImpl(Cache<K, V> cache, SearchFactoryImpl searchFactory)
    {
-      if (cache == null) throw new NullPointerException("Blah");
-      if (searchFactory == null) throw new NullPointerException("Blah");
+      if (cache == null) throw new NullPointerException("Cache is null");
+      if (searchFactory == null) throw new NullPointerException("searchFactory is null");
       this.cache = cache;
       this.searchFactory = searchFactory;
    }

Added: searchable/trunk/src/test/java/org/jboss/cache/search/SearchableCacheImplTest.java
===================================================================
--- searchable/trunk/src/test/java/org/jboss/cache/search/SearchableCacheImplTest.java	                        (rev 0)
+++ searchable/trunk/src/test/java/org/jboss/cache/search/SearchableCacheImplTest.java	2008-07-11 14:34:06 UTC (rev 6249)
@@ -0,0 +1,28 @@
+package org.jboss.cache.search;
+
+import org.testng.annotations.Test;
+import org.jboss.cache.Cache;
+import org.jboss.cache.DefaultCacheFactory;
+
+/**
+ * @author Navin Surtani  - navin at surtani.org
+ */
+
+ at Test (groups = "functional")
+public class SearchableCacheImplTest
+{
+
+   @Test (expectedExceptions = NullPointerException.class)
+   public void testConstructorWithNullCache()
+   {
+      SearchableCacheImpl nullCache = new SearchableCacheImpl(null, null);
+      
+   }
+
+   @Test (expectedExceptions = NullPointerException.class)
+   public void testConstructorWithNullSearchFactory()
+   {
+      Cache cache = new DefaultCacheFactory().createCache();
+      SearchableCacheImpl nullSearchFactory = new SearchableCacheImpl(cache, null);
+   }
+}

Modified: searchable/trunk/src/test/java/org/jboss/cache/search/blackbox/BrokenAnnotationTest.java
===================================================================
--- searchable/trunk/src/test/java/org/jboss/cache/search/blackbox/BrokenAnnotationTest.java	2008-07-11 13:58:16 UTC (rev 6248)
+++ searchable/trunk/src/test/java/org/jboss/cache/search/blackbox/BrokenAnnotationTest.java	2008-07-11 14:34:06 UTC (rev 6249)
@@ -11,7 +11,7 @@
 /**
  * @author Navin Surtani  - navin at surtani.org
  */
- at Test
+ at Test (groups = "functional")
 public class BrokenAnnotationTest
 {
    @Test (expectedExceptions = IllegalArgumentException.class)

Modified: searchable/trunk/src/test/java/org/jboss/cache/search/blackbox/LocalCacheTest.java
===================================================================
--- searchable/trunk/src/test/java/org/jboss/cache/search/blackbox/LocalCacheTest.java	2008-07-11 13:58:16 UTC (rev 6248)
+++ searchable/trunk/src/test/java/org/jboss/cache/search/blackbox/LocalCacheTest.java	2008-07-11 14:34:06 UTC (rev 6249)
@@ -4,6 +4,9 @@
 import org.apache.lucene.queryParser.ParseException;
 import org.apache.lucene.queryParser.QueryParser;
 import org.apache.lucene.search.Query;
+import org.apache.lucene.search.Sort;
+import org.apache.lucene.search.Filter;
+import org.apache.lucene.search.QueryWrapperFilter;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.jboss.cache.Cache;
@@ -198,4 +201,39 @@
 
    }
 
+   public void testSetSort() throws ParseException
+   {
+      person2.setAge(35);
+      person3.setAge(12);
+
+      Sort sort = new Sort ("age");
+
+      queryParser = new QueryParser("name", new StandardAnalyzer());
+
+      luceneQuery = queryParser.parse("Goat");
+      cacheQuery = searchableCache.createQuery(luceneQuery);
+      found = cacheQuery.list();
+
+      assert found.size() == 2;
+
+      cacheQuery.setSort(sort);
+
+      found = cacheQuery.list();
+
+      assert found.size() == 2;
+      assert found.get(0).equals(person2);
+      assert found.get(1).equals(person3);
+   }
+
+   public void testSetFilter() throws ParseException
+   {
+      queryParser = new QueryParser("blurb", new StandardAnalyzer());
+      luceneQuery = queryParser.parse("goat");
+      Filter filter = new QueryWrapperFilter(luceneQuery);
+
+      cacheQuery = searchableCache.createQuery(luceneQuery);
+
+      cacheQuery.setFilter(filter);
+   }
+
 }

Modified: searchable/trunk/src/test/java/org/jboss/cache/search/test/Person.java
===================================================================
--- searchable/trunk/src/test/java/org/jboss/cache/search/test/Person.java	2008-07-11 13:58:16 UTC (rev 6248)
+++ searchable/trunk/src/test/java/org/jboss/cache/search/test/Person.java	2008-07-11 14:34:06 UTC (rev 6249)
@@ -1,10 +1,7 @@
 package org.jboss.cache.search.test;
 
 
-import org.hibernate.search.annotations.Field;
-import org.hibernate.search.annotations.Indexed;
-import org.hibernate.search.annotations.ProvidedId;
-import org.hibernate.search.annotations.Store;
+import org.hibernate.search.annotations.*;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.jboss.cache.pojo.annotation.Replicable;
@@ -25,6 +22,8 @@
    private String name;
    @Field (store = Store.YES)
    private String blurb;
+   @Field (store = Store.YES, index = Index.UN_TOKENIZED )
+   private int age;
 
    public String getName()
    {
@@ -46,6 +45,16 @@
       this.blurb = blurb;
    }
 
+   public int getAge()
+   {
+      return age;
+   }
+
+   public void setAge(int age)
+   {
+      this.age = age;
+   }
+
    public boolean equals(Object o)
    {
       if (this == o) return true;




More information about the jbosscache-commits mailing list