You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@giraph.apache.org by rv...@apache.org on 2014/10/26 02:22:25 UTC

[42/47] GIRAPH-946. Upgrade to Gora 0.5 (Renato Javier Marroquín Mogrovejo via rvs)

http://git-wip-us.apache.org/repos/asf/giraph/blob/7c61dcf4/giraph-gora/src/main/java/org/apache/giraph/io/gora/generated/GVertex.java
----------------------------------------------------------------------
diff --git a/giraph-gora/src/main/java/org/apache/giraph/io/gora/generated/GVertex.java b/giraph-gora/src/main/java/org/apache/giraph/io/gora/generated/GVertex.java
index efd7b95..81b7c9a 100644
--- a/giraph-gora/src/main/java/org/apache/giraph/io/gora/generated/GVertex.java
+++ b/giraph-gora/src/main/java/org/apache/giraph/io/gora/generated/GVertex.java
@@ -15,67 +15,59 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.giraph.io.gora.generated;
 
-import java.util.Map;
-
-import org.apache.avro.Schema;
-import org.apache.avro.AvroRuntimeException;
-import org.apache.avro.util.Utf8;
-import org.apache.gora.persistency.StateManager;
-import org.apache.gora.persistency.StatefulHashMap;
-import org.apache.gora.persistency.impl.PersistentBase;
-import org.apache.gora.persistency.impl.StateManagerImpl;
-
 /**
- * Example class for defining a Giraph-Vertex.
+ * Example class for defining a Giraph-vertex.
  */
 @SuppressWarnings("all")
-public class GVertex extends PersistentBase {
-  /**
-   * Schema used for the class.
-   */
-  public static final Schema OBJ_SCHEMA = Schema.parse(
-      "{\"type\":\"record\",\"name\":\"Vertex\"," +
-      "\"namespace\":\"org.apache.giraph.gora.generated\"," +
-      "\"fields\":[{\"name\":\"vertexId\",\"type\":\"string\"}," +
-      "{\"name\":\"value\",\"type\":\"float\"},{\"name\":\"edges\"," +
-      "\"type\":{\"type\":\"map\",\"values\":\"string\"}}]}");
+public class GVertex extends org.apache.gora.persistency.impl.PersistentBase
+    implements org.apache.avro.specific.SpecificRecord,
+    org.apache.gora.persistency.Persistent {
 
   /**
-   * Field enum
+   * Schema used for the class.
    */
+  public static final org.apache.avro.Schema SCHEMAS =
+      new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\"," +
+            "\"name\":\"GVertex\"," +
+            "\"namespace\":\"org.apache.giraph.io.gora.generated\"," +
+            "\"fields\":[{\"name\":\"vertexId\",\"type\":\"string\"}," +
+            "{\"name\":\"vertexValue\",\"type\":\"float\"}," +
+            "{\"name\":\"edges\",\"type\":" +
+            "{\"type\":\"map\",\"values\":\"string\"}}]}");
+
+  /** Enum containing all data bean's fields. */
   public static enum Field {
     /**
-     * VertexId
+     * Vertex id.
      */
     VERTEX_ID(0, "vertexId"),
 
     /**
-     * Field value
+     * Vertex value.
      */
-    VALUE(1, "value"),
+    VERTEX_VALUE(1, "vertexValue"),
 
     /**
-     * Edges
+     * Vertex edges.
      */
     EDGES(2, "edges");
 
     /**
-     * Field index
+     * Field's index.
      */
     private int index;
 
     /**
-     * Field name
+     * Field's name.
      */
     private String name;
 
     /**
-     * Field constructor
-     * @param index of attribute
-     * @param name of attribute
+     * Field's constructor
+     * @param index field's index.
+     * @param name field's name.
      */
     Field(int index, String name) {
       this.index = index;
@@ -83,24 +75,24 @@ public class GVertex extends PersistentBase {
     }
 
     /**
-     * Gets index
-     * @return int of attribute.
+     * Gets field's index.
+     * @return int field's index.
      */
     public int getIndex() {
       return index;
     }
 
     /**
-     * Gets name
-     * @return String of name.
+     * Gets field's name.
+     * @return String field's name.
      */
     public String getName() {
       return name;
     }
 
     /**
-     * Gets name
-     * @return String of name.
+     * Gets field's attributes to string.
+     * @return String field's attributes to string.
      */
     public String toString() {
       return name;
@@ -111,170 +103,563 @@ public class GVertex extends PersistentBase {
    * Array containing all fields/
    */
   private static final String[] ALL_FIELDS = {
-    "vertexId", "value", "edges"
-  };
-
-  static {
-    PersistentBase.registerFields(GVertex.class, ALL_FIELDS);
-  }
+    "vertexId", "vertexValue", "edges", };
 
   /**
-   * Vertex Id
+   * Tombstone.
    */
-  private Utf8 vertexId;
+  private static final Tombstone TOMBSTONE = new Tombstone();
 
   /**
-   * Value
+   * vertexId.
    */
-  private float value;
+  private java.lang.CharSequence vertexId;
 
   /**
-   * Edges
+   * vertexValue.
    */
-  private Map<Utf8, Utf8> edges;
+  private float vertexValue;
 
   /**
-   * Default constructor
+   * edges.
    */
-  public GVertex() {
-    this(new StateManagerImpl());
-  }
+  private java.util.Map<java.lang.CharSequence, java.lang.CharSequence> edges;
 
   /**
-   * Constructor
-   * @param stateManager from which the object will be created.
+   * Gets the total field count.
+   * @return int field count
    */
-  public GVertex(StateManager stateManager) {
-    super(stateManager);
-    edges = new StatefulHashMap<Utf8, Utf8>();
+  public int getFieldsCount() {
+    return GVertex.ALL_FIELDS.length;
   }
 
   /**
-   * Creates a new instance
-   * @param stateManager from which the object will be created.
-   * @return GVertex created
+   * Gets the schema
+   * @return Schema
    */
-  public GVertex newInstance(StateManager stateManager) {
-    return new GVertex(stateManager);
-  }
-
-  /**
-   * Gets the object schema
-   * @return Schema of the object.
-   */
-  public Schema getSchema() {
-    return OBJ_SCHEMA;
+  public org.apache.avro.Schema getSchema() {
+    return SCHEMAS;
   }
 
   /**
    * Gets field
-   * @param fieldIndex index of field to be used.
+   * @param field index field.
    * @return Object from an index.
    */
-  public Object get(int fieldIndex) {
-    switch (fieldIndex) {
+  public java.lang.Object get(int field) {
+    switch (field) {
     case 0:
       return vertexId;
     case 1:
-      return value;
+      return vertexValue;
     case 2:
       return edges;
     default:
-      throw new AvroRuntimeException("Bad index");
+      throw new org.apache.avro.AvroRuntimeException("Bad index");
     }
   }
 
   /**
    * Puts a value into a field.
-   * @param fieldIndex index of field used.
-   * @param fieldValue value of field used.
+   * @param field index of field used.
+   * @param value value of field used.
    */
   @SuppressWarnings(value = "unchecked")
-  public void put(int fieldIndex, Object fieldValue) {
-    if (isFieldEqual(fieldIndex, fieldValue)) {
-      return;
-    }
-    getStateManager().setDirty(this, fieldIndex);
-    switch (fieldIndex) {
+  public void put(int field, java.lang.Object value) {
+    switch (field) {
     case 0:
-      vertexId = (Utf8) fieldValue; break;
+      vertexId = (java.lang.CharSequence) value;
+      break;
     case 1:
-      value = (Float) fieldValue; break;
+      vertexValue = (java.lang.Float) value;
+      break;
     case 2:
-      edges = (Map<Utf8, Utf8>) fieldValue; break;
+      edges = (java.util.Map<java.lang.CharSequence, java.lang.CharSequence>)
+        ((value instanceof org.apache.gora.persistency.Dirtyable) ? value :
+        new org.apache.gora.persistency.impl.DirtyMapWrapper((java.util.Map)
+            value));
+      break;
     default:
-      throw new AvroRuntimeException("Bad index");
+      throw new org.apache.avro.AvroRuntimeException("Bad index");
     }
   }
 
   /**
-   * Gets vertexId
-   * @return Utf8 vertexId
+   * Gets the value of the 'vertexId' field.
+   * @return CharSequence
+   */
+  public java.lang.CharSequence getVertexId() {
+    return vertexId;
+  }
+
+  /**
+   * Sets the value of the 'vertexId' field.
+   * @param value the value to set.
+   */
+  public void setVertexId(java.lang.CharSequence value) {
+    this.vertexId = value;
+    setDirty(0);
+  }
+
+  /**
+   * Checks the dirty status of the 'vertexId' field. A field is dirty if it
+   * represents a change that has not yet been written to the database.
+   * @param value the value to set.
+   * @return boolean
+   */
+  public boolean isVertexIdDirty(java.lang.CharSequence value) {
+    return isDirty(0);
+  }
+
+  /**
+   * Gets the value of the 'vertexValue' field.
+   * @return Float
+   */
+  public java.lang.Float getVertexValue() {
+    return vertexValue;
+  }
+
+  /**
+   * Sets the value of the 'vertexValue' field.
+   * @param value the value to set.
    */
-  public Utf8 getVertexId() {
-    return (Utf8) get(0);
+  public void setVertexValue(java.lang.Float value) {
+    this.vertexValue = value;
+    setDirty(1);
   }
 
   /**
-   * Sets vertexId
-   * @param value vertexId
+   * Checks the dirty status of the 'vertexValue' field. A field is dirty if it
+   * represents a change that has not yet been written to the database.
+   * @param value the value to set.
+   * @return boolean
    */
-  public void setVertexId(Utf8 value) {
-    put(0, value);
+  public boolean isVertexValueDirty(java.lang.Float value) {
+    return isDirty(1);
   }
 
   /**
-   * Gets value
-   * @return String of value.
+   * Gets the value of the 'edges' field.
+   * @return java.util.Map
    */
-  public float getValue() {
-    return (Float) get(1);
+  public java.util.Map<java.lang.CharSequence, java.lang.CharSequence>
+  getEdges() {
+    return edges;
   }
 
   /**
-   * Sets value
-   * @param value .
+   * Sets the value of the 'edges' field.
+   * @param value the value to set.
    */
-  public void setValue(float value) {
-    put(1, value);
+  public void setEdges(
+      java.util.Map<java.lang.CharSequence, java.lang.CharSequence> value) {
+    this.edges =
+      (value instanceof org.apache.gora.persistency.Dirtyable) ? value :
+      new org.apache.gora.persistency.impl.DirtyMapWrapper(value);
+    setDirty(2);
   }
 
   /**
-   * Get edges.
-   * @return Map of edges.
+   * Checks the dirty status of the 'edges' field. A field is dirty if it
+   * represents a change that has not yet been written to the database.
+   * @param value the value to set.
+   * @return boolean
    */
-  public Map<Utf8, Utf8> getEdges() {
-    return (Map<Utf8, Utf8>) get(2);
+  public boolean isEdgesDirty(
+      java.util.Map<java.lang.CharSequence, java.lang.CharSequence> value) {
+    return isDirty(2);
   }
 
   /**
-   * Gets value from edge.
-   * @param key Edge key.
-   * @return Utf8 containing the value of edge.
+   * Creates a new GVertex RecordBuilder.
+   * @return GVertex.Builder
    */
-  public Utf8 getFromEdges(Utf8 key) {
-    if (edges == null) { return null; }
-    return edges.get(key);
+  public static org.apache.giraph.io.gora.generated.GVertex.Builder
+  newBuilder() {
+    return new org.apache.giraph.io.gora.generated.GVertex.Builder();
   }
 
   /**
-   * Puts a new edge.
-   * @param key of new edge.
-   * @param value of new edge.
+   * Creates a new GVertex RecordBuilder by copying an existing Builder.
+   * @param other GVertex.Builder
+   * @return GVertex.Builder
    */
-  public void putToEdges(Utf8 key, Utf8 value) {
-    getStateManager().setDirty(this, 2);
-    edges.put(key, value);
+  public static org.apache.giraph.io.gora.generated.GVertex.Builder newBuilder(
+      org.apache.giraph.io.gora.generated.GVertex.Builder other) {
+    return new org.apache.giraph.io.gora.generated.GVertex.Builder(other);
   }
 
   /**
-   * Remove from edges
-   * @param key of edge to be deleted.
-   * @return Utf8 containing value of deleted key.
+   * Creates a new GVertex RecordBuilder by copying
+   * an existing GVertex instance
+   * @param other GVertex
+   * @return GVertex.Builder
    */
-  public Utf8 removeFromEdges(Utf8 key) {
-    if (edges == null) { return null; }
-    getStateManager().setDirty(this, 2);
-    return edges.remove(key);
+  public static org.apache.giraph.io.gora.generated.GVertex.Builder newBuilder(
+      org.apache.giraph.io.gora.generated.GVertex other) {
+    return new org.apache.giraph.io.gora.generated.GVertex.Builder(other);
+  }
+
+  /**
+   * Makes a deep copy from a bytebuffer.
+   * @param input ByteBuffer
+   * @return ByteBuffer
+   */
+  private static java.nio.ByteBuffer deepCopyToReadOnlyBuffer(
+      java.nio.ByteBuffer input) {
+    java.nio.ByteBuffer copy = java.nio.ByteBuffer.allocate(input.capacity());
+    int position = input.position();
+    input.reset();
+    int mark = input.position();
+    int limit = input.limit();
+    input.rewind();
+    input.limit(input.capacity());
+    copy.put(input);
+    input.rewind();
+    copy.rewind();
+    input.position(mark);
+    input.mark();
+    copy.position(mark);
+    copy.mark();
+    input.position(position);
+    copy.position(position);
+    input.limit(limit);
+    copy.limit(limit);
+    return copy.asReadOnlyBuffer();
+  }
+
+  /**
+   * RecordBuilder for GVertex instances.
+   */
+  public static class Builder extends
+      org.apache.avro.specific.SpecificRecordBuilderBase<GVertex> implements
+      org.apache.avro.data.RecordBuilder<GVertex> {
+
+    /**
+     * vertexId
+     */
+    private java.lang.CharSequence vertexId;
+
+    /**
+     * vertexValue
+     */
+    private float vertexValue;
+
+    /**
+     * edges
+     */
+    private java.util.Map<java.lang.CharSequence, java.lang.CharSequence> edges;
+
+    /** Creates a new Builder */
+    private Builder() {
+      super(org.apache.giraph.io.gora.generated.GVertex.SCHEMAS);
+    }
+
+    /**
+     * Creates a Builder by copying an existing Builder.
+     * @param other GVertex
+     */
+    private Builder(org.apache.giraph.io.gora.generated.GVertex.Builder other) {
+      super(other);
+    }
+
+    /**
+     * Creates a Builder by copying an existing GVertex instance.
+     * @param other GVertex
+     */
+    // CHECKSTYLE: stop Indentation
+    private Builder(org.apache.giraph.io.gora.generated.GVertex other) {
+      super(org.apache.giraph.io.gora.generated.GVertex.SCHEMAS);
+      if (isValidValue(fields()[0], other.vertexId)) {
+        this.vertexId = (java.lang.CharSequence) data().deepCopy(
+            fields()[0].schema(), other.vertexId);
+        fieldSetFlags()[0] = true;
+      }
+      if (isValidValue(fields()[1], other.vertexValue)) {
+        this.vertexValue = (java.lang.Float) data().deepCopy(
+            fields()[1].schema(), other.vertexValue);
+        fieldSetFlags()[1] = true;
+      }
+      if (isValidValue(fields()[2], other.edges)) {
+        this.edges =
+            (java.util.Map<java.lang.CharSequence, java.lang.CharSequence>)
+            data().deepCopy(fields()[2].schema(), other.edges);
+        fieldSetFlags()[2] = true;
+      }
+    }
+    // CHECKSTYLE: resume Indentation
+
+    /**
+     * Gets the value of the 'vertexId' field.
+     * @return CharSsequence
+     */
+    public java.lang.CharSequence getVertexId() {
+      return vertexId;
+    }
+
+    /**
+     * Sets the value of the 'vertexId' field.
+     * @param value CharSequence
+     * @return GVertex.Builder
+     */
+    // CHECKSTYLE: stop Indentation
+    public org.apache.giraph.io.gora.generated.GVertex.Builder setVertexId(
+        java.lang.CharSequence value) {
+      validate(fields()[0], value);
+      this.vertexId = value;
+      fieldSetFlags()[0] = true;
+      return this;
+    }
+    // CHECKSTYLE: resume Indentation
+
+    /**
+     * Checks whether the 'vertexId' field has been set.
+     * @return boolean
+     */
+    public boolean hasVertexId() {
+      return fieldSetFlags()[0];
+    }
+
+    /**
+     * Clears the value of the 'vertexId' field
+     * @return GVertex.Builder
+     */
+    // CHECKSTYLE: stop Indentation
+    public org.apache.giraph.io.gora.generated.GVertex.Builder clearVertexId() {
+      vertexId = null;
+      fieldSetFlags()[0] = false;
+      return this;
+    }
+   // CHECKSTYLE: resume Indentation
+
+    /**
+     * Gets the value of the 'vertexValue' field
+     * @return Float
+     */
+    public java.lang.Float getVertexValue() {
+      return vertexValue;
+    }
+
+    /**
+     * Sets the value of the 'vertexValue' field.
+     * @param value float
+     * @return GVertex.Builder
+     */
+    // CHECKSTYLE: stop Indentation
+    public org.apache.giraph.io.gora.generated.GVertex.Builder setVertexValue(
+        float value) {
+      validate(fields()[1], value);
+      this.vertexValue = value;
+      fieldSetFlags()[1] = true;
+      return this;
+    }
+    // CHECKSTYLE: resume Indentation
+
+    /**
+     * Checks whether the 'vertexValue' field has been set.
+     * @return boolean
+     */
+    public boolean hasVertexValue() {
+      return fieldSetFlags()[1];
+    }
+
+    /**
+     * Clears the value of the 'vertexValue' field.
+     * @return GVertex.Builder
+     */
+    // CHECKSTYLE: stop Indentation
+    public org.apache.giraph.io.gora.generated.GVertex.Builder
+    clearVertexValue() {
+      fieldSetFlags()[1] = false;
+      return this;
+    }
+    // CHECKSTYLE: resume Indentation
+
+    /**
+     * Gets the value of the 'edges' field.
+     * @return java.util.Map
+     */
+    public java.util.Map<java.lang.CharSequence, java.lang.CharSequence>
+    getEdges() {
+      return edges;
+    }
+
+    /**
+     * Sets the value of the 'edges' field.
+     * @param value java.util.Map
+     * @return GVertex.Builder
+     */
+    // CHECKSTYLE: stop Indentation
+    public org.apache.giraph.io.gora.generated.GVertex.Builder setEdges(
+        java.util.Map<java.lang.CharSequence, java.lang.CharSequence> value) {
+      validate(fields()[2], value);
+      this.edges = value;
+      fieldSetFlags()[2] = true;
+      return this;
+    }
+    // CHECKSTYLE: resume Indentation
+
+    /**
+     * Checks whether the 'edges' field has been set.
+     * @return boolean
+     */
+    public boolean hasEdges() {
+      return fieldSetFlags()[2];
+    }
+
+    /**
+     * Clears the value of the 'edges' field.
+     * @return org.apache.giraph.io.gora.generated.GVertex.Builder
+     */
+    // CHECKSTYLE: stop Indentation
+    public org.apache.giraph.io.gora.generated.GVertex.Builder clearEdges() {
+      edges = null;
+      fieldSetFlags()[2] = false;
+      return this;
+    }
+    // CHECKSTYLE: resume Indentation
+
+    @Override
+    /**
+     * Builds a GVertex.
+     * @return GVertex
+     */
+    // CHECKSTYLE: stop IllegalCatch
+    public GVertex build() {
+      try {
+        GVertex record = new GVertex();
+        record.vertexId = fieldSetFlags()[0] ? this.vertexId :
+          (java.lang.CharSequence) defaultValue(fields()[0]);
+        record.vertexValue = fieldSetFlags()[1] ? this.vertexValue :
+          (java.lang.Float) defaultValue(fields()[1]);
+        record.edges = fieldSetFlags()[2] ? this.edges :
+          (java.util.Map<java.lang.CharSequence, java.lang.CharSequence>)
+          new org.apache.gora.persistency.impl.DirtyMapWrapper(
+            (java.util.Map) defaultValue(fields()[2]));
+        return record;
+      } catch (Exception e) {
+        throw new org.apache.avro.AvroRuntimeException(e);
+      }
+    }
+    // CHECKSTYLE: resume IllegalCatch
+  }
+
+  /**
+   * Gets tombstone
+   * @return GVertex.Tombstone
+   */
+  public GVertex.Tombstone getTombstone() {
+    return TOMBSTONE;
+  }
+
+  /**
+   * Gets a new instance
+   * @return GVertex.
+   */
+  public GVertex newInstance() {
+    return newBuilder().build();
+  }
+
+  /**
+   * Tombstone class.
+   */
+  public static final class Tombstone extends GVertex implements
+      org.apache.gora.persistency.Tombstone {
+
+    /**
+     * Default constructor.
+     */
+    private Tombstone() {
+    }
+
+    /**
+     * Gets the value of the 'vertexId' field.
+     * @return java.lang.CharSequence
+     */
+    public java.lang.CharSequence getVertexId() {
+      throw new java.lang.UnsupportedOperationException(
+          "Get is not supported on tombstones");
+    }
+
+    /**
+     * Sets the value of the 'vertexId' field.
+     * @param value the value to set.
+     */
+    public void setVertexId(java.lang.CharSequence value) {
+      throw new java.lang.UnsupportedOperationException(
+          "Set is not supported on tombstones");
+    }
+
+    /**
+     * Checks the dirty status of the 'vertexId' field. A field is dirty if it
+     * represents a change that has not yet been written to the database.
+     * @param value the value to set.
+     * @return boolean
+     */
+    public boolean isVertexIdDirty(java.lang.CharSequence value) {
+      throw new java.lang.UnsupportedOperationException(
+          "IsDirty is not supported on tombstones");
+    }
+
+    /**
+     * Gets the value of the 'vertexValue' field.
+     * @return Float
+     */
+    public java.lang.Float getVertexValue() {
+      throw new java.lang.UnsupportedOperationException(
+          "Get is not supported on tombstones");
+    }
+
+    /**
+     * Sets the value of the 'vertexValue' field.
+     * @param value the value to set.
+     */
+    public void setVertexValue(java.lang.Float value) {
+      throw new java.lang.UnsupportedOperationException(
+          "Set is not supported on tombstones");
+    }
+
+    /**
+     * Checks the dirty status of the 'vertexValue' field. A field is dirty if
+     * it represents a change that has not yet been written to the database.
+     * @param value the value to set.
+     * @return boolean
+     */
+    public boolean isVertexValueDirty(java.lang.Float value) {
+      throw new java.lang.UnsupportedOperationException(
+          "IsDirty is not supported on tombstones");
+    }
+
+    /**
+     * Gets the value of the 'edges' field.
+     * @return java.util.Map
+     */
+    public java.util.Map<java.lang.CharSequence, java.lang.CharSequence>
+    getEdges() {
+      throw new java.lang.UnsupportedOperationException(
+          "Get is not supported on tombstones");
+    }
+
+    /**
+     * Sets the value of the 'edges' field.
+     * @param value the value to set.
+     */
+    public void setEdges(
+        java.util.Map<java.lang.CharSequence, java.lang.CharSequence> value) {
+      throw new java.lang.UnsupportedOperationException(
+          "Set is not supported on tombstones");
+    }
+
+    /**
+     * Checks the dirty status of the 'edges' field. A field is dirty if it
+     * represents a change that has not yet been written to the database.
+     * @param value the value to set.
+     * @return boolean
+     */
+    public boolean isEdgesDirty(
+        java.util.Map<java.lang.CharSequence, java.lang.CharSequence> value) {
+      throw new java.lang.UnsupportedOperationException(
+          "IsDirty is not supported on tombstones");
+    }
   }
 }

http://git-wip-us.apache.org/repos/asf/giraph/blob/7c61dcf4/giraph-gora/src/main/java/org/apache/giraph/io/gora/generated/GVertexResult.java
----------------------------------------------------------------------
diff --git a/giraph-gora/src/main/java/org/apache/giraph/io/gora/generated/GVertexResult.java b/giraph-gora/src/main/java/org/apache/giraph/io/gora/generated/GVertexResult.java
index 2c1952d..394fb8b 100644
--- a/giraph-gora/src/main/java/org/apache/giraph/io/gora/generated/GVertexResult.java
+++ b/giraph-gora/src/main/java/org/apache/giraph/io/gora/generated/GVertexResult.java
@@ -15,67 +15,60 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.giraph.io.gora.generated;
 
-import java.util.Map;
-
-import org.apache.avro.Schema;
-import org.apache.avro.AvroRuntimeException;
-import org.apache.avro.util.Utf8;
-import org.apache.gora.persistency.StateManager;
-import org.apache.gora.persistency.StatefulHashMap;
-import org.apache.gora.persistency.impl.PersistentBase;
-import org.apache.gora.persistency.impl.StateManagerImpl;
-
 /**
- * Example class for defining a Giraph-Vertex.
+ * Example class for defining a Giraph-vertex result.
  */
 @SuppressWarnings("all")
-public class GVertexResult extends PersistentBase {
-  /**
-   * Schema used for the class.
-   */
-  public static final Schema OBJ_SCHEMA = Schema.parse(
-      "{\"type\":\"record\",\"name\":\"Vertex\"," +
-      "\"namespace\":\"org.apache.giraph.gora.generated\"," +
-      "\"fields\":[{\"name\":\"vertexId\",\"type\":\"string\"}," +
-      "{\"name\":\"value\",\"type\":\"float\"},{\"name\":\"edges\"," +
-      "\"type\":{\"type\":\"map\",\"values\":\"string\"}}]}");
+public class GVertexResult extends
+    org.apache.gora.persistency.impl.PersistentBase implements
+    org.apache.avro.specific.SpecificRecord,
+    org.apache.gora.persistency.Persistent {
 
   /**
-   * Field enum
+   * Schema used for the class.
    */
+  public static final org.apache.avro.Schema SCHEMAS =
+      new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\"," +
+            "\"name\":\"GVertexResult\"," +
+            "\"namespace\":\"org.apache.giraph.io.gora.generated\"," +
+            "\"fields\":[{\"name\":\"vertexId\",\"type\":\"string\"}," +
+            "{\"name\":\"vertexValue\",\"type\":\"float\"}," +
+            "{\"name\":\"edges\",\"type\":" +
+            "{\"type\":\"map\",\"values\":\"string\"}}]}");
+
+  /** Enum containing all data bean's fields. */
   public static enum Field {
     /**
-     * VertexId
+     * Vertex id.
      */
     VERTEX_ID(0, "vertexId"),
 
     /**
-     * Field value
+     * Vertex value.
      */
-    VALUE(1, "value"),
+    VERTEX_VALUE(1, "vertexValue"),
 
     /**
-     * Edges
+     * Vertex edges.
      */
     EDGES(2, "edges");
 
     /**
-     * Field index
+     * Field's index.
      */
     private int index;
 
     /**
-     * Field name
+     * Field's name.
      */
     private String name;
 
     /**
-     * Field constructor
-     * @param index of attribute
-     * @param name of attribute
+     * Field's constructor
+     * @param index field's index.
+     * @param name field's name.
      */
     Field(int index, String name) {
       this.index = index;
@@ -83,24 +76,24 @@ public class GVertexResult extends PersistentBase {
     }
 
     /**
-     * Gets index
-     * @return int of attribute.
+     * Gets field's index.
+     * @return int field's index.
      */
     public int getIndex() {
       return index;
     }
 
     /**
-     * Gets name
-     * @return String of name.
+     * Gets field's name.
+     * @return String field's name.
      */
     public String getName() {
       return name;
     }
 
     /**
-     * Gets name
-     * @return String of name.
+     * Gets field's attributes to string.
+     * @return String field's attributes to string.
      */
     public String toString() {
       return name;
@@ -111,170 +104,565 @@ public class GVertexResult extends PersistentBase {
    * Array containing all fields/
    */
   private static final String[] ALL_FIELDS = {
-    "vertexId", "value", "edges"
-  };
-
-  static {
-    PersistentBase.registerFields(GVertexResult.class, ALL_FIELDS);
-  }
+    "vertexId", "vertexValue", "edges", };
 
   /**
-   * Vertex Id
+   * Tombstone.
    */
-  private Utf8 vertexId;
+  private static final Tombstone TOMBSTONE = new Tombstone();
 
   /**
-   * Value
+   * vertexId.
    */
-  private float value;
+  private java.lang.CharSequence vertexId;
 
   /**
-   * Edges
+   * vertexValue.
    */
-  private Map<Utf8, Utf8> edges;
+  private float vertexValue;
 
   /**
-   * Default constructor
+   * edges.
    */
-  public GVertexResult() {
-    this(new StateManagerImpl());
-  }
+  private java.util.Map<java.lang.CharSequence, java.lang.CharSequence> edges;
 
   /**
-   * Constructor
-   * @param stateManager from which the object will be created.
+   * Gets the total field count.
+   * @return int field count
    */
-  public GVertexResult(StateManager stateManager) {
-    super(stateManager);
-    edges = new StatefulHashMap<Utf8, Utf8>();
+  public int getFieldsCount() {
+    return GVertexResult.ALL_FIELDS.length;
   }
 
   /**
-   * Creates a new instance
-   * @param stateManager from which the object will be created.
-   * @return GVertex created
+   * Gets the schema
+   * @return Schema
    */
-  public GVertexResult newInstance(StateManager stateManager) {
-    return new GVertexResult(stateManager);
-  }
-
-  /**
-   * Gets the object schema
-   * @return Schema of the object.
-   */
-  public Schema getSchema() {
-    return OBJ_SCHEMA;
+  public org.apache.avro.Schema getSchema() {
+    return SCHEMAS;
   }
 
   /**
    * Gets field
-   * @param fieldIndex index of field to be used.
+   * @param field index field.
    * @return Object from an index.
    */
-  public Object get(int fieldIndex) {
-    switch (fieldIndex) {
+  public java.lang.Object get(int field) {
+    switch (field) {
     case 0:
       return vertexId;
     case 1:
-      return value;
+      return vertexValue;
     case 2:
       return edges;
     default:
-      throw new AvroRuntimeException("Bad index");
+      throw new org.apache.avro.AvroRuntimeException("Bad index");
     }
   }
 
   /**
    * Puts a value into a field.
-   * @param fieldIndex index of field used.
-   * @param fieldValue value of field used.
+   * @param field index of field used.
+   * @param value value of field used.
    */
   @SuppressWarnings(value = "unchecked")
-  public void put(int fieldIndex, Object fieldValue) {
-    if (isFieldEqual(fieldIndex, fieldValue)) {
-      return;
-    }
-    getStateManager().setDirty(this, fieldIndex);
-    switch (fieldIndex) {
+  public void put(int field, java.lang.Object value) {
+    switch (field) {
     case 0:
-      vertexId = (Utf8) fieldValue; break;
+      vertexId = (java.lang.CharSequence) value;
+      break;
     case 1:
-      value = (Float) fieldValue; break;
+      vertexValue = (java.lang.Float) value;
+      break;
     case 2:
-      edges = (Map<Utf8, Utf8>) fieldValue; break;
+      edges = (java.util.Map<java.lang.CharSequence, java.lang.CharSequence>)
+        ((value instanceof org.apache.gora.persistency.Dirtyable) ? value :
+        new org.apache.gora.persistency.impl.DirtyMapWrapper((java.util.Map)
+            value));
+      break;
     default:
-      throw new AvroRuntimeException("Bad index");
+      throw new org.apache.avro.AvroRuntimeException("Bad index");
     }
   }
 
   /**
-   * Gets vertexId
-   * @return Utf8 vertexId
+   * Gets the value of the 'vertexId' field.
+   * @return CharSequence
+   */
+  public java.lang.CharSequence getVertexId() {
+    return vertexId;
+  }
+
+  /**
+   * Sets the value of the 'vertexId' field.
+   * @param value the value to set.
+   */
+  public void setVertexId(java.lang.CharSequence value) {
+    this.vertexId = value;
+    setDirty(0);
+  }
+
+  /**
+   * Checks the dirty status of the 'vertexId' field. A field is dirty if it
+   * represents a change that has not yet been written to the database.
+   * @param value the value to set.
+   * @return boolean
+   */
+  public boolean isVertexIdDirty(java.lang.CharSequence value) {
+    return isDirty(0);
+  }
+
+  /**
+   * Gets the value of the 'vertexValue' field.
+   * @return Float
+   */
+  public java.lang.Float getVertexValue() {
+    return vertexValue;
+  }
+
+  /**
+   * Sets the value of the 'vertexValue' field.
+     * @param value the value to set.
    */
-  public Utf8 getVertexId() {
-    return (Utf8) get(0);
+  public void setVertexValue(java.lang.Float value) {
+    this.vertexValue = value;
+    setDirty(1);
   }
 
   /**
-   * Sets vertexId
-   * @param value vertexId
+   * Checks the dirty status of the 'vertexValue' field. A field is dirty if it
+   * represents a change that has not yet been written to the database.
+   * @param value the value to set.
+   * @return boolean
    */
-  public void setVertexId(Utf8 value) {
-    put(0, value);
+  public boolean isVertexValueDirty(java.lang.Float value) {
+    return isDirty(1);
   }
 
   /**
-   * Gets value
-   * @return String of value.
+   * Gets the value of the 'edges' field.
+   * @return Edges
    */
-  public float getValue() {
-    return (Float) get(1);
+  public java.util.Map<java.lang.CharSequence, java.lang.CharSequence>
+  getEdges() {
+    return edges;
   }
 
   /**
-   * Sets value
-   * @param value .
+   * Sets the value of the 'edges' field.
+   * @param value the value to set.
    */
-  public void setValue(float value) {
-    put(1, value);
+  public void setEdges(
+      java.util.Map<java.lang.CharSequence, java.lang.CharSequence> value) {
+    this.edges = (value instanceof org.apache.gora.persistency.Dirtyable) ?
+        value : new org.apache.gora.persistency.impl.DirtyMapWrapper(value);
+    setDirty(2);
   }
 
   /**
-   * Get edges.
-   * @return Map of edges.
+   * Checks the dirty status of the 'edges' field. A field is dirty if it
+   * represents a change that has not yet been written to the database.
+   * @param value the value to set.
+   * @return boolean
    */
-  public Map<Utf8, Utf8> getEdges() {
-    return (Map<Utf8, Utf8>) get(2);
+  public boolean isEdgesDirty(
+      java.util.Map<java.lang.CharSequence, java.lang.CharSequence> value) {
+    return isDirty(2);
   }
 
   /**
-   * Gets value from edge.
-   * @param key Edge key.
-   * @return Utf8 containing the value of edge.
+   * Creates a new GVertexResult RecordBuilder
+   * @return GVertexResult.Builder
    */
-  public Utf8 getFromEdges(Utf8 key) {
-    if (edges == null) { return null; }
-    return edges.get(key);
+  public static org.apache.giraph.io.gora.generated.GVertexResult.Builder
+  newBuilder() {
+    return new org.apache.giraph.io.gora.generated.GVertexResult.Builder();
   }
 
   /**
-   * Puts a new edge.
-   * @param key of new edge.
-   * @param value of new edge.
+   * Creates a new GVertexResult RecordBuilder by copying an existing Builder.
+   * @param other GVertexResult.Builder
+   * @return GVertexResult.Builder
    */
-  public void putToEdges(Utf8 key, Utf8 value) {
-    getStateManager().setDirty(this, 2);
-    edges.put(key, value);
+  public static org.apache.giraph.io.gora.generated.GVertexResult.Builder
+  newBuilder(org.apache.giraph.io.gora.generated.GVertexResult.Builder other) {
+    return new org.apache.giraph.io.gora.generated.GVertexResult.Builder(other);
   }
 
   /**
-   * Remove from edges
-   * @param key of edge to be deleted.
-   * @return Utf8 containing value of deleted key.
+   * Creates a new GVertexResult RecordBuilder by copying an existing
+   * GVertexResult instance
+   * @param other GVertexResult
+   * @return GVertexResult.Builder
    */
-  public Utf8 removeFromEdges(Utf8 key) {
-    if (edges == null) { return null; }
-    getStateManager().setDirty(this, 2);
-    return edges.remove(key);
+  public static org.apache.giraph.io.gora.generated.GVertexResult.Builder
+  newBuilder(org.apache.giraph.io.gora.generated.GVertexResult other) {
+    return new org.apache.giraph.io.gora.generated.GVertexResult.Builder(other);
+  }
+
+  /**
+   * Makes a deep copy from a bytebuffer.
+   * @param input ByteBuffer
+   * @return ByteBuffer
+   */
+  private static java.nio.ByteBuffer deepCopyToReadOnlyBuffer(
+      java.nio.ByteBuffer input) {
+    java.nio.ByteBuffer copy = java.nio.ByteBuffer.allocate(input.capacity());
+    int position = input.position();
+    input.reset();
+    int mark = input.position();
+    int limit = input.limit();
+    input.rewind();
+    input.limit(input.capacity());
+    copy.put(input);
+    input.rewind();
+    copy.rewind();
+    input.position(mark);
+    input.mark();
+    copy.position(mark);
+    copy.mark();
+    input.position(position);
+    copy.position(position);
+    input.limit(limit);
+    copy.limit(limit);
+    return copy.asReadOnlyBuffer();
+  }
+
+  /**
+   * RecordBuilder for GVertexResult instances.
+   */
+  public static class Builder extends
+      org.apache.avro.specific.SpecificRecordBuilderBase<GVertexResult>
+      implements org.apache.avro.data.RecordBuilder<GVertexResult> {
+
+    /**
+     * vertexId
+     */
+    private java.lang.CharSequence vertexId;
+
+    /**
+     * vertexValue
+     */
+    private float vertexValue;
+
+    /**
+     * edges
+     */
+    private java.util.Map<java.lang.CharSequence, java.lang.CharSequence> edges;
+
+    /** Creates a new Builder */
+    private Builder() {
+      super(org.apache.giraph.io.gora.generated.GVertexResult.SCHEMAS);
+    }
+
+    /**
+     * Creates a Builder by copying an existing Builder.
+     * @param other GVertexResult.Builder
+     */
+    private Builder(
+        org.apache.giraph.io.gora.generated.GVertexResult.Builder other) {
+      super(other);
+    }
+
+    /**
+     * Creates a Builder by copying an existing GVertexResult instance.
+     * @param other GVertexResult
+     */
+    // CHECKSTYLE: stop Indentation
+    private Builder(org.apache.giraph.io.gora.generated.GVertexResult other) {
+      super(org.apache.giraph.io.gora.generated.GVertexResult.SCHEMAS);
+      if (isValidValue(fields()[0], other.vertexId)) {
+        this.vertexId = (java.lang.CharSequence) data().deepCopy(
+            fields()[0].schema(), other.vertexId);
+        fieldSetFlags()[0] = true;
+      }
+      if (isValidValue(fields()[1], other.vertexValue)) {
+        this.vertexValue = (java.lang.Float) data().deepCopy(
+            fields()[1].schema(), other.vertexValue);
+        fieldSetFlags()[1] = true;
+      }
+      if (isValidValue(fields()[2], other.edges)) {
+        this.edges =
+            (java.util.Map<java.lang.CharSequence, java.lang.CharSequence>)
+            data().deepCopy(fields()[2].schema(), other.edges);
+        fieldSetFlags()[2] = true;
+      }
+    }
+    // CHECKSTYLE: resume Indentation
+
+    /**
+     * Gets the value of the 'vertexId' field.
+     * @return CharSequence
+     */
+    public java.lang.CharSequence getVertexId() {
+      return vertexId;
+    }
+
+    /**
+     * Sets the value of the 'vertexId' field.
+     * @param value CharSequence
+     * @return GVertexResult.Builder
+     */
+    // CHECKSTYLE: stop Indentation
+    public org.apache.giraph.io.gora.generated.GVertexResult.Builder
+    setVertexId(java.lang.CharSequence value) {
+      validate(fields()[0], value);
+      this.vertexId = value;
+      fieldSetFlags()[0] = true;
+      return this;
+    }
+    // CHECKSTYLE: resume Indentation
+
+    /**
+     * Checks whether the 'vertexId' field has been set.
+     * @return boolean
+     */
+    public boolean hasVertexId() {
+      return fieldSetFlags()[0];
+    }
+
+    /**
+     * Clears the value of the 'vertexId' field
+     * @return GVertexResult.Builder
+     */
+    // CHECKSTYLE: stop Indentation
+    public org.apache.giraph.io.gora.generated.GVertexResult.Builder
+    clearVertexId() {
+      vertexId = null;
+      fieldSetFlags()[0] = false;
+      return this;
+    }
+    // CHECKSTYLE: resume Indentation
+
+    /**
+     * Gets the value of the 'vertexValue' field.
+     * @return Float
+     */
+    public java.lang.Float getVertexValue() {
+      return vertexValue;
+    }
+
+    /**
+     * Sets the value of the 'vertexValue' field.
+     * @param value float
+     * @return GVertexResult.Builder
+     */
+    // CHECKSTYLE: stop Indentation
+    public org.apache.giraph.io.gora.generated.GVertexResult.Builder
+    setVertexValue(float value) {
+      validate(fields()[1], value);
+      this.vertexValue = value;
+      fieldSetFlags()[1] = true;
+      return this;
+    }
+    // CHECKSTYLE: resume Indentation
+
+    /**
+     * Checks whether the 'vertexValue' field has been set.
+     * @return boolean
+     */
+    public boolean hasVertexValue() {
+      return fieldSetFlags()[1];
+    }
+
+    /**
+     * Clears the value of the 'vertexValue' field.
+     * @return GVertexResult.Builder
+     */
+    // CHECKSTYLE: stop Indentation
+    public org.apache.giraph.io.gora.generated.GVertexResult.Builder
+    clearVertexValue() {
+      fieldSetFlags()[1] = false;
+      return this;
+    }
+    // CHECKSTYLE: resume Indentation
+
+    /**
+     * Gets the value of the 'edges' field.
+     * @return java.util.Map
+     */
+    public java.util.Map<java.lang.CharSequence, java.lang.CharSequence>
+    getEdges() {
+      return edges;
+    }
+
+    /**
+     * Sets the value of the 'edges' field
+     * @param value java.util.Map
+     * @return GVertexResult.Builder
+     */
+    // CHECKSTYLE: stop Indentation
+    public org.apache.giraph.io.gora.generated.GVertexResult.Builder setEdges(
+    java.util.Map<java.lang.CharSequence, java.lang.CharSequence> value) {
+      validate(fields()[2], value);
+      this.edges = value;
+      fieldSetFlags()[2] = true;
+      return this;
+    }
+    // CHECKSTYLE: resume Indentation
+
+    /**
+     * Checks whether the 'edges' field has been set.
+     * @return boolean
+     */
+    public boolean hasEdges() {
+      return fieldSetFlags()[2];
+    }
+
+    /**
+     * Clears the value of the 'edges' field.
+     * @return org.apache.giraph.io.gora.generated.GVertexResult.Builder
+     */
+    // CHECKSTYLE: stop Indentation
+    public org.apache.giraph.io.gora.generated.GVertexResult.Builder
+    clearEdges() {
+      edges = null;
+      fieldSetFlags()[2] = false;
+      return this;
+    }
+    // CHECKSTYLE: resume Indentation
+
+    @Override
+    /**
+     * Builds a GVertexResult.
+     * @return GVertexResult
+     */
+    // CHECKSTYLE: stop IllegalCatch
+    public GVertexResult build() {
+      try {
+        GVertexResult record = new GVertexResult();
+        record.vertexId = fieldSetFlags()[0] ? this.vertexId :
+          (java.lang.CharSequence) defaultValue(fields()[0]);
+        record.vertexValue = fieldSetFlags()[1] ? this.vertexValue :
+          (java.lang.Float) defaultValue(fields()[1]);
+        record.edges = fieldSetFlags()[2] ? this.edges :
+          (java.util.Map<java.lang.CharSequence, java.lang.CharSequence>)
+          new org.apache.gora.persistency.impl.DirtyMapWrapper(
+            (java.util.Map) defaultValue(fields()[2]));
+        return record;
+      } catch (Exception e) {
+        throw new org.apache.avro.AvroRuntimeException(e);
+      }
+    }
+    // CHECKSTYLE: resume IllegalCatch
+  }
+
+  /**
+   * Gets tombstone
+   * @return GVertex.Tombstone
+   */
+  public GVertexResult.Tombstone getTombstone() {
+    return TOMBSTONE;
+  }
+
+  /**
+   * Gets a new instance
+   * @return GVertexResult.
+   */
+  public GVertexResult newInstance() {
+    return newBuilder().build();
+  }
+
+  /**
+   * Tombstone class.
+   */
+  public static final class Tombstone extends GVertexResult implements
+      org.apache.gora.persistency.Tombstone {
+
+    /**
+     * Default constructor.
+     */
+    private Tombstone() {
+    }
+
+    /**
+     * Gets the value of the 'vertexId' field.
+     * @return java.lang.CharSequence
+     */
+    public java.lang.CharSequence getVertexId() {
+      throw new java.lang.UnsupportedOperationException(
+          "Get is not supported on tombstones");
+    }
+
+    /**
+     * Sets the value of the 'vertexId' field.
+     * @param value the value to set.
+     */
+    public void setVertexId(java.lang.CharSequence value) {
+      throw new java.lang.UnsupportedOperationException(
+          "Set is not supported on tombstones");
+    }
+
+    /**
+     * Checks the dirty status of the 'vertexId' field. A field is dirty if it
+     * represents a change that has not yet been written to the database.
+     * @param value the value to set.
+     * @return boolean
+     */
+    public boolean isVertexIdDirty(java.lang.CharSequence value) {
+      throw new java.lang.UnsupportedOperationException(
+          "IsDirty is not supported on tombstones");
+    }
+
+    /**
+     * Gets the value of the 'vertexValue' field.
+     * @return Float
+     */
+    public java.lang.Float getVertexValue() {
+      throw new java.lang.UnsupportedOperationException(
+          "Get is not supported on tombstones");
+    }
+
+    /**
+     * Sets the value of the 'vertexValue' field.
+     * @param value the value to set.
+     */
+    public void setVertexValue(java.lang.Float value) {
+      throw new java.lang.UnsupportedOperationException(
+          "Set is not supported on tombstones");
+    }
+
+    /**
+     * Checks the dirty status of the 'vertexValue' field. A field is dirty if
+     * it represents a change that has not yet been written to the database.
+     * @param value the value to set.
+     * @return boolean
+     */
+    public boolean isVertexValueDirty(java.lang.Float value) {
+      throw new java.lang.UnsupportedOperationException(
+          "IsDirty is not supported on tombstones");
+    }
+
+    /**
+     * Gets the value of the 'edges' field.
+     * @return java.util.Map
+     */
+    public java.util.Map<java.lang.CharSequence, java.lang.CharSequence>
+    getEdges() {
+      throw new java.lang.UnsupportedOperationException(
+          "Get is not supported on tombstones");
+    }
+
+    /**
+     * Sets the value of the 'edges' field.
+     * @param value the value to set.
+     */
+    public void setEdges(
+        java.util.Map<java.lang.CharSequence, java.lang.CharSequence> value) {
+      throw new java.lang.UnsupportedOperationException(
+          "Set is not supported on tombstones");
+    }
+
+    /**
+     * Checks the dirty status of the 'edges' field. A field is dirty if it
+     * represents a change that has not yet been written to the database.
+     * @param value the value to set.
+     * @return boolean
+     */
+    public boolean isEdgesDirty(
+        java.util.Map<java.lang.CharSequence, java.lang.CharSequence> value) {
+      throw new java.lang.UnsupportedOperationException(
+          "IsDirty is not supported on tombstones");
+    }
   }
 }

http://git-wip-us.apache.org/repos/asf/giraph/blob/7c61dcf4/giraph-gora/src/main/java/org/apache/giraph/io/gora/utils/ExtraGoraInputFormat.java
----------------------------------------------------------------------
diff --git a/giraph-gora/src/main/java/org/apache/giraph/io/gora/utils/ExtraGoraInputFormat.java b/giraph-gora/src/main/java/org/apache/giraph/io/gora/utils/ExtraGoraInputFormat.java
index e11f910..b40a361 100644
--- a/giraph-gora/src/main/java/org/apache/giraph/io/gora/utils/ExtraGoraInputFormat.java
+++ b/giraph-gora/src/main/java/org/apache/giraph/io/gora/utils/ExtraGoraInputFormat.java
@@ -28,6 +28,7 @@ import org.apache.gora.persistency.Persistent;
 import org.apache.gora.persistency.impl.PersistentBase;
 import org.apache.gora.query.PartitionQuery;
 import org.apache.gora.query.Query;
+import org.apache.gora.query.impl.PartitionQueryImpl;
 import org.apache.gora.store.DataStore;
 import org.apache.gora.util.IOUtils;
 import org.apache.hadoop.conf.Configuration;
@@ -83,17 +84,21 @@ public class ExtraGoraInputFormat<K, T extends PersistentBase>
     return new GoraRecordReader<K, T>(partitionQuery, context);
   }
 
+  /**
+   * Gets splits.
+   * @param context for the job.
+   * @return List<InputSplit> splits found
+   */
   @Override
   public List<InputSplit> getSplits(JobContext context) throws IOException,
       InterruptedException {
     List<PartitionQuery<K, T>> queries =
         getDataStore().getPartitions(getQuery());
     List<InputSplit> splits = new ArrayList<InputSplit>(queries.size());
-
     for (PartitionQuery<K, T> partQuery : queries) {
+      ((PartitionQueryImpl) partQuery).setConf(context.getConfiguration());
       splits.add(new GoraInputSplit(context.getConfiguration(), partQuery));
     }
-
     return splits;
   }
 

http://git-wip-us.apache.org/repos/asf/giraph/blob/7c61dcf4/giraph-gora/src/main/java/org/apache/giraph/io/gora/utils/GoraUtils.java
----------------------------------------------------------------------
diff --git a/giraph-gora/src/main/java/org/apache/giraph/io/gora/utils/GoraUtils.java b/giraph-gora/src/main/java/org/apache/giraph/io/gora/utils/GoraUtils.java
index c3fc268..932e2f3 100644
--- a/giraph-gora/src/main/java/org/apache/giraph/io/gora/utils/GoraUtils.java
+++ b/giraph-gora/src/main/java/org/apache/giraph/io/gora/utils/GoraUtils.java
@@ -20,6 +20,7 @@ package org.apache.giraph.io.gora.utils;
 import org.apache.gora.persistency.Persistent;
 import org.apache.gora.query.Query;
 import org.apache.gora.query.Result;
+import org.apache.gora.query.impl.QueryBase;
 import org.apache.gora.store.DataStore;
 import org.apache.gora.store.DataStoreFactory;
 import org.apache.gora.util.GoraException;
@@ -36,11 +37,6 @@ public class GoraUtils {
   private static Class<? extends DataStore> DATASTORECLASS;
 
   /**
-   * Attribute handling configuration for data stores.
-   */
-  private static Configuration CONF = new Configuration();
-
-  /**
    * The default constructor is set to be private by default so that the
    * class is not instantiated.
    */
@@ -49,6 +45,7 @@ public class GoraUtils {
   /**
    * Creates a generic data store using the data store class.
    * set using the class property
+   * @param conf Configuration
    * @param <K> key class
    * @param <T> value class
    * @param keyClass key class used
@@ -58,20 +55,22 @@ public class GoraUtils {
    */
   @SuppressWarnings("unchecked")
   public static <K, T extends Persistent> DataStore<K, T>
-  createDataStore(Class<K> keyClass, Class<T> persistentClass)
+  createDataStore(Configuration conf,
+      Class<K> keyClass, Class<T> persistentClass)
     throws GoraException {
     DataStoreFactory.createProps();
     DataStore<K, T> dataStore =
         DataStoreFactory.createDataStore((Class<? extends DataStore<K, T>>)
                                           DATASTORECLASS,
                                           keyClass, persistentClass,
-                                          getConf());
+                                          conf);
 
     return dataStore;
   }
 
   /**
    * Creates a specific data store specified by.
+   * @param conf Configuration
    * @param <K> key class
    * @param <T> value class
    * @param dataStoreClass  Defines the type of data store used.
@@ -81,10 +80,11 @@ public class GoraUtils {
    * @throws GoraException  if an error occurs.
    */
   public static <K, T extends Persistent> DataStore<K, T>
-  createSpecificDataStore(Class<? extends DataStore> dataStoreClass,
+  createSpecificDataStore(Configuration conf,
+      Class<? extends DataStore> dataStoreClass,
       Class<K> keyClass, Class<T> persistentClass) throws GoraException {
     DATASTORECLASS = dataStoreClass;
-    return createDataStore(keyClass, persistentClass);
+    return createDataStore(conf, keyClass, persistentClass);
   }
 
   /**
@@ -98,7 +98,7 @@ public class GoraUtils {
    */
   public static <K, T extends Persistent> Result<K, T>
   getRequest(DataStore<K, T> pDataStore, K pStartKey, K pEndKey) {
-    Query<K, T> query = getQuery(pDataStore, pStartKey, pEndKey);
+    QueryBase query = getQuery(pDataStore, pStartKey, pEndKey);
     return getRequest(pDataStore, query);
   }
 
@@ -137,9 +137,9 @@ public class GoraUtils {
    * @param <T> value class
    * @return range query object.
    */
-  public static <K, T extends Persistent> Query<K, T>
-  getQuery(DataStore<K, T> pDataStore, K pStartKey, K pEndKey) {
-    Query<K, T> query = pDataStore.newQuery();
+  public static <K, T extends Persistent> QueryBase
+  getQuery(DataStore pDataStore, K pStartKey, K pEndKey) {
+    QueryBase query = (QueryBase) pDataStore.newQuery();
     query.setStartKey(pStartKey);
     query.setEndKey(pEndKey);
     return query;
@@ -175,20 +175,4 @@ public class GoraUtils {
     query.setEndKey(null);
     return query;
   }
-
-  /**
-   * Gets the configuration object.
-   * @return the configuration object.
-   */
-  public static Configuration getConf() {
-    return CONF;
-  }
-
-  /**
-   * Sets the configuration object.
-   * @param conf to be set as the configuration object.
-   */
-  public static void setConf(Configuration conf) {
-    CONF = conf;
-  }
 }

http://git-wip-us.apache.org/repos/asf/giraph/blob/7c61dcf4/giraph-gora/src/test/java/org/apache/giraph/io/gora/GoraTestEdgeInputFormat.java
----------------------------------------------------------------------
diff --git a/giraph-gora/src/test/java/org/apache/giraph/io/gora/GoraTestEdgeInputFormat.java b/giraph-gora/src/test/java/org/apache/giraph/io/gora/GoraTestEdgeInputFormat.java
index ba71ce4..c339eb0 100644
--- a/giraph-gora/src/test/java/org/apache/giraph/io/gora/GoraTestEdgeInputFormat.java
+++ b/giraph-gora/src/test/java/org/apache/giraph/io/gora/GoraTestEdgeInputFormat.java
@@ -19,10 +19,8 @@ package org.apache.giraph.io.gora;
 
 import java.io.IOException;
 
-import org.apache.avro.util.Utf8;
 import org.apache.giraph.edge.Edge;
 import org.apache.giraph.edge.EdgeFactory;
-import org.apache.giraph.io.gora.GoraEdgeInputFormat;
 import org.apache.giraph.io.gora.generated.GEdge;
 import org.apache.hadoop.io.FloatWritable;
 import org.apache.hadoop.io.LongWritable;
@@ -82,10 +80,10 @@ public class GoraTestEdgeInputFormat
   private static GEdge createEdge(String id, String vertexInId,
       String vertexOutId, String edgeLabel, float edgeWeight) {
     GEdge newEdge = new GEdge();
-    newEdge.setEdgeId(new Utf8(id));
-    newEdge.setVertexInId(new Utf8(vertexInId));
-    newEdge.setVertexOutId(new Utf8(vertexOutId));
-    newEdge.setLabel(new Utf8(edgeLabel));
+    newEdge.setEdgeId(id);
+    newEdge.setVertexInId(vertexInId);
+    newEdge.setVertexOutId(vertexOutId);
+    newEdge.setLabel(edgeLabel);
     newEdge.setEdgeWeight(edgeWeight);
     return newEdge;
   }
@@ -109,11 +107,11 @@ public class GoraTestEdgeInputFormat
       Edge<LongWritable, FloatWritable> edge = null;
       GEdge goraEdge = (GEdge) goraObject;
       Long dest;
-      Long value;
+      Float value;
       dest = Long.valueOf(goraEdge.getVertexOutId().toString());
       this.sourceId = new LongWritable();
       this.sourceId.set(Long.valueOf(goraEdge.getVertexInId().toString()));
-      value = (long) goraEdge.getEdgeWeight();
+      value = (float) goraEdge.getEdgeWeight();
       edge = EdgeFactory.create(new LongWritable(dest),
           new FloatWritable(value));
       return edge;

http://git-wip-us.apache.org/repos/asf/giraph/blob/7c61dcf4/giraph-gora/src/test/java/org/apache/giraph/io/gora/GoraTestEdgeOutputFormat.java
----------------------------------------------------------------------
diff --git a/giraph-gora/src/test/java/org/apache/giraph/io/gora/GoraTestEdgeOutputFormat.java b/giraph-gora/src/test/java/org/apache/giraph/io/gora/GoraTestEdgeOutputFormat.java
index 0254498..f2e88c6 100644
--- a/giraph-gora/src/test/java/org/apache/giraph/io/gora/GoraTestEdgeOutputFormat.java
+++ b/giraph-gora/src/test/java/org/apache/giraph/io/gora/GoraTestEdgeOutputFormat.java
@@ -19,11 +19,8 @@ package org.apache.giraph.io.gora;
 
 import java.io.IOException;
 
-import junit.framework.Assert;
-
 import org.apache.avro.util.Utf8;
 import org.apache.giraph.edge.Edge;
-import org.apache.giraph.io.gora.GoraEdgeOutputFormat;
 import org.apache.giraph.io.gora.generated.GEdge;
 import org.apache.giraph.io.gora.generated.GEdgeResult;
 import org.apache.gora.persistency.Persistent;
@@ -31,6 +28,7 @@ import org.apache.hadoop.io.DoubleWritable;
 import org.apache.hadoop.io.FloatWritable;
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
+import org.junit.Assert;
 
 /**
  * Implementation of a specific writer for a generated data bean.
@@ -63,11 +61,11 @@ public class GoraTestEdgeOutputFormat
       GEdgeResult tmpGEdge = new GEdgeResult();
       Utf8 keyLabel = new Utf8(srcId.toString() + "-" +
       edge.getTargetVertexId().toString());
-      tmpGEdge.setEdgeId(keyLabel);
+      tmpGEdge.setEdgeId(keyLabel.toString());
       tmpGEdge.setEdgeWeight(edge.getValue().get());
-      tmpGEdge.setVertexInId(new Utf8(srcId.toString()));
-      tmpGEdge.setVertexOutId(new Utf8(edge.getTargetVertexId().toString()));
-      tmpGEdge.setLabel(keyLabel);
+      tmpGEdge.setVertexInId(srcId.toString());
+      tmpGEdge.setVertexOutId(edge.getTargetVertexId().toString());
+      tmpGEdge.setLabel(keyLabel.toString());
       getLogger().debug("GoraObject created: " + tmpGEdge.toString());
       return tmpGEdge;
     }
@@ -80,6 +78,7 @@ public class GoraTestEdgeOutputFormat
       return goraKey;
     }
 
+    @SuppressWarnings("unchecked")
     @Override
     public void writeEdge(LongWritable srcId, DoubleWritable srcValue,
         Edge<LongWritable, FloatWritable> edge)
@@ -105,13 +104,13 @@ public class GoraTestEdgeOutputFormat
      * @param edgeWeight Edge wight.
      * @return GEdge created.
      */
-    private GEdge createEdge(String id, String vertexInId,
+    private GEdgeResult createEdge(String id, String vertexInId,
         String vertexOutId, String edgeLabel, float edgeWeight) {
-      GEdge newEdge = new GEdge();
-      newEdge.setEdgeId(new Utf8(id));
-      newEdge.setVertexInId(new Utf8(vertexInId));
-      newEdge.setVertexOutId(new Utf8(vertexOutId));
-      newEdge.setLabel(new Utf8(edgeLabel));
+      GEdgeResult newEdge = new GEdgeResult();
+      newEdge.setEdgeId(id);
+      newEdge.setVertexInId(vertexInId);
+      newEdge.setVertexOutId(vertexOutId);
+      newEdge.setLabel(edgeLabel);
       newEdge.setEdgeWeight(edgeWeight);
       return newEdge;
     }

http://git-wip-us.apache.org/repos/asf/giraph/blob/7c61dcf4/giraph-gora/src/test/java/org/apache/giraph/io/gora/GoraTestVertexInputFormat.java
----------------------------------------------------------------------
diff --git a/giraph-gora/src/test/java/org/apache/giraph/io/gora/GoraTestVertexInputFormat.java b/giraph-gora/src/test/java/org/apache/giraph/io/gora/GoraTestVertexInputFormat.java
index 7de9346..d79a8fa 100644
--- a/giraph-gora/src/test/java/org/apache/giraph/io/gora/GoraTestVertexInputFormat.java
+++ b/giraph-gora/src/test/java/org/apache/giraph/io/gora/GoraTestVertexInputFormat.java
@@ -18,11 +18,9 @@
 package org.apache.giraph.io.gora;
 
 import java.io.IOException;
-import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.avro.util.Utf8;
 import org.apache.giraph.edge.Edge;
 import org.apache.giraph.edge.EdgeFactory;
 import org.apache.giraph.graph.Vertex;
@@ -78,10 +76,10 @@ public class GoraTestVertexInputFormat
    */
   public static GVertex createVertex(String id, Map<String, String> edges) {
     GVertex newVrtx = new GVertex();
-    newVrtx.setVertexId(new Utf8(id));
+    newVrtx.setVertexId(id);
     if (edges != null) {
       for (String edgeId : edges.keySet())
-        newVrtx.putToEdges(new Utf8(edgeId), new Utf8(edges.get(edgeId)));
+        newVrtx.getEdges().put(edgeId, edges.get(edgeId));
     }
     return newVrtx;
   }
@@ -106,11 +104,11 @@ public class GoraTestVertexInputFormat
 
       LongWritable vrtxId = new LongWritable(
           Long.parseLong(tmpGVertex.getVertexId().toString()));
-      DoubleWritable vrtxValue = new DoubleWritable(tmpGVertex.getValue());
+      DoubleWritable vrtxValue = new DoubleWritable(tmpGVertex.getVertexValue());
       vertex.initialize(vrtxId, vrtxValue);
       if (tmpGVertex.getEdges() != null && !tmpGVertex.getEdges().isEmpty()) {
-        Set<Utf8> keyIt = tmpGVertex.getEdges().keySet();
-        for (Utf8 key : keyIt) {
+        Set<CharSequence> keyIt = tmpGVertex.getEdges().keySet();
+        for (CharSequence key : keyIt) {
           String keyVal = key.toString();
           String valVal = tmpGVertex.getEdges().get(key).toString();
           Edge<LongWritable, FloatWritable> edge;

http://git-wip-us.apache.org/repos/asf/giraph/blob/7c61dcf4/giraph-gora/src/test/java/org/apache/giraph/io/gora/GoraTestVertexOutputFormat.java
----------------------------------------------------------------------
diff --git a/giraph-gora/src/test/java/org/apache/giraph/io/gora/GoraTestVertexOutputFormat.java b/giraph-gora/src/test/java/org/apache/giraph/io/gora/GoraTestVertexOutputFormat.java
index 5170d03..1cb1f14 100644
--- a/giraph-gora/src/test/java/org/apache/giraph/io/gora/GoraTestVertexOutputFormat.java
+++ b/giraph-gora/src/test/java/org/apache/giraph/io/gora/GoraTestVertexOutputFormat.java
@@ -21,9 +21,6 @@ import java.io.IOException;
 import java.util.Iterator;
 import java.util.Map;
 
-import junit.framework.Assert;
-
-import org.apache.avro.util.Utf8;
 import org.apache.giraph.edge.Edge;
 import org.apache.giraph.graph.Vertex;
 import org.apache.giraph.io.VertexWriter;
@@ -34,6 +31,7 @@ import org.apache.hadoop.io.DoubleWritable;
 import org.apache.hadoop.io.FloatWritable;
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.mapreduce.TaskAttemptContext;
+import org.junit.Assert;
 
 /**
  * Implementation of a specific reader for a generated data bean.
@@ -64,20 +62,21 @@ public class GoraTestVertexOutputFormat
     protected Persistent getGoraVertex(
         Vertex<LongWritable, DoubleWritable, FloatWritable> vertex) {
       GVertexResult tmpGVertex = new GVertexResult();
-      tmpGVertex.setVertexId(new Utf8(vertex.getId().toString()));
-      tmpGVertex.setValue(Float.parseFloat(vertex.getValue().toString()));
+      tmpGVertex.setVertexId(vertex.getId().toString());
+      tmpGVertex.setVertexValue(Float.parseFloat(vertex.getValue().toString()));
       Iterator<Edge<LongWritable, FloatWritable>> it =
           vertex.getEdges().iterator();
       while (it.hasNext()) {
         Edge<LongWritable, FloatWritable> edge = it.next();
-        tmpGVertex.putToEdges(
-            new Utf8(edge.getTargetVertexId().toString()),
-            new Utf8(edge.getValue().toString()));
+        tmpGVertex.getEdges().put(
+            edge.getTargetVertexId().toString(),
+            edge.getValue().toString());
       }
       getLogger().debug("GoraObject created: " + tmpGVertex.toString());
       return tmpGVertex;
     }
 
+    @SuppressWarnings("unchecked")
     @Override
     public void writeVertex(
       Vertex<LongWritable, DoubleWritable, FloatWritable> vertex)
@@ -94,12 +93,12 @@ public class GoraTestVertexOutputFormat
      * @param edges Set of edges.
      * @return GVertex created.
      */
-    public GVertex createVertex(String id, Map<String, String> edges) {
-      GVertex newVrtx = new GVertex();
-      newVrtx.setVertexId(new Utf8(id));
+    public GVertexResult createVertex(String id, Map<String, String> edges) {
+      GVertexResult newVrtx = new GVertexResult();
+      newVrtx.setVertexId(id);
       if (edges != null) {
         for (String edgeId : edges.keySet())
-          newVrtx.putToEdges(new Utf8(edgeId), new Utf8(edges.get(edgeId)));
+          newVrtx.getEdges().put(edgeId, edges.get(edgeId));
       }
       return newVrtx;
     }

http://git-wip-us.apache.org/repos/asf/giraph/blob/7c61dcf4/giraph-gora/src/test/java/org/apache/giraph/io/gora/TestGoraEdgeInputFormat.java
----------------------------------------------------------------------
diff --git a/giraph-gora/src/test/java/org/apache/giraph/io/gora/TestGoraEdgeInputFormat.java b/giraph-gora/src/test/java/org/apache/giraph/io/gora/TestGoraEdgeInputFormat.java
index a01fbd3..cf2df34 100644
--- a/giraph-gora/src/test/java/org/apache/giraph/io/gora/TestGoraEdgeInputFormat.java
+++ b/giraph-gora/src/test/java/org/apache/giraph/io/gora/TestGoraEdgeInputFormat.java
@@ -60,8 +60,8 @@ public class TestGoraEdgeInputFormat {
     GIRAPH_GORA_START_KEY.set(conf,"1");
     GIRAPH_GORA_END_KEY.set(conf,"3");
     conf.set("io.serializations",
-        "org.apache.hadoop.io.serializer.WritableSerialization," +
-        "org.apache.hadoop.io.serializer.JavaSerialization");
+        "org.apache.hadoop.io.serializer.JavaSerialization," +
+        "org.apache.hadoop.io.serializer.WritableSerialization");
     conf.setComputationClass(EmptyComputation.class);
     conf.setEdgeInputFormatClass(GoraGEdgeEdgeInputFormat.class);
     results = InternalVertexRunner.run(conf, new String[0], new String[0]);

http://git-wip-us.apache.org/repos/asf/giraph/blob/7c61dcf4/giraph-gora/src/test/java/org/apache/giraph/io/gora/TestGoraEdgeOutputFormat.java
----------------------------------------------------------------------
diff --git a/giraph-gora/src/test/java/org/apache/giraph/io/gora/TestGoraEdgeOutputFormat.java b/giraph-gora/src/test/java/org/apache/giraph/io/gora/TestGoraEdgeOutputFormat.java
index c9ac38a..7de6d01 100644
--- a/giraph-gora/src/test/java/org/apache/giraph/io/gora/TestGoraEdgeOutputFormat.java
+++ b/giraph-gora/src/test/java/org/apache/giraph/io/gora/TestGoraEdgeOutputFormat.java
@@ -68,7 +68,7 @@ public class TestGoraEdgeOutputFormat {
     set(conf, "org.apache.gora.memory.store.MemStore");
     GIRAPH_GORA_OUTPUT_KEY_CLASS.set(conf, "java.lang.String");
     GIRAPH_GORA_OUTPUT_PERSISTENT_CLASS.
-    set(conf,"org.apache.giraph.io.gora.generated.GEdge");
+    set(conf,"org.apache.giraph.io.gora.generated.GEdgeResult");
     conf.setEdgeOutputFormatClass(GoraTestEdgeOutputFormat.class);
     results = InternalVertexRunner.run(conf, new String[0], new String[0]);
     Assert.assertNotNull(results);

http://git-wip-us.apache.org/repos/asf/giraph/blob/7c61dcf4/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index e654ff3..6804de9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -273,10 +273,10 @@ under the License.
     <giraph.maven.dependency.plugin.skip>false</giraph.maven.dependency.plugin.skip>
     <giraph.maven.duplicate.finder.skip>false</giraph.maven.duplicate.finder.skip>
 
-    <dep.avro.version>1.3.3</dep.avro.version>
+    <dep.avro.version>1.7.6</dep.avro.version>
     <dep.accumulo.version>1.4.0</dep.accumulo.version>
     <dep.asm.version>3.2</dep.asm.version>
-    <dep.gora.version>0.3</dep.gora.version>
+    <dep.gora.version>0.5</dep.gora.version>
     <dep.airline.version>0.5</dep.airline.version>
     <dep.base64.version>2.3.8</dep.base64.version>
     <dep.cli-parser.version>1.1</dep.cli-parser.version>