[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