You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by zs...@apache.org on 2010/01/21 10:00:43 UTC

svn commit: r901604 [2/2] - in /hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy: ./ objectinspector/ objectinspector/primitive/

Modified: hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazySimpleSerDe.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazySimpleSerDe.java?rev=901604&r1=901603&r2=901604&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazySimpleSerDe.java (original)
+++ hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazySimpleSerDe.java Thu Jan 21 08:59:22 2010
@@ -50,25 +50,26 @@
 import org.apache.hadoop.io.Writable;
 
 /**
- * LazySimpleSerDe can be used to read the same data format as 
+ * LazySimpleSerDe can be used to read the same data format as
  * MetadataTypedColumnsetSerDe and TCTLSeparatedProtocol.
  * 
- * However, LazySimpleSerDe creates Objects in a lazy way, to 
- * provide better performance.
+ * However, LazySimpleSerDe creates Objects in a lazy way, to provide better
+ * performance.
  * 
- * Also LazySimpleSerDe outputs typed columns instead of treating
- * all columns as String like MetadataTypedColumnsetSerDe.
+ * Also LazySimpleSerDe outputs typed columns instead of treating all columns as
+ * String like MetadataTypedColumnsetSerDe.
  */
 public class LazySimpleSerDe implements SerDe {
 
-  public static final Log LOG = LogFactory.getLog(
-      LazySimpleSerDe.class.getName());
+  public static final Log LOG = LogFactory.getLog(LazySimpleSerDe.class
+      .getName());
 
-  final public static byte[] DefaultSeparators = {(byte)1, (byte)2, (byte)3};
+  final public static byte[] DefaultSeparators = { (byte) 1, (byte) 2, (byte) 3 };
 
   private ObjectInspector cachedObjectInspector;
-  private boolean         useJSONSerialize; // use json to serialize
+  private boolean useJSONSerialize; // use json to serialize
 
+  @Override
   public String toString() {
     return getClass().toString()
         + "["
@@ -85,16 +86,19 @@
 
   /**
    * Return the byte value of the number string.
-   * @param altValue   The string containing a number.
-   * @param defaultVal If the altValue does not represent a number, 
-   *                   return the defaultVal.
+   * 
+   * @param altValue
+   *          The string containing a number.
+   * @param defaultVal
+   *          If the altValue does not represent a number, return the
+   *          defaultVal.
    */
   public static byte getByte(String altValue, byte defaultVal) {
     if (altValue != null && altValue.length() > 0) {
       try {
         return Byte.valueOf(altValue).byteValue();
-      } catch(NumberFormatException e) {
-        return (byte)altValue.charAt(0);
+      } catch (NumberFormatException e) {
+        return (byte) altValue.charAt(0);
       }
     }
     return defaultVal;
@@ -108,12 +112,12 @@
     boolean lastColumnTakesRest;
     List<String> columnNames;
     List<TypeInfo> columnTypes;
-    
+
     boolean escaped;
     byte escapeChar;
     boolean[] needsEscape;
     boolean jsonSerialize;
-    
+
     public List<TypeInfo> getColumnTypes() {
       return columnTypes;
     }
@@ -121,7 +125,7 @@
     public List<String> getColumnNames() {
       return columnNames;
     }
-    
+
     public byte[] getSeparators() {
       return separators;
     }
@@ -141,13 +145,15 @@
     public boolean isLastColumnTakesRest() {
       return lastColumnTakesRest;
     }
-    
+
     public boolean isEscaped() {
       return escaped;
     }
+
     public byte getEscapeChar() {
       return escapeChar;
     }
+
     public boolean[] getNeedsEscape() {
       return needsEscape;
     }
@@ -160,44 +166,45 @@
     }
 
     /**
-     * @param jsonSerialize the jsonSerialize to set
+     * @param jsonSerialize
+     *          the jsonSerialize to set
      */
     public void setJsonSerialize(boolean jsonSerialize) {
       this.jsonSerialize = jsonSerialize;
     }
-    
+
   }
 
   SerDeParameters serdeParams = null;
 
   /**
-   * Initialize the SerDe given the parameters.
-   * serialization.format: separator char or byte code (only supports 
-   * byte-value up to 127)
-   * columns:  ","-separated column names 
-   * columns.types:  ",", ":", or ";"-separated column types
-   * @see SerDe#initialize(Configuration, Properties) 
+   * Initialize the SerDe given the parameters. serialization.format: separator
+   * char or byte code (only supports byte-value up to 127) columns:
+   * ","-separated column names columns.types: ",", ":", or ";"-separated column
+   * types
+   * 
+   * @see SerDe#initialize(Configuration, Properties)
    */
-  public void initialize(Configuration job, Properties tbl) 
-  throws SerDeException {
+  public void initialize(Configuration job, Properties tbl)
+      throws SerDeException {
 
     serdeParams = LazySimpleSerDe.initSerdeParams(job, tbl, getClass()
         .getName());
 
     // Create the ObjectInspectors for the fields
-    cachedObjectInspector = LazyFactory.createLazyStructInspector(
-        serdeParams.getColumnNames(), serdeParams.getColumnTypes(),
-        serdeParams.getSeparators(), serdeParams.getNullSequence(),
-        serdeParams.isLastColumnTakesRest(),
-        serdeParams.isEscaped(),
-        serdeParams.getEscapeChar());
+    cachedObjectInspector = LazyFactory.createLazyStructInspector(serdeParams
+        .getColumnNames(), serdeParams.getColumnTypes(), serdeParams
+        .getSeparators(), serdeParams.getNullSequence(), serdeParams
+        .isLastColumnTakesRest(), serdeParams.isEscaped(), serdeParams
+        .getEscapeChar());
 
-    if (serdeParams.isJsonSerialize())
+    if (serdeParams.isJsonSerialize()) {
       setUseJSONSerialize(true);
-      
+    }
+
     cachedLazyStruct = (LazyStruct) LazyFactory
-      .createLazyObject(cachedObjectInspector);
-    
+        .createLazyObject(cachedObjectInspector);
+
     LOG.debug("LazySimpleSerDe initialized with: columnNames="
         + serdeParams.columnNames + " columnTypes=" + serdeParams.columnTypes
         + " separator=" + Arrays.asList(serdeParams.separators)
@@ -232,8 +239,9 @@
         .equalsIgnoreCase("true"));
 
     String useJsonSerialize = tbl
-    .getProperty(Constants.SERIALIZATION_USE_JSON_OBJECTS);
-     serdeParams.jsonSerialize = (useJsonSerialize != null && useJsonSerialize.equalsIgnoreCase("true"));
+        .getProperty(Constants.SERIALIZATION_USE_JSON_OBJECTS);
+    serdeParams.jsonSerialize = (useJsonSerialize != null && useJsonSerialize
+        .equalsIgnoreCase("true"));
 
     // Read the configuration parameters
     String columnNameProperty = tbl.getProperty(Constants.LIST_COLUMNS);
@@ -251,8 +259,9 @@
       // Default type: all string
       StringBuilder sb = new StringBuilder();
       for (int i = 0; i < serdeParams.columnNames.size(); i++) {
-        if (i > 0)
+        if (i > 0) {
           sb.append(":");
+        }
         sb.append(Constants.STRING_TYPE_NAME);
       }
       columnTypeProperty = sb.toString();
@@ -271,37 +280,39 @@
     // Create the LazyObject for storing the rows
     serdeParams.rowTypeInfo = TypeInfoFactory.getStructTypeInfo(
         serdeParams.columnNames, serdeParams.columnTypes);
-    
+
     // Get the escape information
     String escapeProperty = tbl.getProperty(Constants.ESCAPE_CHAR);
     serdeParams.escaped = (escapeProperty != null);
     if (serdeParams.escaped) {
-      serdeParams.escapeChar = getByte(escapeProperty, (byte)'\\');
+      serdeParams.escapeChar = getByte(escapeProperty, (byte) '\\');
     }
     if (serdeParams.escaped) {
       serdeParams.needsEscape = new boolean[128];
-      for (int i=0; i<128; i++) {
+      for (int i = 0; i < 128; i++) {
         serdeParams.needsEscape[i] = false;
       }
       serdeParams.needsEscape[serdeParams.escapeChar] = true;
-      for (int i=0; i<serdeParams.separators.length; i++) {
+      for (int i = 0; i < serdeParams.separators.length; i++) {
         serdeParams.needsEscape[serdeParams.separators[i]] = true;
       }
     }
-    
+
     return serdeParams;
   }
 
   // The object for storing row data
   LazyStruct cachedLazyStruct;
-  
+
   // The wrapper for byte array
   ByteArrayRef byteArrayRef;
-  
+
   /**
    * Deserialize a row from the Writable to a LazyObject.
-   * @param field the Writable that contains the data
-   * @return  The deserialized row Object.
+   * 
+   * @param field
+   *          the Writable that contains the data
+   * @return The deserialized row Object.
    * @see SerDe#deserialize(Writable)
    */
   public Object deserialize(Writable field) throws SerDeException {
@@ -309,22 +320,21 @@
       byteArrayRef = new ByteArrayRef();
     }
     if (field instanceof BytesWritable) {
-      BytesWritable b = (BytesWritable)field;
+      BytesWritable b = (BytesWritable) field;
       // For backward-compatibility with hadoop 0.17
       byteArrayRef.setData(b.get());
       cachedLazyStruct.init(byteArrayRef, 0, b.getSize());
     } else if (field instanceof Text) {
-      Text t = (Text)field;
+      Text t = (Text) field;
       byteArrayRef.setData(t.getBytes());
       cachedLazyStruct.init(byteArrayRef, 0, t.getLength());
     } else {
-      throw new SerDeException(getClass().toString()  
+      throw new SerDeException(getClass().toString()
           + ": expects either BytesWritable or Text object!");
     }
     return cachedLazyStruct;
   }
-  
-  
+
   /**
    * Returns the ObjectInspector for the row.
    */
@@ -334,37 +344,42 @@
 
   /**
    * Returns the Writable Class after serialization.
+   * 
    * @see SerDe#getSerializedClass()
    */
   public Class<? extends Writable> getSerializedClass() {
     return Text.class;
   }
-  
+
   Text serializeCache = new Text();
   ByteStream.Output serializeStream = new ByteStream.Output();
+
   /**
    * Serialize a row of data.
-   * @param obj          The row object
-   * @param objInspector The ObjectInspector for the row object
-   * @return             The serialized Writable object
-   * @throws IOException 
-   * @see SerDe#serialize(Object, ObjectInspector)  
+   * 
+   * @param obj
+   *          The row object
+   * @param objInspector
+   *          The ObjectInspector for the row object
+   * @return The serialized Writable object
+   * @throws IOException
+   * @see SerDe#serialize(Object, ObjectInspector)
    */
-  public Writable serialize(Object obj, ObjectInspector objInspector) 
+  public Writable serialize(Object obj, ObjectInspector objInspector)
       throws SerDeException {
 
     if (objInspector.getCategory() != Category.STRUCT) {
-      throw new SerDeException(getClass().toString() 
-          + " can only serialize struct types, but we got: " 
+      throw new SerDeException(getClass().toString()
+          + " can only serialize struct types, but we got: "
           + objInspector.getTypeName());
     }
 
     // Prepare the field ObjectInspectors
-    StructObjectInspector soi = (StructObjectInspector)objInspector;
+    StructObjectInspector soi = (StructObjectInspector) objInspector;
     List<? extends StructField> fields = soi.getAllStructFieldRefs();
     List<Object> list = soi.getStructFieldsDataAsList(obj);
-    List<? extends StructField> declaredFields =(serdeParams.rowTypeInfo != null && ((StructTypeInfo) serdeParams.rowTypeInfo)
-        .getAllStructFieldNames().size()>0)? ((StructObjectInspector)getObjectInspector())
+    List<? extends StructField> declaredFields = (serdeParams.rowTypeInfo != null && ((StructTypeInfo) serdeParams.rowTypeInfo)
+        .getAllStructFieldNames().size() > 0) ? ((StructObjectInspector) getObjectInspector())
         .getAllStructFieldRefs()
         : null;
 
@@ -372,9 +387,9 @@
 
     try {
       // Serialize each field
-      for (int i=0; i<fields.size(); i++) {
+      for (int i = 0; i < fields.size(); i++) {
         // Append the separator if needed.
-        if (i>0) {
+        if (i > 0) {
           serializeStream.write(serdeParams.separators[0]);
         }
         // Get the field objectInspector and the field object.
@@ -382,23 +397,22 @@
         Object f = (list == null ? null : list.get(i));
 
         if (declaredFields != null && i >= declaredFields.size()) {
-          throw new SerDeException(
-              "Error: expecting " + declaredFields.size() 
+          throw new SerDeException("Error: expecting " + declaredFields.size()
               + " but asking for field " + i + "\n" + "data=" + obj + "\n"
               + "tableType=" + serdeParams.rowTypeInfo.toString() + "\n"
-              + "dataType=" 
+              + "dataType="
               + TypeInfoUtils.getTypeInfoFromObjectInspector(objInspector));
         }
-        
-        // If the field that is passed in is NOT a primitive, and either the 
-        // field is not declared (no schema was given at initialization), or 
-        // the field is declared as a primitive in initialization, serialize 
-        // the data to JSON string.  Otherwise serialize the data in the 
+
+        // If the field that is passed in is NOT a primitive, and either the
+        // field is not declared (no schema was given at initialization), or
+        // the field is declared as a primitive in initialization, serialize
+        // the data to JSON string. Otherwise serialize the data in the
         // delimited way.
         if (!foi.getCategory().equals(Category.PRIMITIVE)
-            && (declaredFields == null || 
-                declaredFields.get(i).getFieldObjectInspector().getCategory()
-                .equals(Category.PRIMITIVE) || useJSONSerialize)) {
+            && (declaredFields == null
+                || declaredFields.get(i).getFieldObjectInspector()
+                    .getCategory().equals(Category.PRIMITIVE) || useJSONSerialize)) {
           serialize(serializeStream, SerDeUtils.getJSONString(f, foi),
               PrimitiveObjectInspectorFactory.javaStringObjectInspector,
               serdeParams.separators, 1, serdeParams.nullSequence,
@@ -406,8 +420,8 @@
               serdeParams.needsEscape);
         } else {
           serialize(serializeStream, f, foi, serdeParams.separators, 1,
-              serdeParams.nullSequence, serdeParams.escaped, serdeParams.escapeChar,
-              serdeParams.needsEscape);
+              serdeParams.nullSequence, serdeParams.escaped,
+              serdeParams.escapeChar, serdeParams.needsEscape);
         }
       }
     } catch (IOException e) {
@@ -415,105 +429,119 @@
     }
     // TODO: The copy of data is unnecessary, but there is no work-around
     // since we cannot directly set the private byte[] field inside Text.
-    serializeCache.set(serializeStream.getData(), 0,
-        serializeStream.getCount());
+    serializeCache
+        .set(serializeStream.getData(), 0, serializeStream.getCount());
     return serializeCache;
   }
 
   /**
    * Serialize the row into the StringBuilder.
-   * @param out  The StringBuilder to store the serialized data.
-   * @param obj The object for the current field.
-   * @param objInspector  The ObjectInspector for the current Object.
-   * @param separators    The separators array.
-   * @param level         The current level of separator.
-   * @param nullSequence  The byte sequence representing the NULL value.
-   * @param escaped       Whether we need to escape the data when writing out
-   * @param escapeChar    Which char to use as the escape char, e.g. '\\'     
-   * @param needsEscape   Which chars needs to be escaped. This array should have size of 128.
-   *                      Negative byte values (or byte values >= 128) are never escaped.
-   * @throws IOException 
+   * 
+   * @param out
+   *          The StringBuilder to store the serialized data.
+   * @param obj
+   *          The object for the current field.
+   * @param objInspector
+   *          The ObjectInspector for the current Object.
+   * @param separators
+   *          The separators array.
+   * @param level
+   *          The current level of separator.
+   * @param nullSequence
+   *          The byte sequence representing the NULL value.
+   * @param escaped
+   *          Whether we need to escape the data when writing out
+   * @param escapeChar
+   *          Which char to use as the escape char, e.g. '\\'
+   * @param needsEscape
+   *          Which chars needs to be escaped. This array should have size of
+   *          128. Negative byte values (or byte values >= 128) are never
+   *          escaped.
+   * @throws IOException
    */
-  public static void serialize(ByteStream.Output out, Object obj, 
+  public static void serialize(ByteStream.Output out, Object obj,
       ObjectInspector objInspector, byte[] separators, int level,
-      Text nullSequence, boolean escaped, byte escapeChar, boolean[] needsEscape) throws IOException {
-    
+      Text nullSequence, boolean escaped, byte escapeChar, boolean[] needsEscape)
+      throws IOException {
+
     if (obj == null) {
       out.write(nullSequence.getBytes(), 0, nullSequence.getLength());
       return;
     }
-    
+
     switch (objInspector.getCategory()) {
-      case PRIMITIVE: {
-        LazyUtils.writePrimitiveUTF8(out, obj, (PrimitiveObjectInspector)objInspector, escaped, escapeChar, needsEscape);
-        return;
-      }
-      case LIST: {
-        char separator = (char)separators[level];
-        ListObjectInspector loi = (ListObjectInspector)objInspector;
-        List<?> list = loi.getList(obj);
-        ObjectInspector eoi = loi.getListElementObjectInspector();
-        if (list == null) {
-          out.write(nullSequence.getBytes(), 0, nullSequence.getLength());
-        } else {
-          for (int i=0; i<list.size(); i++) {
-            if (i>0) {
-              out.write(separator);
-            }
-            serialize(out, list.get(i), eoi, separators, level+1,
-                nullSequence, escaped, escapeChar, needsEscape);
+    case PRIMITIVE: {
+      LazyUtils.writePrimitiveUTF8(out, obj,
+          (PrimitiveObjectInspector) objInspector, escaped, escapeChar,
+          needsEscape);
+      return;
+    }
+    case LIST: {
+      char separator = (char) separators[level];
+      ListObjectInspector loi = (ListObjectInspector) objInspector;
+      List<?> list = loi.getList(obj);
+      ObjectInspector eoi = loi.getListElementObjectInspector();
+      if (list == null) {
+        out.write(nullSequence.getBytes(), 0, nullSequence.getLength());
+      } else {
+        for (int i = 0; i < list.size(); i++) {
+          if (i > 0) {
+            out.write(separator);
           }
+          serialize(out, list.get(i), eoi, separators, level + 1, nullSequence,
+              escaped, escapeChar, needsEscape);
         }
-        return;
       }
-      case MAP: {
-        char separator = (char)separators[level];
-        char keyValueSeparator = (char)separators[level+1];
-        MapObjectInspector moi = (MapObjectInspector)objInspector;
-        ObjectInspector koi = moi.getMapKeyObjectInspector();
-        ObjectInspector voi = moi.getMapValueObjectInspector();
-        
-        Map<?, ?> map = moi.getMap(obj);
-        if (map == null) {
-          out.write(nullSequence.getBytes(), 0, nullSequence.getLength());
-        } else {
-          boolean first = true;
-          for (Map.Entry<?, ?> entry: map.entrySet()) {
-            if (first) {
-              first = false;
-            } else {
-              out.write(separator);
-            }
-            serialize(out, entry.getKey(), koi, separators, level+2, 
-                nullSequence, escaped, escapeChar, needsEscape);
-            out.write(keyValueSeparator);
-            serialize(out, entry.getValue(), voi, separators, level+2, 
-                nullSequence, escaped, escapeChar, needsEscape);
+      return;
+    }
+    case MAP: {
+      char separator = (char) separators[level];
+      char keyValueSeparator = (char) separators[level + 1];
+      MapObjectInspector moi = (MapObjectInspector) objInspector;
+      ObjectInspector koi = moi.getMapKeyObjectInspector();
+      ObjectInspector voi = moi.getMapValueObjectInspector();
+
+      Map<?, ?> map = moi.getMap(obj);
+      if (map == null) {
+        out.write(nullSequence.getBytes(), 0, nullSequence.getLength());
+      } else {
+        boolean first = true;
+        for (Map.Entry<?, ?> entry : map.entrySet()) {
+          if (first) {
+            first = false;
+          } else {
+            out.write(separator);
           }
+          serialize(out, entry.getKey(), koi, separators, level + 2,
+              nullSequence, escaped, escapeChar, needsEscape);
+          out.write(keyValueSeparator);
+          serialize(out, entry.getValue(), voi, separators, level + 2,
+              nullSequence, escaped, escapeChar, needsEscape);
         }
-        return;
       }
-      case STRUCT: {
-        char separator = (char)separators[level];
-        StructObjectInspector soi = (StructObjectInspector)objInspector;
-        List<? extends StructField> fields = soi.getAllStructFieldRefs();
-        List<Object> list = soi.getStructFieldsDataAsList(obj);
-        if (list == null) {
-          out.write(nullSequence.getBytes(), 0, nullSequence.getLength());
-        } else {
-          for (int i=0; i<list.size(); i++) {
-            if (i>0) {
-              out.write(separator);
-            }
-            serialize(out, list.get(i),
-                fields.get(i).getFieldObjectInspector(), separators, level+1,
-                nullSequence, escaped, escapeChar, needsEscape);
+      return;
+    }
+    case STRUCT: {
+      char separator = (char) separators[level];
+      StructObjectInspector soi = (StructObjectInspector) objInspector;
+      List<? extends StructField> fields = soi.getAllStructFieldRefs();
+      List<Object> list = soi.getStructFieldsDataAsList(obj);
+      if (list == null) {
+        out.write(nullSequence.getBytes(), 0, nullSequence.getLength());
+      } else {
+        for (int i = 0; i < list.size(); i++) {
+          if (i > 0) {
+            out.write(separator);
           }
+          serialize(out, list.get(i), fields.get(i).getFieldObjectInspector(),
+              separators, level + 1, nullSequence, escaped, escapeChar,
+              needsEscape);
         }
-        return;
       }
+      return;
     }
-    
+    }
+
     throw new RuntimeException("Unknown category type: "
         + objInspector.getCategory());
   }
@@ -526,7 +554,8 @@
   }
 
   /**
-   * @param useJSONSerialize the useJSONSerialize to set
+   * @param useJSONSerialize
+   *          the useJSONSerialize to set
    */
   public void setUseJSONSerialize(boolean useJSONSerialize) {
     this.useJSONSerialize = useJSONSerialize;

Modified: hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyString.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyString.java?rev=901604&r1=901603&r2=901604&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyString.java (original)
+++ hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyString.java Thu Jan 21 08:59:22 2010
@@ -34,24 +34,24 @@
     super(copy);
     data = new Text(copy.data);
   }
-   
+
   @Override
   public void init(ByteArrayRef bytes, int start, int length) {
     if (oi.isEscaped()) {
       byte escapeChar = oi.getEscapeChar();
       byte[] inputBytes = bytes.getData();
-      
+
       // First calculate the length of the output string
       int outputLength = 0;
-      for (int i=0; i<length; i++) {
-        if (inputBytes[start+i] != escapeChar) {
-          outputLength ++;
+      for (int i = 0; i < length; i++) {
+        if (inputBytes[start + i] != escapeChar) {
+          outputLength++;
         } else {
-          outputLength ++;
+          outputLength++;
           i++;
         }
       }
-      
+
       // Copy the data over, so that the internal state of Text will be set to
       // the required outputLength.
       data.set(bytes.getData(), start, outputLength);
@@ -62,17 +62,17 @@
       if (outputLength < length) {
         int k = 0;
         byte[] outputBytes = data.getBytes();
-        for (int i=0; i<length; i++) {
-          byte b = inputBytes[start+i];
+        for (int i = 0; i < length; i++) {
+          byte b = inputBytes[start + i];
           if (b != escapeChar || i == length - 1) {
             outputBytes[k++] = b;
           } else {
             // get the next byte
             i++;
-            outputBytes[k++] = inputBytes[start+i];
+            outputBytes[k++] = inputBytes[start + i];
           }
         }
-        assert(k == outputLength);
+        assert (k == outputLength);
       }
     } else {
       // if the data is not escaped, simply copy the data.

Modified: hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyStruct.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyStruct.java?rev=901604&r1=901603&r2=901604&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyStruct.java (original)
+++ hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyStruct.java Thu Jan 21 08:59:22 2010
@@ -28,15 +28,15 @@
 import org.apache.hadoop.hive.serde2.objectinspector.StructObjectInspector;
 import org.apache.hadoop.io.Text;
 
-
 /**
- * LazyObject for storing a struct.
- * The field of a struct can be primitive or non-primitive.
- *
- * LazyStruct does not deal with the case of a NULL struct. That is handled
- * by the parent LazyObject.
+ * LazyObject for storing a struct. The field of a struct can be primitive or
+ * non-primitive.
+ * 
+ * LazyStruct does not deal with the case of a NULL struct. That is handled by
+ * the parent LazyObject.
  */
-public class LazyStruct extends LazyNonPrimitive<LazySimpleStructObjectInspector> {
+public class LazyStruct extends
+    LazyNonPrimitive<LazySimpleStructObjectInspector> {
 
   private static Log LOG = LogFactory.getLog(LazyStruct.class.getName());
 
@@ -46,14 +46,13 @@
   boolean parsed;
 
   /**
-   * The start positions of struct fields.
-   * Only valid when the data is parsed.
-   * Note that startPosition[arrayLength] = begin + length + 1;
-   * that makes sure we can use the same formula to compute the
-   * length of each element of the array.
+   * The start positions of struct fields. Only valid when the data is parsed.
+   * Note that startPosition[arrayLength] = begin + length + 1; that makes sure
+   * we can use the same formula to compute the length of each element of the
+   * array.
    */
   int[] startPosition;
-  
+
   /**
    * The fields of the struct.
    */
@@ -62,18 +61,20 @@
    * Whether init() has been called on the field or not.
    */
   boolean[] fieldInited;
-  
+
   /**
    * Construct a LazyStruct object with the ObjectInspector.
    */
   public LazyStruct(LazySimpleStructObjectInspector oi) {
     super(oi);
   }
-  
+
   /**
    * Set the row data for this LazyStruct.
+   * 
    * @see LazyObject#init(ByteArrayRef, int, int)
    */
+  @Override
   public void init(ByteArrayRef bytes, int start, int length) {
     super.init(bytes, start, length);
     parsed = false;
@@ -81,34 +82,37 @@
 
   boolean missingFieldWarned = false;
   boolean extraFieldWarned = false;
+
   /**
    * Parse the byte[] and fill each field.
    */
   private void parse() {
-    
+
     byte separator = oi.getSeparator();
     boolean lastColumnTakesRest = oi.getLastColumnTakesRest();
     boolean isEscaped = oi.isEscaped();
     byte escapeChar = oi.getEscapeChar();
-    
+
     if (fields == null) {
-      List<? extends StructField> fieldRefs = ((StructObjectInspector)oi).getAllStructFieldRefs();
+      List<? extends StructField> fieldRefs = ((StructObjectInspector) oi)
+          .getAllStructFieldRefs();
       fields = new LazyObject[fieldRefs.size()];
-      for (int i = 0 ; i < fields.length; i++) {
-        fields[i] = LazyFactory.createLazyObject(fieldRefs.get(i).getFieldObjectInspector());
+      for (int i = 0; i < fields.length; i++) {
+        fields[i] = LazyFactory.createLazyObject(fieldRefs.get(i)
+            .getFieldObjectInspector());
       }
-      fieldInited = new boolean[fields.length];      
-      // Extra element to make sure we have the same formula to compute the 
-      // length of each element of the array. 
-      startPosition = new int[fields.length+1];
+      fieldInited = new boolean[fields.length];
+      // Extra element to make sure we have the same formula to compute the
+      // length of each element of the array.
+      startPosition = new int[fields.length + 1];
     }
-    
+
     int structByteEnd = start + length;
     int fieldId = 0;
     int fieldByteBegin = start;
     int fieldByteEnd = start;
     byte[] bytes = this.bytes.getData();
-    
+
     // Go through all bytes in the byte[]
     while (fieldByteEnd <= structByteEnd) {
       if (fieldByteEnd == structByteEnd || bytes[fieldByteEnd] == separator) {
@@ -117,7 +121,7 @@
           fieldByteEnd = structByteEnd;
         }
         startPosition[fieldId] = fieldByteBegin;
-        fieldId ++;
+        fieldId++;
         if (fieldId == fields.length || fieldByteEnd == structByteEnd) {
           // All fields have been parsed, or bytes have been parsed.
           // We need to set the startPosition of fields.length to ensure we
@@ -127,14 +131,14 @@
           // return these fields as NULLs.
           for (int i = fieldId; i <= fields.length; i++) {
             startPosition[i] = fieldByteEnd + 1;
-          }          
+          }
           break;
         }
         fieldByteBegin = fieldByteEnd + 1;
-        fieldByteEnd ++;
+        fieldByteEnd++;
       } else {
         if (isEscaped && bytes[fieldByteEnd] == escapeChar
-            && fieldByteEnd+1 < structByteEnd) {
+            && fieldByteEnd + 1 < structByteEnd) {
           // ignore the char after escape_char
           fieldByteEnd += 2;
         } else {
@@ -142,36 +146,37 @@
         }
       }
     }
-    
+
     // Extra bytes at the end?
     if (!extraFieldWarned && fieldByteEnd < structByteEnd) {
       extraFieldWarned = true;
       LOG.warn("Extra bytes detected at the end of the row! Ignoring similar "
           + "problems.");
     }
-    
+
     // Missing fields?
     if (!missingFieldWarned && fieldId < fields.length) {
       missingFieldWarned = true;
       LOG.warn("Missing fields! Expected " + fields.length + " fields but "
           + "only got " + fieldId + "! Ignoring similar problems.");
     }
-    
+
     Arrays.fill(fieldInited, false);
-    parsed = true;    
+    parsed = true;
   }
-  
+
   /**
    * Get one field out of the struct.
    * 
-   * If the field is a primitive field, return the actual object.
-   * Otherwise return the LazyObject.  This is because PrimitiveObjectInspector
-   * does not have control over the object used by the user - the user simply
-   * directly use the Object instead of going through 
-   * Object PrimitiveObjectInspector.get(Object).  
+   * If the field is a primitive field, return the actual object. Otherwise
+   * return the LazyObject. This is because PrimitiveObjectInspector does not
+   * have control over the object used by the user - the user simply directly
+   * use the Object instead of going through Object
+   * PrimitiveObjectInspector.get(Object).
    * 
-   * @param fieldID  The field ID
-   * @return         The field as a LazyObject
+   * @param fieldID
+   *          The field ID
+   * @return The field as a LazyObject
    */
   public Object getField(int fieldID) {
     if (!parsed) {
@@ -179,24 +184,27 @@
     }
     return uncheckedGetField(fieldID);
   }
-  
+
   /**
-   * Get the field out of the row without checking parsed.
-   * This is called by both getField and getFieldsAsList.
-   * @param fieldID  The id of the field starting from 0.
-   * @param nullSequence  The sequence representing NULL value.
-   * @return  The value of the field
+   * Get the field out of the row without checking parsed. This is called by
+   * both getField and getFieldsAsList.
+   * 
+   * @param fieldID
+   *          The id of the field starting from 0.
+   * @param nullSequence
+   *          The sequence representing NULL value.
+   * @return The value of the field
    */
   private Object uncheckedGetField(int fieldID) {
     Text nullSequence = oi.getNullSequence();
-    // Test the length first so in most cases we avoid doing a byte[] 
+    // Test the length first so in most cases we avoid doing a byte[]
     // comparison.
     int fieldByteBegin = startPosition[fieldID];
-    int fieldLength = startPosition[fieldID+1] - startPosition[fieldID] - 1;
+    int fieldLength = startPosition[fieldID + 1] - startPosition[fieldID] - 1;
     if ((fieldLength < 0)
-        || (fieldLength == nullSequence.getLength()
-           && LazyUtils.compare(bytes.getData(), fieldByteBegin, fieldLength,
-          nullSequence.getBytes(), 0, nullSequence.getLength()) == 0)) {
+        || (fieldLength == nullSequence.getLength() && LazyUtils.compare(bytes
+            .getData(), fieldByteBegin, fieldLength, nullSequence.getBytes(),
+            0, nullSequence.getLength()) == 0)) {
       return null;
     }
     if (!fieldInited[fieldID]) {
@@ -207,8 +215,10 @@
   }
 
   ArrayList<Object> cachedList;
+
   /**
    * Get the values of the fields as an ArrayList.
+   * 
    * @return The values of the fields as an ArrayList.
    */
   public ArrayList<Object> getFieldsAsList() {
@@ -220,12 +230,12 @@
     } else {
       cachedList.clear();
     }
-    for (int i=0; i<fields.length; i++) {
+    for (int i = 0; i < fields.length; i++) {
       cachedList.add(uncheckedGetField(i));
     }
     return cachedList;
   }
-  
+
   @Override
   public Object getObject() {
     return this;

Modified: hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java?rev=901604&r1=901603&r2=901604&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java (original)
+++ hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java Thu Jan 21 08:59:22 2010
@@ -37,32 +37,38 @@
 
   /**
    * Returns the digit represented by character b.
-   * @param b  The ascii code of the character
-   * @param radix  The radix
-   * @return  -1 if it's invalid
+   * 
+   * @param b
+   *          The ascii code of the character
+   * @param radix
+   *          The radix
+   * @return -1 if it's invalid
    */
   public static int digit(int b, int radix) {
     int r = -1;
-    if (b >= '0' && b<='9') {
+    if (b >= '0' && b <= '9') {
       r = b - '0';
-    } else if (b >= 'A' && b<='Z') {
+    } else if (b >= 'A' && b <= 'Z') {
       r = b - 'A' + 10;
     } else if (b >= 'a' && b <= 'z') {
       r = b - 'a' + 10;
     }
-    if (r >= radix) r = -1;
+    if (r >= radix) {
+      r = -1;
+    }
     return r;
   }
-  
+
   /**
-   * Returns -1 if the first byte sequence is lexicographically less than the second;
-   * returns +1 if the second byte sequence is lexicographically less than the first;
-   * otherwise return 0.
+   * Returns -1 if the first byte sequence is lexicographically less than the
+   * second; returns +1 if the second byte sequence is lexicographically less
+   * than the first; otherwise return 0.
    */
-  public static int compare(byte[] b1, int start1, int length1, byte[] b2, int start2, int length2) {
-    
+  public static int compare(byte[] b1, int start1, int length1, byte[] b2,
+      int start2, int length2) {
+
     int min = Math.min(length1, length2);
-    
+
     for (int i = 0; i < min; i++) {
       if (b1[start1 + i] == b2[start2 + i]) {
         continue;
@@ -71,19 +77,27 @@
         return -1;
       } else {
         return 1;
-      }      
+      }
+    }
+
+    if (length1 < length2) {
+      return -1;
+    }
+    if (length1 > length2) {
+      return 1;
     }
-    
-    if (length1 < length2) return -1;
-    if (length1 > length2) return 1;
     return 0;
   }
-  
+
   /**
    * Convert a UTF-8 byte array to String.
-   * @param bytes  The byte[] containing the UTF-8 String.
-   * @param start  The start position inside the bytes.
-   * @param length The length of the data, starting from "start"
+   * 
+   * @param bytes
+   *          The byte[] containing the UTF-8 String.
+   * @param start
+   *          The start position inside the bytes.
+   * @param length
+   *          The length of the data, starting from "start"
    * @return The unicode String
    */
   public static String convertToString(byte[] bytes, int start, int length) {
@@ -94,19 +108,22 @@
     }
   }
 
-
-  static byte[] trueBytes = {(byte)'t', 'r', 'u', 'e'};
-  static byte[] falseBytes = {(byte)'f', 'a', 'l', 's', 'e'};
+  static byte[] trueBytes = { (byte) 't', 'r', 'u', 'e' };
+  static byte[] falseBytes = { (byte) 'f', 'a', 'l', 's', 'e' };
 
   /**
    * Write the bytes with special characters escaped.
-   * @param escaped     Whether the data should be written out in an escaped way.
-   * @param escapeChar  if escaped, the char for prefixing special characters.
-   * @param needsEscape if escaped, whether a specific character needs escaping.
-   *                    This array should have size of 128.
+   * 
+   * @param escaped
+   *          Whether the data should be written out in an escaped way.
+   * @param escapeChar
+   *          if escaped, the char for prefixing special characters.
+   * @param needsEscape
+   *          if escaped, whether a specific character needs escaping. This
+   *          array should have size of 128.
    */
-  private static void writeEscaped(OutputStream out, byte[] bytes,
-      int start, int len, boolean escaped, byte escapeChar, boolean[] needsEscape)
+  private static void writeEscaped(OutputStream out, byte[] bytes, int start,
+      int len, boolean escaped, byte escapeChar, boolean[] needsEscape)
       throws IOException {
     if (escaped) {
       int end = start + len;
@@ -126,71 +143,79 @@
       out.write(bytes, 0, len);
     }
   }
-  
-  
+
   /**
-   * Write out the text representation of a Primitive Object to a UTF8 byte stream.
-   * @param out  The UTF8 byte OutputStream
-   * @param o    The primitive Object
-   * @param needsEscape  Whether a character needs escaping. This array should have size of 128. 
+   * Write out the text representation of a Primitive Object to a UTF8 byte
+   * stream.
+   * 
+   * @param out
+   *          The UTF8 byte OutputStream
+   * @param o
+   *          The primitive Object
+   * @param needsEscape
+   *          Whether a character needs escaping. This array should have size of
+   *          128.
    */
-  public static void writePrimitiveUTF8(OutputStream out, Object o, PrimitiveObjectInspector oi,
-      boolean escaped, byte escapeChar, boolean[] needsEscape) throws IOException {
-    
+  public static void writePrimitiveUTF8(OutputStream out, Object o,
+      PrimitiveObjectInspector oi, boolean escaped, byte escapeChar,
+      boolean[] needsEscape) throws IOException {
+
     switch (oi.getPrimitiveCategory()) {
-      case BOOLEAN: {
-        boolean b = ((BooleanObjectInspector)oi).get(o);
-        if (b) {
-          out.write(trueBytes, 0, trueBytes.length);
-        } else {
-          out.write(falseBytes, 0, falseBytes.length);
-        }
-        break;
-      }
-      case BYTE: {
-        LazyInteger.writeUTF8(out, ((ByteObjectInspector)oi).get(o));
-        break;
-      }
-      case SHORT: {
-        LazyInteger.writeUTF8(out, ((ShortObjectInspector)oi).get(o));
-        break;
-      }
-      case INT: {
-        LazyInteger.writeUTF8(out, ((IntObjectInspector)oi).get(o));
-        break;
-      }
-      case LONG: {
-        LazyLong.writeUTF8(out, ((LongObjectInspector)oi).get(o));
-        break;
-      }
-      case FLOAT: {
-        float f = ((FloatObjectInspector)oi).get(o);
-        ByteBuffer b = Text.encode(String.valueOf(f));
-        out.write(b.array(), 0, b.limit());
-        break;
-      }
-      case DOUBLE: {
-        double d = ((DoubleObjectInspector)oi).get(o);
-        ByteBuffer b = Text.encode(String.valueOf(d));
-        out.write(b.array(), 0, b.limit());
-        break;
-      }
-      case STRING: {
-        Text t = ((StringObjectInspector)oi).getPrimitiveWritableObject(o);
-        writeEscaped(out, t.getBytes(), 0, t.getLength(), escaped, escapeChar, needsEscape);
-        break;
-      }
-      default: {
-        throw new RuntimeException("Hive internal error.");
+    case BOOLEAN: {
+      boolean b = ((BooleanObjectInspector) oi).get(o);
+      if (b) {
+        out.write(trueBytes, 0, trueBytes.length);
+      } else {
+        out.write(falseBytes, 0, falseBytes.length);
       }
+      break;
+    }
+    case BYTE: {
+      LazyInteger.writeUTF8(out, ((ByteObjectInspector) oi).get(o));
+      break;
+    }
+    case SHORT: {
+      LazyInteger.writeUTF8(out, ((ShortObjectInspector) oi).get(o));
+      break;
+    }
+    case INT: {
+      LazyInteger.writeUTF8(out, ((IntObjectInspector) oi).get(o));
+      break;
+    }
+    case LONG: {
+      LazyLong.writeUTF8(out, ((LongObjectInspector) oi).get(o));
+      break;
+    }
+    case FLOAT: {
+      float f = ((FloatObjectInspector) oi).get(o);
+      ByteBuffer b = Text.encode(String.valueOf(f));
+      out.write(b.array(), 0, b.limit());
+      break;
+    }
+    case DOUBLE: {
+      double d = ((DoubleObjectInspector) oi).get(o);
+      ByteBuffer b = Text.encode(String.valueOf(d));
+      out.write(b.array(), 0, b.limit());
+      break;
+    }
+    case STRING: {
+      Text t = ((StringObjectInspector) oi).getPrimitiveWritableObject(o);
+      writeEscaped(out, t.getBytes(), 0, t.getLength(), escaped, escapeChar,
+          needsEscape);
+      break;
+    }
+    default: {
+      throw new RuntimeException("Hive internal error.");
+    }
     }
   }
-  
+
   public static int hashBytes(byte[] data, int start, int len) {
     int hash = 1;
-    for (int i = start; i < len; i++)
-      hash = (31 * hash) + (int)data[i];
+    for (int i = start; i < len; i++) {
+      hash = (31 * hash) + data[i];
+    }
     return hash;
   }
-  
+
 }

Modified: hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/LazyListObjectInspector.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/LazyListObjectInspector.java?rev=901604&r1=901603&r2=901604&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/LazyListObjectInspector.java (original)
+++ hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/LazyListObjectInspector.java Thu Jan 21 08:59:22 2010
@@ -30,23 +30,25 @@
 /**
  * LazyListObjectInspector works on array data that is stored in LazyArray.
  * 
- * Always use the ObjectInspectorFactory to create new ObjectInspector objects, instead
- * of directly creating an instance of this class.
+ * Always use the ObjectInspectorFactory to create new ObjectInspector objects,
+ * instead of directly creating an instance of this class.
  */
 public class LazyListObjectInspector implements ListObjectInspector {
 
-  public static final Log LOG = LogFactory.getLog(LazyListObjectInspector.class.getName());
-  
+  public static final Log LOG = LogFactory.getLog(LazyListObjectInspector.class
+      .getName());
+
   ObjectInspector listElementObjectInspector;
-  
+
   byte separator;
   Text nullSequence;
   boolean escaped;
   byte escapeChar;
-  
-  /** Call ObjectInspectorFactory.getLazySimpleListObjectInspector instead.
+
+  /**
+   * Call ObjectInspectorFactory.getLazySimpleListObjectInspector instead.
    */
-  protected LazyListObjectInspector(ObjectInspector listElementObjectInspector, 
+  protected LazyListObjectInspector(ObjectInspector listElementObjectInspector,
       byte separator, Text nullSequence, boolean escaped, byte escapeChar) {
     this.listElementObjectInspector = listElementObjectInspector;
     this.separator = separator;
@@ -65,7 +67,7 @@
   public ObjectInspector getListElementObjectInspector() {
     return listElementObjectInspector;
   }
-  
+
   // with data
   @Override
   public Object getListElement(Object data, int index) {
@@ -75,7 +77,7 @@
     LazyArray array = (LazyArray) data;
     return array.getListElementObject(index);
   }
-  
+
   @Override
   public int getListLength(Object data) {
     if (data == null) {
@@ -84,7 +86,7 @@
     LazyArray array = (LazyArray) data;
     return array.getListLength();
   }
-  
+
   @Override
   public List<?> getList(Object data) {
     if (data == null) {
@@ -96,28 +98,29 @@
 
   @Override
   public String getTypeName() {
-    return org.apache.hadoop.hive.serde.Constants.LIST_TYPE_NAME 
-        + "<" + listElementObjectInspector.getTypeName() + ">";
+    return org.apache.hadoop.hive.serde.Constants.LIST_TYPE_NAME + "<"
+        + listElementObjectInspector.getTypeName() + ">";
   }
 
   /**
-   * Returns the separator for delimiting items in this array.
-   * Called by LazyArray.init(...).
+   * Returns the separator for delimiting items in this array. Called by
+   * LazyArray.init(...).
    */
   public byte getSeparator() {
     return separator;
   }
 
   /**
-   * Returns the NullSequence for this array.
-   * Called by LazyArray.init(...).
+   * Returns the NullSequence for this array. Called by LazyArray.init(...).
    */
   public Text getNullSequence() {
     return nullSequence;
   }
+
   public boolean isEscaped() {
     return escaped;
   }
+
   public byte getEscapeChar() {
     return escapeChar;
   }

Modified: hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/LazyMapObjectInspector.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/LazyMapObjectInspector.java?rev=901604&r1=901603&r2=901604&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/LazyMapObjectInspector.java (original)
+++ hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/LazyMapObjectInspector.java Thu Jan 21 08:59:22 2010
@@ -30,28 +30,30 @@
 /**
  * LazyMapObjectInspector works on struct data that is stored in LazyStruct.
  * 
- * Always use the ObjectInspectorFactory to create new ObjectInspector objects, instead
- * of directly creating an instance of this class.
+ * Always use the ObjectInspectorFactory to create new ObjectInspector objects,
+ * instead of directly creating an instance of this class.
  */
 public class LazyMapObjectInspector implements MapObjectInspector {
 
-  public static final Log LOG = LogFactory.getLog(LazyMapObjectInspector.class.getName());
-  
+  public static final Log LOG = LogFactory.getLog(LazyMapObjectInspector.class
+      .getName());
+
   ObjectInspector mapKeyObjectInspector;
   ObjectInspector mapValueObjectInspector;
-  
+
   byte itemSeparator;
-  byte keyValueSeparator;  
+  byte keyValueSeparator;
   Text nullSequence;
   boolean escaped;
   byte escapeChar;
-  
-  /** Call ObjectInspectorFactory.getStandardListObjectInspector instead.
+
+  /**
+   * Call ObjectInspectorFactory.getStandardListObjectInspector instead.
    */
   protected LazyMapObjectInspector(ObjectInspector mapKeyObjectInspector,
-      ObjectInspector mapValueObjectInspector,
-      byte itemSeparator, byte keyValueSeparator, Text nullSequence,
-      boolean escaped, byte escapeChar) {
+      ObjectInspector mapValueObjectInspector, byte itemSeparator,
+      byte keyValueSeparator, Text nullSequence, boolean escaped,
+      byte escapeChar) {
     this.mapKeyObjectInspector = mapKeyObjectInspector;
     this.mapValueObjectInspector = mapValueObjectInspector;
 
@@ -69,8 +71,8 @@
 
   @Override
   public String getTypeName() {
-    return org.apache.hadoop.hive.serde.Constants.MAP_TYPE_NAME 
-        + "<" + mapKeyObjectInspector.getTypeName() + "," 
+    return org.apache.hadoop.hive.serde.Constants.MAP_TYPE_NAME + "<"
+        + mapKeyObjectInspector.getTypeName() + ","
         + mapValueObjectInspector.getTypeName() + ">";
   }
 
@@ -89,7 +91,7 @@
     if (data == null) {
       return null;
     }
-    return ((LazyMap)data).getMapValueElement(key);
+    return ((LazyMap) data).getMapValueElement(key);
   }
 
   @Override
@@ -97,7 +99,7 @@
     if (data == null) {
       return null;
     }
-    return ((LazyMap)data).getMap();
+    return ((LazyMap) data).getMap();
   }
 
   @Override
@@ -105,22 +107,26 @@
     if (data == null) {
       return -1;
     }
-    return ((LazyMap)data).getMapSize();
+    return ((LazyMap) data).getMapSize();
   }
-  
+
   // Called by LazyMap
   public byte getItemSeparator() {
     return itemSeparator;
   }
+
   public byte getKeyValueSeparator() {
     return keyValueSeparator;
   }
+
   public Text getNullSequence() {
     return nullSequence;
   }
+
   public boolean isEscaped() {
     return escaped;
   }
+
   public byte getEscapeChar() {
     return escapeChar;
   }

Modified: hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/LazyObjectInspectorFactory.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/LazyObjectInspectorFactory.java?rev=901604&r1=901603&r2=901604&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/LazyObjectInspectorFactory.java (original)
+++ hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/LazyObjectInspectorFactory.java Thu Jan 21 08:59:22 2010
@@ -21,37 +21,30 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
-import org.apache.hadoop.hive.serde2.objectinspector.StructObjectInspector;
-import org.apache.hadoop.hive.serde2.objectinspector.UnionStructObjectInspector;
-import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector.PrimitiveCategory;
-import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
-import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils;
-import org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableBooleanObjectInspector;
 import org.apache.hadoop.io.Text;
 
-
 /**
- * ObjectInspectorFactory is the primary way to create new ObjectInspector instances.
+ * ObjectInspectorFactory is the primary way to create new ObjectInspector
+ * instances.
  * 
- * SerDe classes should call the static functions in this library to create an ObjectInspector
- * to return to the caller of SerDe2.getObjectInspector().
+ * SerDe classes should call the static functions in this library to create an
+ * ObjectInspector to return to the caller of SerDe2.getObjectInspector().
  * 
- * The reason of having caches here is that ObjectInspectors do not have an internal 
- * state - so ObjectInspectors with the same construction parameters should
- * result in exactly the same ObjectInspector.
+ * The reason of having caches here is that ObjectInspectors do not have an
+ * internal state - so ObjectInspectors with the same construction parameters
+ * should result in exactly the same ObjectInspector.
  */
 public class LazyObjectInspectorFactory {
 
+  static HashMap<ArrayList<Object>, LazySimpleStructObjectInspector> cachedLazySimpleStructObjectInspector = new HashMap<ArrayList<Object>, LazySimpleStructObjectInspector>();
 
-
-  static HashMap<ArrayList<Object>, LazySimpleStructObjectInspector> cachedLazySimpleStructObjectInspector =
-    new HashMap<ArrayList<Object>, LazySimpleStructObjectInspector>(); 
-  public static LazySimpleStructObjectInspector getLazySimpleStructObjectInspector(List<String> structFieldNames, 
-      List<ObjectInspector> structFieldObjectInspectors, byte separator, Text nullSequence,
-      boolean lastColumnTakesRest, boolean escaped, byte escapeChar) {
+  public static LazySimpleStructObjectInspector getLazySimpleStructObjectInspector(
+      List<String> structFieldNames,
+      List<ObjectInspector> structFieldObjectInspectors, byte separator,
+      Text nullSequence, boolean lastColumnTakesRest, boolean escaped,
+      byte escapeChar) {
     ArrayList<Object> signature = new ArrayList<Object>();
     signature.add(structFieldNames);
     signature.add(structFieldObjectInspectors);
@@ -60,40 +53,44 @@
     signature.add(Boolean.valueOf(lastColumnTakesRest));
     signature.add(Boolean.valueOf(escaped));
     signature.add(Byte.valueOf(escapeChar));
-    LazySimpleStructObjectInspector result = cachedLazySimpleStructObjectInspector.get(signature);
+    LazySimpleStructObjectInspector result = cachedLazySimpleStructObjectInspector
+        .get(signature);
     if (result == null) {
-      result = new LazySimpleStructObjectInspector(structFieldNames, structFieldObjectInspectors, 
-          separator, nullSequence, lastColumnTakesRest, escaped, escapeChar);
+      result = new LazySimpleStructObjectInspector(structFieldNames,
+          structFieldObjectInspectors, separator, nullSequence,
+          lastColumnTakesRest, escaped, escapeChar);
       cachedLazySimpleStructObjectInspector.put(signature, result);
     }
     return result;
   }
 
-  static HashMap<ArrayList<Object>, LazyListObjectInspector> cachedLazySimpleListObjectInspector =
-    new HashMap<ArrayList<Object>, LazyListObjectInspector>(); 
-  public static LazyListObjectInspector getLazySimpleListObjectInspector( 
-      ObjectInspector listElementObjectInspector, byte separator, Text nullSequence,
-      boolean escaped, byte escapeChar) {
+  static HashMap<ArrayList<Object>, LazyListObjectInspector> cachedLazySimpleListObjectInspector = new HashMap<ArrayList<Object>, LazyListObjectInspector>();
+
+  public static LazyListObjectInspector getLazySimpleListObjectInspector(
+      ObjectInspector listElementObjectInspector, byte separator,
+      Text nullSequence, boolean escaped, byte escapeChar) {
     ArrayList<Object> signature = new ArrayList<Object>();
     signature.add(listElementObjectInspector);
     signature.add(Byte.valueOf(separator));
     signature.add(nullSequence.toString());
     signature.add(Boolean.valueOf(escaped));
     signature.add(Byte.valueOf(escapeChar));
-    LazyListObjectInspector result = cachedLazySimpleListObjectInspector.get(signature);
+    LazyListObjectInspector result = cachedLazySimpleListObjectInspector
+        .get(signature);
     if (result == null) {
-      result = new LazyListObjectInspector(listElementObjectInspector, 
+      result = new LazyListObjectInspector(listElementObjectInspector,
           separator, nullSequence, escaped, escapeChar);
       cachedLazySimpleListObjectInspector.put(signature, result);
     }
     return result;
   }
-  
-  static HashMap<ArrayList<Object>, LazyMapObjectInspector> cachedLazySimpleMapObjectInspector =
-    new HashMap<ArrayList<Object>, LazyMapObjectInspector>(); 
-  public static LazyMapObjectInspector getLazySimpleMapObjectInspector( 
-      ObjectInspector mapKeyObjectInspector, ObjectInspector mapValueObjectInspector, 
-      byte itemSeparator, byte keyValueSeparator, Text nullSequence, boolean escaped, 
+
+  static HashMap<ArrayList<Object>, LazyMapObjectInspector> cachedLazySimpleMapObjectInspector = new HashMap<ArrayList<Object>, LazyMapObjectInspector>();
+
+  public static LazyMapObjectInspector getLazySimpleMapObjectInspector(
+      ObjectInspector mapKeyObjectInspector,
+      ObjectInspector mapValueObjectInspector, byte itemSeparator,
+      byte keyValueSeparator, Text nullSequence, boolean escaped,
       byte escapeChar) {
     ArrayList<Object> signature = new ArrayList<Object>();
     signature.add(mapKeyObjectInspector);
@@ -103,14 +100,15 @@
     signature.add(nullSequence.toString());
     signature.add(Boolean.valueOf(escaped));
     signature.add(Byte.valueOf(escapeChar));
-    LazyMapObjectInspector result = cachedLazySimpleMapObjectInspector.get(signature);
+    LazyMapObjectInspector result = cachedLazySimpleMapObjectInspector
+        .get(signature);
     if (result == null) {
       result = new LazyMapObjectInspector(mapKeyObjectInspector,
-          mapValueObjectInspector, itemSeparator, keyValueSeparator, nullSequence,
-          escaped, escapeChar);
+          mapValueObjectInspector, itemSeparator, keyValueSeparator,
+          nullSequence, escaped, escapeChar);
       cachedLazySimpleMapObjectInspector.put(signature, result);
     }
     return result;
   }
-  
+
 }

Modified: hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/LazySimpleStructObjectInspector.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/LazySimpleStructObjectInspector.java?rev=901604&r1=901603&r2=901604&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/LazySimpleStructObjectInspector.java (original)
+++ hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/LazySimpleStructObjectInspector.java Thu Jan 21 08:59:22 2010
@@ -31,24 +31,27 @@
 import org.apache.hadoop.io.Text;
 
 /**
- * LazySimpleStructObjectInspector works on struct data that is stored in LazyStruct.
+ * LazySimpleStructObjectInspector works on struct data that is stored in
+ * LazyStruct.
  * 
- * The names of the struct fields and the internal structure of the struct fields
- * are specified in the ctor of the LazySimpleStructObjectInspector.
+ * The names of the struct fields and the internal structure of the struct
+ * fields are specified in the ctor of the LazySimpleStructObjectInspector.
  * 
- * Always use the ObjectInspectorFactory to create new ObjectInspector objects, instead
- * of directly creating an instance of this class.
+ * Always use the ObjectInspectorFactory to create new ObjectInspector objects,
+ * instead of directly creating an instance of this class.
  */
 public class LazySimpleStructObjectInspector extends StructObjectInspector {
 
-  public static final Log LOG = LogFactory.getLog(LazySimpleStructObjectInspector.class.getName());
-  
+  public static final Log LOG = LogFactory
+      .getLog(LazySimpleStructObjectInspector.class.getName());
+
   protected static class MyField implements StructField {
     protected int fieldID;
     protected String fieldName;
     protected ObjectInspector fieldObjectInspector;
-    
-    public MyField(int fieldID, String fieldName, ObjectInspector fieldObjectInspector) {
+
+    public MyField(int fieldID, String fieldName,
+        ObjectInspector fieldObjectInspector) {
       this.fieldID = fieldID;
       this.fieldName = fieldName.toLowerCase();
       this.fieldObjectInspector = fieldObjectInspector;
@@ -57,70 +60,81 @@
     public int getFieldID() {
       return fieldID;
     }
+
     public String getFieldName() {
       return fieldName;
     }
+
     public ObjectInspector getFieldObjectInspector() {
       return fieldObjectInspector;
     }
-    
+
+    @Override
     public String toString() {
       return "" + fieldID + ":" + fieldName;
     }
   }
-  
+
   protected List<MyField> fields;
-  
+
   @Override
   public String getTypeName() {
     return ObjectInspectorUtils.getStandardStructTypeName(this);
   }
-  
-  
+
   byte separator;
-  Text nullSequence;  
+  Text nullSequence;
   boolean lastColumnTakesRest;
   boolean escaped;
   byte escapeChar;
-  
-  /** Call ObjectInspectorFactory.getLazySimpleStructObjectInspector instead.
+
+  /**
+   * Call ObjectInspectorFactory.getLazySimpleStructObjectInspector instead.
    */
-  protected LazySimpleStructObjectInspector(List<String> structFieldNames, List<ObjectInspector> structFieldObjectInspectors,
-      byte separator, Text nullSequence, boolean lastColumnTakesRest,
-      boolean escaped, byte escapeChar) {
-    init(structFieldNames, structFieldObjectInspectors, separator, nullSequence, lastColumnTakesRest,
-        escaped, escapeChar);
-  }
-  protected void init(List<String> structFieldNames, List<ObjectInspector> structFieldObjectInspectors,
-      byte separator, Text nullSequence, boolean lastColumnTakesRest, boolean escaped, byte escapeChar) {
-    assert(structFieldNames.size() == structFieldObjectInspectors.size());
-    
+  protected LazySimpleStructObjectInspector(List<String> structFieldNames,
+      List<ObjectInspector> structFieldObjectInspectors, byte separator,
+      Text nullSequence, boolean lastColumnTakesRest, boolean escaped,
+      byte escapeChar) {
+    init(structFieldNames, structFieldObjectInspectors, separator,
+        nullSequence, lastColumnTakesRest, escaped, escapeChar);
+  }
+
+  protected void init(List<String> structFieldNames,
+      List<ObjectInspector> structFieldObjectInspectors, byte separator,
+      Text nullSequence, boolean lastColumnTakesRest, boolean escaped,
+      byte escapeChar) {
+    assert (structFieldNames.size() == structFieldObjectInspectors.size());
+
     this.separator = separator;
     this.nullSequence = nullSequence;
     this.lastColumnTakesRest = lastColumnTakesRest;
     this.escaped = escaped;
     this.escapeChar = escapeChar;
-    
-    fields = new ArrayList<MyField>(structFieldNames.size()); 
-    for(int i=0; i<structFieldNames.size(); i++) {
-      fields.add(new MyField(i, structFieldNames.get(i), structFieldObjectInspectors.get(i)));
+
+    fields = new ArrayList<MyField>(structFieldNames.size());
+    for (int i = 0; i < structFieldNames.size(); i++) {
+      fields.add(new MyField(i, structFieldNames.get(i),
+          structFieldObjectInspectors.get(i)));
     }
   }
-  
-  protected LazySimpleStructObjectInspector(List<StructField> fields, byte separator, Text nullSequence) {
+
+  protected LazySimpleStructObjectInspector(List<StructField> fields,
+      byte separator, Text nullSequence) {
     init(fields, separator, nullSequence);
   }
-  protected void init(List<StructField> fields, byte separator, Text nullSequence) {
+
+  protected void init(List<StructField> fields, byte separator,
+      Text nullSequence) {
     this.separator = separator;
     this.nullSequence = nullSequence;
-    
-    this.fields = new ArrayList<MyField>(fields.size()); 
-    for(int i=0; i<fields.size(); i++) {
-      this.fields.add(new MyField(i, fields.get(i).getFieldName(), fields.get(i).getFieldObjectInspector()));
+
+    this.fields = new ArrayList<MyField>(fields.size());
+    for (int i = 0; i < fields.size(); i++) {
+      this.fields.add(new MyField(i, fields.get(i).getFieldName(), fields
+          .get(i).getFieldObjectInspector()));
     }
   }
 
-  
   @Override
   public final Category getCategory() {
     return Category.STRUCT;
@@ -131,6 +145,7 @@
   public StructField getStructFieldRef(String fieldName) {
     return ObjectInspectorUtils.getStandardStructFieldRef(fieldName, fields);
   }
+
   @Override
   public List<? extends StructField> getAllStructFieldRefs() {
     return fields;
@@ -142,12 +157,12 @@
     if (data == null) {
       return null;
     }
-    LazyStruct struct = (LazyStruct)data;
+    LazyStruct struct = (LazyStruct) data;
     MyField f = (MyField) fieldRef;
-    
+
     int fieldID = f.getFieldID();
-    assert(fieldID >= 0 && fieldID < fields.size());
-    
+    assert (fieldID >= 0 && fieldID < fields.size());
+
     return struct.getField(fieldID);
   }
 
@@ -156,7 +171,7 @@
     if (data == null) {
       return null;
     }
-    LazyStruct struct = (LazyStruct)data;
+    LazyStruct struct = (LazyStruct) data;
     return struct.getFieldsAsList();
   }
 
@@ -164,17 +179,21 @@
   public byte getSeparator() {
     return separator;
   }
+
   public Text getNullSequence() {
     return nullSequence;
   }
+
   public boolean getLastColumnTakesRest() {
     return lastColumnTakesRest;
   }
+
   public boolean isEscaped() {
     return escaped;
   }
+
   public byte getEscapeChar() {
     return escapeChar;
   }
-  
+
 }

Modified: hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/AbstractPrimitiveLazyObjectInspector.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/AbstractPrimitiveLazyObjectInspector.java?rev=901604&r1=901603&r2=901604&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/AbstractPrimitiveLazyObjectInspector.java (original)
+++ hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/AbstractPrimitiveLazyObjectInspector.java Thu Jan 21 08:59:22 2010
@@ -23,22 +23,23 @@
 import org.apache.hadoop.io.Writable;
 
 /**
- * An AbstractPrimitiveLazyObjectInspector for a LazyPrimitive object. 
+ * An AbstractPrimitiveLazyObjectInspector for a LazyPrimitive object.
  */
-public abstract class AbstractPrimitiveLazyObjectInspector<T extends Writable> extends AbstractPrimitiveObjectInspector {
+public abstract class AbstractPrimitiveLazyObjectInspector<T extends Writable>
+    extends AbstractPrimitiveObjectInspector {
 
   protected AbstractPrimitiveLazyObjectInspector(PrimitiveTypeEntry typeEntry) {
-    super(typeEntry); 
+    super(typeEntry);
   }
-  
+
   @Override
   public T getPrimitiveWritableObject(Object o) {
-    return o == null ? null : ((LazyPrimitive<?,T>)o).getWritableObject();
+    return o == null ? null : ((LazyPrimitive<?, T>) o).getWritableObject();
   }
 
   @Override
   public boolean preferWritable() {
     return true;
   }
-  
+
 }

Modified: hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyBooleanObjectInspector.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyBooleanObjectInspector.java?rev=901604&r1=901603&r2=901604&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyBooleanObjectInspector.java (original)
+++ hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyBooleanObjectInspector.java Thu Jan 21 08:59:22 2010
@@ -22,17 +22,17 @@
 import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils;
 import org.apache.hadoop.io.BooleanWritable;
 
-
 /**
  * A WritableBooleanObjectInspector inspects a BooleanWritable Object.
  */
-public class LazyBooleanObjectInspector extends AbstractPrimitiveLazyObjectInspector<BooleanWritable> 
-implements BooleanObjectInspector{
+public class LazyBooleanObjectInspector extends
+    AbstractPrimitiveLazyObjectInspector<BooleanWritable> implements
+    BooleanObjectInspector {
 
   LazyBooleanObjectInspector() {
     super(PrimitiveObjectInspectorUtils.booleanTypeEntry);
   }
-  
+
   @Override
   public boolean get(Object o) {
     return getPrimitiveWritableObject(o).get();
@@ -40,7 +40,7 @@
 
   @Override
   public Object copyObject(Object o) {
-    return o == null ? null : new LazyBoolean((LazyBoolean)o);
+    return o == null ? null : new LazyBoolean((LazyBoolean) o);
   }
 
   @Override

Modified: hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyByteObjectInspector.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyByteObjectInspector.java?rev=901604&r1=901603&r2=901604&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyByteObjectInspector.java (original)
+++ hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyByteObjectInspector.java Thu Jan 21 08:59:22 2010
@@ -21,19 +21,18 @@
 import org.apache.hadoop.hive.serde2.lazy.LazyByte;
 import org.apache.hadoop.hive.serde2.objectinspector.primitive.ByteObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils;
-import org.apache.hadoop.io.BooleanWritable;
-
 
 /**
  * A WritableByteObjectInspector inspects a ByteWritable Object.
  */
-public class LazyByteObjectInspector extends AbstractPrimitiveLazyObjectInspector<ByteWritable> 
-implements ByteObjectInspector{
+public class LazyByteObjectInspector extends
+    AbstractPrimitiveLazyObjectInspector<ByteWritable> implements
+    ByteObjectInspector {
 
   LazyByteObjectInspector() {
     super(PrimitiveObjectInspectorUtils.byteTypeEntry);
   }
-  
+
   @Override
   public byte get(Object o) {
     return getPrimitiveWritableObject(o).get();
@@ -41,7 +40,7 @@
 
   @Override
   public Object copyObject(Object o) {
-    return o == null ? null : new LazyByte((LazyByte)o);
+    return o == null ? null : new LazyByte((LazyByte) o);
   }
 
   @Override

Modified: hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyDoubleObjectInspector.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyDoubleObjectInspector.java?rev=901604&r1=901603&r2=901604&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyDoubleObjectInspector.java (original)
+++ hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyDoubleObjectInspector.java Thu Jan 21 08:59:22 2010
@@ -22,17 +22,17 @@
 import org.apache.hadoop.hive.serde2.objectinspector.primitive.DoubleObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils;
 
-
 /**
  * A WritableDoubleObjectInspector inspects a DoubleWritable Object.
  */
-public class LazyDoubleObjectInspector extends AbstractPrimitiveLazyObjectInspector<DoubleWritable>
-implements DoubleObjectInspector{
+public class LazyDoubleObjectInspector extends
+    AbstractPrimitiveLazyObjectInspector<DoubleWritable> implements
+    DoubleObjectInspector {
 
   LazyDoubleObjectInspector() {
     super(PrimitiveObjectInspectorUtils.doubleTypeEntry);
   }
-  
+
   @Override
   public double get(Object o) {
     return getPrimitiveWritableObject(o).get();
@@ -40,7 +40,7 @@
 
   @Override
   public Object copyObject(Object o) {
-    return o == null ? null : new LazyDouble((LazyDouble)o);
+    return o == null ? null : new LazyDouble((LazyDouble) o);
   }
 
   @Override

Modified: hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyFloatObjectInspector.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyFloatObjectInspector.java?rev=901604&r1=901603&r2=901604&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyFloatObjectInspector.java (original)
+++ hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyFloatObjectInspector.java Thu Jan 21 08:59:22 2010
@@ -25,13 +25,14 @@
 /**
  * A FloatObjectInspector inspects a FloatWritable Object.
  */
-public class LazyFloatObjectInspector extends AbstractPrimitiveLazyObjectInspector<FloatWritable> 
-implements FloatObjectInspector{
+public class LazyFloatObjectInspector extends
+    AbstractPrimitiveLazyObjectInspector<FloatWritable> implements
+    FloatObjectInspector {
 
   LazyFloatObjectInspector() {
     super(PrimitiveObjectInspectorUtils.floatTypeEntry);
   }
-  
+
   @Override
   public float get(Object o) {
     return getPrimitiveWritableObject(o).get();
@@ -39,7 +40,7 @@
 
   @Override
   public Object copyObject(Object o) {
-    return o == null ? null : new LazyFloat((LazyFloat)o);
+    return o == null ? null : new LazyFloat((LazyFloat) o);
   }
 
   @Override

Modified: hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyIntObjectInspector.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyIntObjectInspector.java?rev=901604&r1=901603&r2=901604&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyIntObjectInspector.java (original)
+++ hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyIntObjectInspector.java Thu Jan 21 08:59:22 2010
@@ -22,17 +22,17 @@
 import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils;
 import org.apache.hadoop.io.IntWritable;
 
-
 /**
  * A WritableIntObjectInspector inspects a IntWritable Object.
  */
-public class LazyIntObjectInspector extends AbstractPrimitiveLazyObjectInspector<IntWritable> 
-implements IntObjectInspector{
+public class LazyIntObjectInspector extends
+    AbstractPrimitiveLazyObjectInspector<IntWritable> implements
+    IntObjectInspector {
 
   LazyIntObjectInspector() {
     super(PrimitiveObjectInspectorUtils.intTypeEntry);
   }
-  
+
   @Override
   public int get(Object o) {
     return getPrimitiveWritableObject(o).get();
@@ -40,7 +40,7 @@
 
   @Override
   public Object copyObject(Object o) {
-    return o == null ? null : new LazyInteger((LazyInteger)o);
+    return o == null ? null : new LazyInteger((LazyInteger) o);
   }
 
   @Override

Modified: hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyLongObjectInspector.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyLongObjectInspector.java?rev=901604&r1=901603&r2=901604&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyLongObjectInspector.java (original)
+++ hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyLongObjectInspector.java Thu Jan 21 08:59:22 2010
@@ -22,17 +22,17 @@
 import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils;
 import org.apache.hadoop.io.LongWritable;
 
-
 /**
  * A WritableLongObjectInspector inspects a LongWritable Object.
  */
-public class LazyLongObjectInspector extends AbstractPrimitiveLazyObjectInspector<LongWritable> 
-implements LongObjectInspector{
+public class LazyLongObjectInspector extends
+    AbstractPrimitiveLazyObjectInspector<LongWritable> implements
+    LongObjectInspector {
 
   LazyLongObjectInspector() {
     super(PrimitiveObjectInspectorUtils.longTypeEntry);
   }
-  
+
   @Override
   public long get(Object o) {
     return getPrimitiveWritableObject(o).get();
@@ -40,7 +40,7 @@
 
   @Override
   public Object copyObject(Object o) {
-    return o == null ? null : new LazyLong((LazyLong)o);
+    return o == null ? null : new LazyLong((LazyLong) o);
   }
 
   @Override

Modified: hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyPrimitiveObjectInspectorFactory.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyPrimitiveObjectInspectorFactory.java?rev=901604&r1=901603&r2=901604&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyPrimitiveObjectInspectorFactory.java (original)
+++ hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyPrimitiveObjectInspectorFactory.java Thu Jan 21 08:59:22 2010
@@ -20,37 +20,20 @@
 
 import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
 
-import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
-import org.apache.hadoop.hive.serde2.objectinspector.StructObjectInspector;
-import org.apache.hadoop.hive.serde2.objectinspector.UnionStructObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector.PrimitiveCategory;
-import org.apache.hadoop.hive.serde2.objectinspector.primitive.AbstractPrimitiveJavaObjectInspector;
-import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
-import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils;
-import org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableBooleanObjectInspector;
-import org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableByteObjectInspector;
-import org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableDoubleObjectInspector;
-import org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableFloatObjectInspector;
-import org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableIntObjectInspector;
-import org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableLongObjectInspector;
-import org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableShortObjectInspector;
-import org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableStringObjectInspector;
-import org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableVoidObjectInspector;
-import org.apache.hadoop.io.Text;
-
 
 /**
- * LazyPrimitiveObjectInspectorFactory is the primary way to create new ObjectInspector instances.
+ * LazyPrimitiveObjectInspectorFactory is the primary way to create new
+ * ObjectInspector instances.
  * 
- * SerDe classes should call the static functions in this library to create an ObjectInspector
- * to return to the caller of SerDe2.getObjectInspector().
+ * SerDe classes should call the static functions in this library to create an
+ * ObjectInspector to return to the caller of SerDe2.getObjectInspector().
  * 
- * The reason of having caches here is that ObjectInspector is because ObjectInspectors do
- * not have an internal state - so ObjectInspectors with the same construction parameters should
- * result in exactly the same ObjectInspector.
+ * The reason of having caches here is that ObjectInspector is because
+ * ObjectInspectors do not have an internal state - so ObjectInspectors with the
+ * same construction parameters should result in exactly the same
+ * ObjectInspector.
  */
 public class LazyPrimitiveObjectInspectorFactory {
 
@@ -62,38 +45,48 @@
   public final static LazyFloatObjectInspector lazyFloatObjectInspector = new LazyFloatObjectInspector();
   public final static LazyDoubleObjectInspector lazyDoubleObjectInspector = new LazyDoubleObjectInspector();
   public final static LazyVoidObjectInspector lazyVoidObjectInspector = new LazyVoidObjectInspector();
-  
-  static HashMap<ArrayList<Object>, LazyStringObjectInspector> cachedLazyStringObjectInspector =
-    new HashMap<ArrayList<Object>, LazyStringObjectInspector>(); 
-  public static LazyStringObjectInspector getLazyStringObjectInspector(boolean escaped, byte escapeChar) {
+
+  static HashMap<ArrayList<Object>, LazyStringObjectInspector> cachedLazyStringObjectInspector = new HashMap<ArrayList<Object>, LazyStringObjectInspector>();
+
+  public static LazyStringObjectInspector getLazyStringObjectInspector(
+      boolean escaped, byte escapeChar) {
     ArrayList<Object> signature = new ArrayList<Object>();
     signature.add(Boolean.valueOf(escaped));
     signature.add(Byte.valueOf(escapeChar));
-    LazyStringObjectInspector result = cachedLazyStringObjectInspector.get(signature);
+    LazyStringObjectInspector result = cachedLazyStringObjectInspector
+        .get(signature);
     if (result == null) {
       result = new LazyStringObjectInspector(escaped, escapeChar);
       cachedLazyStringObjectInspector.put(signature, result);
     }
     return result;
   }
-  
+
   public static AbstractPrimitiveLazyObjectInspector<?> getLazyObjectInspector(
       PrimitiveCategory primitiveCategory, boolean escaped, byte escapeChar) {
-    
-    switch(primitiveCategory) {
-    case BOOLEAN: return lazyBooleanObjectInspector;
-    case BYTE: return lazyByteObjectInspector;
-    case SHORT: return lazyShortObjectInspector;
-    case INT: return lazyIntObjectInspector;
-    case LONG: return lazyLongObjectInspector;
-    case FLOAT: return lazyFloatObjectInspector;
-    case DOUBLE: return lazyDoubleObjectInspector;
-    case STRING: return getLazyStringObjectInspector(escaped, escapeChar);
+
+    switch (primitiveCategory) {
+    case BOOLEAN:
+      return lazyBooleanObjectInspector;
+    case BYTE:
+      return lazyByteObjectInspector;
+    case SHORT:
+      return lazyShortObjectInspector;
+    case INT:
+      return lazyIntObjectInspector;
+    case LONG:
+      return lazyLongObjectInspector;
+    case FLOAT:
+      return lazyFloatObjectInspector;
+    case DOUBLE:
+      return lazyDoubleObjectInspector;
+    case STRING:
+      return getLazyStringObjectInspector(escaped, escapeChar);
     case VOID:
-      default:
-        throw new RuntimeException("Internal error: Cannot find ObjectInspector "
-            + " for " + primitiveCategory);
+    default:
+      throw new RuntimeException("Internal error: Cannot find ObjectInspector "
+          + " for " + primitiveCategory);
     }
   }
-  
+
 }

Modified: hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyShortObjectInspector.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyShortObjectInspector.java?rev=901604&r1=901603&r2=901604&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyShortObjectInspector.java (original)
+++ hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyShortObjectInspector.java Thu Jan 21 08:59:22 2010
@@ -22,17 +22,17 @@
 import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils;
 import org.apache.hadoop.hive.serde2.objectinspector.primitive.ShortObjectInspector;
 
-
 /**
  * A WritableShortObjectInspector inspects a ShortWritable Object.
  */
-public class LazyShortObjectInspector extends AbstractPrimitiveLazyObjectInspector<ShortWritable> 
-implements ShortObjectInspector{
+public class LazyShortObjectInspector extends
+    AbstractPrimitiveLazyObjectInspector<ShortWritable> implements
+    ShortObjectInspector {
 
   LazyShortObjectInspector() {
     super(PrimitiveObjectInspectorUtils.shortTypeEntry);
   }
-  
+
   @Override
   public short get(Object o) {
     return getPrimitiveWritableObject(o).get();
@@ -40,7 +40,7 @@
 
   @Override
   public Object copyObject(Object o) {
-    return o == null ? null : new LazyShort((LazyShort)o);
+    return o == null ? null : new LazyShort((LazyShort) o);
   }
 
   @Override

Modified: hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyStringObjectInspector.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyStringObjectInspector.java?rev=901604&r1=901603&r2=901604&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyStringObjectInspector.java (original)
+++ hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyStringObjectInspector.java Thu Jan 21 08:59:22 2010
@@ -22,16 +22,15 @@
 import org.apache.hadoop.hive.serde2.objectinspector.primitive.StringObjectInspector;
 import org.apache.hadoop.io.Text;
 
-
 /**
  * A WritableStringObjectInspector inspects a Text Object.
  */
-public class LazyStringObjectInspector extends AbstractPrimitiveLazyObjectInspector<Text> 
-implements StringObjectInspector{
+public class LazyStringObjectInspector extends
+    AbstractPrimitiveLazyObjectInspector<Text> implements StringObjectInspector {
 
   boolean escaped;
   byte escapeChar;
-  
+
   LazyStringObjectInspector(boolean escaped, byte escapeChar) {
     super(PrimitiveObjectInspectorUtils.stringTypeEntry);
     this.escaped = escaped;
@@ -40,25 +39,25 @@
 
   @Override
   public Object copyObject(Object o) {
-    return o == null ? null : new LazyString((LazyString)o);
+    return o == null ? null : new LazyString((LazyString) o);
   }
 
   @Override
   public Text getPrimitiveWritableObject(Object o) {
-    return o == null ? null : ((LazyString)o).getWritableObject();
+    return o == null ? null : ((LazyString) o).getWritableObject();
   }
-  
+
   @Override
   public String getPrimitiveJavaObject(Object o) {
-    return o == null ? null : ((LazyString)o).getWritableObject().toString();
+    return o == null ? null : ((LazyString) o).getWritableObject().toString();
   }
 
   public boolean isEscaped() {
     return escaped;
   }
+
   public byte getEscapeChar() {
     return escapeChar;
   }
-  
-  
+
 }

Modified: hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyVoidObjectInspector.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyVoidObjectInspector.java?rev=901604&r1=901603&r2=901604&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyVoidObjectInspector.java (original)
+++ hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyVoidObjectInspector.java Thu Jan 21 08:59:22 2010
@@ -21,17 +21,17 @@
 import org.apache.hadoop.hive.serde2.objectinspector.primitive.VoidObjectInspector;
 import org.apache.hadoop.io.NullWritable;
 
-
 /**
  * A WritableVoidObjectInspector inspects a NullWritable Object.
  */
-public class LazyVoidObjectInspector extends AbstractPrimitiveLazyObjectInspector<NullWritable> 
-implements VoidObjectInspector{
+public class LazyVoidObjectInspector extends
+    AbstractPrimitiveLazyObjectInspector<NullWritable> implements
+    VoidObjectInspector {
 
   LazyVoidObjectInspector() {
     super(PrimitiveObjectInspectorUtils.voidTypeEntry);
   }
-  
+
   @Override
   public Object copyObject(Object o) {
     return o;