test_class.declarator: metadataOptionParser
test_class.original_string: MetadataOptionParser metadataOptionParser;
test_class.type: MetadataOptionParser
test_class.var_name: metadataOptionParser
test_class.file: meta/src/test/java/com/qihoo/qsql/metadata/extern/MetadataOptionParserTest.java
test_class.identifier: MetadataOptionParserTest
test_case.body: @Test
      public void testEmptyDbType() {
  
          List<String> args = Arrays.asList("--dbType=", "--action=init");
          try {
              metadataOptionParser.parse(args);
          } catch (Exception ex) {
              Assert.assertTrue(true);
          }
      }
test_case.class_method_signature: MetadataOptionParserTest.testEmptyDbType()
test_case.full_signature: @Test public void testEmptyDbType()
test_case.identifier: testEmptyDbType
test_case.invocations: asList parse assertTrue
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testEmptyDbType()
focal_class.declarator: DB_TYPE = "--dbType"
focal_class.modifier: private static final
focal_class.original_string: private static final String DB_TYPE = "--dbType";
focal_class.type: String
focal_class.var_name: DB_TYPE
focal_class.declarator: DB_TYPE_VALUES = Arrays.asList("mysql", "oracle")
focal_class.modifier: private static final
focal_class.original_string: private static final List<String> DB_TYPE_VALUES = Arrays.asList("mysql", "oracle");
focal_class.type: List<String>
focal_class.var_name: DB_TYPE_VALUES
focal_class.declarator: ACTION = "--action"
focal_class.modifier: private static final
focal_class.original_string: private static final String ACTION = "--action";
focal_class.type: String
focal_class.var_name: ACTION
focal_class.declarator: ACTION_VALUES = Arrays.asList("init", "delete", "initAndUpdate")
focal_class.modifier: private static final
focal_class.original_string: private static final List<String> ACTION_VALUES = Arrays.asList("init", "delete", "initAndUpdate");
focal_class.type: List<String>
focal_class.var_name: ACTION_VALUES
focal_class.declarator: metadataOptions = {
          {DB_TYPE},
          {ACTION}
      }
focal_class.modifier: private final
focal_class.original_string: private final String[][] metadataOptions = {
          {DB_TYPE},
          {ACTION}
      };
focal_class.type: String[][]
focal_class.var_name: metadataOptions
focal_class.declarator: properties = new Properties()
focal_class.modifier: private
focal_class.original_string: private Properties properties = new Properties();
focal_class.type: Properties
focal_class.var_name: properties
focal_class.file: meta/src/main/java/com/qihoo/qsql/metadata/extern/MetadataOptionParser.java
focal_class.identifier: MetadataOptionParser
focal_class.class_method_signature: MetadataOptionParser.parse(List<String> args)
focal_class.full_signature: public final void parse(List<String> args)
focal_class.identifier: parse
focal_class.modifiers: public final
focal_class.parameters: (List<String> args)
focal_class.return: void
focal_class.signature: void parse(List<String> args)
focal_class.class_method_signature: MetadataOptionParser.getProperties()
focal_class.full_signature: public Properties getProperties()
focal_class.identifier: getProperties
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Properties
focal_class.signature: Properties getProperties()
focal_class.class_method_signature: MetadataOptionParser.parseMetadataOptions(String arg, String value)
focal_class.full_signature: private void parseMetadataOptions(String arg, String value)
focal_class.identifier: parseMetadataOptions
focal_class.modifiers: private
focal_class.parameters: (String arg, String value)
focal_class.return: void
focal_class.signature: void parseMetadataOptions(String arg, String value)
focal_class.class_method_signature: MetadataOptionParser.findCliOption(String name, String[][] available)
focal_class.full_signature: private String findCliOption(String name, String[][] available)
focal_class.identifier: findCliOption
focal_class.modifiers: private
focal_class.parameters: (String name, String[][] available)
focal_class.return: String
focal_class.signature: String findCliOption(String name, String[][] available)
focal_class.class_method_signature: MetadataOptionParser.checkNameAndValue(String name, String value)
focal_class.full_signature: private String checkNameAndValue(String name, String value)
focal_class.identifier: checkNameAndValue
focal_class.modifiers: private
focal_class.parameters: (String name, String value)
focal_class.return: String
focal_class.signature: String checkNameAndValue(String name, String value)
focal_method.body: public final void parse(List<String> args) {
          Pattern eqSeparatedOpt = Pattern.compile("(--[^=]+)=(.*)");
  
          int idx = 0;
          for (idx = 0; idx < args.size(); idx++) {
              String arg = args.get(idx);
              String value = null;
  
              Matcher matcher = eqSeparatedOpt.matcher(arg);
              if (matcher.matches()) {
                  arg = matcher.group(1);
                  value = matcher.group(2);
              }
  
              parseMetadataOptions(arg, value);
          }
      }
focal_method.class_method_signature: MetadataOptionParser.parse(List<String> args)
focal_method.full_signature: public final void parse(List<String> args)
focal_method.identifier: parse
focal_method.invocations: compile size get matcher matches group group parseMetadataOptions
focal_method.modifiers: public final
focal_method.parameters: (List<String> args)
focal_method.return: void
focal_method.signature: void parse(List<String> args)