incubator-blur-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From amccu...@apache.org
Subject [34/39] git commit: Adding the column definition method to Thrift and the Shell.
Date Mon, 12 Aug 2013 15:49:13 GMT
Adding the column definition method to Thrift and the Shell.


Project: http://git-wip-us.apache.org/repos/asf/incubator-blur/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-blur/commit/d0b113eb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-blur/tree/d0b113eb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-blur/diff/d0b113eb

Branch: refs/heads/master
Commit: d0b113ebb6c2625ea13483927d548a8d861909b2
Parents: 64c9bcd
Author: Aaron McCurry <amccurry@gmail.com>
Authored: Mon Aug 12 06:45:13 2013 -0400
Committer: Aaron McCurry <amccurry@gmail.com>
Committed: Mon Aug 12 06:56:32 2013 -0400

----------------------------------------------------------------------
 .../java/org/apache/blur/thrift/TableAdmin.java |   40 +-
 .../org/apache/blur/analysis/BlurAnalyzer.java  |  530 ------
 .../blur/shell/AddColumnDefinitionCommand.java  |  103 ++
 .../apache/blur/shell/DescribeTableCommand.java |   92 +-
 .../main/java/org/apache/blur/shell/Main.java   |    1 +
 .../generated/AlternateColumnDefinition.java    |  420 -----
 .../thrift/generated/AnalyzerDefinition.java    |  717 --------
 .../org/apache/blur/thrift/generated/Blur.java  | 1555 +++++++++++++++---
 .../blur/thrift/generated/ColumnDefinition.java |  796 ++++++---
 .../generated/ColumnFamilyDefinition.java       |  602 -------
 .../blur/thrift/generated/ColumnPreCache.java   |   32 +-
 .../apache/blur/thrift/generated/Metric.java    |  132 +-
 .../blur/thrift/generated/TableDescriptor.java  |  120 +-
 .../src/main/scripts/interface/Blur.thrift      |   90 +-
 .../main/scripts/interface/gen-html/Blur.html   |   61 +-
 .../main/scripts/interface/gen-html/index.html  |    6 +-
 .../generated/AlternateColumnDefinition.java    |  420 -----
 .../thrift/generated/AnalyzerDefinition.java    |  717 --------
 .../org/apache/blur/thrift/generated/Blur.java  | 1555 +++++++++++++++---
 .../blur/thrift/generated/ColumnDefinition.java |  796 ++++++---
 .../generated/ColumnFamilyDefinition.java       |  602 -------
 .../blur/thrift/generated/ColumnPreCache.java   |   32 +-
 .../apache/blur/thrift/generated/Metric.java    |  132 +-
 .../blur/thrift/generated/TableDescriptor.java  |  120 +-
 .../src/main/scripts/interface/gen-js/Blur.js   |  662 +++++---
 .../main/scripts/interface/gen-js/Blur_types.js |  802 ++++-----
 .../scripts/interface/gen-perl/Blur/Blur.pm     |  558 +++++--
 .../scripts/interface/gen-perl/Blur/Types.pm    |  741 +++------
 .../src/main/scripts/interface/gen-rb/blur.rb   |   63 +
 .../main/scripts/interface/gen-rb/blur_types.rb |  126 +-
 30 files changed, 5735 insertions(+), 6888 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/d0b113eb/blur-core/src/main/java/org/apache/blur/thrift/TableAdmin.java
----------------------------------------------------------------------
diff --git a/blur-core/src/main/java/org/apache/blur/thrift/TableAdmin.java b/blur-core/src/main/java/org/apache/blur/thrift/TableAdmin.java
index 991ad01..90bc68f 100644
--- a/blur-core/src/main/java/org/apache/blur/thrift/TableAdmin.java
+++ b/blur-core/src/main/java/org/apache/blur/thrift/TableAdmin.java
@@ -16,6 +16,7 @@ package org.apache.blur.thrift;
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+import java.io.IOException;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -23,6 +24,7 @@ import java.util.Map.Entry;
 import java.util.Set;
 
 import org.apache.blur.BlurConfiguration;
+import org.apache.blur.analysis.FieldManager;
 import org.apache.blur.log.Log;
 import org.apache.blur.log.LogFactory;
 import org.apache.blur.manager.clusterstatus.ClusterStatus;
@@ -30,6 +32,7 @@ import org.apache.blur.server.TableContext;
 import org.apache.blur.thirdparty.thrift_0_9_0.TException;
 import org.apache.blur.thrift.generated.Blur.Iface;
 import org.apache.blur.thrift.generated.BlurException;
+import org.apache.blur.thrift.generated.ColumnDefinition;
 import org.apache.blur.thrift.generated.Metric;
 import org.apache.blur.thrift.generated.Selector;
 import org.apache.blur.thrift.generated.ShardState;
@@ -388,6 +391,41 @@ public abstract class TableAdmin implements Iface {
     }
   }
 
+  @Override
+  public boolean addColumnDefinition(String table, ColumnDefinition columnDefinition) throws BlurException, TException {
+    if (table == null) {
+      throw new BException("Table cannot be null.");
+    }
+    if (columnDefinition == null) {
+      throw new BException("ColumnDefinition cannot be null.");
+    }
+    TableDescriptor tableDescriptor = describe(table);
+    TableContext context = TableContext.create(tableDescriptor);
+    FieldManager fieldManager = context.getFieldManager();
+    String family = columnDefinition.getFamily();
+    if (family == null) {
+      throw new BException("Family in ColumnDefinition [{0}] cannot be null.", columnDefinition);
+    }
+    String columnName = columnDefinition.getColumnName();
+    if (columnName == null) {
+      throw new BException("ColumnName in ColumnDefinition [{0}] cannot be null.", columnDefinition);
+    }
+    String subColumnName = columnDefinition.getSubColumnName();
+    boolean fieldLessIndexing = columnDefinition.isFieldLessIndexing();
+    String fieldType = columnDefinition.getFieldType();
+    if (fieldType == null) {
+      throw new BException("FieldType in ColumnDefinition [{0}] cannot be null.", columnDefinition);
+    }
+    Map<String, String> props = columnDefinition.getProperties();
+    try {
+      return fieldManager.addColumnDefinition(family, columnName, subColumnName, fieldLessIndexing, fieldType, props);
+    } catch (IOException e) {
+      throw new BException(
+          "Unknown error while trying to addColumnDefinition on table [{0}] with columnDefinition [{1}]", e, table,
+          columnDefinition);
+    }
+  }
+
   private boolean inSafeMode(boolean useCache, String table) throws BlurException {
     String cluster = _clusterStatus.getCluster(useCache, table);
     if (cluster == null) {
@@ -420,7 +458,7 @@ public abstract class TableAdmin implements Iface {
   public Map<String, String> configuration() throws BlurException, TException {
     return _configuration.getProperties();
   }
-  
+
   public int getMaxRecordsPerRowFetchRequest() {
     return _maxRecordsPerRowFetchRequest;
   }

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/d0b113eb/blur-query/src/main/java/org/apache/blur/analysis/BlurAnalyzer.java
----------------------------------------------------------------------
diff --git a/blur-query/src/main/java/org/apache/blur/analysis/BlurAnalyzer.java b/blur-query/src/main/java/org/apache/blur/analysis/BlurAnalyzer.java
deleted file mode 100644
index bb8daec..0000000
--- a/blur-query/src/main/java/org/apache/blur/analysis/BlurAnalyzer.java
+++ /dev/null
@@ -1,530 +0,0 @@
-package org.apache.blur.analysis;
-
-/**
- * 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.
- */
-import static org.apache.blur.lucene.LuceneVersionConstant.LUCENE_VERSION;
-import static org.apache.blur.utils.BlurConstants.FAMILY;
-import static org.apache.blur.utils.BlurConstants.PRIME_DOC;
-import static org.apache.blur.utils.BlurConstants.RECORD_ID;
-import static org.apache.blur.utils.BlurConstants.ROW_ID;
-import static org.apache.blur.utils.BlurConstants.SUPER;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.Constructor;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
-
-import org.apache.blur.thirdparty.thrift_0_9_0.TException;
-import org.apache.blur.thirdparty.thrift_0_9_0.protocol.TJSONProtocol;
-import org.apache.blur.thirdparty.thrift_0_9_0.transport.TMemoryBuffer;
-import org.apache.blur.thirdparty.thrift_0_9_0.transport.TMemoryInputTransport;
-import org.apache.blur.thrift.generated.AlternateColumnDefinition;
-import org.apache.blur.thrift.generated.AnalyzerDefinition;
-import org.apache.blur.thrift.generated.ColumnDefinition;
-import org.apache.blur.thrift.generated.ColumnFamilyDefinition;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FSDataInputStream;
-import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.Path;
-import org.apache.lucene.analysis.Analyzer;
-import org.apache.lucene.analysis.AnalyzerWrapper;
-import org.apache.lucene.analysis.core.KeywordAnalyzer;
-import org.apache.lucene.document.DoubleField;
-import org.apache.lucene.document.Field;
-import org.apache.lucene.document.FieldType;
-import org.apache.lucene.document.FloatField;
-import org.apache.lucene.document.IntField;
-import org.apache.lucene.document.LongField;
-import org.apache.lucene.document.StoredField;
-import org.apache.lucene.document.StringField;
-import org.apache.lucene.document.TextField;
-import org.apache.lucene.index.FieldInfo.IndexOptions;
-import org.apache.lucene.search.NumericRangeQuery;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.util.Version;
-
-public final class BlurAnalyzer extends AnalyzerWrapper {
-
-  public enum TYPE {
-    LONG, DOUBLE, FLOAT, INTEGER, TEXT, STRING, STORED
-  }
-
-  @SuppressWarnings("serial")
-  private static Set<String> typeNameCache = new HashSet<String>() {
-    {
-      TYPE[] values = TYPE.values();
-      for (TYPE t : values) {
-        add(t.name());
-      }
-    }
-  };
-
-  private static final String STANDARD = "org.apache.blur.analysis.NoStopWordStandardAnalyzer";
-  public static final BlurAnalyzer BLANK_ANALYZER = new BlurAnalyzer(new KeywordAnalyzer());
-  private static Map<String, Class<? extends Analyzer>> aliases = new HashMap<String, Class<? extends Analyzer>>();
-
-  private Set<String> _subIndexNames = new HashSet<String>();
-  private Map<String, Set<String>> _subIndexNameLookups = new HashMap<String, Set<String>>();
-  private Map<String, Boolean> _fullTextFields = new HashMap<String, Boolean>();
-  private Map<String, Boolean> _fullTextColumnFamilies = new HashMap<String, Boolean>();
-  private AnalyzerDefinition _analyzerDefinition;
-  private Analyzer _defaultAnalyzer;
-  private Analyzer _keywordAnalyzer = new KeywordAnalyzer();
-  private Map<String, Analyzer> _analyzers = new HashMap<String, Analyzer>();
-  private Map<String, TYPE> _typeLookup = new HashMap<String, BlurAnalyzer.TYPE>();
-  private Map<String, FieldType> _fieldTypes = new HashMap<String, FieldType>();
-
-  public Set<String> getSubIndexNames(String indexName) {
-    return _subIndexNameLookups.get(indexName);
-  }
-
-  public BlurAnalyzer(Analyzer analyzer) {
-    _analyzerDefinition = new AnalyzerDefinition();
-    _defaultAnalyzer = analyzer;
-  }
-
-  public BlurAnalyzer(AnalyzerDefinition analyzerDefinition) {
-    _analyzerDefinition = analyzerDefinition;
-    ColumnDefinition defaultDefinition = analyzerDefinition.getDefaultDefinition();
-    if (defaultDefinition == null) {
-      defaultDefinition = new ColumnDefinition(STANDARD, true, null);
-      analyzerDefinition.setDefaultDefinition(defaultDefinition);
-    }
-    _defaultAnalyzer = getAnalyzerByClassName(defaultDefinition.getAnalyzerClassName(), aliases, null, null,
-        _fieldTypes);
-    _analyzers = new HashMap<String, Analyzer>();
-    _analyzers.put(ROW_ID, new KeywordAnalyzer());
-    _analyzers.put(RECORD_ID, new KeywordAnalyzer());
-    _analyzers.put(PRIME_DOC, new KeywordAnalyzer());
-    _analyzers.put(FAMILY, new KeywordAnalyzer());
-    _analyzers.put(SUPER, new NoStopWordStandardAnalyzer());
-    load(_analyzers, _analyzerDefinition.columnFamilyDefinitions, _fullTextFields, _subIndexNameLookups,
-        _subIndexNames, _fullTextColumnFamilies, _typeLookup, _fieldTypes);
-  }
-
-  public BlurAnalyzer() {
-    this(new AnalyzerDefinition());
-  }
-
-  private Analyzer getAnalyzer(String name) {
-    TYPE type = _typeLookup.get(name);
-    if (type == TYPE.STRING) {
-      return _keywordAnalyzer;
-    } else if (type == TYPE.STORED) {
-      throw new RuntimeException("Stored fields should never call this method.");
-    }
-    return _analyzers.get(name);
-  }
-
-  public TYPE getTypeLookup(String field) {
-    TYPE type = _typeLookup.get(field);
-    if (type == null) {
-      return TYPE.TEXT;
-    }
-    return type;
-  }
-
-  public Query getNewRangeQuery(String field, String part1, String part2, boolean startInclusive, boolean endInclusive) {
-    TYPE type = _typeLookup.get(field);
-    if (type == null) {
-      return null;
-    }
-    FieldType fieldType = _fieldTypes.get(field);
-    switch (type) {
-
-    case STRING:
-      return null;
-
-    case INTEGER:
-      int integerPrecisionStep = fieldType.numericPrecisionStep();
-      int integerMin = Integer.parseInt(part1);
-      int integerMax = Integer.parseInt(part2);
-      return NumericRangeQuery.newIntRange(field, integerPrecisionStep, integerMin, integerMax, startInclusive,
-          endInclusive);
-
-    case DOUBLE:
-      int doublePrecisionStep = fieldType.numericPrecisionStep();
-      double doubleMin = Double.parseDouble(part1);
-      double doubleMax = Double.parseDouble(part2);
-      return NumericRangeQuery.newDoubleRange(field, doublePrecisionStep, doubleMin, doubleMax, startInclusive,
-          endInclusive);
-
-    case FLOAT:
-      int floatPrecisionStep = fieldType.numericPrecisionStep();
-      float floatMin = Float.parseFloat(part1);
-      float floatMax = Float.parseFloat(part2);
-      return NumericRangeQuery.newFloatRange(field, floatPrecisionStep, floatMin, floatMax, startInclusive,
-          endInclusive);
-
-    case LONG:
-      int longPrecisionStep = fieldType.numericPrecisionStep();
-      long longMin = Long.parseLong(part1);
-      long longMax = Long.parseLong(part2);
-      return NumericRangeQuery.newLongRange(field, longPrecisionStep, longMin, longMax, startInclusive, endInclusive);
-
-    default:
-      return null;
-    }
-
-  }
-
-  public boolean isFullTextField(String fieldName) {
-    Boolean b = _fullTextFields.get(fieldName);
-    if (b != null) {
-      return b;
-    }
-    String cf = getColumnFamily(fieldName);
-    if (cf == null) {
-      return false;
-    }
-    b = _fullTextColumnFamilies.get(cf);
-    if (b != null) {
-      return b;
-    }
-    ColumnDefinition defaultDefinition = _analyzerDefinition.getDefaultDefinition();
-    if (defaultDefinition != null && defaultDefinition.fullTextIndex) {
-      return true;
-    }
-    return false;
-  }
-
-  /**
-   * This method decides on the field type for the given field by name. Sub
-   * fields will also be passed in the fieldName such as fam1.col.sub1.
-   * 
-   * @param fieldName
-   * @return the {@link FieldType}
-   */
-  public FieldType getFieldType(String field) {
-    FieldType fieldType = _fieldTypes.get(field);
-    if (fieldType == null) {
-      fieldType = new FieldType(TextField.TYPE_STORED);
-      fieldType.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS);
-      fieldType.setOmitNorms(true);
-    }
-    if (isSubFieldName(field)) {
-      fieldType.setStored(false);
-    }
-    return fieldType;
-  }
-
-  /**
-   * Checks if the fieldName is a sub field or not.
-   * 
-   * @param fieldName
-   *          the field name to check.
-   * @return boolean
-   */
-  public boolean isSubFieldName(String fieldName) {
-    return _subIndexNames.contains(fieldName);
-  }
-
-  /**
-   * Get field will return the proper field for the given {@link FieldType}.
-   * 
-   * @param fieldName
-   *          the field name.
-   * @param value
-   *          the value.
-   * @param fieldType
-   *          the {@link FieldType}.
-   * @return the new {@link Field}.
-   */
-  public Field getField(String fieldName, String value, FieldType fieldType) {
-    TYPE type = _typeLookup.get(fieldName);
-    if (type == null) {
-      return new Field(fieldName, value, fieldType);
-    }
-    switch (type) {
-    case STORED:
-      return new StoredField(fieldName, value);
-    case STRING:
-      return new Field(fieldName, value, fieldType);
-    case INTEGER:
-      return new IntField(fieldName, Integer.parseInt(value), fieldType);
-    case DOUBLE:
-      return new DoubleField(fieldName, Double.parseDouble(value), fieldType);
-    case FLOAT:
-      return new FloatField(fieldName, Float.parseFloat(value), fieldType);
-    case LONG:
-      return new LongField(fieldName, Long.parseLong(value), fieldType);
-    default:
-      return new Field(fieldName, value, fieldType);
-    }
-  }
-
-  public String toJSON() {
-    TMemoryBuffer trans = new TMemoryBuffer(1024);
-    TJSONProtocol protocol = new TJSONProtocol(trans);
-    try {
-      _analyzerDefinition.write(protocol);
-    } catch (TException e) {
-      throw new RuntimeException(e);
-    }
-    trans.close();
-    byte[] array = trans.getArray();
-    return new String(array, 0, trans.length());
-  }
-
-  private String getColumnFamily(String fieldName) {
-    int index = fieldName.indexOf('.');
-    if (index < 0) {
-      return null;
-    }
-    return fieldName.substring(0, index);
-  }
-
-  public AnalyzerDefinition getAnalyzerDefinition() {
-    return _analyzerDefinition;
-  }
-
-  public void close() {
-
-  }
-
-  @Override
-  protected Analyzer getWrappedAnalyzer(String fieldName) {
-    Analyzer analyzer = getAnalyzer(fieldName);
-    return (analyzer != null) ? analyzer : _defaultAnalyzer;
-  }
-
-  @Override
-  protected TokenStreamComponents wrapComponents(String fieldName, TokenStreamComponents components) {
-    return components;
-  }
-
-  public static BlurAnalyzer create(File file) throws IOException {
-    FileInputStream inputStream = new FileInputStream(file);
-    try {
-      return create(inputStream);
-    } finally {
-      inputStream.close();
-    }
-  }
-
-  public static BlurAnalyzer create(InputStream inputStream) throws IOException {
-    TMemoryInputTransport trans = new TMemoryInputTransport(getBytes(inputStream));
-    TJSONProtocol protocol = new TJSONProtocol(trans);
-    AnalyzerDefinition analyzerDefinition = new AnalyzerDefinition();
-    try {
-      analyzerDefinition.read(protocol);
-    } catch (TException e) {
-      throw new RuntimeException(e);
-    }
-    trans.close();
-    return new BlurAnalyzer(analyzerDefinition);
-  }
-
-  public static BlurAnalyzer create(String jsonStr) throws IOException {
-    InputStream inputStream = new ByteArrayInputStream(jsonStr.getBytes());
-    try {
-      return create(inputStream);
-    } finally {
-      inputStream.close();
-    }
-  }
-
-  public static BlurAnalyzer create(Path path) throws IOException {
-    FileSystem fileSystem = FileSystem.get(path.toUri(), new Configuration());
-    FSDataInputStream inputStream = fileSystem.open(path);
-    try {
-      return create(inputStream);
-    } finally {
-      inputStream.close();
-    }
-  }
-
-  private static byte[] getBytes(InputStream inputStream) throws IOException {
-    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
-    byte[] buffer = new byte[1024];
-    int num;
-    while ((num = inputStream.read(buffer)) != -1) {
-      outputStream.write(buffer, 0, num);
-    }
-    inputStream.close();
-    outputStream.close();
-    return outputStream.toByteArray();
-  }
-
-  private static void load(Map<String, Analyzer> analyzers, Map<String, ColumnFamilyDefinition> familyDefinitions,
-      Map<String, Boolean> fullTextFields, Map<String, Set<String>> subIndexNameLookups, Set<String> subIndexNames,
-      Map<String, Boolean> fullTextColumnFamilies, Map<String, TYPE> typeLookup, Map<String, FieldType> fieldTypes) {
-    if (familyDefinitions != null) {
-      for (String family : familyDefinitions.keySet()) {
-        ColumnFamilyDefinition familyDefinition = familyDefinitions.get(family);
-        ColumnDefinition defaultDefinition = familyDefinition.getDefaultDefinition();
-        if (defaultDefinition != null) {
-          fullTextColumnFamilies.put(family, defaultDefinition.isFullTextIndex());
-        }
-        load(family, familyDefinition, analyzers, fullTextFields, subIndexNameLookups, subIndexNames, typeLookup,
-            fieldTypes);
-      }
-    }
-  }
-
-  private static void load(String family, ColumnFamilyDefinition familyDefinition, Map<String, Analyzer> analyzers,
-      Map<String, Boolean> fullTextFields, Map<String, Set<String>> subIndexNameLookups, Set<String> subIndexNames,
-      Map<String, TYPE> typeLookup, Map<String, FieldType> fieldTypes) {
-    Map<String, ColumnDefinition> columnDefinitions = familyDefinition.getColumnDefinitions();
-    if (columnDefinitions != null) {
-      for (String column : columnDefinitions.keySet()) {
-        ColumnDefinition columnDefinition = columnDefinitions.get(column);
-        load(family, familyDefinition, column, columnDefinition, analyzers, fullTextFields, subIndexNameLookups,
-            subIndexNames, typeLookup, fieldTypes);
-      }
-    }
-  }
-
-  private static void load(String family, ColumnFamilyDefinition familyDefinition, String column,
-      ColumnDefinition columnDefinition, Map<String, Analyzer> analyzers, Map<String, Boolean> fullTextFields,
-      Map<String, Set<String>> subIndexNameLookups, Set<String> subIndexNames, Map<String, TYPE> typeLookup,
-      Map<String, FieldType> fieldTypes) {
-    Map<String, AlternateColumnDefinition> alternateColumnDefinitions = columnDefinition
-        .getAlternateColumnDefinitions();
-    if (alternateColumnDefinitions != null) {
-      for (String subColumn : alternateColumnDefinitions.keySet()) {
-        AlternateColumnDefinition alternateColumnDefinition = alternateColumnDefinitions.get(subColumn);
-        load(family, familyDefinition, column, columnDefinition, subColumn, alternateColumnDefinition, analyzers,
-            subIndexNameLookups, subIndexNames, typeLookup, fieldTypes);
-      }
-    }
-    String fieldName = family + "." + column;
-    Analyzer analyzer = getAnalyzerByClassName(columnDefinition.getAnalyzerClassName(), aliases, fieldName, typeLookup,
-        fieldTypes);
-    analyzers.put(fieldName, analyzer);
-    if (columnDefinition.isFullTextIndex()) {
-      fullTextFields.put(fieldName, Boolean.TRUE);
-    } else {
-      fullTextFields.put(fieldName, Boolean.FALSE);
-    }
-  }
-
-  private static void load(String family, ColumnFamilyDefinition familyDefinition, String column,
-      ColumnDefinition columnDefinition, String subColumn, AlternateColumnDefinition alternateColumnDefinition,
-      Map<String, Analyzer> analyzers, Map<String, Set<String>> subIndexNameLookups, Set<String> subIndexNames,
-      Map<String, TYPE> typeLookup, Map<String, FieldType> fieldTypes) {
-    String fieldName = family + "." + column + "." + subColumn;
-    Analyzer analyzer = getAnalyzerByClassName(alternateColumnDefinition.getAnalyzerClassName(), aliases, fieldName,
-        typeLookup, fieldTypes);
-    analyzers.put(fieldName, analyzer);
-    addSubField(fieldName, subIndexNameLookups);
-    subIndexNames.add(fieldName);
-  }
-
-  @SuppressWarnings("unchecked")
-  private static Analyzer getAnalyzerByClassName(String className, Map<String, Class<? extends Analyzer>> aliases,
-      String fieldName, Map<String, TYPE> typeLookup, Map<String, FieldType> fieldTypes) {
-    TYPE type = getType(className, fieldName, fieldTypes);
-    if (fieldName != null) {
-      typeLookup.put(fieldName, type);
-    }
-    if (type != TYPE.TEXT) {
-      return null;
-    }
-    try {
-      Class<? extends Analyzer> clazz = aliases.get(className);
-      if (clazz == null) {
-        clazz = (Class<? extends Analyzer>) Class.forName(className);
-      }
-      try {
-        return (Analyzer) clazz.newInstance();
-      } catch (Exception e) {
-        Constructor<?> constructor = clazz.getConstructor(new Class[] { Version.class });
-        return (Analyzer) constructor.newInstance(LUCENE_VERSION);
-      }
-    } catch (Exception e) {
-      throw new RuntimeException(e);
-    }
-  }
-
-  private static TYPE getType(String typeStr, String fieldName, Map<String, FieldType> fieldTypes) {
-    if (typeStr == null) {
-      return null;
-    }
-    String[] types = typeStr.split(",");
-    String type = types[0];
-    String typeUpper = type.toUpperCase();
-
-    TYPE t = null;
-    if (!typeNameCache.contains(typeUpper)) {
-      t = TYPE.TEXT;
-    } else {
-      t = TYPE.valueOf(typeUpper);
-    }
-
-    FieldType fieldType;
-    switch (t) {
-    case STORED:
-      fieldType = StoredField.TYPE;
-      break;
-    case STRING:
-      fieldType = new FieldType(StringField.TYPE_STORED);
-      break;
-    case LONG:
-      fieldType = new FieldType(LongField.TYPE_STORED);
-      if (types.length > 1) {
-        fieldType.setNumericPrecisionStep(Integer.parseInt(types[1]));
-      }
-      break;
-    case INTEGER:
-      fieldType = new FieldType(IntField.TYPE_STORED);
-      if (types.length > 1) {
-        fieldType.setNumericPrecisionStep(Integer.parseInt(types[1]));
-      }
-      break;
-    case FLOAT:
-      fieldType = new FieldType(FloatField.TYPE_STORED);
-      if (types.length > 1) {
-        fieldType.setNumericPrecisionStep(Integer.parseInt(types[1]));
-      }
-      break;
-    case DOUBLE:
-      fieldType = new FieldType(DoubleField.TYPE_STORED);
-      if (types.length > 1) {
-        fieldType.setNumericPrecisionStep(Integer.parseInt(types[1]));
-      }
-      break;
-    default:
-      fieldType = new FieldType(TextField.TYPE_STORED);
-      fieldType.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS);
-      fieldType.setOmitNorms(true);
-      break;
-    }
-    fieldTypes.put(fieldName, fieldType);
-    return t;
-  }
-
-  private static void addSubField(String name, Map<String, Set<String>> subIndexNameLookups) {
-    int lastIndexOf = name.lastIndexOf('.');
-    String mainFieldName = name.substring(0, lastIndexOf);
-    Set<String> set = subIndexNameLookups.get(mainFieldName);
-    if (set == null) {
-      set = new TreeSet<String>();
-      subIndexNameLookups.put(mainFieldName, set);
-    }
-    set.add(name);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/d0b113eb/blur-shell/src/main/java/org/apache/blur/shell/AddColumnDefinitionCommand.java
----------------------------------------------------------------------
diff --git a/blur-shell/src/main/java/org/apache/blur/shell/AddColumnDefinitionCommand.java b/blur-shell/src/main/java/org/apache/blur/shell/AddColumnDefinitionCommand.java
new file mode 100644
index 0000000..757f1e7
--- /dev/null
+++ b/blur-shell/src/main/java/org/apache/blur/shell/AddColumnDefinitionCommand.java
@@ -0,0 +1,103 @@
+package org.apache.blur.shell;
+
+/**
+ * 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.
+ */
+import java.io.PrintWriter;
+import java.io.Writer;
+
+import org.apache.blur.thirdparty.thrift_0_9_0.TException;
+import org.apache.blur.thrift.generated.Blur;
+import org.apache.blur.thrift.generated.BlurException;
+import org.apache.blur.thrift.generated.ColumnDefinition;
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.CommandLineParser;
+import org.apache.commons.cli.HelpFormatter;
+import org.apache.commons.cli.Option;
+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 AddColumnDefinitionCommand extends Command {
+
+  @Override
+  public void doit(PrintWriter out, Blur.Iface client, String[] args) throws CommandException, TException,
+      BlurException {
+    if (args.length < 5) {
+      throw new CommandException("Invalid args: " + help());
+    }
+    CommandLine cmd = parse(args, out);
+
+    ColumnDefinition columnDefinition = new ColumnDefinition();
+    columnDefinition.setFamily(args[2]);
+    columnDefinition.setColumnName(args[3]);
+    columnDefinition.setFieldType(args[4]);
+    if (cmd.hasOption("s")) {
+      columnDefinition.setColumnName(cmd.getOptionValue("s"));
+    }
+    if (cmd.hasOption("F")) {
+      columnDefinition.setFieldLessIndexing(true);
+    }
+    if (cmd.hasOption("p")) {
+      Option[] options = cmd.getOptions();
+      for (Option option : options) {
+        if (option.getOpt().equals("p")) {
+          String[] values = option.getValues();
+          columnDefinition.putToProperties(values[0], values[1]);
+        }
+      }
+    }
+    client.addColumnDefinition(args[1], columnDefinition);
+  }
+
+  @Override
+  public String help() {
+    return "define column, args: <table> <family> <column name> <type> [-s <sub column name>] [-F] [-p name value]*";
+  }
+
+  @SuppressWarnings("static-access")
+  private static CommandLine parse(String[] otherArgs, Writer out) {
+    Options options = new Options();
+//    options.addOption(OptionBuilder.withArgName("family").hasArg().isRequired(true)
+//        .withDescription("* The family of the new column definition.").create("f"));
+//    options.addOption(OptionBuilder.withArgName("family").hasArg().isRequired(true)
+//        .withDescription("* The family of the new column definition.").create("f"));
+//    options.addOption(OptionBuilder.withArgName("column name").hasArg().isRequired(true)
+//        .withDescription("* The column name of the new column definition.").create("c"));
+    options.addOption(OptionBuilder.withArgName("sub column name").hasArg()
+        .withDescription("The sub column name of the new column definition.").create("s"));
+    options.addOption(OptionBuilder.withDescription(
+        "Should the column definition be definied as a field less indexing column definition.").create("F"));
+    options.addOption(OptionBuilder.withArgName("name value").hasArgs(2)
+        .withDescription("Sets the properties for this column definition.").create("p"));
+
+    CommandLineParser parser = new PosixParser();
+    CommandLine cmd = null;
+    try {
+      cmd = parser.parse(options, otherArgs);
+    } catch (ParseException e) {
+      HelpFormatter formatter = new HelpFormatter();
+      PrintWriter pw = new PrintWriter(out, true);
+      formatter.printHelp(pw, HelpFormatter.DEFAULT_WIDTH, "definecolumn", null, options,
+          HelpFormatter.DEFAULT_LEFT_PAD, HelpFormatter.DEFAULT_DESC_PAD, null, false);
+      return null;
+    }
+    return cmd;
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/d0b113eb/blur-shell/src/main/java/org/apache/blur/shell/DescribeTableCommand.java
----------------------------------------------------------------------
diff --git a/blur-shell/src/main/java/org/apache/blur/shell/DescribeTableCommand.java b/blur-shell/src/main/java/org/apache/blur/shell/DescribeTableCommand.java
index 1501375..8610692 100644
--- a/blur-shell/src/main/java/org/apache/blur/shell/DescribeTableCommand.java
+++ b/blur-shell/src/main/java/org/apache/blur/shell/DescribeTableCommand.java
@@ -19,16 +19,10 @@
 package org.apache.blur.shell;
 
 import java.io.PrintWriter;
-import java.util.Map;
-import java.util.Map.Entry;
 
 import org.apache.blur.thirdparty.thrift_0_9_0.TException;
-import org.apache.blur.thrift.generated.AlternateColumnDefinition;
-import org.apache.blur.thrift.generated.AnalyzerDefinition;
 import org.apache.blur.thrift.generated.Blur;
 import org.apache.blur.thrift.generated.BlurException;
-import org.apache.blur.thrift.generated.ColumnDefinition;
-import org.apache.blur.thrift.generated.ColumnFamilyDefinition;
 import org.apache.blur.thrift.generated.TableDescriptor;
 
 public class DescribeTableCommand extends Command {
@@ -41,78 +35,20 @@ public class DescribeTableCommand extends Command {
     String tablename = args[1];
 
     TableDescriptor describe = client.describe(tablename);
-    out.println("cluster               : " + describe.cluster);
-    out.println("name                  : " + describe.name);
-    out.println("enabled               : " + describe.isEnabled);
-    out.println("tableUri              : " + describe.tableUri);
-    out.println("shardCount            : " + describe.shardCount);
-    out.println("readOnly              : " + describe.readOnly);
-    out.println("columnPreCache        : " + describe.columnPreCache);
-    out.println(" - Other Options -");
-
-    out.println("blockCaching          : " + describe.blockCaching);
-    out.println("blockCachingFileTypes : " + describe.blockCachingFileTypes);
-    out.println("tableProperties       : " + describe.tableProperties);
-
-    out.println(" - Analyzer Definition -");
-//    print(0, out, describe.getAnalyzerDefinition());
-  }
-
-  private void print(int indent, PrintWriter out, AnalyzerDefinition analyzerDefinition) {
-    ColumnDefinition defaultDefinition = analyzerDefinition.getDefaultDefinition();
-    indent(out, indent).println("defaultDefinition: ");
-    print(indent + 1, out, defaultDefinition);
-    String fullTextAnalyzerClassName = analyzerDefinition.getFullTextAnalyzerClassName();
-    indent(out, indent).println("fullTextAnalyzerClassName: " + fullTextAnalyzerClassName);
-    Map<String, ColumnFamilyDefinition> columnFamilyDefinitions = analyzerDefinition.getColumnFamilyDefinitions();
-    if (columnFamilyDefinitions != null) {
-      indent(out, indent).println("columnFamilyDefinitions: ");
-      for (Entry<String, ColumnFamilyDefinition> colFamDef : columnFamilyDefinitions.entrySet()) {
-        String family = colFamDef.getKey();
-        indent(out, indent + 1).println("family: " + family);
-        ColumnFamilyDefinition value = colFamDef.getValue();
-        print(indent + 2, out, value);
-      }
-    }
-  }
-
-  private PrintWriter indent(PrintWriter out, int indent) {
-    for (int i = 0; i < indent; i++) {
-      out.print("  ");
-    }
-    return out;
-  }
-
-  private void print(int indent, PrintWriter out, ColumnDefinition columnDefinition) {
-    String analyzerClassName = columnDefinition.getAnalyzerClassName();
-    indent(out, indent).println("analyzerClassName: " + analyzerClassName);
-    Map<String, AlternateColumnDefinition> alternateColumnDefinitions = columnDefinition
-        .getAlternateColumnDefinitions();
-    if (alternateColumnDefinitions != null) {
-      indent(out, indent).println("alternateColumnDefinitions: ");
-      for (Entry<String, AlternateColumnDefinition> e : alternateColumnDefinitions.entrySet()) {
-        indent(out, indent + 1).println("alternateDefName: " + e.getKey());
-        AlternateColumnDefinition alternateColumnDefinition = e.getValue();
-        indent(out, indent + 1).println("analyzerClassName: " + alternateColumnDefinition.getAnalyzerClassName());
-      }
-    }
-
-  }
-
-  private void print(int indent, PrintWriter out, ColumnFamilyDefinition value) {
-    ColumnDefinition defaultDefinition = value.getDefaultDefinition();
-    indent(out, indent).println("defaultDefinition: ");
-    print(indent + 1, out, defaultDefinition);
-    Map<String, ColumnDefinition> columnDefinitions = value.getColumnDefinitions();
-    if (columnDefinitions != null) {
-      indent(out, indent).println("columnDefinitions: ");
-      for (Entry<String, ColumnDefinition> e : columnDefinitions.entrySet()) {
-        String column = e.getKey();
-        indent(out, indent + 1).println("column: " + column);
-        ColumnDefinition columnDefinition = e.getValue();
-        indent(out, indent + 1).println("columnDefinition: " + columnDefinition);
-      }
-    }
+    out.println("cluster                          : " + describe.cluster);
+    out.println("name                             : " + describe.name);
+    out.println("enabled                          : " + describe.isEnabled);
+    out.println("tableUri                         : " + describe.tableUri);
+    out.println("shardCount                       : " + describe.shardCount);
+    out.println("readOnly                         : " + describe.readOnly);
+    out.println("columnPreCache                   : " + describe.columnPreCache);
+    out.println("blockCaching                     : " + describe.blockCaching);
+    out.println("blockCachingFileTypes            : " + describe.blockCachingFileTypes);
+    out.println("tableProperties                  : " + describe.tableProperties);
+    out.println("strictTypes                      : " + describe.strictTypes);
+    out.println("defaultMissingFieldType          : " + describe.defaultMissingFieldType);
+    out.println("defaultMissingFieldLessIndexing  : " + describe.defaultMissingFieldLessIndexing);
+    out.println("defaultMissingFieldProps         : " + describe.defaultMissingFieldProps);
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/d0b113eb/blur-shell/src/main/java/org/apache/blur/shell/Main.java
----------------------------------------------------------------------
diff --git a/blur-shell/src/main/java/org/apache/blur/shell/Main.java b/blur-shell/src/main/java/org/apache/blur/shell/Main.java
index 3206b87..72bfe2e 100644
--- a/blur-shell/src/main/java/org/apache/blur/shell/Main.java
+++ b/blur-shell/src/main/java/org/apache/blur/shell/Main.java
@@ -354,6 +354,7 @@ public class Main {
     builder.put("parse", new ParseCommand());
     builder.put("loadtestdata", new LoadTestDataCommand());
     builder.put("selector", new SelectorCommand());
+    builder.put("definecolumn", new AddColumnDefinitionCommand());
     commands = builder.build();
 
     CliShellOptions cliShellOptions = getCliShellOptions(args);

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/d0b113eb/blur-thrift/src/main/java/org/apache/blur/thrift/generated/AlternateColumnDefinition.java
----------------------------------------------------------------------
diff --git a/blur-thrift/src/main/java/org/apache/blur/thrift/generated/AlternateColumnDefinition.java b/blur-thrift/src/main/java/org/apache/blur/thrift/generated/AlternateColumnDefinition.java
deleted file mode 100644
index d470dd1..0000000
--- a/blur-thrift/src/main/java/org/apache/blur/thrift/generated/AlternateColumnDefinition.java
+++ /dev/null
@@ -1,420 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.0)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.blur.thrift.generated;
-
-/**
- * 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.
- */
-
-
-
-import org.apache.blur.thirdparty.thrift_0_9_0.scheme.IScheme;
-import org.apache.blur.thirdparty.thrift_0_9_0.scheme.SchemeFactory;
-import org.apache.blur.thirdparty.thrift_0_9_0.scheme.StandardScheme;
-
-import org.apache.blur.thirdparty.thrift_0_9_0.scheme.TupleScheme;
-import org.apache.blur.thirdparty.thrift_0_9_0.protocol.TTupleProtocol;
-import org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolException;
-import org.apache.blur.thirdparty.thrift_0_9_0.EncodingUtils;
-import org.apache.blur.thirdparty.thrift_0_9_0.TException;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-//import org.slf4j.Logger;
-//import org.slf4j.LoggerFactory;
-
-/**
- * 
- */
-public class AlternateColumnDefinition implements org.apache.blur.thirdparty.thrift_0_9_0.TBase<AlternateColumnDefinition, AlternateColumnDefinition._Fields>, java.io.Serializable, Cloneable {
-  private static final org.apache.blur.thirdparty.thrift_0_9_0.protocol.TStruct STRUCT_DESC = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TStruct("AlternateColumnDefinition");
-
-  private static final org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField ANALYZER_CLASS_NAME_FIELD_DESC = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField("analyzerClassName", org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING, (short)1);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new AlternateColumnDefinitionStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new AlternateColumnDefinitionTupleSchemeFactory());
-  }
-
-  /**
-   * 
-   */
-  public String analyzerClassName; // required
-
-  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-  public enum _Fields implements org.apache.blur.thirdparty.thrift_0_9_0.TFieldIdEnum {
-    /**
-     * 
-     */
-    ANALYZER_CLASS_NAME((short)1, "analyzerClassName");
-
-    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
-
-    static {
-      for (_Fields field : EnumSet.allOf(_Fields.class)) {
-        byName.put(field.getFieldName(), field);
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, or null if its not found.
-     */
-    public static _Fields findByThriftId(int fieldId) {
-      switch(fieldId) {
-        case 1: // ANALYZER_CLASS_NAME
-          return ANALYZER_CLASS_NAME;
-        default:
-          return null;
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, throwing an exception
-     * if it is not found.
-     */
-    public static _Fields findByThriftIdOrThrow(int fieldId) {
-      _Fields fields = findByThriftId(fieldId);
-      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-      return fields;
-    }
-
-    /**
-     * Find the _Fields constant that matches name, or null if its not found.
-     */
-    public static _Fields findByName(String name) {
-      return byName.get(name);
-    }
-
-    private final short _thriftId;
-    private final String _fieldName;
-
-    _Fields(short thriftId, String fieldName) {
-      _thriftId = thriftId;
-      _fieldName = fieldName;
-    }
-
-    public short getThriftFieldId() {
-      return _thriftId;
-    }
-
-    public String getFieldName() {
-      return _fieldName;
-    }
-  }
-
-  // isset id assignments
-  public static final Map<_Fields, org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData> metaDataMap;
-  static {
-    Map<_Fields, org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData>(_Fields.class);
-    tmpMap.put(_Fields.ANALYZER_CLASS_NAME, new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData("analyzerClassName", org.apache.blur.thirdparty.thrift_0_9_0.TFieldRequirementType.DEFAULT, 
-        new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldValueMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING)));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData.addStructMetaDataMap(AlternateColumnDefinition.class, metaDataMap);
-  }
-
-  public AlternateColumnDefinition() {
-  }
-
-  public AlternateColumnDefinition(
-    String analyzerClassName)
-  {
-    this();
-    this.analyzerClassName = analyzerClassName;
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public AlternateColumnDefinition(AlternateColumnDefinition other) {
-    if (other.isSetAnalyzerClassName()) {
-      this.analyzerClassName = other.analyzerClassName;
-    }
-  }
-
-  public AlternateColumnDefinition deepCopy() {
-    return new AlternateColumnDefinition(this);
-  }
-
-  @Override
-  public void clear() {
-    this.analyzerClassName = null;
-  }
-
-  /**
-   * 
-   */
-  public String getAnalyzerClassName() {
-    return this.analyzerClassName;
-  }
-
-  /**
-   * 
-   */
-  public AlternateColumnDefinition setAnalyzerClassName(String analyzerClassName) {
-    this.analyzerClassName = analyzerClassName;
-    return this;
-  }
-
-  public void unsetAnalyzerClassName() {
-    this.analyzerClassName = null;
-  }
-
-  /** Returns true if field analyzerClassName is set (has been assigned a value) and false otherwise */
-  public boolean isSetAnalyzerClassName() {
-    return this.analyzerClassName != null;
-  }
-
-  public void setAnalyzerClassNameIsSet(boolean value) {
-    if (!value) {
-      this.analyzerClassName = null;
-    }
-  }
-
-  public void setFieldValue(_Fields field, Object value) {
-    switch (field) {
-    case ANALYZER_CLASS_NAME:
-      if (value == null) {
-        unsetAnalyzerClassName();
-      } else {
-        setAnalyzerClassName((String)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case ANALYZER_CLASS_NAME:
-      return getAnalyzerClassName();
-
-    }
-    throw new IllegalStateException();
-  }
-
-  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-  public boolean isSet(_Fields field) {
-    if (field == null) {
-      throw new IllegalArgumentException();
-    }
-
-    switch (field) {
-    case ANALYZER_CLASS_NAME:
-      return isSetAnalyzerClassName();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof AlternateColumnDefinition)
-      return this.equals((AlternateColumnDefinition)that);
-    return false;
-  }
-
-  public boolean equals(AlternateColumnDefinition that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_analyzerClassName = true && this.isSetAnalyzerClassName();
-    boolean that_present_analyzerClassName = true && that.isSetAnalyzerClassName();
-    if (this_present_analyzerClassName || that_present_analyzerClassName) {
-      if (!(this_present_analyzerClassName && that_present_analyzerClassName))
-        return false;
-      if (!this.analyzerClassName.equals(that.analyzerClassName))
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    return 0;
-  }
-
-  public int compareTo(AlternateColumnDefinition other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-    AlternateColumnDefinition typedOther = (AlternateColumnDefinition)other;
-
-    lastComparison = Boolean.valueOf(isSetAnalyzerClassName()).compareTo(typedOther.isSetAnalyzerClassName());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetAnalyzerClassName()) {
-      lastComparison = org.apache.blur.thirdparty.thrift_0_9_0.TBaseHelper.compareTo(this.analyzerClassName, typedOther.analyzerClassName);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    return 0;
-  }
-
-  public _Fields fieldForId(int fieldId) {
-    return _Fields.findByThriftId(fieldId);
-  }
-
-  public void read(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocol iprot) throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
-    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
-  }
-
-  public void write(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocol oprot) throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
-    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
-  }
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder("AlternateColumnDefinition(");
-    boolean first = true;
-
-    sb.append("analyzerClassName:");
-    if (this.analyzerClassName == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.analyzerClassName);
-    }
-    first = false;
-    sb.append(")");
-    return sb.toString();
-  }
-
-  public void validate() throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
-    // check for required fields
-    // check for sub-struct validity
-  }
-
-  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-    try {
-      write(new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TCompactProtocol(new org.apache.blur.thirdparty.thrift_0_9_0.transport.TIOStreamTransport(out)));
-    } catch (org.apache.blur.thirdparty.thrift_0_9_0.TException te) {
-      throw new java.io.IOException(te);
-    }
-  }
-
-  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
-    try {
-      read(new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TCompactProtocol(new org.apache.blur.thirdparty.thrift_0_9_0.transport.TIOStreamTransport(in)));
-    } catch (org.apache.blur.thirdparty.thrift_0_9_0.TException te) {
-      throw new java.io.IOException(te);
-    }
-  }
-
-  private static class AlternateColumnDefinitionStandardSchemeFactory implements SchemeFactory {
-    public AlternateColumnDefinitionStandardScheme getScheme() {
-      return new AlternateColumnDefinitionStandardScheme();
-    }
-  }
-
-  private static class AlternateColumnDefinitionStandardScheme extends StandardScheme<AlternateColumnDefinition> {
-
-    public void read(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocol iprot, AlternateColumnDefinition struct) throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
-      org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField schemeField;
-      iprot.readStructBegin();
-      while (true)
-      {
-        schemeField = iprot.readFieldBegin();
-        if (schemeField.type == org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STOP) { 
-          break;
-        }
-        switch (schemeField.id) {
-          case 1: // ANALYZER_CLASS_NAME
-            if (schemeField.type == org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING) {
-              struct.analyzerClassName = iprot.readString();
-              struct.setAnalyzerClassNameIsSet(true);
-            } else { 
-              org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          default:
-            org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-        }
-        iprot.readFieldEnd();
-      }
-      iprot.readStructEnd();
-
-      // check for required fields of primitive type, which can't be checked in the validate method
-      struct.validate();
-    }
-
-    public void write(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocol oprot, AlternateColumnDefinition struct) throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.analyzerClassName != null) {
-        oprot.writeFieldBegin(ANALYZER_CLASS_NAME_FIELD_DESC);
-        oprot.writeString(struct.analyzerClassName);
-        oprot.writeFieldEnd();
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class AlternateColumnDefinitionTupleSchemeFactory implements SchemeFactory {
-    public AlternateColumnDefinitionTupleScheme getScheme() {
-      return new AlternateColumnDefinitionTupleScheme();
-    }
-  }
-
-  private static class AlternateColumnDefinitionTupleScheme extends TupleScheme<AlternateColumnDefinition> {
-
-    @Override
-    public void write(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocol prot, AlternateColumnDefinition struct) throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      BitSet optionals = new BitSet();
-      if (struct.isSetAnalyzerClassName()) {
-        optionals.set(0);
-      }
-      oprot.writeBitSet(optionals, 1);
-      if (struct.isSetAnalyzerClassName()) {
-        oprot.writeString(struct.analyzerClassName);
-      }
-    }
-
-    @Override
-    public void read(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocol prot, AlternateColumnDefinition struct) throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(1);
-      if (incoming.get(0)) {
-        struct.analyzerClassName = iprot.readString();
-        struct.setAnalyzerClassNameIsSet(true);
-      }
-    }
-  }
-
-}
-

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/d0b113eb/blur-thrift/src/main/java/org/apache/blur/thrift/generated/AnalyzerDefinition.java
----------------------------------------------------------------------
diff --git a/blur-thrift/src/main/java/org/apache/blur/thrift/generated/AnalyzerDefinition.java b/blur-thrift/src/main/java/org/apache/blur/thrift/generated/AnalyzerDefinition.java
deleted file mode 100644
index 57fa502..0000000
--- a/blur-thrift/src/main/java/org/apache/blur/thrift/generated/AnalyzerDefinition.java
+++ /dev/null
@@ -1,717 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.0)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.blur.thrift.generated;
-
-/**
- * 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.
- */
-
-
-
-import org.apache.blur.thirdparty.thrift_0_9_0.scheme.IScheme;
-import org.apache.blur.thirdparty.thrift_0_9_0.scheme.SchemeFactory;
-import org.apache.blur.thirdparty.thrift_0_9_0.scheme.StandardScheme;
-
-import org.apache.blur.thirdparty.thrift_0_9_0.scheme.TupleScheme;
-import org.apache.blur.thirdparty.thrift_0_9_0.protocol.TTupleProtocol;
-import org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolException;
-import org.apache.blur.thirdparty.thrift_0_9_0.EncodingUtils;
-import org.apache.blur.thirdparty.thrift_0_9_0.TException;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-//import org.slf4j.Logger;
-//import org.slf4j.LoggerFactory;
-
-/**
- * 
- */
-public class AnalyzerDefinition implements org.apache.blur.thirdparty.thrift_0_9_0.TBase<AnalyzerDefinition, AnalyzerDefinition._Fields>, java.io.Serializable, Cloneable {
-  private static final org.apache.blur.thirdparty.thrift_0_9_0.protocol.TStruct STRUCT_DESC = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TStruct("AnalyzerDefinition");
-
-  private static final org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField DEFAULT_DEFINITION_FIELD_DESC = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField("defaultDefinition", org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRUCT, (short)1);
-  private static final org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField FULL_TEXT_ANALYZER_CLASS_NAME_FIELD_DESC = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField("fullTextAnalyzerClassName", org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING, (short)2);
-  private static final org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField COLUMN_FAMILY_DEFINITIONS_FIELD_DESC = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField("columnFamilyDefinitions", org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.MAP, (short)3);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new AnalyzerDefinitionStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new AnalyzerDefinitionTupleSchemeFactory());
-  }
-
-  /**
-   * 
-   */
-  public ColumnDefinition defaultDefinition; // required
-  /**
-   * 
-   */
-  public String fullTextAnalyzerClassName; // required
-  /**
-   * 
-   */
-  public Map<String,ColumnFamilyDefinition> columnFamilyDefinitions; // required
-
-  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-  public enum _Fields implements org.apache.blur.thirdparty.thrift_0_9_0.TFieldIdEnum {
-    /**
-     * 
-     */
-    DEFAULT_DEFINITION((short)1, "defaultDefinition"),
-    /**
-     * 
-     */
-    FULL_TEXT_ANALYZER_CLASS_NAME((short)2, "fullTextAnalyzerClassName"),
-    /**
-     * 
-     */
-    COLUMN_FAMILY_DEFINITIONS((short)3, "columnFamilyDefinitions");
-
-    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
-
-    static {
-      for (_Fields field : EnumSet.allOf(_Fields.class)) {
-        byName.put(field.getFieldName(), field);
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, or null if its not found.
-     */
-    public static _Fields findByThriftId(int fieldId) {
-      switch(fieldId) {
-        case 1: // DEFAULT_DEFINITION
-          return DEFAULT_DEFINITION;
-        case 2: // FULL_TEXT_ANALYZER_CLASS_NAME
-          return FULL_TEXT_ANALYZER_CLASS_NAME;
-        case 3: // COLUMN_FAMILY_DEFINITIONS
-          return COLUMN_FAMILY_DEFINITIONS;
-        default:
-          return null;
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, throwing an exception
-     * if it is not found.
-     */
-    public static _Fields findByThriftIdOrThrow(int fieldId) {
-      _Fields fields = findByThriftId(fieldId);
-      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-      return fields;
-    }
-
-    /**
-     * Find the _Fields constant that matches name, or null if its not found.
-     */
-    public static _Fields findByName(String name) {
-      return byName.get(name);
-    }
-
-    private final short _thriftId;
-    private final String _fieldName;
-
-    _Fields(short thriftId, String fieldName) {
-      _thriftId = thriftId;
-      _fieldName = fieldName;
-    }
-
-    public short getThriftFieldId() {
-      return _thriftId;
-    }
-
-    public String getFieldName() {
-      return _fieldName;
-    }
-  }
-
-  // isset id assignments
-  public static final Map<_Fields, org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData> metaDataMap;
-  static {
-    Map<_Fields, org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData>(_Fields.class);
-    tmpMap.put(_Fields.DEFAULT_DEFINITION, new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData("defaultDefinition", org.apache.blur.thirdparty.thrift_0_9_0.TFieldRequirementType.DEFAULT, 
-        new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.StructMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRUCT, ColumnDefinition.class)));
-    tmpMap.put(_Fields.FULL_TEXT_ANALYZER_CLASS_NAME, new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData("fullTextAnalyzerClassName", org.apache.blur.thirdparty.thrift_0_9_0.TFieldRequirementType.DEFAULT, 
-        new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldValueMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING)));
-    tmpMap.put(_Fields.COLUMN_FAMILY_DEFINITIONS, new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData("columnFamilyDefinitions", org.apache.blur.thirdparty.thrift_0_9_0.TFieldRequirementType.DEFAULT, 
-        new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.MapMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.MAP, 
-            new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldValueMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING), 
-            new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.StructMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRUCT, ColumnFamilyDefinition.class))));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData.addStructMetaDataMap(AnalyzerDefinition.class, metaDataMap);
-  }
-
-  public AnalyzerDefinition() {
-    this.fullTextAnalyzerClassName = "org.apache.blur.analysis.NoStopWordStandardAnalyzer";
-
-  }
-
-  public AnalyzerDefinition(
-    ColumnDefinition defaultDefinition,
-    String fullTextAnalyzerClassName,
-    Map<String,ColumnFamilyDefinition> columnFamilyDefinitions)
-  {
-    this();
-    this.defaultDefinition = defaultDefinition;
-    this.fullTextAnalyzerClassName = fullTextAnalyzerClassName;
-    this.columnFamilyDefinitions = columnFamilyDefinitions;
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public AnalyzerDefinition(AnalyzerDefinition other) {
-    if (other.isSetDefaultDefinition()) {
-      this.defaultDefinition = new ColumnDefinition(other.defaultDefinition);
-    }
-    if (other.isSetFullTextAnalyzerClassName()) {
-      this.fullTextAnalyzerClassName = other.fullTextAnalyzerClassName;
-    }
-    if (other.isSetColumnFamilyDefinitions()) {
-      Map<String,ColumnFamilyDefinition> __this__columnFamilyDefinitions = new HashMap<String,ColumnFamilyDefinition>();
-      for (Map.Entry<String, ColumnFamilyDefinition> other_element : other.columnFamilyDefinitions.entrySet()) {
-
-        String other_element_key = other_element.getKey();
-        ColumnFamilyDefinition other_element_value = other_element.getValue();
-
-        String __this__columnFamilyDefinitions_copy_key = other_element_key;
-
-        ColumnFamilyDefinition __this__columnFamilyDefinitions_copy_value = new ColumnFamilyDefinition(other_element_value);
-
-        __this__columnFamilyDefinitions.put(__this__columnFamilyDefinitions_copy_key, __this__columnFamilyDefinitions_copy_value);
-      }
-      this.columnFamilyDefinitions = __this__columnFamilyDefinitions;
-    }
-  }
-
-  public AnalyzerDefinition deepCopy() {
-    return new AnalyzerDefinition(this);
-  }
-
-  @Override
-  public void clear() {
-    this.defaultDefinition = null;
-    this.fullTextAnalyzerClassName = "org.apache.blur.analysis.NoStopWordStandardAnalyzer";
-
-    this.columnFamilyDefinitions = null;
-  }
-
-  /**
-   * 
-   */
-  public ColumnDefinition getDefaultDefinition() {
-    return this.defaultDefinition;
-  }
-
-  /**
-   * 
-   */
-  public AnalyzerDefinition setDefaultDefinition(ColumnDefinition defaultDefinition) {
-    this.defaultDefinition = defaultDefinition;
-    return this;
-  }
-
-  public void unsetDefaultDefinition() {
-    this.defaultDefinition = null;
-  }
-
-  /** Returns true if field defaultDefinition is set (has been assigned a value) and false otherwise */
-  public boolean isSetDefaultDefinition() {
-    return this.defaultDefinition != null;
-  }
-
-  public void setDefaultDefinitionIsSet(boolean value) {
-    if (!value) {
-      this.defaultDefinition = null;
-    }
-  }
-
-  /**
-   * 
-   */
-  public String getFullTextAnalyzerClassName() {
-    return this.fullTextAnalyzerClassName;
-  }
-
-  /**
-   * 
-   */
-  public AnalyzerDefinition setFullTextAnalyzerClassName(String fullTextAnalyzerClassName) {
-    this.fullTextAnalyzerClassName = fullTextAnalyzerClassName;
-    return this;
-  }
-
-  public void unsetFullTextAnalyzerClassName() {
-    this.fullTextAnalyzerClassName = null;
-  }
-
-  /** Returns true if field fullTextAnalyzerClassName is set (has been assigned a value) and false otherwise */
-  public boolean isSetFullTextAnalyzerClassName() {
-    return this.fullTextAnalyzerClassName != null;
-  }
-
-  public void setFullTextAnalyzerClassNameIsSet(boolean value) {
-    if (!value) {
-      this.fullTextAnalyzerClassName = null;
-    }
-  }
-
-  public int getColumnFamilyDefinitionsSize() {
-    return (this.columnFamilyDefinitions == null) ? 0 : this.columnFamilyDefinitions.size();
-  }
-
-  public void putToColumnFamilyDefinitions(String key, ColumnFamilyDefinition val) {
-    if (this.columnFamilyDefinitions == null) {
-      this.columnFamilyDefinitions = new HashMap<String,ColumnFamilyDefinition>();
-    }
-    this.columnFamilyDefinitions.put(key, val);
-  }
-
-  /**
-   * 
-   */
-  public Map<String,ColumnFamilyDefinition> getColumnFamilyDefinitions() {
-    return this.columnFamilyDefinitions;
-  }
-
-  /**
-   * 
-   */
-  public AnalyzerDefinition setColumnFamilyDefinitions(Map<String,ColumnFamilyDefinition> columnFamilyDefinitions) {
-    this.columnFamilyDefinitions = columnFamilyDefinitions;
-    return this;
-  }
-
-  public void unsetColumnFamilyDefinitions() {
-    this.columnFamilyDefinitions = null;
-  }
-
-  /** Returns true if field columnFamilyDefinitions is set (has been assigned a value) and false otherwise */
-  public boolean isSetColumnFamilyDefinitions() {
-    return this.columnFamilyDefinitions != null;
-  }
-
-  public void setColumnFamilyDefinitionsIsSet(boolean value) {
-    if (!value) {
-      this.columnFamilyDefinitions = null;
-    }
-  }
-
-  public void setFieldValue(_Fields field, Object value) {
-    switch (field) {
-    case DEFAULT_DEFINITION:
-      if (value == null) {
-        unsetDefaultDefinition();
-      } else {
-        setDefaultDefinition((ColumnDefinition)value);
-      }
-      break;
-
-    case FULL_TEXT_ANALYZER_CLASS_NAME:
-      if (value == null) {
-        unsetFullTextAnalyzerClassName();
-      } else {
-        setFullTextAnalyzerClassName((String)value);
-      }
-      break;
-
-    case COLUMN_FAMILY_DEFINITIONS:
-      if (value == null) {
-        unsetColumnFamilyDefinitions();
-      } else {
-        setColumnFamilyDefinitions((Map<String,ColumnFamilyDefinition>)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case DEFAULT_DEFINITION:
-      return getDefaultDefinition();
-
-    case FULL_TEXT_ANALYZER_CLASS_NAME:
-      return getFullTextAnalyzerClassName();
-
-    case COLUMN_FAMILY_DEFINITIONS:
-      return getColumnFamilyDefinitions();
-
-    }
-    throw new IllegalStateException();
-  }
-
-  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-  public boolean isSet(_Fields field) {
-    if (field == null) {
-      throw new IllegalArgumentException();
-    }
-
-    switch (field) {
-    case DEFAULT_DEFINITION:
-      return isSetDefaultDefinition();
-    case FULL_TEXT_ANALYZER_CLASS_NAME:
-      return isSetFullTextAnalyzerClassName();
-    case COLUMN_FAMILY_DEFINITIONS:
-      return isSetColumnFamilyDefinitions();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof AnalyzerDefinition)
-      return this.equals((AnalyzerDefinition)that);
-    return false;
-  }
-
-  public boolean equals(AnalyzerDefinition that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_defaultDefinition = true && this.isSetDefaultDefinition();
-    boolean that_present_defaultDefinition = true && that.isSetDefaultDefinition();
-    if (this_present_defaultDefinition || that_present_defaultDefinition) {
-      if (!(this_present_defaultDefinition && that_present_defaultDefinition))
-        return false;
-      if (!this.defaultDefinition.equals(that.defaultDefinition))
-        return false;
-    }
-
-    boolean this_present_fullTextAnalyzerClassName = true && this.isSetFullTextAnalyzerClassName();
-    boolean that_present_fullTextAnalyzerClassName = true && that.isSetFullTextAnalyzerClassName();
-    if (this_present_fullTextAnalyzerClassName || that_present_fullTextAnalyzerClassName) {
-      if (!(this_present_fullTextAnalyzerClassName && that_present_fullTextAnalyzerClassName))
-        return false;
-      if (!this.fullTextAnalyzerClassName.equals(that.fullTextAnalyzerClassName))
-        return false;
-    }
-
-    boolean this_present_columnFamilyDefinitions = true && this.isSetColumnFamilyDefinitions();
-    boolean that_present_columnFamilyDefinitions = true && that.isSetColumnFamilyDefinitions();
-    if (this_present_columnFamilyDefinitions || that_present_columnFamilyDefinitions) {
-      if (!(this_present_columnFamilyDefinitions && that_present_columnFamilyDefinitions))
-        return false;
-      if (!this.columnFamilyDefinitions.equals(that.columnFamilyDefinitions))
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    return 0;
-  }
-
-  public int compareTo(AnalyzerDefinition other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-    AnalyzerDefinition typedOther = (AnalyzerDefinition)other;
-
-    lastComparison = Boolean.valueOf(isSetDefaultDefinition()).compareTo(typedOther.isSetDefaultDefinition());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetDefaultDefinition()) {
-      lastComparison = org.apache.blur.thirdparty.thrift_0_9_0.TBaseHelper.compareTo(this.defaultDefinition, typedOther.defaultDefinition);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetFullTextAnalyzerClassName()).compareTo(typedOther.isSetFullTextAnalyzerClassName());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetFullTextAnalyzerClassName()) {
-      lastComparison = org.apache.blur.thirdparty.thrift_0_9_0.TBaseHelper.compareTo(this.fullTextAnalyzerClassName, typedOther.fullTextAnalyzerClassName);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetColumnFamilyDefinitions()).compareTo(typedOther.isSetColumnFamilyDefinitions());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetColumnFamilyDefinitions()) {
-      lastComparison = org.apache.blur.thirdparty.thrift_0_9_0.TBaseHelper.compareTo(this.columnFamilyDefinitions, typedOther.columnFamilyDefinitions);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    return 0;
-  }
-
-  public _Fields fieldForId(int fieldId) {
-    return _Fields.findByThriftId(fieldId);
-  }
-
-  public void read(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocol iprot) throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
-    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
-  }
-
-  public void write(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocol oprot) throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
-    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
-  }
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder("AnalyzerDefinition(");
-    boolean first = true;
-
-    sb.append("defaultDefinition:");
-    if (this.defaultDefinition == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.defaultDefinition);
-    }
-    first = false;
-    if (!first) sb.append(", ");
-    sb.append("fullTextAnalyzerClassName:");
-    if (this.fullTextAnalyzerClassName == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.fullTextAnalyzerClassName);
-    }
-    first = false;
-    if (!first) sb.append(", ");
-    sb.append("columnFamilyDefinitions:");
-    if (this.columnFamilyDefinitions == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.columnFamilyDefinitions);
-    }
-    first = false;
-    sb.append(")");
-    return sb.toString();
-  }
-
-  public void validate() throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
-    // check for required fields
-    // check for sub-struct validity
-    if (defaultDefinition != null) {
-      defaultDefinition.validate();
-    }
-  }
-
-  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-    try {
-      write(new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TCompactProtocol(new org.apache.blur.thirdparty.thrift_0_9_0.transport.TIOStreamTransport(out)));
-    } catch (org.apache.blur.thirdparty.thrift_0_9_0.TException te) {
-      throw new java.io.IOException(te);
-    }
-  }
-
-  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
-    try {
-      read(new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TCompactProtocol(new org.apache.blur.thirdparty.thrift_0_9_0.transport.TIOStreamTransport(in)));
-    } catch (org.apache.blur.thirdparty.thrift_0_9_0.TException te) {
-      throw new java.io.IOException(te);
-    }
-  }
-
-  private static class AnalyzerDefinitionStandardSchemeFactory implements SchemeFactory {
-    public AnalyzerDefinitionStandardScheme getScheme() {
-      return new AnalyzerDefinitionStandardScheme();
-    }
-  }
-
-  private static class AnalyzerDefinitionStandardScheme extends StandardScheme<AnalyzerDefinition> {
-
-    public void read(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocol iprot, AnalyzerDefinition struct) throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
-      org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField schemeField;
-      iprot.readStructBegin();
-      while (true)
-      {
-        schemeField = iprot.readFieldBegin();
-        if (schemeField.type == org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STOP) { 
-          break;
-        }
-        switch (schemeField.id) {
-          case 1: // DEFAULT_DEFINITION
-            if (schemeField.type == org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRUCT) {
-              struct.defaultDefinition = new ColumnDefinition();
-              struct.defaultDefinition.read(iprot);
-              struct.setDefaultDefinitionIsSet(true);
-            } else { 
-              org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 2: // FULL_TEXT_ANALYZER_CLASS_NAME
-            if (schemeField.type == org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING) {
-              struct.fullTextAnalyzerClassName = iprot.readString();
-              struct.setFullTextAnalyzerClassNameIsSet(true);
-            } else { 
-              org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 3: // COLUMN_FAMILY_DEFINITIONS
-            if (schemeField.type == org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.MAP) {
-              {
-                org.apache.blur.thirdparty.thrift_0_9_0.protocol.TMap _map140 = iprot.readMapBegin();
-                struct.columnFamilyDefinitions = new HashMap<String,ColumnFamilyDefinition>(2*_map140.size);
-                for (int _i141 = 0; _i141 < _map140.size; ++_i141)
-                {
-                  String _key142; // required
-                  ColumnFamilyDefinition _val143; // optional
-                  _key142 = iprot.readString();
-                  _val143 = new ColumnFamilyDefinition();
-                  _val143.read(iprot);
-                  struct.columnFamilyDefinitions.put(_key142, _val143);
-                }
-                iprot.readMapEnd();
-              }
-              struct.setColumnFamilyDefinitionsIsSet(true);
-            } else { 
-              org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          default:
-            org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-        }
-        iprot.readFieldEnd();
-      }
-      iprot.readStructEnd();
-
-      // check for required fields of primitive type, which can't be checked in the validate method
-      struct.validate();
-    }
-
-    public void write(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocol oprot, AnalyzerDefinition struct) throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.defaultDefinition != null) {
-        oprot.writeFieldBegin(DEFAULT_DEFINITION_FIELD_DESC);
-        struct.defaultDefinition.write(oprot);
-        oprot.writeFieldEnd();
-      }
-      if (struct.fullTextAnalyzerClassName != null) {
-        oprot.writeFieldBegin(FULL_TEXT_ANALYZER_CLASS_NAME_FIELD_DESC);
-        oprot.writeString(struct.fullTextAnalyzerClassName);
-        oprot.writeFieldEnd();
-      }
-      if (struct.columnFamilyDefinitions != null) {
-        oprot.writeFieldBegin(COLUMN_FAMILY_DEFINITIONS_FIELD_DESC);
-        {
-          oprot.writeMapBegin(new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TMap(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING, org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRUCT, struct.columnFamilyDefinitions.size()));
-          for (Map.Entry<String, ColumnFamilyDefinition> _iter144 : struct.columnFamilyDefinitions.entrySet())
-          {
-            oprot.writeString(_iter144.getKey());
-            _iter144.getValue().write(oprot);
-          }
-          oprot.writeMapEnd();
-        }
-        oprot.writeFieldEnd();
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class AnalyzerDefinitionTupleSchemeFactory implements SchemeFactory {
-    public AnalyzerDefinitionTupleScheme getScheme() {
-      return new AnalyzerDefinitionTupleScheme();
-    }
-  }
-
-  private static class AnalyzerDefinitionTupleScheme extends TupleScheme<AnalyzerDefinition> {
-
-    @Override
-    public void write(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocol prot, AnalyzerDefinition struct) throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      BitSet optionals = new BitSet();
-      if (struct.isSetDefaultDefinition()) {
-        optionals.set(0);
-      }
-      if (struct.isSetFullTextAnalyzerClassName()) {
-        optionals.set(1);
-      }
-      if (struct.isSetColumnFamilyDefinitions()) {
-        optionals.set(2);
-      }
-      oprot.writeBitSet(optionals, 3);
-      if (struct.isSetDefaultDefinition()) {
-        struct.defaultDefinition.write(oprot);
-      }
-      if (struct.isSetFullTextAnalyzerClassName()) {
-        oprot.writeString(struct.fullTextAnalyzerClassName);
-      }
-      if (struct.isSetColumnFamilyDefinitions()) {
-        {
-          oprot.writeI32(struct.columnFamilyDefinitions.size());
-          for (Map.Entry<String, ColumnFamilyDefinition> _iter145 : struct.columnFamilyDefinitions.entrySet())
-          {
-            oprot.writeString(_iter145.getKey());
-            _iter145.getValue().write(oprot);
-          }
-        }
-      }
-    }
-
-    @Override
-    public void read(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocol prot, AnalyzerDefinition struct) throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(3);
-      if (incoming.get(0)) {
-        struct.defaultDefinition = new ColumnDefinition();
-        struct.defaultDefinition.read(iprot);
-        struct.setDefaultDefinitionIsSet(true);
-      }
-      if (incoming.get(1)) {
-        struct.fullTextAnalyzerClassName = iprot.readString();
-        struct.setFullTextAnalyzerClassNameIsSet(true);
-      }
-      if (incoming.get(2)) {
-        {
-          org.apache.blur.thirdparty.thrift_0_9_0.protocol.TMap _map146 = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TMap(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING, org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRUCT, iprot.readI32());
-          struct.columnFamilyDefinitions = new HashMap<String,ColumnFamilyDefinition>(2*_map146.size);
-          for (int _i147 = 0; _i147 < _map146.size; ++_i147)
-          {
-            String _key148; // required
-            ColumnFamilyDefinition _val149; // optional
-            _key148 = iprot.readString();
-            _val149 = new ColumnFamilyDefinition();
-            _val149.read(iprot);
-            struct.columnFamilyDefinitions.put(_key148, _val149);
-          }
-        }
-        struct.setColumnFamilyDefinitionsIsSet(true);
-      }
-    }
-  }
-
-}
-


Mime
View raw message