Package org.apache.blur.shell

Source Code of org.apache.blur.shell.CreateTableCommandHelper

/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements.  See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership.  The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License.  You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.apache.blur.shell;

import java.io.PrintWriter;
import java.io.Writer;

import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.apache.commons.cli.PosixParser;

public class CreateTableCommandHelper {
  @SuppressWarnings("static-access")
  public static CommandLine parse(String[] otherArgs, Writer out) {
    Options options = new Options();
    options.addOption(
        OptionBuilder
        .withDescription("Disables the blockcache for this table. (Enabled by default)")
        .create("b"));
   
    options.addOption(
        OptionBuilder
        .withDescription("Disables the table when it is created. (Enabled by default)")
        .create("d"));
   
    options.addOption(
        OptionBuilder
        .withDescription("Enabled strict types on a table. (Disabled by default)")
        .create("s"));
   
    options.addOption(
        OptionBuilder
        .withDescription("Enables a read only table. (Disabled by default)")
        .create("r"));
   
    options.addOption(
        OptionBuilder
        .isRequired()
        .hasArg()
        .withArgName("tablename")
        .withDescription("* The table name.")
        .create("t"));
   
    options.addOption(
        OptionBuilder
        .isRequired()
        .hasArg()
        .withArgName("shard count")
        .withDescription("* The number of shards in the table.")
        .create("c"));
   
    options.addOption(
        OptionBuilder
        .hasArg()
        .withArgName("uri")
        .withDescription("The location of the table. (Example hdfs://namenode/blur/tables/table)")
        .create("l"));
   
    options.addOption(
        OptionBuilder
        .withArgName("filetype")
        .hasOptionalArgs()
        .withDescription("Sets the filetypes (.tim, .tis, .doc, etc.) to be cached in the block cache. (All by default)")
        .create("B"));
   
    options.addOption(
        OptionBuilder
        .withDescription("If table is not strict, disables the missing field, fieldless indexing. (Enabled by default)")
        .create("mfi"));
   
    options.addOption(
        OptionBuilder
        .withArgName("field type")
        .hasArg()
        .withDescription("If table is not strict, sets the field type for the missing field. (text by default)")
        .create("mft"));
   
    options.addOption(
        OptionBuilder
        .withArgName("name value")
        .hasArgs(2)
        .withDescription("If table is not strict, sets the properties for the missing field.")
        .create("mfp"));
   
    options.addOption(
        OptionBuilder
        .withArgName("name value")
        .hasArgs(2)
        .withDescription("Sets the properties for this table descriptor.")
        .create("p"));
   
    options.addOption(
        OptionBuilder
        .withArgName("column name*")
        .hasArgs()
        .withDescription("Sets what columns to pre cache during warmup. (By default all columns are cached)")
        .create("P"));
   
    options.addOption(
        OptionBuilder
        .withArgName("classname")
        .hasArg()
        .withDescription("Sets the similarity class for the table. (By org.apache.blur.lucene.search.FairSimilarity is used)")
        .create("S"));
   
    options.addOption(
        OptionBuilder
        .withDescription("Displays help for this command.")
        .create("h"));

    CommandLineParser parser = new PosixParser();
    CommandLine cmd = null;
    try {
      cmd = parser.parse(options, otherArgs);
      if (cmd.hasOption("h")) {
        HelpFormatter formatter = new HelpFormatter();
        PrintWriter pw = new PrintWriter(out, true);
        formatter.printHelp(pw, HelpFormatter.DEFAULT_WIDTH, "create", null, options,
            HelpFormatter.DEFAULT_LEFT_PAD, HelpFormatter.DEFAULT_DESC_PAD, null, false);
        return null;
      }
    } catch (ParseException e) {
      HelpFormatter formatter = new HelpFormatter();
      PrintWriter pw = new PrintWriter(out, true);
      formatter.printHelp(pw, HelpFormatter.DEFAULT_WIDTH, "create", null, options,
          HelpFormatter.DEFAULT_LEFT_PAD, HelpFormatter.DEFAULT_DESC_PAD, null, false);
      return null;
    }
    return cmd;
  }
}
TOP

Related Classes of org.apache.blur.shell.CreateTableCommandHelper

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.