[infinispan-commits] Infinispan SVN: r1271 - in trunk/query/src: main/java/org/infinispan/query/impl and 4 other directories.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Thu Dec 10 06:15:07 EST 2009
Author: manik.surtani at jboss.com
Date: 2009-12-10 06:15:07 -0500 (Thu, 10 Dec 2009)
New Revision: 1271
Added:
trunk/query/src/test/java/org/infinispan/query/config/DeclarativeConfigTest.java
Modified:
trunk/query/src/main/java/org/infinispan/query/backend/QueryHelper.java
trunk/query/src/main/java/org/infinispan/query/impl/CacheQueryImpl.java
trunk/query/src/test/java/org/infinispan/query/blackbox/ClusteredCacheTest.java
trunk/query/src/test/java/org/infinispan/query/blackbox/KeyTypeTest.java
trunk/query/src/test/java/org/infinispan/query/blackbox/LocalCacheTest.java
trunk/query/src/test/java/org/infinispan/query/blackbox/MarshalledValueClusteredQueryTest.java
trunk/query/src/test/java/org/infinispan/query/blackbox/MarshalledValueQueryTest.java
trunk/query/src/test/java/org/infinispan/query/config/QueryParsingTest.java
trunk/query/src/test/java/org/infinispan/query/helper/TestQueryHelperFactory.java
trunk/query/src/test/java/org/infinispan/query/test/Person.java
Log:
Updated to use proper configuration elements rather than sys props
Modified: trunk/query/src/main/java/org/infinispan/query/backend/QueryHelper.java
===================================================================
--- trunk/query/src/main/java/org/infinispan/query/backend/QueryHelper.java 2009-12-10 11:14:08 UTC (rev 1270)
+++ trunk/query/src/main/java/org/infinispan/query/backend/QueryHelper.java 2009-12-10 11:15:07 UTC (rev 1271)
@@ -84,7 +84,7 @@
SearchConfiguration cfg = new SearchableCacheConfiguration(classes, properties);
searchFactory = new SearchFactoryImpl(cfg);
- applyProperties(cache.getConfiguration().getQueryConfigurationBean());
+ applyProperties(cache.getConfiguration());
}
/**
@@ -102,13 +102,13 @@
* indexed.
*/
- private void applyProperties(Configuration.QueryConfigurationBean qcb) {
+ private void applyProperties(Configuration cfg) {
if (log.isDebugEnabled()) log.debug("Entered QueryHelper.applyProperties()");
- if (qcb.isEnabled()) {
+ if (cfg.isIndexingEnabled()) {
try {
- if (qcb.isIndexLocalOnly()) {
+ if (cfg.isIndexLocalOnly()) {
// Add a LocalQueryInterceptor to the chain
initComponents(LocalQueryInterceptor.class);
} else {
Modified: trunk/query/src/main/java/org/infinispan/query/impl/CacheQueryImpl.java
===================================================================
--- trunk/query/src/main/java/org/infinispan/query/impl/CacheQueryImpl.java 2009-12-10 11:14:08 UTC (rev 1270)
+++ trunk/query/src/main/java/org/infinispan/query/impl/CacheQueryImpl.java 2009-12-10 11:15:07 UTC (rev 1271)
@@ -39,16 +39,13 @@
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.infinispan.query.CacheQuery;
import org.infinispan.query.QueryIterator;
-import org.infinispan.query.backend.KeyTransformationHandler;
import org.infinispan.query.backend.IndexSearcherCloser;
+import org.infinispan.query.backend.KeyTransformationHandler;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
@@ -60,6 +57,10 @@
import java.util.Map;
import java.util.Set;
+import static org.hibernate.search.reader.ReaderProviderHelper.getIndexReaders;
+import static org.hibernate.search.util.FilterCacheModeTypeHelper.cacheInstance;
+import static org.hibernate.search.util.FilterCacheModeTypeHelper.cacheResults;
+
/**
* Implementation class of the CacheQuery interface.
* <p/>
@@ -304,12 +305,8 @@
// Loop through my list of keys and get it from the cache. Put each object that I get into a separate list.
List<Object> listToReturn = new ArrayList<Object>(size);
- for (String key : keysForCache) {
- System.out.println(key);
- listToReturn.add(cache.get(KeyTransformationHandler.stringToKey(key)));
- }
+ for (String key : keysForCache) listToReturn.add(cache.get(KeyTransformationHandler.stringToKey(key)));
-
// TODO: navssurtani --> Speak with EB or HF about what a resultTransformer is and what it does etc etc.
if (resultTransformer == null) {
Modified: trunk/query/src/test/java/org/infinispan/query/blackbox/ClusteredCacheTest.java
===================================================================
--- trunk/query/src/test/java/org/infinispan/query/blackbox/ClusteredCacheTest.java 2009-12-10 11:14:08 UTC (rev 1270)
+++ trunk/query/src/test/java/org/infinispan/query/blackbox/ClusteredCacheTest.java 2009-12-10 11:15:07 UTC (rev 1271)
@@ -23,6 +23,8 @@
import java.util.List;
+import static org.infinispan.config.Configuration.CacheMode.REPL_SYNC;
+
/**
* @author Navin Surtani
*/
@@ -47,25 +49,19 @@
cleanup = CleanupPhase.AFTER_METHOD;
}
- protected void createCacheManagers() throws Throwable {
- Configuration cacheCfg = new Configuration();
- cacheCfg.setCacheMode(Configuration.CacheMode.REPL_SYNC);
- cacheCfg.setFetchInMemoryState(false);
+ protected void enhanceConfig(Configuration c) {
+ // meant to be overridden
+ }
+ protected void createCacheManagers() throws Throwable {
+ Configuration cacheCfg = getDefaultClusteredConfig(REPL_SYNC);
+ enhanceConfig(cacheCfg);
+ cacheCfg.setIndexingEnabled(true);
+ cacheCfg.setIndexLocalOnly(false);
List<Cache<String, Person>> caches = createClusteredCaches(2, "infinispan-query", cacheCfg);
cache1 = caches.get(0);
cache2 = caches.get(1);
-
- Configuration.QueryConfigurationBean qcb = new Configuration.QueryConfigurationBean();
- qcb.setEnabled(true);
-
-
- // We will put objects into cache1 and then try and run the queries on cache2. This would mean that indexLocal
- // must be set to false.
- qcb.setIndexLocalOnly(false);
- cache1.getConfiguration().setQueryConfigurationBean(qcb);
- cache2.getConfiguration().setQueryConfigurationBean(qcb);
}
@BeforeMethod
Modified: trunk/query/src/test/java/org/infinispan/query/blackbox/KeyTypeTest.java
===================================================================
--- trunk/query/src/test/java/org/infinispan/query/blackbox/KeyTypeTest.java 2009-12-10 11:14:08 UTC (rev 1270)
+++ trunk/query/src/test/java/org/infinispan/query/blackbox/KeyTypeTest.java 2009-12-10 11:15:07 UTC (rev 1271)
@@ -8,18 +8,19 @@
import org.infinispan.query.CacheQuery;
import org.infinispan.query.QueryFactory;
import org.infinispan.query.backend.QueryHelper;
-import org.infinispan.query.test.Person;
import org.infinispan.query.test.CustomKey;
+import org.infinispan.query.test.Person;
import org.infinispan.test.SingleCacheManagerTest;
import org.infinispan.test.fwk.TestCacheManagerFactory;
-import org.infinispan.transaction.lookup.DummyTransactionManagerLookup;
import org.testng.annotations.AfterMethod;
-import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
import java.util.List;
import java.util.Properties;
+import static org.infinispan.config.Configuration.CacheMode.LOCAL;
+
/**
* Class that will put in different kinds of keys into the cache and run a query on it to see if
* different primitives will work as keys.
@@ -36,12 +37,9 @@
@Override
protected CacheManager createCacheManager() throws Exception {
- Configuration c = new Configuration();
- c.setTransactionManagerLookupClass(DummyTransactionManagerLookup.class.getName());
- Configuration.QueryConfigurationBean qcb = new Configuration.QueryConfigurationBean();
- qcb.setEnabled(true);
- qcb.setIndexLocalOnly(false);
- c.setQueryConfigurationBean(qcb);
+ Configuration c = getDefaultClusteredConfig(LOCAL, true);
+ c.setIndexingEnabled(true);
+ c.setIndexLocalOnly(false);
return TestCacheManagerFactory.createCacheManager(c, true);
}
Modified: trunk/query/src/test/java/org/infinispan/query/blackbox/LocalCacheTest.java
===================================================================
--- trunk/query/src/test/java/org/infinispan/query/blackbox/LocalCacheTest.java 2009-12-10 11:14:08 UTC (rev 1270)
+++ trunk/query/src/test/java/org/infinispan/query/blackbox/LocalCacheTest.java 2009-12-10 11:15:07 UTC (rev 1271)
@@ -5,10 +5,11 @@
import org.infinispan.query.helper.TestQueryHelperFactory;
import org.infinispan.query.test.Person;
import org.infinispan.test.fwk.TestCacheManagerFactory;
-import org.infinispan.transaction.lookup.DummyTransactionManagerLookup;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
+import static org.infinispan.config.Configuration.CacheMode.LOCAL;
+
/**
* @author Navin Surtani
*/
@@ -16,13 +17,15 @@
@Test(groups = "functional")
public class LocalCacheTest extends AbstractLocalQueryTest {
+ protected void enhanceConfig(Configuration c) {
+ // no op, meant to be overridden
+ }
+
protected CacheManager createCacheManager() throws Exception {
- Configuration c = new Configuration();
- c.setTransactionManagerLookupClass(DummyTransactionManagerLookup.class.getName());
- Configuration.QueryConfigurationBean qcb = new Configuration.QueryConfigurationBean();
- qcb.setEnabled(true);
- qcb.setIndexLocalOnly(false);
- c.setQueryConfigurationBean(qcb);
+ Configuration c = getDefaultClusteredConfig(LOCAL, true);
+ c.setIndexingEnabled(true);
+ c.setIndexLocalOnly(false);
+ enhanceConfig(c);
return TestCacheManagerFactory.createCacheManager(c, true);
}
Modified: trunk/query/src/test/java/org/infinispan/query/blackbox/MarshalledValueClusteredQueryTest.java
===================================================================
--- trunk/query/src/test/java/org/infinispan/query/blackbox/MarshalledValueClusteredQueryTest.java 2009-12-10 11:14:08 UTC (rev 1270)
+++ trunk/query/src/test/java/org/infinispan/query/blackbox/MarshalledValueClusteredQueryTest.java 2009-12-10 11:15:07 UTC (rev 1271)
@@ -1,12 +1,14 @@
package org.infinispan.query.blackbox;
-import org.testng.annotations.Test;
+import org.infinispan.Cache;
import org.infinispan.config.Configuration;
import org.infinispan.query.test.Person;
-import org.infinispan.Cache;
+import org.testng.annotations.Test;
import java.util.List;
+import static org.infinispan.config.Configuration.CacheMode.REPL_SYNC;
+
/**
* Clustered version of {@link org.infinispan.query.blackbox.MarshalledValueQueryTest}
*
@@ -18,28 +20,9 @@
@Test (groups = "functional")
public class MarshalledValueClusteredQueryTest extends ClusteredCacheTest {
-
+
@Override
- protected void createCacheManagers(){
-
- Configuration cacheCfg = new Configuration();
- cacheCfg.setCacheMode(Configuration.CacheMode.REPL_SYNC);
- cacheCfg.setFetchInMemoryState(false);
- cacheCfg.setUseLazyDeserialization(true);
-
- List<Cache<String, Person>> caches = createClusteredCaches(2, "infinispan-query", cacheCfg);
-
- cache1 = caches.get(0);
- cache2 = caches.get(1);
-
- Configuration.QueryConfigurationBean qcb = new Configuration.QueryConfigurationBean();
- qcb.setEnabled(true);
-
-
- // We will put objects into cache1 and then try and run the queries on cache2. This would mean that indexLocal
- // must be set to false.
- qcb.setIndexLocalOnly(false);
- cache1.getConfiguration().setQueryConfigurationBean(qcb);
- cache2.getConfiguration().setQueryConfigurationBean(qcb);
+ protected void enhanceConfig(Configuration c) {
+ c.setUseLazyDeserialization(true);
}
}
Modified: trunk/query/src/test/java/org/infinispan/query/blackbox/MarshalledValueQueryTest.java
===================================================================
--- trunk/query/src/test/java/org/infinispan/query/blackbox/MarshalledValueQueryTest.java 2009-12-10 11:14:08 UTC (rev 1270)
+++ trunk/query/src/test/java/org/infinispan/query/blackbox/MarshalledValueQueryTest.java 2009-12-10 11:15:07 UTC (rev 1271)
@@ -1,9 +1,6 @@
package org.infinispan.query.blackbox;
import org.infinispan.config.Configuration;
-import org.infinispan.manager.CacheManager;
-import org.infinispan.test.fwk.TestCacheManagerFactory;
-import org.infinispan.transaction.lookup.DummyTransactionManagerLookup;
import org.testng.annotations.Test;
/**
@@ -17,18 +14,9 @@
@Test(groups="functional")
public class MarshalledValueQueryTest extends LocalCacheTest {
-
-
@Override
- protected CacheManager createCacheManager() throws Exception {
- Configuration c = new Configuration();
- c.setTransactionManagerLookupClass(DummyTransactionManagerLookup.class.getName());
+ protected void enhanceConfig(Configuration c) {
c.setUseLazyDeserialization(true);
- Configuration.QueryConfigurationBean qcb = new Configuration.QueryConfigurationBean();
- qcb.setEnabled(true);
- c.setQueryConfigurationBean(qcb);
- return TestCacheManagerFactory.createCacheManager(c, true);
}
-
}
Added: trunk/query/src/test/java/org/infinispan/query/config/DeclarativeConfigTest.java
===================================================================
--- trunk/query/src/test/java/org/infinispan/query/config/DeclarativeConfigTest.java (rev 0)
+++ trunk/query/src/test/java/org/infinispan/query/config/DeclarativeConfigTest.java 2009-12-10 11:15:07 UTC (rev 1271)
@@ -0,0 +1,55 @@
+package org.infinispan.query.config;
+
+import org.apache.lucene.queryParser.ParseException;
+import org.infinispan.manager.CacheManager;
+import org.infinispan.manager.DefaultCacheManager;
+import org.infinispan.query.CacheQuery;
+import org.infinispan.query.QueryFactory;
+import org.infinispan.query.backend.QueryHelper;
+import org.infinispan.query.helper.TestQueryHelperFactory;
+import org.infinispan.query.test.Person;
+import org.infinispan.test.SingleCacheManagerTest;
+import org.testng.annotations.Test;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.util.List;
+
+ at Test(testName = "query.config.DeclarativeConfigTest", groups = "functional")
+public class DeclarativeConfigTest extends SingleCacheManagerTest {
+
+ QueryFactory qf;
+
+ @Override
+ protected CacheManager createCacheManager() throws Exception {
+ String config = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
+ "\n" +
+ "<infinispan xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"urn:infinispan:config:4.0\" xmlns:query=\"urn:infinispan:config:query:4.0\">\n" +
+ " <default>\n" +
+ " <indexing enabled=\"true\" indexLocalOnly=\"true\"/>\n" +
+ " </default>\n" +
+ "</infinispan>";
+
+ InputStream is = new ByteArrayInputStream(config.getBytes());
+ cacheManager = new DefaultCacheManager(is, true);
+ cache = cacheManager.getCache();
+ QueryHelper qh = TestQueryHelperFactory.createTestQueryHelperInstance(cache, Person.class);
+ qf = new QueryFactory(cache, qh);
+ return cacheManager;
+ }
+
+ public void simpleIndexTest() throws ParseException {
+ cache.put("1", new Person("A Person's Name", "A paragraph containing some text", 75));
+ CacheQuery cq = qf.getBasicQuery("name", "Person");
+ assert cq.getResultSize() == 1;
+ List<Object> l = cq.list();
+ assert l.size() == 1;
+ Person p = (Person) l.get(0);
+ assert p.getName().equals("A Person's Name");
+ assert p.getBlurb().equals("A paragraph containing some text");
+ assert p.getAge() == 75;
+
+
+
+ }
+}
Property changes on: trunk/query/src/test/java/org/infinispan/query/config/DeclarativeConfigTest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: trunk/query/src/test/java/org/infinispan/query/config/QueryParsingTest.java
===================================================================
--- trunk/query/src/test/java/org/infinispan/query/config/QueryParsingTest.java 2009-12-10 11:14:08 UTC (rev 1270)
+++ trunk/query/src/test/java/org/infinispan/query/config/QueryParsingTest.java 2009-12-10 11:15:07 UTC (rev 1271)
@@ -1,19 +1,18 @@
package org.infinispan.query.config;
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
import org.infinispan.Cache;
import org.infinispan.config.Configuration;
import org.infinispan.config.GlobalConfiguration;
import org.infinispan.config.InfinispanConfiguration;
-import org.infinispan.config.Configuration.QueryConfigurationBean;
import org.infinispan.manager.CacheManager;
import org.infinispan.remoting.transport.jgroups.JGroupsTransport;
import org.infinispan.test.AbstractInfinispanTest;
import org.infinispan.test.fwk.TestCacheManagerFactory;
import org.testng.annotations.Test;
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+
@Test(groups = "unit", testName = "config.parsing.QueryParsingTest")
public class QueryParsingTest extends AbstractInfinispanTest {
@@ -31,24 +30,38 @@
" <indexing enabled=\"true\" indexLocalOnly=\"true\"/>\n" +
" </default>\n" +
"</infinispan>";
-
- System.out.println(config);
- InputStream is = new ByteArrayInputStream(config.getBytes());
- InputStream schema = InfinispanConfiguration.findSchemaInputStream();
- assert schema != null;
- InfinispanConfiguration c = InfinispanConfiguration.newInfinispanConfiguration(is, schema);
- GlobalConfiguration gc = c.parseGlobalConfiguration();
- assert gc.getTransportClass().equals(JGroupsTransport.class.getName());
- assert gc.getClusterName().equals("demoCluster");
+ System.out.println(config);
- Configuration def = c.parseDefaultConfiguration();
- QueryConfigurationBean bean = def.getQueryConfigurationBean();
- assert bean.isEnabled();
- assert bean.isIndexLocalOnly();
-
- CacheManager cm = TestCacheManagerFactory.createClusteredCacheManager(def);
- Cache<Object, Object> cache = cm.getCache("test");
- cache.stop();
- }
+ InputStream is = new ByteArrayInputStream(config.getBytes());
+ InputStream schema = InfinispanConfiguration.findSchemaInputStream();
+ assert schema != null;
+ InfinispanConfiguration c = InfinispanConfiguration.newInfinispanConfiguration(is, schema);
+ GlobalConfiguration gc = c.parseGlobalConfiguration();
+ assert gc.getTransportClass().equals(JGroupsTransport.class.getName());
+ assert gc.getClusterName().equals("demoCluster");
+
+ Configuration def = c.parseDefaultConfiguration();
+ assert def.isIndexingEnabled();
+ assert def.isIndexLocalOnly();
+
+ // test cloneability
+ Configuration dolly = def.clone();
+ assert dolly.isIndexingEnabled();
+ assert dolly.isIndexLocalOnly();
+
+ // test mergeability
+ Configuration other = new Configuration();
+ other.setUseLazyDeserialization(true);
+ other.setUseLockStriping(false);
+ other.applyOverrides(dolly);
+ assert other.isUseLazyDeserialization();
+ assert !other.isUseLockStriping();
+ assert other.isIndexingEnabled();
+ assert other.isIndexLocalOnly();
+
+ CacheManager cm = TestCacheManagerFactory.createClusteredCacheManager(def);
+ Cache<Object, Object> cache = cm.getCache("test");
+ cache.stop();
+ }
}
\ No newline at end of file
Modified: trunk/query/src/test/java/org/infinispan/query/helper/TestQueryHelperFactory.java
===================================================================
--- trunk/query/src/test/java/org/infinispan/query/helper/TestQueryHelperFactory.java 2009-12-10 11:14:08 UTC (rev 1270)
+++ trunk/query/src/test/java/org/infinispan/query/helper/TestQueryHelperFactory.java 2009-12-10 11:15:07 UTC (rev 1271)
@@ -13,6 +13,7 @@
*/
public class TestQueryHelperFactory {
public static QueryHelper createTestQueryHelperInstance(Cache<?, ?> cache, Class... classes) {
+ if (cache == null) throw new NullPointerException("Cache should not be null!");
Properties p = new Properties();
p.setProperty("hibernate.search.default.directory_provider", "org.hibernate.search.store.RAMDirectoryProvider");
return new QueryHelper(cache, p, classes);
Modified: trunk/query/src/test/java/org/infinispan/query/test/Person.java
===================================================================
--- trunk/query/src/test/java/org/infinispan/query/test/Person.java 2009-12-10 11:14:08 UTC (rev 1270)
+++ trunk/query/src/test/java/org/infinispan/query/test/Person.java 2009-12-10 11:15:07 UTC (rev 1271)
@@ -24,6 +24,15 @@
@Field(store = Store.YES, index = Index.UN_TOKENIZED)
private int age;
+ public Person() {
+ }
+
+ public Person(String name, String blurb, int age) {
+ this.name = name;
+ this.blurb = blurb;
+ this.age = age;
+ }
+
public String getName() {
return name;
}
More information about the infinispan-commits
mailing list