made the indexPath parameter-expanded, so we can reference
authorjohn <john>
Sat, 18 Jan 2003 12:35:11 +0000 (12:35 +0000)
committerjohn <john>
Sat, 18 Jan 2003 12:35:11 +0000 (12:35 +0000)
the centralized location of the index in config.properties
from producers.xml

source/mircoders/producer/IndexingProducerNode.java
source/mircoders/producer/UnIndexingProducerNode.java

index 739bfbb..0949f4e 100755 (executable)
@@ -70,15 +70,17 @@ public class IndexingProducerNode implements ProducerNode {
     IndexWriter indexWriter = null;
     Object data;
     Entity entity;
-
+    String index = null;
     long startTime;
     long endTime;
 
     startTime = System.currentTimeMillis();
-
+    
+    
+    
     try {
-      data = ParameterExpander.findValueForKey( aValueMap, contentKey );
-
+      index = ParameterExpander.expandExpression(aValueMap, indexPath);
+      data =  ParameterExpander.findValueForKey( aValueMap, contentKey );
       if (! (data instanceof EntityAdapter)) {
         throw new ProducerFailure("IndexingProducerNode: value of '"+contentKey+"' is not an EntityAdapter, but an " + data.getClass().getName(), null);
       }
@@ -87,20 +89,20 @@ public class IndexingProducerNode implements ProducerNode {
       if (! (entity instanceof EntityContent)) {
         throw new ProducerFailure("IndexingProducerNode: value of '"+contentKey+"' is not a content EntityAdapter, but a " + entity.getClass().getName() + " adapter", null);
       }
-      aLogger.info("Indexing " + (String) entity.getValue("id") + " into " + indexPath);
+      aLogger.info("Indexing " + (String) entity.getValue("id") + " into " + index);
 
       // create an index here if one did not already exist
-      if (! (IndexReader.indexExists(indexPath))){
-       aLogger.error("Didn't find existing index, so I'm making one in "+indexPath);
-       IndexWriter indexCreator = new IndexWriter(indexPath,new StandardAnalyzer(),true);
+      if (! (IndexReader.indexExists(index))){
+       aLogger.error("Didn't find existing index, so I'm making one in "+index);
+       IndexWriter indexCreator = new IndexWriter(index,new StandardAnalyzer(),true);
        indexCreator.close();
       }
 
-      indexReader = IndexReader.open(indexPath);
+      indexReader = IndexReader.open(index);
       indexReader.delete(new Term("id",entity.getValue("id")));
       indexReader.close();
 
-      indexWriter = new IndexWriter(indexPath, new StandardAnalyzer(), false);
+      indexWriter = new IndexWriter(index, new StandardAnalyzer(), false);
       Document theDoc =  new Document();
 
       // Keyword is stored and indexed, but not tokenized
@@ -182,7 +184,7 @@ public class IndexingProducerNode implements ProducerNode {
 
 
       try{
-        FSDirectory theIndexDir=FSDirectory.getDirectory(indexPath,false);
+        FSDirectory theIndexDir=FSDirectory.getDirectory(index,false);
         if (indexReader.isLocked(theIndexDir)){
           indexReader.unlock(theIndexDir);
         }
index 60b21b2..15a5a1f 100755 (executable)
@@ -70,6 +70,7 @@ public class UnIndexingProducerNode implements ProducerNode {
     IndexReader indexReader = null;
     Object data;
     Entity entity;
+    String index=null;
 
     long startTime;
     long endTime;
@@ -77,6 +78,7 @@ public class UnIndexingProducerNode implements ProducerNode {
     startTime = System.currentTimeMillis();
 
     try {
+      index = ParameterExpander.expandExpression(aValueMap, indexPath);
       data = ParameterExpander.findValueForKey( aValueMap, contentKey );
 
       if (! (data instanceof EntityAdapter)) {
@@ -87,9 +89,9 @@ public class UnIndexingProducerNode implements ProducerNode {
       if (! (entity instanceof EntityContent)) {
         throw new ProducerFailure("UnIndexingProducerNode: value of '"+contentKey+"' is not a content EntityAdapter, but a " + entity.getClass().getName() + " adapter", null);
       }
-      aLogger.info("UnIndexing " + (String) entity.getValue("id") + " out of " + indexPath);
+      aLogger.info("UnIndexing " + (String) entity.getValue("id") + " out of " + index);
 
-      indexReader = IndexReader.open(indexPath);
+      indexReader = IndexReader.open(index);
       indexReader.delete(new Term("id",entity.getValue("id")));
       indexReader.close();
       
@@ -110,10 +112,12 @@ public class UnIndexingProducerNode implements ProducerNode {
       }
 
       try{
-        FSDirectory theIndexDir=FSDirectory.getDirectory(indexPath,false);
-        if (indexReader.isLocked(theIndexDir)){
-          indexReader.unlock(theIndexDir);
-        }
+       if (index != null){
+         FSDirectory theIndexDir=FSDirectory.getDirectory(index,false);
+         if (indexReader.isLocked(theIndexDir)){
+           indexReader.unlock(theIndexDir);
+         }
+       }
       }
       catch (Throwable t) {
         aLogger.warn("Error while unlocking index: " + t.getMessage());