Revision: 17188
          http://sourceforge.net/p/gate/code/17188
Author:   valyt
Date:     2013-12-19 17:53:32 +0000 (Thu, 19 Dec 2013)
Log Message:
-----------
Some scratch code to exercise the new (5.0) indexers.

Modified Paths:
--------------
    mimir/branches/5.0/mimir-test/src/gate/mimir/test/Scratch.java

Modified: mimir/branches/5.0/mimir-test/src/gate/mimir/test/Scratch.java
===================================================================
--- mimir/branches/5.0/mimir-test/src/gate/mimir/test/Scratch.java      
2013-12-19 17:52:46 UTC (rev 17187)
+++ mimir/branches/5.0/mimir-test/src/gate/mimir/test/Scratch.java      
2013-12-19 17:53:32 UTC (rev 17188)
@@ -25,13 +25,25 @@
 import java.net.MalformedURLException;
 import java.net.URI;
 import java.net.URISyntaxException;
+import java.net.URL;
 import java.text.NumberFormat;
 import java.util.Arrays;
+import java.util.Enumeration;
+import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.Callable;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipFile;
 
 import org.apache.commons.configuration.ConfigurationException;
 
+import gate.Document;
 import gate.Gate;
+import gate.mimir.AbstractSemanticAnnotationHelper;
+import gate.mimir.IndexConfig;
+import gate.mimir.MimirIndex;
+import gate.mimir.index.AtomicTokenIndex;
+import gate.mimir.index.mg4j.GATEDocument;
 import gate.mimir.index.mg4j.MimirDirectIndexBuilder;
 import gate.mimir.search.IndexReaderPool;
 import gate.mimir.search.QueryEngine;
@@ -61,7 +73,9 @@
 public class Scratch {
 
   public static void main (String[] args) throws Exception {
-     mainSimple(args);
+    mainIndexer5(args);
+    
+//     mainSimple(args);
 //     mainDirectIndexes(args);
 //    mainBuildDirectIndex(args);
 //    mainQueryIndex(args);
@@ -184,7 +198,62 @@
     qEngine.close();
   }
   
+  
   /**
+   * Scratch code to exercise the 5.0 indexer framework 
+   */
+  public static void mainIndexer5(String[] args) throws Exception {
+    Gate.setGateHome(new File("gate-home"));
+    Gate.setUserConfigFile(new File("gate-home/user-gate.xml"));
+    Gate.init();
+    // load the tokeniser plugin
+    Gate.getCreoleRegister().registerDirectories(new 
File("gate-home/plugins/ANNIE-tokeniser").toURI().toURL());
+    // load the DB plugin
+    Gate.getCreoleRegister().registerDirectories(new 
File("../plugins/db-h2").toURI().toURL());
+    // load the measurements plugin
+    Gate.getCreoleRegister().registerDirectories(new 
File("../plugins/measurements").toURI().toURL());
+    
+    File indexDir = new File(args[0]);
+    
+    IndexConfig indexConfig = TestUtils.getTestIndexConfig(indexDir,
+        Class.forName("gate.mimir.db.DBSemanticAnnotationHelper", 
+            true, Gate.getClassLoader()).asSubclass(
+        AbstractSemanticAnnotationHelper.class));
+    
+    MimirIndex mainIndex = new MimirIndex(indexDir);
+    
+    // build a token indexer
+    BlockingQueue<GATEDocument> inputQueue = new 
LinkedBlockingQueue<GATEDocument>();
+    BlockingQueue<GATEDocument> outputQueue = new 
LinkedBlockingQueue<GATEDocument>();
+    AtomicTokenIndex ati = new AtomicTokenIndex(mainIndex, "tokens-0", 
+        new File(indexDir, "tokens-0"), false, 
+        inputQueue, outputQueue, 
+        indexConfig.getTokenIndexers()[0], 
+        false);
+    
+    File zipFile = new File(args[1]);
+    String fileURI = zipFile.toURI().toString();
+    ZipFile zip = new ZipFile(args[1]);
+    Enumeration<? extends ZipEntry> entries = zip.entries();
+    
+    int copies = 1;
+    while(entries.hasMoreElements()) {
+      ZipEntry entry = entries.nextElement();
+      if(entry.isDirectory()) {
+        continue;
+      }
+      URL url = new URL("jar:" + fileURI + "!/" + entry.getName());
+      Document doc = gate.Factory.newDocument(url, "UTF-8");
+      for(int i = 0;  i < copies; i++) {
+        GATEDocument gateDoc = new GATEDocument(doc, indexConfig);
+        inputQueue.put(gateDoc);
+      }
+    }
+    ati.close();
+
+  }
+  
+  /**
    * Version that exercises the scorers 
    * @param args
    */

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
GATE-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gate-cvs

Reply via email to