[exo-jcr-commits] exo-jcr SVN: r1215 - in jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query: lucene and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Dec 28 09:58:50 EST 2009


Author: skabashnyuk
Date: 2009-12-28 09:58:50 -0500 (Mon, 28 Dec 2009)
New Revision: 1215

Modified:
   jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/JbossCacheIndexChangesFilter.java
   jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/JbossCacheIndexUpdateMonitor.java
   jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/DefaultIndexUpdateMonitor.java
   jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/IndexUpdateMonitor.java
   jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java
Log:
EXOJCR-331 : add IndexerIoMode to JbossCacheIndexUpdateMonitor

Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/JbossCacheIndexChangesFilter.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/JbossCacheIndexChangesFilter.java	2009-12-28 14:55:23 UTC (rev 1214)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/JbossCacheIndexChangesFilter.java	2009-12-28 14:58:50 UTC (rev 1215)
@@ -123,14 +123,14 @@
       {
          // TODO: uncomment it, when JbossCacheIndexInfos is finished.
          parentHandler.setIndexInfos(new JbossCacheIndexInfos(cache, true, ioMode));
-         parentHandler.setIndexUpdateMonitor(new JbossCacheIndexUpdateMonitor(cache));
+         parentHandler.setIndexUpdateMonitor(new JbossCacheIndexUpdateMonitor(cache, ioMode));
          parentHandler.init();
       }
       if (!handler.isInitialized())
       {
          // TODO: uncomment it, when JbossCacheIndexInfos is finished.
          handler.setIndexInfos(new JbossCacheIndexInfos(cache, false, ioMode));
-         handler.setIndexUpdateMonitor(new JbossCacheIndexUpdateMonitor(cache));
+         handler.setIndexUpdateMonitor(new JbossCacheIndexUpdateMonitor(cache, ioMode));
          handler.init();
       }
 

Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/JbossCacheIndexUpdateMonitor.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/JbossCacheIndexUpdateMonitor.java	2009-12-28 14:55:23 UTC (rev 1214)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/JbossCacheIndexUpdateMonitor.java	2009-12-28 14:58:50 UTC (rev 1215)
@@ -18,6 +18,7 @@
  */
 package org.exoplatform.services.jcr.impl.core.query.jbosscache;
 
+import org.exoplatform.services.jcr.impl.core.query.IndexerIoMode;
 import org.exoplatform.services.jcr.impl.core.query.lucene.IndexUpdateMonitor;
 import org.exoplatform.services.log.ExoLogger;
 import org.exoplatform.services.log.Log;
@@ -25,6 +26,7 @@
 import org.jboss.cache.CacheSPI;
 import org.jboss.cache.Fqn;
 
+import java.io.IOException;
 import java.io.Serializable;
 
 import javax.transaction.RollbackException;
@@ -49,13 +51,19 @@
 
    private final static String PARAMETER_NAME = "index-update-in-progress";
 
+   public IndexerIoMode ioMode;
+
    /**
     * @param cache instance of JbossCache that is used to deliver index names
     */
-   public JbossCacheIndexUpdateMonitor(Cache<Serializable, Object> cache)
+   public JbossCacheIndexUpdateMonitor(Cache<Serializable, Object> cache, IndexerIoMode ioMode)
    {
       this.cache = cache;
-      setUpdateInProgress(false);
+      this.ioMode = ioMode;
+      if (IndexerIoMode.READ_WRITE == ioMode)
+      {
+         setUpdateInProgress(false);
+      }
 
    }
 
@@ -73,6 +81,11 @@
     */
    public void setUpdateInProgress(boolean updateInProgress)
    {
+      if (IndexerIoMode.READ_ONLY == ioMode)
+      {
+         throw new IllegalStateException("Unable to set updateInProgress value in IndexerIoMode.READ_ONLY mode");
+      }
+
       log.info("setUpdateInProgress=" + updateInProgress);
       TransactionManager tm = ((CacheSPI<Serializable, Object>)cache).getTransactionManager();
       try
@@ -109,4 +122,14 @@
       }
 
    }
+
+   /**
+    * Sets {@link IndexerIoMode} to indexInfos;
+    * @param ioMode
+    * @throws IOException 
+    */
+   public void setIoMode(IndexerIoMode ioMode) throws IOException
+   {
+      this.ioMode = ioMode;
+   }
 }

Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/DefaultIndexUpdateMonitor.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/DefaultIndexUpdateMonitor.java	2009-12-28 14:55:23 UTC (rev 1214)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/DefaultIndexUpdateMonitor.java	2009-12-28 14:58:50 UTC (rev 1215)
@@ -18,6 +18,9 @@
  */
 package org.exoplatform.services.jcr.impl.core.query.lucene;
 
+import org.exoplatform.services.jcr.impl.core.query.IndexerIoMode;
+
+import java.io.IOException;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 /**
@@ -29,6 +32,8 @@
 {
    private AtomicBoolean updateInProgress;
 
+   private IndexerIoMode ioMode;
+
    /**
     * @param semaphore
     */
@@ -56,4 +61,13 @@
    {
       this.updateInProgress.set(updateInProgress);
    }
+
+   /**
+    * @see org.exoplatform.services.jcr.impl.core.query.lucene.IndexUpdateMonitor#setIoMode(org.exoplatform.services.jcr.impl.core.query.IndexerIoMode)
+    */
+   public void setIoMode(IndexerIoMode ioMode) throws IOException
+   {
+      this.ioMode = ioMode;
+   }
+
 }

Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/IndexUpdateMonitor.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/IndexUpdateMonitor.java	2009-12-28 14:55:23 UTC (rev 1214)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/IndexUpdateMonitor.java	2009-12-28 14:58:50 UTC (rev 1215)
@@ -18,6 +18,10 @@
  */
 package org.exoplatform.services.jcr.impl.core.query.lucene;
 
+import org.exoplatform.services.jcr.impl.core.query.IndexerIoMode;
+
+import java.io.IOException;
+
 /**
  * @author <a href="mailto:Sergey.Kabashnyuk at exoplatform.org">Sergey Kabashnyuk</a>
  * @version $Id: exo-jboss-codetemplates.xml 34360 2009-07-22 23:58:59Z ksm $
@@ -35,4 +39,11 @@
     */
    void setUpdateInProgress(boolean updateInProgress);
 
+   /**
+    * Sets {@link IndexerIoMode} to indexInfos;
+    * @param ioMode
+    * @throws IOException 
+    */
+   public void setIoMode(IndexerIoMode ioMode) throws IOException;
+
 }
\ No newline at end of file

Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java	2009-12-28 14:55:23 UTC (rev 1214)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java	2009-12-28 14:58:50 UTC (rev 1215)
@@ -2358,6 +2358,7 @@
       {
          this.ioMode = ioMode;
          indexNames.setIoMode(ioMode);
+         indexUpdateMonitor.setIoMode(ioMode);
          switch (ioMode)
          {
             case READ_ONLY :



More information about the exo-jcr-commits mailing list