[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