You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gora.apache.org by le...@apache.org on 2013/08/24 02:27:41 UTC

svn commit: r1517093 [3/3] - in /gora/branches/GORA_94: ./ bin/ gora-cassandra/ gora-cassandra/src/main/java/org/apache/gora/cassandra/query/ gora-cassandra/src/main/java/org/apache/gora/cassandra/serializers/ gora-cassandra/src/main/java/org/apache/go...

Modified: gora/branches/GORA_94/gora-core/src/main/java/org/apache/gora/persistency/ws/impl/PersistentWSBase.java
URL: http://svn.apache.org/viewvc/gora/branches/GORA_94/gora-core/src/main/java/org/apache/gora/persistency/ws/impl/PersistentWSBase.java?rev=1517093&r1=1517092&r2=1517093&view=diff
==============================================================================
--- gora/branches/GORA_94/gora-core/src/main/java/org/apache/gora/persistency/ws/impl/PersistentWSBase.java (original)
+++ gora/branches/GORA_94/gora-core/src/main/java/org/apache/gora/persistency/ws/impl/PersistentWSBase.java Sat Aug 24 00:27:39 2013
@@ -23,7 +23,6 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.gora.persistency.Persistent;
-import org.apache.gora.persistency.StateManager;
 
 /**
  * Base classs implementing common functionality for Web services 
@@ -43,26 +42,6 @@ public abstract class PersistentWSBase i
   protected static Map<Class<?>, String[]> FIELDS =
     new HashMap<Class<?>, String[]>();
     
-  /**
-   * Object used to manage the state of fields
-   */
-  private StateManager stateManager;
-
-  /**
-   * Constructor
-   */
-  protected PersistentWSBase() {
-    this(new StateManagerWSImpl());
-  }
-
-  /**
-   * Constructor using a stateManager object
-   * @param stateManager
-   */
-  protected PersistentWSBase(StateManager stateManager) {
-    this.stateManager = stateManager;
-    stateManager.setManagedPersistent(this);
-  }
 
   /** Subclasses should call this function for all the persistable fields
    * in the class to register them.
@@ -80,15 +59,6 @@ public abstract class PersistentWSBase i
     FIELD_MAP.put(clazz, map);
   }
 
-  @Override
-  /**
-   * Gets the state manager
-   */
-  public StateManager getStateManager() {
-    return stateManager;
-  }
-
-  @Override
   /**
    * Gets fields using a specific class
    */
@@ -96,7 +66,6 @@ public abstract class PersistentWSBase i
     return FIELDS.get(getClass());
   }
 
-  @Override
   /**
    * Gets a specific field from the fields map
    */
@@ -104,7 +73,6 @@ public abstract class PersistentWSBase i
     return FIELDS.get(getClass())[index];
   }
 
-  @Override
   /**
    * Gets a field index based on the field name
    */
@@ -122,36 +90,17 @@ public abstract class PersistentWSBase i
     clearReadable();
   }
 
-  @Override
-  /**
-   * Determines if a class is new or not
-   */
-  public boolean isNew() {
-    return getStateManager().isNew(this);
-  }
-
-  @Override
-  /**
-   * Sets this element as a new one inside the stateManager object
-   */
-  public void setNew() {
-    getStateManager().setNew(this);
-  }
-
-  @Override
-  /**
-   * Clears a new object from the stateManager
-   */
-  public void clearNew() {
-    getStateManager().clearNew(this);
+  private void clearReadable() {
+	  // TODO Auto-generated method stub
+	  
   }
 
-  @Override
+	@Override
   /**
    * Determines if an object has been modified or not
    */
   public boolean isDirty() {
-    return getStateManager().isDirty(this);
+    return true;
   }
 
   @Override
@@ -160,7 +109,7 @@ public abstract class PersistentWSBase i
    * based on its field index
    */
   public boolean isDirty(int fieldIndex) {
-    return getStateManager().isDirty(this, fieldIndex);
+    return true;
   }
 
   @Override
@@ -174,112 +123,6 @@ public abstract class PersistentWSBase i
 
   @Override
   /**
-   * Sets this class as dirty
-   */
-  public void setDirty() {
-    getStateManager().setDirty(this);
-  }
-
-  @Override
-  /**
-   * Sets a specific field as dirty using its index
-   */
-  public void setDirty(int fieldIndex) {
-    getStateManager().setDirty(this, fieldIndex);
-  }
-
-  @Override
-  /**
-   * Sets a specific field as dirty using its name
-   */
-  public void setDirty(String field) {
-    setDirty(getFieldIndex(field));
-  }
-
-  @Override
-  /**
-   * Clears dirty fields using its index
-   */
-  public void clearDirty(int fieldIndex) {
-    getStateManager().clearDirty(this, fieldIndex);
-  }
-
-  @Override
-  /**
-   * Clears dirty fields using its name
-   */
-  public void clearDirty(String field) {
-    clearDirty(getFieldIndex(field));
-  }
-
-  @Override
-  /**
-   * Clears dirty fields from the state manager
-   */
-  public void clearDirty() {
-    getStateManager().clearDirty(this);
-  }
-
-  @Override
-  /**
-   * Checks if a field is readable using its index
-   */
-  public boolean isReadable(int fieldIndex) {
-    return getStateManager().isReadable(this, fieldIndex);
-  }
-
-  @Override
-  /**
-   * Checks if a field is readable using its name
-   */
-  public boolean isReadable(String field) {
-    return isReadable(getFieldIndex(field));
-  }
-
-  @Override
-  /**
-   * Sets a field as readable using its index
-   */
-  public void setReadable(int fieldIndex) {
-    getStateManager().setReadable(this, fieldIndex);
-  }
-
-  @Override
-  /**
-   * Sets a field as readable using its name
-   */
-  public void setReadable(String field) {
-    setReadable(getFieldIndex(field));
-  }
-
-  @Override
-  /**
-   * Clears this readable object from the state manager
-   */
-  public void clearReadable() {
-    getStateManager().clearReadable(this);
-  }
-
-  @Override
-  /**
-   * Clears a readable object based on its field index
-   * using a stateManager object
-   */
-  public void clearReadable(int fieldIndex) {
-    getStateManager().clearReadable(this, fieldIndex);
-  }
-
-  @Override
-  /**
-   * Clears a readable object based on its field name
-   * using a stateManager object
-   */
-  public void clearReadable(String field) {
-    clearReadable(getFieldIndex(field));
-  }
-
-  @Override
-  /**
    * Determines if an object is equal to this class
    */
   public boolean equals(Object o) {

Modified: gora/branches/GORA_94/gora-core/src/main/java/org/apache/gora/store/impl/DataStoreBase.java
URL: http://svn.apache.org/viewvc/gora/branches/GORA_94/gora-core/src/main/java/org/apache/gora/store/impl/DataStoreBase.java?rev=1517093&r1=1517092&r2=1517093&view=diff
==============================================================================
--- gora/branches/GORA_94/gora-core/src/main/java/org/apache/gora/store/impl/DataStoreBase.java (original)
+++ gora/branches/GORA_94/gora-core/src/main/java/org/apache/gora/store/impl/DataStoreBase.java Sat Aug 24 00:27:39 2013
@@ -22,14 +22,15 @@ import java.io.Closeable;
 import java.io.DataInput;
 import java.io.DataOutput;
 import java.io.IOException;
+import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 
 import org.apache.avro.Schema;
 import org.apache.avro.Schema.Field;
+import org.apache.avro.specific.SpecificDatumReader;
+import org.apache.avro.specific.SpecificDatumWriter; 
 import org.apache.commons.lang.builder.EqualsBuilder;
-import org.apache.gora.avro.PersistentDatumReader;
-import org.apache.gora.avro.PersistentDatumWriter;
 import org.apache.gora.avro.store.AvroStore;
 import org.apache.gora.persistency.BeanFactory;
 import org.apache.gora.persistency.impl.BeanFactoryImpl;
@@ -70,9 +71,9 @@ public abstract class DataStoreBase<K, T
 
   protected Properties properties;
 
-  protected PersistentDatumReader<T> datumReader;
+  protected SpecificDatumReader<T> datumReader;
 
-  protected PersistentDatumWriter<T> datumWriter;
+  protected SpecificDatumWriter<T> datumWriter;
   
   public static final Logger LOG = LoggerFactory.getLogger(AvroStore.class);
 
@@ -93,8 +94,8 @@ public abstract class DataStoreBase<K, T
     autoCreateSchema = DataStoreFactory.getAutoCreateSchema(properties, this);
     this.properties = properties;
 
-    datumReader = new PersistentDatumReader<T>(schema, false);
-    datumWriter = new PersistentDatumWriter<T>(schema, false);
+    datumReader = new SpecificDatumReader<T>(schema);
+    datumWriter = new SpecificDatumWriter<T>(schema);
   }
 
   @Override
@@ -164,7 +165,12 @@ public abstract class DataStoreBase<K, T
     if(fields != null) {
       return fields;
     }
-    return beanFactory.getCachedPersistent().getFields();
+    List<Field> schemaFields = beanFactory.getCachedPersistent().getSchema().getFields();
+    String[] fieldNames = new String[schemaFields.size()];
+    for(int i = 0; i<fieldNames.length; i++ ){
+      fieldNames[i] = schemaFields.get(i).name();
+    }
+    return fieldNames;
   }
 
   @Override
@@ -234,25 +240,28 @@ public abstract class DataStoreBase<K, T
   /**
    * Returns the name of the schema to use for the persistent class. 
    * 
-   * The schema name is prefixed with schema.prefix from {@link Configuration}.
-   * The schema name in the defined properties is returned. If null then
+   * First the schema name in the {@link Configuration} is used. If null,
+   * the schema name in the defined properties is returned. If null then
    * the provided mappingSchemaName is returned. If this is null too,
    * the class name, without the package, of the persistent class is returned.
    * @param mappingSchemaName the name of the schema as read from the mapping file
    * @param persistentClass persistent class
    */
   protected String getSchemaName(String mappingSchemaName, Class<?> persistentClass) {
-    String prefix = getOrCreateConf().get("schema.prefix","");
+    String confSchemaName = getOrCreateConf().get("preferred.schema.name");
+    if (confSchemaName != null) {
+      return confSchemaName;
+    }
     
     String schemaName = DataStoreFactory.getDefaultSchemaName(properties, this);
     if(schemaName != null) {
-      return prefix+schemaName;
+      return schemaName;
     }
 
     if(mappingSchemaName != null) {
-      return prefix+mappingSchemaName;
+      return mappingSchemaName;
     }
 
-    return prefix+StringUtils.getClassname(persistentClass);
+    return StringUtils.getClassname(persistentClass);
   }
 }

Modified: gora/branches/GORA_94/gora-core/src/main/java/org/apache/gora/util/AvroUtils.java
URL: http://svn.apache.org/viewvc/gora/branches/GORA_94/gora-core/src/main/java/org/apache/gora/util/AvroUtils.java?rev=1517093&r1=1517092&r2=1517093&view=diff
==============================================================================
--- gora/branches/GORA_94/gora-core/src/main/java/org/apache/gora/util/AvroUtils.java (original)
+++ gora/branches/GORA_94/gora-core/src/main/java/org/apache/gora/util/AvroUtils.java Sat Aug 24 00:27:39 2013
@@ -18,17 +18,25 @@
 
 package org.apache.gora.util;
 
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 import org.apache.avro.Schema;
 import org.apache.avro.Schema.Field;
+import org.apache.avro.io.BinaryEncoder;
+import org.apache.avro.io.Decoder;
+import org.apache.avro.io.DecoderFactory;
+import org.apache.avro.io.EncoderFactory;
 import org.apache.avro.reflect.ReflectData;
+import org.apache.avro.specific.SpecificDatumReader;
+import org.apache.avro.specific.SpecificDatumWriter;
 import org.apache.gora.persistency.Persistent;
 
 /**
- * An utility class for Avro related tasks 
+ * An utility class for Avro related tasks
  */
 public class AvroUtils {
 
@@ -38,31 +46,87 @@ public class AvroUtils {
   public static Map<String, Field> getFieldMap(Schema schema) {
     List<Field> fields = schema.getFields();
     HashMap<String, Field> fieldMap = new HashMap<String, Field>(fields.size());
-    for(Field field: fields) {
+    for (Field field : fields) {
       fieldMap.put(field.name(), field);
     }
     return fieldMap;
   }
-  
+
   @SuppressWarnings("unchecked")
   public static Object getEnumValue(Schema schema, String symbol) {
     return Enum.valueOf(ReflectData.get().getClass(schema), symbol);
   }
-  
+
   public static Object getEnumValue(Schema schema, int enumOrdinal) {
     String symbol = schema.getEnumSymbols().get(enumOrdinal);
     return getEnumValue(schema, symbol);
   }
-  
+
   /**
    * Returns the schema of the class
    */
-  public static Schema getSchema(Class<? extends Persistent> clazz) 
-    throws SecurityException, NoSuchFieldException
-    , IllegalArgumentException, IllegalAccessException {
-    
-    java.lang.reflect.Field field = clazz.getDeclaredField("_SCHEMA");
+  public static Schema getSchema(Class<? extends Persistent> clazz)
+      throws SecurityException, NoSuchFieldException, IllegalArgumentException,
+      IllegalAccessException {
+
+    java.lang.reflect.Field field = clazz.getDeclaredField("SCHEMA$");
     return (Schema) field.get(null);
   }
-  
+
+  /**
+   * Return the field names from a persistent object
+   * 
+   * @param persistent
+   *          the persistent object to get the fields names from
+   * @return the field names
+   */
+  public static String[] getPersistentFieldNames(Persistent persistent) {
+    return getSchemaFieldNames(persistent.getSchema());
+  }
+
+  /**
+   * Return the field names from a schema object
+   * 
+   * @param persistent
+   *          the persistent object to get the fields names from
+   * @return the field names
+   */
+  public static String[] getSchemaFieldNames(Schema schema) {
+    List<Field> fields = schema.getFields();
+    String[] fieldNames = new String[fields.size() - 1];
+    for (int i = 0; i < fieldNames.length; i++) {
+      fieldNames[i] = fields.get(i + 1).name();
+    }
+    return fieldNames;
+  }
+
+  public static <T extends Persistent> T deepClonePersistent(T persistent) {
+    ByteArrayOutputStream bos = new ByteArrayOutputStream();
+    BinaryEncoder enc = EncoderFactory.get().binaryEncoder(bos, null);
+    SpecificDatumWriter<Persistent> writer = new SpecificDatumWriter<Persistent>(
+        persistent.getSchema());
+    try {
+      writer.write(persistent, enc);
+    } catch (IOException e) {
+      throw new RuntimeException(
+          "Unable to serialize avro object to byte buffer - "
+              + "please report this issue to the Gora bugtracker "
+              + "or your administrator.");
+    }
+    byte[] value = bos.toByteArray();
+    Decoder dec = DecoderFactory.get().binaryDecoder(value, null);
+    @SuppressWarnings("unchecked")
+    SpecificDatumReader<T> reader = new SpecificDatumReader<T>(
+        (Class<T>) persistent.getClass());
+    try {
+      return reader.read(null, dec);
+    } catch (IOException e) {
+      throw new RuntimeException(
+          "Unable to deserialize avro object from byte buffer - "
+              + "please report this issue to the Gora bugtracker "
+              + "or your administrator.");
+    }
+
+  }
+
 }

Modified: gora/branches/GORA_94/gora-core/src/main/java/org/apache/gora/util/ByteUtils.java
URL: http://svn.apache.org/viewvc/gora/branches/GORA_94/gora-core/src/main/java/org/apache/gora/util/ByteUtils.java?rev=1517093&r1=1517092&r2=1517093&view=diff
==============================================================================
--- gora/branches/GORA_94/gora-core/src/main/java/org/apache/gora/util/ByteUtils.java (original)
+++ gora/branches/GORA_94/gora-core/src/main/java/org/apache/gora/util/ByteUtils.java Sat Aug 24 00:27:39 2013
@@ -43,9 +43,10 @@ import java.nio.ByteBuffer;
 import org.apache.avro.Schema;
 import org.apache.avro.Schema.Type;
 import org.apache.avro.reflect.ReflectData;
+import org.apache.avro.specific.SpecificDatumReader;
+import org.apache.avro.specific.SpecificDatumWriter;
+import org.apache.avro.specific.SpecificRecord;
 import org.apache.avro.util.Utf8;
-import org.apache.gora.avro.PersistentDatumReader;
-import org.apache.gora.avro.PersistentDatumWriter;
 import org.apache.hadoop.io.WritableUtils;
 
 //  This code is copied almost directly from HBase project's Bytes class.
@@ -677,30 +678,31 @@ public class ByteUtils {
   }
 
   @SuppressWarnings("unchecked")
-  public static Object fromBytes( byte[] val, Schema schema
-      , PersistentDatumReader<?> datumReader, Object object)
+  public static <T> T fromBytes( byte[] val, Schema schema
+      , SpecificDatumReader<T> datumReader, T object)
   throws IOException {
     Type type = schema.getType();
     switch (type) {
     case ENUM:
       String symbol = schema.getEnumSymbols().get(val[0]);
-      return Enum.valueOf(ReflectData.get().getClass(schema), symbol);
-    case STRING:  return new Utf8(toString(val));
-    case BYTES:   return ByteBuffer.wrap(val);
-    case INT:     return bytesToVint(val);
-    case LONG:    return bytesToVlong(val);
-    case FLOAT:   return toFloat(val);
-    case DOUBLE:  return toDouble(val);
-    case BOOLEAN: return val[0] != 0;
+      return (T)Enum.valueOf(ReflectData.get().getClass(schema), symbol);
+    case STRING:  return (T)new Utf8(toString(val));
+    case BYTES:   return (T)ByteBuffer.wrap(val);
+    case INT:     return (T)Integer.valueOf(bytesToVint(val));
+    case LONG:    return (T)Long.valueOf(bytesToVlong(val));
+    case FLOAT:   return (T)Float.valueOf(toFloat(val));
+    case DOUBLE:  return (T)Double.valueOf(toDouble(val));
+    case BOOLEAN: return (T)Boolean.valueOf(val[0] != 0);
     case RECORD:  //fall
     case MAP:
-    case ARRAY:   return IOUtils.deserialize(val, datumReader, schema, object);
+    case ARRAY:   return (T)IOUtils.deserialize(val, (SpecificDatumReader<SpecificRecord>)datumReader, schema, (SpecificRecord)object);
     default: throw new RuntimeException("Unknown type: "+type);
     }
   }
 
-  public static byte[] toBytes(Object o, Schema schema
-      , PersistentDatumWriter<?> datumWriter)
+  @SuppressWarnings("unchecked")
+  public static <T> byte[] toBytes(T o, Schema schema
+      , SpecificDatumWriter<T> datumWriter)
   throws IOException {
     Type type = schema.getType();
     switch (type) {
@@ -714,7 +716,7 @@ public class ByteUtils {
     case ENUM:    return new byte[] { (byte)((Enum<?>) o).ordinal() };
     case RECORD:  //fall
     case MAP:
-    case ARRAY:   return IOUtils.serialize(datumWriter, schema, o);
+    case ARRAY:   return IOUtils.serialize((SpecificDatumWriter<SpecificRecord>)datumWriter, schema, (SpecificRecord)o);
     default: throw new RuntimeException("Unknown type: "+type);
     }
   }

Modified: gora/branches/GORA_94/gora-core/src/main/java/org/apache/gora/util/IOUtils.java
URL: http://svn.apache.org/viewvc/gora/branches/GORA_94/gora-core/src/main/java/org/apache/gora/util/IOUtils.java?rev=1517093&r1=1517092&r2=1517093&view=diff
==============================================================================
--- gora/branches/GORA_94/gora-core/src/main/java/org/apache/gora/util/IOUtils.java (original)
+++ gora/branches/GORA_94/gora-core/src/main/java/org/apache/gora/util/IOUtils.java Sat Aug 24 00:27:39 2013
@@ -38,11 +38,12 @@ import org.apache.avro.io.BinaryEncoder;
 import org.apache.avro.io.Decoder;
 import org.apache.avro.io.DecoderFactory;
 import org.apache.avro.io.Encoder;
-import org.apache.avro.ipc.ByteBufferInputStream;
-import org.apache.avro.ipc.ByteBufferOutputStream;
-import org.apache.gora.avro.PersistentDatumReader;
-import org.apache.gora.avro.PersistentDatumWriter;
-import org.apache.gora.persistency.impl.PersistentBase;
+import org.apache.avro.io.EncoderFactory;
+import org.apache.avro.specific.SpecificDatumReader;
+import org.apache.avro.specific.SpecificDatumWriter; 
+import org.apache.avro.specific.SpecificRecord;
+import org.apache.avro.util.ByteBufferInputStream;
+import org.apache.avro.util.ByteBufferOutputStream;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.io.DataInputBuffer;
 import org.apache.hadoop.io.DataOutputBuffer;
@@ -162,20 +163,20 @@ public class IOUtils {
   /**
    * Serializes the field object using the datumWriter.
    */
-  public static<T extends PersistentBase> void serialize(OutputStream os,
-      PersistentDatumWriter<T> datumWriter, Schema schema, Object object)
+  public static<T extends SpecificRecord> void serialize(OutputStream os,
+      SpecificDatumWriter<T> datumWriter, Schema schema, T object)
       throws IOException {
 
-    BinaryEncoder encoder = new BinaryEncoder(os);
-    datumWriter.write(schema, object, encoder);
+    BinaryEncoder encoder = EncoderFactory.get().binaryEncoder(os, null);
+    datumWriter.write(object, encoder);
     encoder.flush();
   }
 
   /**
    * Serializes the field object using the datumWriter.
    */
-  public static<T extends PersistentBase> byte[] serialize(PersistentDatumWriter<T> datumWriter
-      , Schema schema, Object object) throws IOException {
+  public static<T extends SpecificRecord> byte[] serialize(SpecificDatumWriter<T> datumWriter
+      , Schema schema, T object) throws IOException {
     ByteArrayOutputStream os = new ByteArrayOutputStream();
     serialize(os, datumWriter, schema, object);
     return os.toByteArray();
@@ -251,34 +252,21 @@ public class IOUtils {
   /**
    * Deserializes the field object using the datumReader.
    */
-  @SuppressWarnings("unchecked")
-  public static<K, T extends PersistentBase> K deserialize(InputStream is,
-      PersistentDatumReader<T> datumReader, Schema schema, K object)
+  public static<K, T extends SpecificRecord> T deserialize(InputStream is,
+      SpecificDatumReader<T> datumReader, Schema schema, T object)
       throws IOException {
-    decoder = DecoderFactory.defaultFactory().createBinaryDecoder(is, decoder);
-    return (K)datumReader.read(object, schema, decoder);
+    decoder = DecoderFactory.get().binaryDecoder(is, decoder);
+    return (T)datumReader.read(object, decoder);
   }
 
   /**
    * Deserializes the field object using the datumReader.
    */
-  @SuppressWarnings("unchecked")
-  public static<K, T extends PersistentBase> K deserialize(byte[] bytes,
-      PersistentDatumReader<T> datumReader, Schema schema, K object)
+  public static<K, T extends SpecificRecord> T deserialize(byte[] bytes,
+      SpecificDatumReader<T> datumReader, Schema schema, T object)
       throws IOException {
-    decoder = DecoderFactory.defaultFactory().createBinaryDecoder(bytes, decoder);
-    return (K)datumReader.read(object, schema, decoder);
-  }
-
-
-  /**
-   * Serializes the field object using the datumWriter.
-   */
-  public static<T extends PersistentBase> byte[] deserialize(PersistentDatumWriter<T> datumWriter
-      , Schema schema, Object object) throws IOException {
-    ByteArrayOutputStream os = new ByteArrayOutputStream();
-    serialize(os, datumWriter, schema, object);
-    return os.toByteArray();
+    decoder = DecoderFactory.get().binaryDecoder(bytes, decoder);
+    return (T)datumReader.read(object, decoder);
   }
 
   /**

Added: gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/examples/TestWebPageDataCreator.java
URL: http://svn.apache.org/viewvc/gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/examples/TestWebPageDataCreator.java?rev=1517093&view=auto
==============================================================================
--- gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/examples/TestWebPageDataCreator.java (added)
+++ gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/examples/TestWebPageDataCreator.java Sat Aug 24 00:27:39 2013
@@ -0,0 +1,19 @@
+package org.apache.gora.examples;
+
+import java.io.IOException;
+
+import org.apache.gora.examples.generated.WebPage;
+import org.apache.gora.memory.store.MemStore;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+@RunWith(JUnit4.class)
+public class TestWebPageDataCreator {
+
+  @Test public void testCreatesData() throws IOException{
+    MemStore<String, WebPage> dataStore = new MemStore<String, WebPage>();
+    WebPageDataCreator.createWebPageData(dataStore);
+  }
+  
+}

Modified: gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/mapreduce/DataStoreMapReduceTestBase.java
URL: http://svn.apache.org/viewvc/gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/mapreduce/DataStoreMapReduceTestBase.java?rev=1517093&r1=1517092&r2=1517093&view=diff
==============================================================================
--- gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/mapreduce/DataStoreMapReduceTestBase.java (original)
+++ gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/mapreduce/DataStoreMapReduceTestBase.java Sat Aug 24 00:27:39 2013
@@ -37,7 +37,6 @@ import org.slf4j.LoggerFactory;
  * class, which actually only uses {@link MapReduceTestUtils} methods to
  * run the tests.
  */
-@SuppressWarnings("deprecation")
 public abstract class DataStoreMapReduceTestBase extends HadoopTestCase {
   public static final Logger LOG = LoggerFactory.getLogger(DataStoreMapReduceTestBase.class);
 
@@ -71,8 +70,8 @@ public abstract class DataStoreMapReduce
   @Override
   public void tearDown() throws Exception {
     LOG.info("Tearing down Hadoop Test Case...");
-    super.tearDown();
     webPageStore.close();
+    super.tearDown();
   }
 
   protected abstract DataStore<String, WebPage> createWebPageDataStore()

Modified: gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/mapreduce/MapReduceTestUtils.java
URL: http://svn.apache.org/viewvc/gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/mapreduce/MapReduceTestUtils.java?rev=1517093&r1=1517092&r2=1517093&view=diff
==============================================================================
--- gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/mapreduce/MapReduceTestUtils.java (original)
+++ gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/mapreduce/MapReduceTestUtils.java Sat Aug 24 00:27:39 2013
@@ -19,10 +19,10 @@
 package org.apache.gora.mapreduce;
 
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.avro.Schema.Field;
 import org.apache.gora.examples.WebPageDataCreator;
 import org.apache.gora.examples.generated.TokenDatum;
 import org.apache.gora.examples.generated.WebPage;
@@ -32,8 +32,11 @@ import org.apache.gora.query.Query;
 import org.apache.gora.store.DataStore;
 import org.apache.gora.store.impl.DataStoreBase;
 import org.apache.hadoop.conf.Configuration;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class MapReduceTestUtils {
 
@@ -50,7 +53,12 @@ public class MapReduceTestUtils {
 
     QueryCounter<String,WebPage> counter = new QueryCounter<String,WebPage>(conf);
     Query<String,WebPage> query = dataStore.newQuery();
-    query.setFields(WebPage._ALL_FIELDS);
+    List<Field> fields = WebPage.SCHEMA$.getFields();
+    String[] fieldNames = new String[fields.size()];
+    for(int i = 0; i< fieldNames.length; i++){
+      fieldNames[i] = fields.get(i).name();
+    }
+    query.setFields(fieldNames);
     
     dataStore.close();
 
@@ -65,7 +73,7 @@ public class MapReduceTestUtils {
  
   public static void testWordCount(Configuration conf, DataStore<String,WebPage> inStore, DataStore<String,
       TokenDatum> outStore) throws Exception {
-	  //Datastore now has to be a Hadoop based datastore
+    //Datastore now has to be a Hadoop based datastore
     ((DataStoreBase<String,WebPage>)inStore).setConf(conf);
     ((DataStoreBase<String,TokenDatum>)outStore).setConf(conf);
     
@@ -97,6 +105,6 @@ public class MapReduceTestUtils {
       String token, int count) throws Exception {
     TokenDatum datum = outStore.get(token, null);
     assertNotNull("token:" + token + " cannot be found in datastore", datum);
-    assertEquals("count for token:" + token + " is wrong", count, datum.getCount());
+    assertEquals("count for token:" + token + " is wrong", count, datum.getCount()); //.intValue()?
   }
 }

Modified: gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/mapreduce/TestGoraInputFormat.java
URL: http://svn.apache.org/viewvc/gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/mapreduce/TestGoraInputFormat.java?rev=1517093&r1=1517092&r2=1517093&view=diff
==============================================================================
--- gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/mapreduce/TestGoraInputFormat.java (original)
+++ gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/mapreduce/TestGoraInputFormat.java Sat Aug 24 00:27:39 2013
@@ -22,6 +22,7 @@ import java.io.IOException;
 import java.util.Arrays;
 import java.util.List;
 
+import org.apache.avro.Schema.Field;
 import org.apache.gora.examples.generated.Employee;
 import org.apache.gora.mock.persistency.MockPersistent;
 import org.apache.gora.mock.query.MockQuery;
@@ -41,7 +42,8 @@ public class TestGoraInputFormat {
     MockDataStore store = MockDataStore.get();
 
     MockQuery query = store.newQuery();
-    query.setFields(Employee._ALL_FIELDS);
+    
+    query.setFields(getEmployeeFieldNames());
     GoraInputFormat.setInput(job, query, false);
 
     GoraInputFormat<String, MockPersistent> inputFormat
@@ -61,7 +63,16 @@ public class TestGoraInputFormat {
 
     InputSplit split = splits.get(0);
     PartitionQuery query = ((GoraInputSplit)split).getQuery();
-    assertTrue(Arrays.equals(Employee._ALL_FIELDS, query.getFields()));
+    Assert.assertTrue(Arrays.equals(getEmployeeFieldNames(), query.getFields()));
+  }
+  
+  private static String[] getEmployeeFieldNames(){
+    List<Field> fields = Employee.SCHEMA$.getFields();
+    String[] fieldNames = new String[fields.size()];
+    for(int i = 0; i< fieldNames.length; i++){
+      fieldNames[i] = fields.get(i).name();
+    }
+    return fieldNames;
   }
 
 }
\ No newline at end of file

Modified: gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/mapreduce/TestPersistentSerialization.java
URL: http://svn.apache.org/viewvc/gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/mapreduce/TestPersistentSerialization.java?rev=1517093&r1=1517092&r2=1517093&view=diff
==============================================================================
--- gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/mapreduce/TestPersistentSerialization.java (original)
+++ gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/mapreduce/TestPersistentSerialization.java Sat Aug 24 00:27:39 2013
@@ -18,6 +18,9 @@
 
 package org.apache.gora.mapreduce;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+
 import org.apache.avro.util.Utf8;
 import org.apache.gora.examples.WebPageDataCreator;
 import org.apache.gora.examples.generated.Employee;
@@ -31,8 +34,9 @@ import org.apache.hadoop.conf.Configurat
 import org.junit.Test;
 import static org.junit.Assert.assertEquals;
 
-/** Test class for {@link PersistentSerialization}, {@link PersistentSerializer}
- *  and {@link PersistentDeserializer}
+/**
+ * Test class for {@link PersistentSerialization}, {@link PersistentSerializer}
+ * and {@link PersistentDeserializer}
  */
 public class TestPersistentSerialization {
 
@@ -75,8 +79,8 @@ public class TestPersistentSerialization
 
     Result<String, WebPage> result = store.newQuery().execute();
 
-    int i=0;
-    while(result.next()) {
+    int i = 0;
+    while (result.next()) {
       WebPage page = result.get();
       TestIOUtils.testSerializeDeserialize(page);
       i++;
@@ -93,10 +97,10 @@ public class TestPersistentSerialization
     page1.setUrl(new Utf8("foo"));
     page2.setUrl(new Utf8("baz"));
     page3.setUrl(new Utf8("bar"));
-
-    page1.addToParsedContent(new Utf8("coo"));
-
-    page2.putToOutlinks(new Utf8("a"), new Utf8("b"));
+    page1.setParsedContent(new ArrayList<CharSequence>());
+    page1.getParsedContent().add(new Utf8("coo"));
+    page2.setOutlinks(new HashMap<CharSequence, CharSequence>());
+    page2.getOutlinks().put(new Utf8("a"), new Utf8("b"));
 
     TestIOUtils.testSerializeDeserialize(page1, page2, page3);
   }

Modified: gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/mock/persistency/MockPersistent.java
URL: http://svn.apache.org/viewvc/gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/mock/persistency/MockPersistent.java?rev=1517093&r1=1517092&r2=1517093&view=diff
==============================================================================
--- gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/mock/persistency/MockPersistent.java (original)
+++ gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/mock/persistency/MockPersistent.java Sat Aug 24 00:27:39 2013
@@ -19,8 +19,7 @@
 package org.apache.gora.mock.persistency;
 
 import org.apache.avro.Schema;
-import org.apache.gora.persistency.Persistent;
-import org.apache.gora.persistency.StateManager;
+import org.apache.gora.persistency.Tombstone;
 import org.apache.gora.persistency.impl.PersistentBase;
 
 public class MockPersistent extends PersistentBase {
@@ -36,9 +35,6 @@ public class MockPersistent extends Pers
   public MockPersistent() {
   }
   
-  public MockPersistent(StateManager stateManager) {
-    super(stateManager);
-  }
   
   @Override
   public Object get(int field) {
@@ -79,22 +75,9 @@ public class MockPersistent extends Pers
   }
 
   @Override
-  public String getField(int index) {
-    return null;
-  }
-
-  @Override
-  public int getFieldIndex(String field) {
-    return 0;
-  }
-
-  @Override
-  public String[] getFields() {
-    return null;
+  public Tombstone getTombstone() {
+    return new Tombstone(){};
   }
 
-  @Override
-  public Persistent newInstance(StateManager stateManager) {
-    return new MockPersistent(stateManager);
-  }
+  
 }

Modified: gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/persistency/impl/TestPersistentBase.java
URL: http://svn.apache.org/viewvc/gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/persistency/impl/TestPersistentBase.java?rev=1517093&r1=1517092&r2=1517093&view=diff
==============================================================================
--- gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/persistency/impl/TestPersistentBase.java (original)
+++ gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/persistency/impl/TestPersistentBase.java Sat Aug 24 00:27:39 2013
@@ -20,13 +20,19 @@ package org.apache.gora.persistency.impl
 
 import java.io.IOException;
 import java.nio.ByteBuffer;
+import java.util.ArrayList;
+import java.util.HashMap;
 
 import org.apache.avro.util.Utf8;
 import org.apache.gora.examples.generated.Employee;
+import org.apache.gora.examples.generated.ImmutableFields;
+import org.apache.gora.examples.generated.Metadata;
+import org.apache.gora.examples.generated.V2;
 import org.apache.gora.examples.generated.WebPage;
 import org.apache.gora.memory.store.MemStore;
 import org.apache.gora.store.DataStoreFactory;
 import org.apache.gora.store.DataStoreTestUtil;
+import org.apache.gora.util.AvroUtils;
 import org.apache.hadoop.conf.Configuration;
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;

Modified: gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/store/DataStoreTestUtil.java
URL: http://svn.apache.org/viewvc/gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/store/DataStoreTestUtil.java?rev=1517093&r1=1517092&r2=1517093&view=diff
==============================================================================
--- gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/store/DataStoreTestUtil.java (original)
+++ gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/store/DataStoreTestUtil.java Sat Aug 24 00:27:39 2013
@@ -53,6 +53,7 @@ import org.apache.gora.persistency.impl.
 import org.apache.gora.query.PartitionQuery;
 import org.apache.gora.query.Query;
 import org.apache.gora.query.Result;
+import org.apache.gora.util.AvroUtils;
 import org.apache.gora.util.ByteUtils;
 import org.apache.gora.util.StringUtils;
 import org.junit.Test;
@@ -159,7 +160,7 @@ public class DataStoreTestUtil {
     dataStore.put(ssn, employee);
     dataStore.flush();
 
-    Employee after = dataStore.get(ssn, Employee._ALL_FIELDS);
+    Employee after = dataStore.get(ssn, AvroUtils.getSchemaFieldNames(Employee.SCHEMA$));
 
     assertEquals(employee, after);
   }
@@ -337,9 +338,9 @@ public class DataStoreTestUtil {
     for (int i = 0; i < 1; i++) {
       String key = Long.toString(ssn + i);
       Employee employee = dataStore.get(key);
-      assertEquals(now - 18L * YEAR_IN_MS, employee.getDateOfBirth());
+      assertEquals(now - 18L * YEAR_IN_MS, employee.getDateOfBirth()); //.intValue()?
       assertEquals("John Doe " + (i + 5), employee.getName().toString());
-      assertEquals(120000, employee.getSalary());
+      assertEquals(120000, employee.getSalary()); //.intValue()?
     }
   }
 
@@ -360,10 +361,10 @@ public class DataStoreTestUtil {
       WebPage webPage = dataStore.newPersistent();
       webPage.setUrl(new Utf8(urls[i]));
       for (parsedContentCount = 0; parsedContentCount < 5; parsedContentCount++) {
-        webPage.addToParsedContent(new Utf8(parsedContent + i + "," + parsedContentCount));
+        webPage.getParsedContent().add(new Utf8(parsedContent + i + "," + parsedContentCount));
       }
       for (int j = 0; j < urls.length; j += 2) {
-        webPage.putToOutlinks(new Utf8(anchor + j), new Utf8(urls[j]));
+        webPage.getOutlinks().put(new Utf8(anchor + j), new Utf8(urls[j]));
       }
       dataStore.put(webPage.getUrl().toString(), webPage);
     }
@@ -374,11 +375,11 @@ public class DataStoreTestUtil {
       WebPage webPage = dataStore.get(urls[i]);
       webPage.setContent(ByteBuffer.wrap(ByteUtils.toBytes(content + i)));
       for (parsedContentCount = 5; parsedContentCount < 10; parsedContentCount++) {
-        webPage.addToParsedContent(new Utf8(parsedContent + i + "," + parsedContentCount));
+        webPage.getParsedContent().add(new Utf8(parsedContent + i + "," + parsedContentCount));
       }
       webPage.getOutlinks().clear();
       for (int j = 1; j < urls.length; j += 2) {
-        webPage.putToOutlinks(new Utf8(anchor + j), new Utf8(urls[j]));
+        webPage.getOutlinks().put(new Utf8(anchor + j), new Utf8(urls[j]));
       }
       dataStore.put(webPage.getUrl().toString(), webPage);
     }
@@ -390,13 +391,13 @@ public class DataStoreTestUtil {
       assertEquals(content + i, ByteUtils.toString( toByteArray(webPage.getContent()) ));
       assertEquals(10, webPage.getParsedContent().size());
       int j = 0;
-      for (Utf8 pc : webPage.getParsedContent()) {
+      for (CharSequence pc : webPage.getParsedContent()) {
         assertEquals(parsedContent + i + "," + j, pc.toString());
         j++;
       }
       int count = 0;
       for (j = 1; j < urls.length; j += 2) {
-        Utf8 link = webPage.getOutlinks().get(new Utf8(anchor + j));
+        CharSequence link = webPage.getOutlinks().get(new Utf8(anchor + j));
         assertNotNull(link);
         assertEquals(urls[j], link.toString());
         count++;
@@ -407,7 +408,7 @@ public class DataStoreTestUtil {
     for (int i = 0; i < urls.length; i++) {
       WebPage webPage = dataStore.get(urls[i]);
       for (int j = 0; j < urls.length; j += 2) {
-        webPage.putToOutlinks(new Utf8(anchor + j), new Utf8(urls[j]));
+        webPage.getOutlinks().put(new Utf8(anchor + j), new Utf8(urls[j]));
       }
       dataStore.put(webPage.getUrl().toString(), webPage);
     }
@@ -418,7 +419,7 @@ public class DataStoreTestUtil {
       WebPage webPage = dataStore.get(urls[i]);
       int count = 0;
       for (int j = 0; j < urls.length; j++) {
-        Utf8 link = webPage.getOutlinks().get(new Utf8(anchor + j));
+        CharSequence link = webPage.getOutlinks().get(new Utf8(anchor + j));
         assertNotNull(link);
         assertEquals(urls[j], link.toString());
         count++;
@@ -710,7 +711,7 @@ public class DataStoreTestUtil {
     WebPageDataCreator.createWebPageData(store);
 
     query = store.newQuery();
-    query.setFields(WebPage._ALL_FIELDS);
+    query.setFields(AvroUtils.getSchemaFieldNames(WebPage.SCHEMA$));
 
     assertNumResults(store.newQuery(), URLS.length);
     store.deleteByQuery(query);
@@ -753,8 +754,8 @@ public class DataStoreTestUtil {
     WebPageDataCreator.createWebPageData(store);
 
     query = store.newQuery();
-    query.setFields(WebPage.Field.OUTLINKS.getName()
-        , WebPage.Field.PARSED_CONTENT.getName(), WebPage.Field.CONTENT.getName());
+    query.setFields("outlinks"
+        , "parsedContent", "content");
 
     assertNumResults(store.newQuery(), URLS.length);
     store.deleteByQuery(query);
@@ -786,7 +787,7 @@ public class DataStoreTestUtil {
     WebPageDataCreator.createWebPageData(store);
 
     query = store.newQuery();
-    query.setFields(WebPage.Field.URL.getName());
+    query.setFields("url");
     String startKey = SORTED_URLS[NUM_KEYS];
     String endKey = SORTED_URLS[SORTED_URLS.length - NUM_KEYS];
     query.setStartKey(startKey);
@@ -831,7 +832,7 @@ public class DataStoreTestUtil {
     WebPage page = store.newPersistent();
     Metadata metadata = new Metadata();
     metadata.setVersion(1);
-    metadata.putToData(new Utf8("foo"), new Utf8("baz"));
+    metadata.getData().put(new Utf8("foo"), new Utf8("baz"));
 
     page.setMetadata(metadata);
     page.setUrl(new Utf8(url));
@@ -842,7 +843,7 @@ public class DataStoreTestUtil {
     page = store.get(revUrl);
     metadata = page.getMetadata();
     assertNotNull(metadata);
-    assertEquals(1, metadata.getVersion());
+    assertEquals(1, metadata.getVersion()); //.intValue()?
     assertEquals(new Utf8("baz"), metadata.getData().get(new Utf8("foo")));
   }
 
@@ -854,7 +855,7 @@ public class DataStoreTestUtil {
     String[] tokens = {"example", "content", "in", "example.com"};
 
     for(String token: tokens) {
-      page.addToParsedContent(new Utf8(token));
+      page.getParsedContent().add(new Utf8(token));
     }
 
     store.put("com.example/http", page);
@@ -885,9 +886,9 @@ public class DataStoreTestUtil {
     WebPage page = store.newPersistent();
 
     page.setUrl(new Utf8("http://example.com"));
-    page.putToOutlinks(new Utf8("http://example2.com"), new Utf8("anchor2"));
-    page.putToOutlinks(new Utf8("http://example3.com"), new Utf8("anchor3"));
-    page.putToOutlinks(new Utf8("http://example3.com"), new Utf8("anchor4"));
+    page.getOutlinks().put(new Utf8("http://example2.com"), new Utf8("anchor2"));
+    page.getOutlinks().put(new Utf8("http://example3.com"), new Utf8("anchor3"));
+    page.getOutlinks().put(new Utf8("http://example3.com"), new Utf8("anchor4"));
     store.put("com.example/http", page);
     store.close();
   }

Modified: gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/util/TestIOUtils.java
URL: http://svn.apache.org/viewvc/gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/util/TestIOUtils.java?rev=1517093&r1=1517092&r2=1517093&view=diff
==============================================================================
--- gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/util/TestIOUtils.java (original)
+++ gora/branches/GORA_94/gora-core/src/test/java/org/apache/gora/util/TestIOUtils.java Sat Aug 24 00:27:39 2013
@@ -27,11 +27,10 @@ import java.io.EOFException;
 import java.io.IOException;
 import java.util.Arrays;
 
-import org.apache.avro.ipc.ByteBufferInputStream;
-import org.apache.avro.ipc.ByteBufferOutputStream;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.avro.util.ByteBufferInputStream;
+import org.apache.avro.util.ByteBufferOutputStream;
 import org.apache.gora.mapreduce.GoraMapReduceUtils;
+import org.apache.gora.util.IOUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.io.DataInputBuffer;
 import org.apache.hadoop.io.DataOutputBuffer;
@@ -39,6 +38,8 @@ import org.apache.hadoop.io.Text;
 import org.apache.hadoop.io.Writable;
 import org.junit.Test;
 import static org.junit.Assert.assertEquals;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Test case for {@link IOUtils} class.

Modified: gora/branches/GORA_94/gora-tutorial/pom.xml
URL: http://svn.apache.org/viewvc/gora/branches/GORA_94/gora-tutorial/pom.xml?rev=1517093&r1=1517092&r2=1517093&view=diff
==============================================================================
--- gora/branches/GORA_94/gora-tutorial/pom.xml (original)
+++ gora/branches/GORA_94/gora-tutorial/pom.xml Sat Aug 24 00:27:39 2013
@@ -128,7 +128,7 @@
         </dependency>
         
         <dependency>
-            <groupId>org.apache.hadoop</groupId>
+            <groupId>org.apache.avro</groupId>
             <artifactId>avro</artifactId>
         </dependency>
         

Modified: gora/branches/GORA_94/gora-tutorial/src/main/java/org/apache/gora/tutorial/log/LogAnalytics.java
URL: http://svn.apache.org/viewvc/gora/branches/GORA_94/gora-tutorial/src/main/java/org/apache/gora/tutorial/log/LogAnalytics.java?rev=1517093&r1=1517092&r2=1517093&view=diff
==============================================================================
--- gora/branches/GORA_94/gora-tutorial/src/main/java/org/apache/gora/tutorial/log/LogAnalytics.java (original)
+++ gora/branches/GORA_94/gora-tutorial/src/main/java/org/apache/gora/tutorial/log/LogAnalytics.java Sat Aug 24 00:27:39 2013
@@ -77,7 +77,7 @@ public class LogAnalytics extends Config
     protected void map(Long key, Pageview pageview, Context context)
         throws IOException ,InterruptedException {
       
-      Utf8 url = pageview.getUrl();
+      CharSequence url = pageview.getUrl();
       long day = getDay(pageview.getTimestamp());
       
       tuple.getKey().set(url.toString());

Modified: gora/branches/GORA_94/pom.xml
URL: http://svn.apache.org/viewvc/gora/branches/GORA_94/pom.xml?rev=1517093&r1=1517092&r2=1517093&view=diff
==============================================================================
--- gora/branches/GORA_94/pom.xml (original)
+++ gora/branches/GORA_94/pom.xml Sat Aug 24 00:27:39 2013
@@ -571,12 +571,14 @@
     </profiles>
 
     <modules>
+        <module>gora-compiler</module>
+        <module>gora-compiler-cli</module>
         <module>gora-core</module>
-        <module>gora-hbase</module>
-        <module>gora-accumulo</module>
-        <module>gora-cassandra</module>
+        <!--module>gora-hbase</module>
+        <module>gora-accumulo</module-->
+        <!--module>gora-cassandra</module-->
         <!-- module>gora-solr</module-->
-        <module>gora-dynamodb</module>
+        <!--module>gora-dynamodb</module-->
         <!--module>gora-sql</module-->
         <module>gora-tutorial</module>
         <module>sources-dist</module>
@@ -591,7 +593,7 @@
         <hadoop.version>1.0.1</hadoop.version>
         <hadoop.test.version>1.0.1</hadoop.test.version>
         <hbase.version>0.90.4</hbase.version>
-        <avro.version>1.3.3</avro.version>
+        <avro.version>1.7.4</avro.version>
         <cxf-rt-frontend-jaxrs.version>2.5.2</cxf-rt-frontend-jaxrs.version>
         <!-- Amazon Dependencies -->
         <amazon.version>1.3.12</amazon.version>
@@ -618,7 +620,7 @@
         <mysql.version>5.1.18</mysql.version>
         <xerces.version>2.9.1</xerces.version>
         <!-- Logging Dependencies -->
-        <slf4j.version>1.6.1</slf4j.version>
+        <slf4j.version>1.5.8</slf4j.version>
         <log4j.version>1.2.16</log4j.version>
 
         <!-- Testing Dependencies -->
@@ -627,7 +629,8 @@
         <!-- Maven Plugin Dependencies -->
         <maven-compiler-plugin.version>2.3.2</maven-compiler-plugin.version>
         <maven-resources-plugin.version>2.5</maven-resources-plugin.version>
-        <maven-jar-plugin.version>2.4</maven-jar-plugin.version>
+        <!-- pegged at 2.3.2 for eclipse users, see https://github.com/sonatype/m2eclipse-extras/issues/10 -->
+        <maven-jar-plugin.version>2.3.2</maven-jar-plugin.version>
         <maven-dependency-plugin.version>2.4</maven-dependency-plugin.version>
         <build-helper-maven-plugin.version>1.7</build-helper-maven-plugin.version>
         <maven-surfire-plugin.version>2.12</maven-surfire-plugin.version>
@@ -702,6 +705,30 @@
             <version>${project.version}</version>
             <type>test-jar</type>
           </dependency>
+          
+          <dependency>
+            <groupId>org.apache.gora</groupId>
+            <artifactId>gora-compiler</artifactId>
+            <version>${project.version}</version>
+          </dependency>
+          <!--dependency>
+            <groupId>org.apache.gora</groupId>
+            <artifactId>gora-core</artifactId>
+            <version>${project.version}</version>
+            <type>test-jar</type>
+          </dependency-->
+          
+          <dependency>
+            <groupId>org.apache.gora</groupId>
+            <artifactId>gora-compiler-cli</artifactId>
+            <version>${project.version}</version>
+          </dependency>
+          <!--dependency>
+            <groupId>org.apache.gora</groupId>
+            <artifactId>gora-core</artifactId>
+            <version>${project.version}</version>
+            <type>test-jar</type>
+          </dependency-->
 
           <dependency>
             <groupId>org.apache.gora</groupId>
@@ -786,7 +813,7 @@
             </dependency>
 
             <dependency>
-                <groupId>org.apache.hadoop</groupId>
+                <groupId>org.apache.avro</groupId>
                 <artifactId>avro</artifactId>
                 <version>${avro.version}</version>
                 <exclusions>
@@ -796,17 +823,53 @@
                     </exclusion>
                 </exclusions>
             </dependency>
+            
+            <dependency>
+                <groupId>org.apache.avro</groupId>
+                <artifactId>avro-compiler</artifactId>
+                <version>${avro.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>ant</groupId>
+                        <artifactId>ant</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+            
+            <dependency>
+                <groupId>org.apache.avro</groupId>
+                <artifactId>avro-mapred</artifactId>
+                <version>${avro.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>ant</groupId>
+                        <artifactId>ant</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
 
             <dependency>
                 <groupId>org.apache.hbase</groupId>
                 <artifactId>hbase</artifactId>
                 <version>${hbase.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>org.apache.hadoop</groupId>
+                        <artifactId>avro</artifactId>
+                    </exclusion>
+                </exclusions>
             </dependency>
             <dependency>
                 <groupId>org.apache.hbase</groupId>
                 <artifactId>hbase</artifactId>
                 <version>${hbase.version}</version>
                 <type>test-jar</type>
+                <exclusions>
+                    <exclusion>
+                        <groupId>org.apache.hadoop</groupId>
+                        <artifactId>avro</artifactId>
+                    </exclusion>
+                </exclusions>
             </dependency>
 
             <!-- Cassandra Dependencies -->
@@ -1252,7 +1315,7 @@
                 <artifactId>junit</artifactId>
                 <version>${junit.version}</version>
             </dependency>
-            
+
         </dependencies>
     </dependencyManagement>