[infinispan-commits] Infinispan SVN: r1607 - in trunk/lucene-directory/src: test/java/org/infinispan/lucene/locking and 1 other directory.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Sun Mar 14 15:07:23 EDT 2010


Author: sannegrinovero
Date: 2010-03-14 15:07:23 -0400 (Sun, 14 Mar 2010)
New Revision: 1607

Added:
   trunk/lucene-directory/src/test/java/org/infinispan/lucene/locking/TransactionalLockManagerFunctionalTest.java
Modified:
   trunk/lucene-directory/src/main/java/org/infinispan/lucene/locking/TransactionalLockFactory.java
   trunk/lucene-directory/src/test/java/org/infinispan/lucene/locking/LockManagerFunctionalTest.java
Log:
[ISPN-372] (Create a plain Lucene LockFactory not using a TransactionManager) adding smoke test to check both implementations

Modified: trunk/lucene-directory/src/main/java/org/infinispan/lucene/locking/TransactionalLockFactory.java
===================================================================
--- trunk/lucene-directory/src/main/java/org/infinispan/lucene/locking/TransactionalLockFactory.java	2010-03-14 18:56:42 UTC (rev 1606)
+++ trunk/lucene-directory/src/main/java/org/infinispan/lucene/locking/TransactionalLockFactory.java	2010-03-14 19:07:23 UTC (rev 1607)
@@ -56,7 +56,7 @@
 public class TransactionalLockFactory extends LockFactory {
 
    private static final Log log = LogFactory.getLog(TransactionalLockFactory.class);
-   static final String DEF_LOCK_NAME = IndexWriter.WRITE_LOCK_NAME;
+   private static final String DEF_LOCK_NAME = IndexWriter.WRITE_LOCK_NAME;
 
    private final Cache<CacheKey, Object> cache;
    private final String indexName;

Modified: trunk/lucene-directory/src/test/java/org/infinispan/lucene/locking/LockManagerFunctionalTest.java
===================================================================
--- trunk/lucene-directory/src/test/java/org/infinispan/lucene/locking/LockManagerFunctionalTest.java	2010-03-14 18:56:42 UTC (rev 1606)
+++ trunk/lucene-directory/src/test/java/org/infinispan/lucene/locking/LockManagerFunctionalTest.java	2010-03-14 19:07:23 UTC (rev 1607)
@@ -23,6 +23,10 @@
 
 import java.io.IOException;
 
+import org.apache.lucene.index.IndexWriter;
+import org.apache.lucene.store.Lock;
+import org.apache.lucene.store.LockFactory;
+import org.infinispan.Cache;
 import org.infinispan.config.Configuration;
 import org.infinispan.lucene.CacheTestSupport;
 import org.infinispan.test.MultipleCacheManagersTest;
@@ -42,15 +46,14 @@
       createClusteredCaches(2, "lucene", replSync);
    }
    
-   @SuppressWarnings("unchecked")
    public void testLuceneIndexLocking() throws IOException {
       final String commonIndexName = "myIndex";
-      TransactionalLockFactory lockManagerA = new TransactionalLockFactory(cache(0, "lucene"), commonIndexName);
-      TransactionalLockFactory lockManagerB = new TransactionalLockFactory(cache(1, "lucene"), commonIndexName);
-      TransactionalLockFactory isolatedLockManager = new TransactionalLockFactory(cache(0, "lucene"), "anotherIndex");
-      TransactionalSharedLuceneLock luceneLockA = lockManagerA.makeLock(TransactionalLockFactory.DEF_LOCK_NAME);
-      TransactionalSharedLuceneLock luceneLockB = lockManagerB.makeLock(TransactionalLockFactory.DEF_LOCK_NAME);
-      TransactionalSharedLuceneLock anotherLock = isolatedLockManager.makeLock(TransactionalLockFactory.DEF_LOCK_NAME);
+      LockFactory lockManagerA = makeLockFactory(cache(0,"lucene"), commonIndexName);
+      LockFactory lockManagerB = makeLockFactory(cache(1, "lucene"), commonIndexName);
+      LockFactory isolatedLockManager = makeLockFactory(cache(0, "lucene"), "anotherIndex");
+      Lock luceneLockA = lockManagerA.makeLock(IndexWriter.WRITE_LOCK_NAME);
+      Lock luceneLockB = lockManagerB.makeLock(IndexWriter.WRITE_LOCK_NAME);
+      Lock anotherLock = isolatedLockManager.makeLock(IndexWriter.WRITE_LOCK_NAME);
       
       assert luceneLockA.obtain();
       assert luceneLockB.isLocked();
@@ -60,8 +63,12 @@
       luceneLockA.release();
       assert ! luceneLockB.isLocked();
       assert luceneLockB.obtain();
-      lockManagerA.clearLock(TransactionalLockFactory.DEF_LOCK_NAME);
+      lockManagerA.clearLock(IndexWriter.WRITE_LOCK_NAME);
       assert ! luceneLockB.isLocked();
    }
 
+   protected LockFactory makeLockFactory(Cache cache, String commonIndexName) {
+      return new BaseLockFactory(cache, commonIndexName);
+   }
+
 }

Added: trunk/lucene-directory/src/test/java/org/infinispan/lucene/locking/TransactionalLockManagerFunctionalTest.java
===================================================================
--- trunk/lucene-directory/src/test/java/org/infinispan/lucene/locking/TransactionalLockManagerFunctionalTest.java	                        (rev 0)
+++ trunk/lucene-directory/src/test/java/org/infinispan/lucene/locking/TransactionalLockManagerFunctionalTest.java	2010-03-14 19:07:23 UTC (rev 1607)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.infinispan.lucene.locking;
+
+import org.apache.lucene.store.LockFactory;
+import org.infinispan.Cache;
+import org.testng.annotations.Test;
+
+/**
+ * TransactionalLockManagerFunctionalTest.
+ * 
+ * @author Sanne Grinovero
+ * @since 4.0
+ */
+ at Test(groups = "functional", testName = "lucene.locking.TransactionalLockManagerFunctionalTest", enabled = true)
+public class TransactionalLockManagerFunctionalTest extends LockManagerFunctionalTest {
+   
+   protected LockFactory makeLockFactory(Cache cache, String commonIndexName) {
+      return new TransactionalLockFactory(cache, commonIndexName);
+   }
+
+}



More information about the infinispan-commits mailing list