Author: cutting
Date: Tue Feb 28 11:25:12 2006
New Revision: 381751

URL: http://svn.apache.org/viewcvs?rev=381751&view=rev
Log:
Adding DOAP for Nutch.  Contributed by Chris Mattmann.

Added:
    lucene/nutch/trunk/site/doap.rdf
Modified:
    lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Crawl.java
    lucene/nutch/trunk/src/java/org/apache/nutch/crawl/CrawlDb.java
    lucene/nutch/trunk/src/java/org/apache/nutch/crawl/CrawlDbReader.java
    lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Generator.java
    lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Injector.java
    lucene/nutch/trunk/src/java/org/apache/nutch/crawl/LinkDbReader.java
    lucene/nutch/trunk/src/java/org/apache/nutch/fetcher/Fetcher.java
    lucene/nutch/trunk/src/java/org/apache/nutch/indexer/DeleteDuplicates.java
    lucene/nutch/trunk/src/java/org/apache/nutch/indexer/IndexMerger.java
    lucene/nutch/trunk/src/java/org/apache/nutch/indexer/Indexer.java
    lucene/nutch/trunk/src/java/org/apache/nutch/parse/ParseSegment.java
    lucene/nutch/trunk/src/java/org/apache/nutch/plugin/PluginRepository.java
    lucene/nutch/trunk/src/java/org/apache/nutch/searcher/DistributedSearch.java
    lucene/nutch/trunk/src/java/org/apache/nutch/segment/SegmentReader.java

Added: lucene/nutch/trunk/site/doap.rdf
URL: 
http://svn.apache.org/viewcvs/lucene/nutch/trunk/site/doap.rdf?rev=381751&view=auto
==============================================================================
--- lucene/nutch/trunk/site/doap.rdf (added)
+++ lucene/nutch/trunk/site/doap.rdf Tue Feb 28 11:25:12 2006
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl"?>
+<rdf:RDF xml:lang="en"
+         xmlns="http://usefulinc.com/ns/doap#"; 
+         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"; 
+         xmlns:asfext="http://projects.apache.org/ns/asfext#";
+         xmlns:foaf="http://xmlns.com/foaf/0.1/";>
+<!--
+  =======================================================================
+
+   Copyright (c) 2006 The Apache Software Foundation.  
+   All rights reserved.
+
+  =======================================================================
+-->
+  <Project rdf:about="http://lucene.apache.org/nutch/";>
+    <created>2006-02-28</created>
+    <license rdf:resource="http://usefulinc.com/doap/licenses/asl20"; />
+    <name>Apache Nutch</name>
+    <homepage rdf:resource="http://lucene.apache.org/nutch/"; />
+    <asfext:pmc rdf:resource="http://lucene.apache.org"; />
+    <shortdesc>Nutch is the open-source search engine.</shortdesc>
+    <description>Nutch is open source web-search software. It builds
+    on Lucene Java and Hadoop, adding web-specifics, such as a
+    crawler, a link-graph database, parsers for HTML and other
+    document formats, etc.
+    </description>
+    <bug-database rdf:resource="http://issues.apache.org/jira/browse/NUTCH"; />
+    <mailing-list 
rdf:resource="http://lucene.apache.org/nutch/mailing_lists.html"; />
+    <download-page 
rdf:resource="http://www.apache.org/dyn/closer.cgi/lucene/nutch/"; />
+    <programming-language>Java</programming-language>
+    <category rdf:resource="http://projects.apache.org/category/web-framework"; 
/>
+    <release>
+      <Version>
+        <name>0.7</name>
+        <created>2005-08-17</created>
+        <revision>0.7</revision>
+      </Version>
+    </release>
+    <repository>
+      <SVNRepository>
+        <location 
rdf:resource="http://svn.apache.org/repos/asf/lucene/nutch/"/>
+        <browse 
rdf:resource="http://svn.apache.org/viewcvs.cgi/lucene/nutch/"/>
+      </SVNRepository>
+    </repository>
+  </Project>
+</rdf:RDF>

Modified: lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Crawl.java
URL: 
http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Crawl.java?rev=381751&r1=381750&r2=381751&view=diff
==============================================================================
--- lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Crawl.java (original)
+++ lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Crawl.java Tue Feb 28 
11:25:12 2006
@@ -44,11 +44,11 @@
 
 
   /* Perform complete crawling and indexing given a set of root urls. */
-  public static void main(String args[]) throws Exception {
+  public static boolean doMain(String args[]) throws Exception {
     if (args.length < 1) {
       System.out.println
         ("Usage: Crawl <urlDir> [-dir d] [-threads n] [-depth i] [-topN N]");
-      return;
+      return false;
     }
 
     Configuration conf = NutchConfiguration.create();
@@ -122,5 +122,22 @@
     new IndexMerger(fs, fs.listFiles(indexes), index, tmpDir, job).merge();
 
     LOG.info("crawl finished: " + dir);
+
+    return true;
+  }
+
+  /**
+   * main() wrapper that returns proper exit status
+   */
+  public static void main(String[] args) {
+    Runtime rt = Runtime.getRuntime();
+    try {
+      boolean status = doMain(args);
+      rt.exit(status ? 0 : 1);
+    }
+    catch (Exception e) {
+      LOG.log(Level.SEVERE, "error, caught Exception in main()", e);
+      rt.exit(1);
+    }
   }
 }

Modified: lucene/nutch/trunk/src/java/org/apache/nutch/crawl/CrawlDb.java
URL: 
http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/crawl/CrawlDb.java?rev=381751&r1=381750&r2=381751&view=diff
==============================================================================
--- lucene/nutch/trunk/src/java/org/apache/nutch/crawl/CrawlDb.java (original)
+++ lucene/nutch/trunk/src/java/org/apache/nutch/crawl/CrawlDb.java Tue Feb 28 
11:25:12 2006
@@ -90,17 +90,31 @@
     fs.delete(old);
   }
 
-  public static void main(String[] args) throws Exception {
+  public static boolean doMain(String[] args) throws Exception {
     CrawlDb crawlDb = new CrawlDb(NutchConfiguration.create());
     
     if (args.length < 2) {
       System.err.println("Usage: <crawldb> <segment>");
-      return;
+      return false;
     }
     
     crawlDb.update(new File(args[0]), new File(args[1]));
-  }
-
 
+    return true;
+  }
 
+  /**
+   * main() wrapper that returns proper exit status
+   */
+  public static void main(String[] args) {
+    Runtime rt = Runtime.getRuntime();
+    try {
+      boolean status = doMain(args);
+      rt.exit(status ? 0 : 1);
+    }
+    catch (Exception e) {
+      LOG.log(Level.SEVERE, "error, caught Exception in main()", e);
+      rt.exit(1);
+    }
+  }
 }

Modified: lucene/nutch/trunk/src/java/org/apache/nutch/crawl/CrawlDbReader.java
URL: 
http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/crawl/CrawlDbReader.java?rev=381751&r1=381750&r2=381751&view=diff
==============================================================================
--- lucene/nutch/trunk/src/java/org/apache/nutch/crawl/CrawlDbReader.java 
(original)
+++ lucene/nutch/trunk/src/java/org/apache/nutch/crawl/CrawlDbReader.java Tue 
Feb 28 11:25:12 2006
@@ -20,7 +20,7 @@
 import java.io.IOException;
 import java.util.Iterator;
 import java.util.TreeMap;
-import java.util.logging.Logger;
+import java.util.logging.*;
 
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.io.LongWritable;
@@ -241,7 +241,7 @@
     JobClient.runJob(job);
   }
 
-  public static void main(String[] args) throws IOException {
+  public static boolean doMain(String[] args) throws IOException {
     CrawlDbReader dbr = new CrawlDbReader();
 
     if (args.length < 1) {
@@ -250,7 +250,7 @@
       System.err.println("\t-stats\tprint overall statistics to System.out");
       System.err.println("\t-dump <out_dir>\tdump the whole db to a text file 
in <out_dir>");
       System.err.println("\t-url <url>\tprint information on <url> to 
System.out");
-      return;
+      return false;
     }
     String param = null;
     String crawlDb = args[0];
@@ -266,8 +266,24 @@
         dbr.readUrl(crawlDb, param, conf);
       } else {
         System.err.println("\nError: wrong argument " + args[i]);
+        return false;
       }
     }
-    return;
+    return true;
+  }
+
+  /**
+   * main() wrapper that returns proper exit status
+   */
+  public static void main(String[] args) {
+    Runtime rt = Runtime.getRuntime();
+    try {
+      boolean status = doMain(args);
+      rt.exit(status ? 0 : -1);
+    }
+    catch (Exception e) {
+      LOG.log(Level.SEVERE, "error, caught Exception in main()", e);
+      rt.exit(-1);
+    }
   }
 }

Modified: lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Generator.java
URL: 
http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Generator.java?rev=381751&r1=381750&r2=381751&view=diff
==============================================================================
--- lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Generator.java (original)
+++ lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Generator.java Tue Feb 
28 11:25:12 2006
@@ -237,10 +237,10 @@
   /**
    * Generate a fetchlist from the pagedb and linkdb
    */
-  public static void main(String args[]) throws Exception {
+  public static boolean doMain(String args[]) throws Exception {
     if (args.length < 2) {
       System.out.println("Usage: Generator <crawldb> <segments_dir> [-topN N] 
[-numFetchers numFetchers] [-adddays numDays]");
-      return;
+      return false;
     }
 
     File dbDir = new File(args[0]);
@@ -266,5 +266,22 @@
       LOG.info("topN: " + topN);
     Generator gen = new Generator(NutchConfiguration.create());
     gen.generate(dbDir, segmentsDir, numFetchers, topN, curTime);
+
+    return true;
+  }
+
+  /**
+   * main() wrapper that returns proper exit status
+   */
+  public static void main(String[] args) {
+    Runtime rt = Runtime.getRuntime();
+    try {
+      boolean status = doMain(args);
+      rt.exit(status ? 0 : 1);
+    }
+    catch (Exception e) {
+      LOG.log(Level.SEVERE, "error, caught Exception in main()", e);
+      rt.exit(1);
+    }
   }
 }

Modified: lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Injector.java
URL: 
http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Injector.java?rev=381751&r1=381750&r2=381751&view=diff
==============================================================================
--- lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Injector.java (original)
+++ lucene/nutch/trunk/src/java/org/apache/nutch/crawl/Injector.java Tue Feb 28 
11:25:12 2006
@@ -127,15 +127,31 @@
 
   }
 
-  public static void main(String[] args) throws Exception {
+  public static boolean doMain(String[] args) throws Exception {
     Injector injector = new Injector(NutchConfiguration.create());
     
     if (args.length < 2) {
       System.err.println("Usage: Injector <crawldb> <url_dir>");
-      return;
+      return false;
     }
     
     injector.inject(new File(args[0]), new File(args[1]));
+
+    return true;
   }
 
+  /**
+   * main() wrapper that returns proper exit status
+   */
+  public static void main(String[] args) {
+    Runtime rt = Runtime.getRuntime();
+    try {
+      boolean status = doMain(args);
+      rt.exit(status ? 0 : 1);
+    }
+    catch (Exception e) {
+      LOG.log(Level.SEVERE, "error, caught Exception in main()", e);
+      rt.exit(1);
+    }
+  }
 }

Modified: lucene/nutch/trunk/src/java/org/apache/nutch/crawl/LinkDbReader.java
URL: 
http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/crawl/LinkDbReader.java?rev=381751&r1=381750&r2=381751&view=diff
==============================================================================
--- lucene/nutch/trunk/src/java/org/apache/nutch/crawl/LinkDbReader.java 
(original)
+++ lucene/nutch/trunk/src/java/org/apache/nutch/crawl/LinkDbReader.java Tue 
Feb 28 11:25:12 2006
@@ -29,7 +29,7 @@
 import org.apache.nutch.util.NutchConfiguration;
 import org.apache.nutch.util.NutchJob;
 
-import java.util.logging.Logger;
+import java.util.logging.*;
 
 /** . */
 public class LinkDbReader implements Closeable {
@@ -96,12 +96,12 @@
     JobClient.runJob(job);
   }
   
-  public static void main(String[] args) throws Exception {
+  public static boolean doMain(String[] args) throws Exception {
     if (args.length < 2) {
       System.err.println("LinkDbReader <linkdb> {-dump <out_dir> | -url 
<url>)");
       System.err.println("\t-dump <out_dir>\tdump whole link db to a text file 
in <out_dir>");
       System.err.println("\t-url <url>\tprint information about <url> to 
System.out");
-      return;
+      return false;
     }
     Configuration conf = NutchConfiguration.create();
     if (args[1].equals("-dump")) {
@@ -118,7 +118,24 @@
       }
     } else {
       System.err.println("Error: wrong argument " + args[1]);
-      return;
+      return false;
+    }
+
+    return true;
+  }
+
+  /**
+   * main() wrapper that returns proper exit status
+   */
+  public static void main(String[] args) {
+    Runtime rt = Runtime.getRuntime();
+    try {
+      boolean status = doMain(args);
+      rt.exit(status ? 0 : 1);
+    }
+    catch (Exception e) {
+      LOG.log(Level.SEVERE, "error, caught Exception in main()", e);
+      rt.exit(1);
     }
   }
 }

Modified: lucene/nutch/trunk/src/java/org/apache/nutch/fetcher/Fetcher.java
URL: 
http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/fetcher/Fetcher.java?rev=381751&r1=381750&r2=381751&view=diff
==============================================================================
--- lucene/nutch/trunk/src/java/org/apache/nutch/fetcher/Fetcher.java (original)
+++ lucene/nutch/trunk/src/java/org/apache/nutch/fetcher/Fetcher.java Tue Feb 
28 11:25:12 2006
@@ -369,13 +369,13 @@
 
 
   /** Run the fetcher. */
-  public static void main(String[] args) throws Exception {
+  public static boolean doMain(String[] args) throws Exception {
 
     String usage = "Usage: Fetcher <segment> [-threads n] [-noParsing]";
 
     if (args.length < 1) {
       System.err.println(usage);
-      System.exit(-1);
+      return false;
     }
       
     File segment = new File(args[0]);
@@ -399,5 +399,21 @@
     
     fetcher.fetch(segment, threads, parsing);              // run the Fetcher
 
+    return true;
+  }
+
+  /**
+   * main() wrapper that returns proper exit status
+   */
+  public static void main(String[] args) {
+    Runtime rt = Runtime.getRuntime();
+    try {
+      boolean status = doMain(args);
+      rt.exit(status ? 0 : 1);
+    }
+    catch (Exception e) {
+      LOG.log(Level.SEVERE, "error, caught Exception in main()", e);
+      rt.exit(1);
+    }
   }
 }

Modified: 
lucene/nutch/trunk/src/java/org/apache/nutch/indexer/DeleteDuplicates.java
URL: 
http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/indexer/DeleteDuplicates.java?rev=381751&r1=381750&r2=381751&view=diff
==============================================================================
--- lucene/nutch/trunk/src/java/org/apache/nutch/indexer/DeleteDuplicates.java 
(original)
+++ lucene/nutch/trunk/src/java/org/apache/nutch/indexer/DeleteDuplicates.java 
Tue Feb 28 11:25:12 2006
@@ -342,12 +342,12 @@
     LOG.info("Dedup: done");
   }
 
-  public static void main(String[] args) throws Exception {
+  public static boolean doMain(String[] args) throws Exception {
     DeleteDuplicates dedup = new DeleteDuplicates(NutchConfiguration.create());
     
     if (args.length < 1) {
       System.err.println("Usage: <indexes> ...");
-      return;
+      return false;
     }
     
     File[] indexes = new File[args.length];
@@ -356,6 +356,22 @@
     }
 
     dedup.dedup(indexes);
+
+    return true;
   }
 
+  /**
+   * main() wrapper that returns proper exit status
+   */
+  public static void main(String[] args) {
+    Runtime rt = Runtime.getRuntime();
+    try {
+      boolean status = doMain(args);
+      rt.exit(status ? 0 : 1);
+    }
+    catch (Exception e) {
+      LOG.log(Level.SEVERE, "error, caught Exception in main()", e);
+      rt.exit(1);
+    }
+  }
 }

Modified: lucene/nutch/trunk/src/java/org/apache/nutch/indexer/IndexMerger.java
URL: 
http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/indexer/IndexMerger.java?rev=381751&r1=381750&r2=381751&view=diff
==============================================================================
--- lucene/nutch/trunk/src/java/org/apache/nutch/indexer/IndexMerger.java 
(original)
+++ lucene/nutch/trunk/src/java/org/apache/nutch/indexer/IndexMerger.java Tue 
Feb 28 11:25:12 2006
@@ -105,11 +105,11 @@
   /** 
    * Create an index for the input files in the named directory. 
    */
-  public static void main(String[] args) throws Exception {
+  public static boolean doMain(String[] args) throws Exception {
     String usage = "IndexMerger [-workingdir <workingdir>] outputIndex 
indexesDir...";
     if (args.length < 2) {
       System.err.println("Usage: " + usage);
-      return;
+      return false;
     }
 
     //
@@ -148,5 +148,22 @@
     merger.merge();
     LOG.info("done merging");
     FileUtil.fullyDelete(workDir, conf);
+
+    return true;
+  }
+
+  /**
+   * main() wrapper that returns proper exit status
+   */
+  public static void main(String[] args) {
+    Runtime rt = Runtime.getRuntime();
+    try {
+      boolean status = doMain(args);
+      rt.exit(status ? 0 : 1);
+    }
+    catch (Exception e) {
+      LOG.log(Level.SEVERE, "error, caught Exception in main()", e);
+      rt.exit(1);
+    }
   }
 }

Modified: lucene/nutch/trunk/src/java/org/apache/nutch/indexer/Indexer.java
URL: 
http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/indexer/Indexer.java?rev=381751&r1=381750&r2=381751&view=diff
==============================================================================
--- lucene/nutch/trunk/src/java/org/apache/nutch/indexer/Indexer.java (original)
+++ lucene/nutch/trunk/src/java/org/apache/nutch/indexer/Indexer.java Tue Feb 
28 11:25:12 2006
@@ -269,12 +269,12 @@
     LOG.info("Indexer: done");
   }
 
-  public static void main(String[] args) throws Exception {
+  public static boolean doMain(String[] args) throws Exception {
     Indexer indexer = new Indexer(NutchConfiguration.create());
     
     if (args.length < 4) {
       System.err.println("Usage: <index> <crawldb> <linkdb> <segment> ...");
-      return;
+      return false;
     }
     
     File[] segments = new File[args.length-3];
@@ -284,6 +284,22 @@
 
     indexer.index(new File(args[0]), new File(args[1]), new File(args[2]),
                   segments);
+
+    return true;
   }
 
+  /**
+   * main() wrapper that returns proper exit status
+   */
+  public static void main(String[] args) {
+    Runtime rt = Runtime.getRuntime();
+    try {
+      boolean status = doMain(args);
+      rt.exit(status ? 0 : 1);
+    }
+    catch (Exception e) {
+      LOG.log(Level.SEVERE, "error, caught Exception in main()", e);
+      rt.exit(1);
+    }
+  }
 }

Modified: lucene/nutch/trunk/src/java/org/apache/nutch/parse/ParseSegment.java
URL: 
http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/parse/ParseSegment.java?rev=381751&r1=381750&r2=381751&view=diff
==============================================================================
--- lucene/nutch/trunk/src/java/org/apache/nutch/parse/ParseSegment.java 
(original)
+++ lucene/nutch/trunk/src/java/org/apache/nutch/parse/ParseSegment.java Tue 
Feb 28 11:25:12 2006
@@ -104,19 +104,36 @@
   }
 
 
-  public static void main(String[] args) throws Exception {
+  public static boolean doMain(String[] args) throws Exception {
     File segment;
 
     String usage = "Usage: ParseSegment segment";
 
     if (args.length == 0) {
       System.err.println(usage);
-      System.exit(-1);
+      return false;
     }
       
     segment = new File(args[0]);
 
     ParseSegment parseSegment = new ParseSegment(NutchConfiguration.create());
     parseSegment.parse(segment);
+
+    return true;
+  }
+
+  /**
+   * main() wrapper that returns proper exit status
+   */
+  public static void main(String[] args) {
+    Runtime rt = Runtime.getRuntime();
+    try {
+      boolean status = doMain(args);
+      rt.exit(status ? 0 : 1);
+    }
+    catch (Exception e) {
+      LOG.log(Level.SEVERE, "error, caught Exception in main()", e);
+      rt.exit(1);
+    }
   }
 }

Modified: 
lucene/nutch/trunk/src/java/org/apache/nutch/plugin/PluginRepository.java
URL: 
http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/plugin/PluginRepository.java?rev=381751&r1=381750&r2=381751&view=diff
==============================================================================
--- lucene/nutch/trunk/src/java/org/apache/nutch/plugin/PluginRepository.java 
(original)
+++ lucene/nutch/trunk/src/java/org/apache/nutch/plugin/PluginRepository.java 
Tue Feb 28 11:25:12 2006
@@ -26,7 +26,7 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
-import java.util.logging.Logger;
+import java.util.logging.*;
 import java.util.regex.Pattern;
 
 // Nutch imports
@@ -400,10 +400,10 @@
      * selected class.
      * @throws Exception
      */
-    public static void main(String[] args) throws Exception {
+    public static boolean doMain(String[] args) throws Exception {
       if (args.length < 2) {
         System.err.println("Usage: PluginRepository pluginId className [arg1 
arg2 ...]");
-        return;
+        return false;
       }
       Configuration conf = NutchConfiguration.create();
       PluginRepository repo = new PluginRepository(conf);
@@ -411,7 +411,7 @@
       PluginDescriptor d = repo.getPluginDescriptor(args[0]);
       if (d == null) {
         System.err.println("Plugin '" + args[0] + "' not present or 
inactive.");
-        return;
+        return false;
       }
       ClassLoader cl = d.getClassLoader();
       // args[1] - class name
@@ -420,17 +420,34 @@
         clazz = Class.forName(args[1], true, cl);
       } catch (Exception e) {
         System.err.println("Could not load the class '" + args[1] + ": " + 
e.getMessage());
-        return;
+        return false;
       }
       Method m = null;
       try {
         m = clazz.getMethod("main", new Class[]{args.getClass()});
       } catch (Exception e) {
         System.err.println("Could not find the 'main(String[])' method in 
class " + args[1] + ": " + e.getMessage());
-        return;
+        return false;
       }
       String[] subargs = new String[args.length - 2];
       System.arraycopy(args, 2, subargs, 0, subargs.length);
       m.invoke(null, new Object[]{subargs});
+
+      return true;
+    }
+
+  /**
+   * main() wrapper that returns proper exit status
+   */
+  public static void main(String[] args) {
+    Runtime rt = Runtime.getRuntime();
+    try {
+      boolean status = doMain(args);
+      rt.exit(status ? 0 : 1);
+    }
+    catch (Exception e) {
+      LOG.log(Level.SEVERE, "error, caught Exception in main()", e);
+      rt.exit(1);
     }
+  }
 }

Modified: 
lucene/nutch/trunk/src/java/org/apache/nutch/searcher/DistributedSearch.java
URL: 
http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/searcher/DistributedSearch.java?rev=381751&r1=381750&r2=381751&view=diff
==============================================================================
--- 
lucene/nutch/trunk/src/java/org/apache/nutch/searcher/DistributedSearch.java 
(original)
+++ 
lucene/nutch/trunk/src/java/org/apache/nutch/searcher/DistributedSearch.java 
Tue Feb 28 11:25:12 2006
@@ -19,7 +19,7 @@
 import java.net.InetSocketAddress;
 import java.io.*;
 import java.util.*;
-import java.util.logging.Logger;
+import java.util.logging.*;
 import java.lang.reflect.Method;
 
 import org.apache.nutch.parse.ParseData;
@@ -53,12 +53,12 @@
     private Server() {}
 
     /** Runs a search server. */
-    public static void main(String[] args) throws Exception {
+    public static boolean doMain(String[] args) throws Exception {
       String usage = "DistributedSearch$Server <port> <index dir>";
 
       if (args.length == 0 || args.length > 2) {
         System.err.println(usage);
-        System.exit(-1);
+        return false;
       }
 
       int port = Integer.parseInt(args[0]);
@@ -70,8 +70,24 @@
       org.apache.hadoop.ipc.Server server = RPC.getServer(bean, port, 10, 
true, conf);
       server.start();
       server.join();
+
+      return true;
     }
 
+    /**
+     * main() wrapper that returns proper exit status
+     */
+    public static void main(String[] args) {
+      Runtime rt = Runtime.getRuntime();
+      try {
+        boolean status = doMain(args);
+        rt.exit(status ? 0 : 1);
+      }
+      catch (Exception e) {
+        LOG.log(Level.SEVERE, "error, caught Exception in main()", e);
+        rt.exit(1);
+      }
+    }
   }
 
   /** The search client. */
@@ -311,12 +327,12 @@
       return getRemote(hit).getFetchDate(hit);
     }
       
-    public static void main(String[] args) throws Exception {
+    public static boolean doMain(String[] args) throws Exception {
       String usage = "DistributedSearch$Client query <host> <port> ...";
 
       if (args.length == 0) {
         System.err.println(usage);
-        System.exit(-1);
+        return false;
       }
 
       Query query = Query.parse(args[0], NutchConfiguration.create());
@@ -336,6 +352,7 @@
         System.out.println(" "+i+" "+ client.getDetails(hits.getHit(i)));
       }
 
+      return true;
     }
 
     public void run() {
@@ -361,6 +378,21 @@
     public void close() {
       running = false;
       interrupt();
+    }
+
+    /**
+     * main() wrapper that returns proper exit status
+     */
+    public static void main(String[] args) {
+      Runtime rt = Runtime.getRuntime();
+      try {
+        boolean status = doMain(args);
+        rt.exit(status ? 0 : 1);
+      }
+      catch (Exception e) {
+        LOG.log(Level.SEVERE, "error, caught Exception in main()", e);
+        rt.exit(1);
+      }
     }
   }
 }

Modified: 
lucene/nutch/trunk/src/java/org/apache/nutch/segment/SegmentReader.java
URL: 
http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/segment/SegmentReader.java?rev=381751&r1=381750&r2=381751&view=diff
==============================================================================
--- lucene/nutch/trunk/src/java/org/apache/nutch/segment/SegmentReader.java 
(original)
+++ lucene/nutch/trunk/src/java/org/apache/nutch/segment/SegmentReader.java Tue 
Feb 28 11:25:12 2006
@@ -25,7 +25,7 @@
 import java.io.PrintStream;
 import java.io.PrintWriter;
 import java.util.Iterator;
-import java.util.logging.Logger;
+import java.util.logging.*;
 
 import org.apache.nutch.crawl.CrawlDatum;
 import org.apache.hadoop.fs.FileSystem;
@@ -221,7 +221,7 @@
       }
   }
   
-  public static void main(String[] args) throws Exception {
+  public static boolean doMain(String[] args) throws Exception {
     Configuration conf = NutchConfiguration.create();
     SegmentReader segmentReader = new SegmentReader(conf);
 
@@ -229,8 +229,25 @@
 
     if (args.length == 0) {
       System.err.println(usage);
-      System.exit(-1);
+      return false;
     }
     segmentReader.reader(new File(args[0]));
+
+    return true;
+  }
+
+  /**
+   * main() wrapper that returns proper exit status
+   */
+  public static void main(String[] args) {
+    Runtime rt = Runtime.getRuntime();
+    try {
+      boolean status = doMain(args);
+      rt.exit(status ? 0 : 1);
+    }
+    catch (Exception e) {
+      LOG.log(Level.SEVERE, "error, caught Exception in main()", e);
+      rt.exit(1);
+    }
   }
 }




-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Nutch-cvs mailing list
Nutch-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nutch-cvs

Reply via email to