You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by gs...@apache.org on 2010/02/13 18:36:33 UTC
svn commit: r909854 -
/lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/text/SequenceFilesFromDirectory.java
Author: gsingers
Date: Sat Feb 13 17:36:33 2010
New Revision: 909854
URL: http://svn.apache.org/viewvc?rev=909854&view=rev
Log:
Added --help option
Modified:
lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/text/SequenceFilesFromDirectory.java
Modified: lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/text/SequenceFilesFromDirectory.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/text/SequenceFilesFromDirectory.java?rev=909854&r1=909853&r2=909854&view=diff
==============================================================================
--- lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/text/SequenceFilesFromDirectory.java (original)
+++ lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/text/SequenceFilesFromDirectory.java Sat Feb 13 17:36:33 2010
@@ -27,6 +27,7 @@
import org.apache.commons.cli2.CommandLine;
import org.apache.commons.cli2.Group;
import org.apache.commons.cli2.Option;
+import org.apache.commons.cli2.OptionException;
import org.apache.commons.cli2.builder.ArgumentBuilder;
import org.apache.commons.cli2.builder.DefaultOptionBuilder;
import org.apache.commons.cli2.builder.GroupBuilder;
@@ -37,6 +38,9 @@
import org.apache.hadoop.io.SequenceFile;
import org.apache.hadoop.io.Text;
import org.apache.mahout.common.FileLineIterable;
+import org.apache.mahout.common.CommandLineUtil;
+import org.slf4j.LoggerFactory;
+import org.slf4j.Logger;
/**
* Converts a directory of text documents into SequenceFiles of Specified
@@ -50,6 +54,8 @@
*
*/
public final class SequenceFilesFromDirectory {
+
+ private transient static Logger log = LoggerFactory.getLogger(SequenceFilesFromDirectory.class);
private static ChunkedWriter createNewChunkedWriter(int chunkSizeInMB,
String outputDir) throws IOException {
@@ -194,31 +200,41 @@
.create()).withDescription(
"The name of the character encoding of the input files")
.withShortName("c").create();
-
+
+ Option helpOpt = obuilder.withLongName("help").withDescription("Print out help").withShortName("h").create();
+
Group group =
gbuilder.withName("Options").withOption(keyPrefixOpt).withOption(
- chunkSizeOpt).withOption(charsetOpt).withOption(outputDirOpt)
+ chunkSizeOpt).withOption(charsetOpt).withOption(outputDirOpt).withOption(helpOpt)
.withOption(parentOpt).create();
-
- Parser parser = new Parser();
- parser.setGroup(group);
- CommandLine cmdLine = parser.parse(args);
-
- File parentDir = new File((String) cmdLine.getValue(parentOpt));
- String outputDir = (String) cmdLine.getValue(outputDirOpt);
-
- int chunkSize = 64;
- if (cmdLine.hasOption(chunkSizeOpt)) {
- chunkSize = Integer.parseInt((String) cmdLine.getValue(chunkSizeOpt));
- }
-
- String prefix = "";
- if (cmdLine.hasOption(keyPrefixOpt)) {
- prefix = (String) cmdLine.getValue(keyPrefixOpt);
- }
- Charset charset = Charset.forName((String) cmdLine.getValue(charsetOpt));
- SequenceFilesFromDirectory dir = new SequenceFilesFromDirectory();
-
- dir.createSequenceFiles(parentDir, outputDir, prefix, chunkSize, charset);
+
+ try {
+ Parser parser = new Parser();
+ parser.setGroup(group);
+ CommandLine cmdLine = parser.parse(args);
+ if (cmdLine.hasOption(helpOpt)) {
+ CommandLineUtil.printHelp(group);
+ return;
+ }
+ File parentDir = new File((String) cmdLine.getValue(parentOpt));
+ String outputDir = (String) cmdLine.getValue(outputDirOpt);
+
+ int chunkSize = 64;
+ if (cmdLine.hasOption(chunkSizeOpt)) {
+ chunkSize = Integer.parseInt((String) cmdLine.getValue(chunkSizeOpt));
+ }
+
+ String prefix = "";
+ if (cmdLine.hasOption(keyPrefixOpt)) {
+ prefix = (String) cmdLine.getValue(keyPrefixOpt);
+ }
+ Charset charset = Charset.forName((String) cmdLine.getValue(charsetOpt));
+ SequenceFilesFromDirectory dir = new SequenceFilesFromDirectory();
+
+ dir.createSequenceFiles(parentDir, outputDir, prefix, chunkSize, charset);
+ } catch (OptionException e) {
+ log.error("Exception", e);
+ CommandLineUtil.printHelp(group);
+ }
}
}