seperate io folder to io.common and io.message
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/format/GraphCleanInputFormat.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/format/GraphCleanInputFormat.java
index 4f1b474..641d1d8 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/format/GraphCleanInputFormat.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/format/GraphCleanInputFormat.java
@@ -10,8 +10,8 @@
import edu.uci.ics.pregelix.api.graph.Vertex;
import edu.uci.ics.pregelix.api.io.VertexReader;
import edu.uci.ics.pregelix.api.util.BspUtils;
-import edu.uci.ics.genomix.pregelix.io.MessageWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable;
+import edu.uci.ics.genomix.pregelix.io.message.MessageWritable;
import edu.uci.ics.genomix.pregelix.api.io.binary.GraphCleanVertexInputFormat;
import edu.uci.ics.genomix.pregelix.api.io.binary.GraphCleanVertexInputFormat.BinaryDataCleanVertexReader;
import edu.uci.ics.genomix.type.VKmerBytesWritable;
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/format/InitialGraphCleanInputFormat.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/format/InitialGraphCleanInputFormat.java
index e120c82..127f167 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/format/InitialGraphCleanInputFormat.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/format/InitialGraphCleanInputFormat.java
@@ -12,9 +12,9 @@
import edu.uci.ics.pregelix.api.util.BspUtils;
import edu.uci.ics.genomix.type.NodeWritable;
import edu.uci.ics.genomix.type.VKmerBytesWritable;
-import edu.uci.ics.genomix.pregelix.io.MessageWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable.State;
+import edu.uci.ics.genomix.pregelix.io.message.MessageWritable;
import edu.uci.ics.genomix.pregelix.api.io.binary.InitialGraphCleanVertexInputFormat;
import edu.uci.ics.genomix.pregelix.api.io.binary.InitialGraphCleanVertexInputFormat.BinaryVertexReader;
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/AdjacencyListWritable.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/AdjacencyListWritable.java
deleted file mode 100644
index 0611621..0000000
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/AdjacencyListWritable.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package edu.uci.ics.genomix.pregelix.io;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-
-import org.apache.hadoop.io.WritableComparable;
-
-import edu.uci.ics.genomix.type.EdgeListWritable;
-
-public class AdjacencyListWritable implements WritableComparable<AdjacencyListWritable>{
- private EdgeListWritable forwardList;
- private EdgeListWritable reverseList;
-
- public AdjacencyListWritable(){
- forwardList = new EdgeListWritable();
- reverseList = new EdgeListWritable();
- }
-
- public AdjacencyListWritable(int kmerSize){
- forwardList = new EdgeListWritable();
- reverseList = new EdgeListWritable();
- }
-
- public void set(AdjacencyListWritable adjacencyList){
- forwardList.setAsCopy(adjacencyList.getForwardList());
- reverseList.setAsCopy(adjacencyList.getReverseList());
- }
-
- public void reset(){
- forwardList.reset();
- reverseList.reset();
- }
-
- public void reset(int kmerSize){
- forwardList.reset();
- reverseList.reset();
- }
-
- public int getCountOfPosition(){
- return forwardList.getCountOfPosition() + reverseList.getCountOfPosition();
- }
-
- public EdgeListWritable getForwardList() {
- return forwardList;
- }
-
- public void setForwardList(EdgeListWritable forwardList) {
- this.forwardList.setAsCopy(forwardList);
- }
-
- public EdgeListWritable getReverseList() {
- return reverseList;
- }
-
- public void setReverseList(EdgeListWritable reverseList) {
- this.reverseList.setAsCopy(reverseList);
- }
-
- @Override
- public void readFields(DataInput in) throws IOException {
- forwardList.readFields(in);
- reverseList.readFields(in);
- }
-
- @Override
- public void write(DataOutput out) throws IOException {
- forwardList.write(out);
- reverseList.write(out);
- }
-
- @Override
- public int compareTo(AdjacencyListWritable o) {
- return 0;
- }
-}
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/ArrayListWritable.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/ArrayListWritable.java
deleted file mode 100644
index 0d1b5d7..0000000
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/ArrayListWritable.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package edu.uci.ics.genomix.pregelix.io;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-import java.util.ArrayList;
-import org.apache.hadoop.io.Writable;
-
-/**
- * <p>
- * Class that represents an array list in Hadoop's data type system. It extends ArrayList class,
- * hence supports all services provided by ArrayList.
- * Elements in the list must be homogeneous and must implement Hadoop's Writable interface.
- * This class, combined with {@link Tuple}, allows the user to
- * define arbitrarily complex data structures.
- * </p>
- *
- * @see Tuple
- * @param <E>
- * type of list element
- */
-
-public class ArrayListWritable<E extends Writable> extends ArrayList<E> implements Writable{
-
- private static final long serialVersionUID = 1L;
-
- /**
- * Creates an ArrayListWritable object.
- */
- public ArrayListWritable() {
- super();
- }
-
- /**
- * Creates an ArrayListWritable object from a regular ArrayList.
- */
- public ArrayListWritable(ArrayList<E> array) {
- super(array);
- }
-
- /**
- * Deserializes the array.
- *
- * @param in
- * source for raw byte representation
- */
- @SuppressWarnings({ "unchecked", "rawtypes" })
- public void readFields(DataInput in) throws IOException {
-
- this.clear();
-
- int numFields = in.readInt();
- if(numFields==0) return;
- String className = in.readUTF();
- E obj;
- try {
- Class c = Class.forName(className);
- for (int i = 0; i < numFields; i++) {
- obj = (E) c.newInstance();
- obj.readFields(in);
- this.add(obj);
- }
-
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (InstantiationException e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Serializes this array.
- *
- * @param out
- * where to write the raw byte representation
- */
- public void write(DataOutput out) throws IOException {
- out.writeInt(this.size());
- if(size()==0) return;
- E obj=get(0);
-
- out.writeUTF(obj.getClass().getCanonicalName());
-
- for (int i = 0; i < size(); i++) {
- obj = get(i);
- if (obj == null) {
- throw new IOException("Cannot serialize null fields!");
- }
- obj.write(out);
- }
- }
-
- /**
- * Generates human-readable String representation of this ArrayList.
- *
- * @return human-readable String representation of this ArrayList
- */
- public String toString() {
- StringBuffer sb = new StringBuffer();
- sb.append("[");
- for (int i = 0; i < this.size(); i++) {
- if (i != 0)
- sb.append(", ");
- sb.append(this.get(i));
- }
- sb.append("]");
-
- return sb.toString();
- }
-
-}
\ No newline at end of file
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/BFSTraverseMessageWritable.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/BFSTraverseMessageWritable.java
deleted file mode 100644
index ba8ecbd..0000000
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/BFSTraverseMessageWritable.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package edu.uci.ics.genomix.pregelix.io;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-
-import edu.uci.ics.genomix.pregelix.type.EdgeDirs;
-import edu.uci.ics.genomix.type.VKmerBytesWritable;
-import edu.uci.ics.genomix.type.VKmerListWritable;
-
-public class BFSTraverseMessageWritable extends MessageWritable{
-
- private VKmerListWritable pathList; //use for BFSTravese
- private ArrayListWritable<EdgeDirs> edgeDirsList;
- private VKmerBytesWritable seekedVertexId; //use for BFSTravese
- private long readId; //use for BFSTravese
- private boolean srcFlip; //use for BFSTravese
- private boolean destFlip; //use for BFSTravese
- private boolean isTraverseMsg; //otherwise, it is final message for this path for adding readId to all path nodes
-
- public BFSTraverseMessageWritable(){
- super();
- pathList = new VKmerListWritable();
- edgeDirsList = new ArrayListWritable<EdgeDirs>();
- seekedVertexId = new VKmerBytesWritable();
- readId = 0;
- srcFlip = false;
- destFlip = false;
- isTraverseMsg = true;
- }
-
- public void reset(){
- super.reset();
- pathList.reset();
- edgeDirsList.clear();
- seekedVertexId.reset(0);
- readId = 0;
- srcFlip = false;
- destFlip = false;
- isTraverseMsg = true;
- }
-
- public VKmerListWritable getPathList() {
- return pathList;
- }
-
- public void setPathList(VKmerListWritable pathList) {
- this.pathList = pathList;
- }
-
- public ArrayListWritable<EdgeDirs> getEdgeDirsList() {
- return edgeDirsList;
- }
-
- public void setEdgeDirsList(ArrayListWritable<EdgeDirs> edgeDirsList) {
- this.edgeDirsList.clear();
- this.edgeDirsList.addAll(edgeDirsList);
- }
-
- public VKmerBytesWritable getSeekedVertexId() {
- return seekedVertexId;
- }
-
- public void setSeekedVertexId(VKmerBytesWritable seekedVertexId) {
- this.seekedVertexId = seekedVertexId;
- }
-
- public long getReadId() {
- return readId;
- }
-
- public void setReadId(long readId) {
- this.readId = readId;
- }
-
- public boolean isSrcFlip() {
- return srcFlip;
- }
-
- public void setSrcFlip(boolean srcFlip) {
- this.srcFlip = srcFlip;
- }
-
- public boolean isDestFlip() {
- return destFlip;
- }
-
- public void setDestFlip(boolean destFlip) {
- this.destFlip = destFlip;
- }
-
- public boolean isTraverseMsg() {
- return isTraverseMsg;
- }
-
- public void setTraverseMsg(boolean isTraverseMsg) {
- this.isTraverseMsg = isTraverseMsg;
- }
-
- @Override
- public void readFields(DataInput in) throws IOException {
- reset();
- super.readFields(in);
- pathList.readFields(in);
- edgeDirsList.readFields(in);
- seekedVertexId.readFields(in);
- readId = in.readLong();
- srcFlip = in.readBoolean();
- destFlip = in.readBoolean();
- isTraverseMsg = in.readBoolean();
- }
-
- @Override
- public void write(DataOutput out) throws IOException {
- super.write(out);
- pathList.write(out);
- edgeDirsList.write(out);
- seekedVertexId.write(out);
- out.writeLong(readId);
- out.writeBoolean(srcFlip);
- out.writeBoolean(destFlip);
- out.writeBoolean(isTraverseMsg);
- }
-}
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/BubbleMergeMessageWritable.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/BubbleMergeMessageWritable.java
deleted file mode 100644
index 8be703d..0000000
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/BubbleMergeMessageWritable.java
+++ /dev/null
@@ -1,187 +0,0 @@
-package edu.uci.ics.genomix.pregelix.io;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-import java.util.Comparator;
-
-import edu.uci.ics.genomix.pregelix.type.MessageFlag;
-import edu.uci.ics.genomix.type.NodeWritable;
-import edu.uci.ics.genomix.type.VKmerBytesWritable;
-
-public class BubbleMergeMessageWritable extends MessageWritable{
-
- public static class DirToMajor{
- public static final byte FORWARD = 0;
- public static final byte REVERSE = 1;
- }
-
- private VKmerBytesWritable majorVertexId; //use for MergeBubble
- private VKmerBytesWritable minorVertexId;
- private NodeWritable node; //except kmer, other field should be updated when MergeBubble
- private byte meToMajorDir;
- private byte meToMinorDir;
- private VKmerBytesWritable topCoverageVertexId;
- private boolean isFlip;
-
- public BubbleMergeMessageWritable(){
- super();
- majorVertexId = new VKmerBytesWritable();
- minorVertexId = new VKmerBytesWritable();
- node = new NodeWritable();
- meToMajorDir = 0;
- meToMinorDir = 0;
- topCoverageVertexId = new VKmerBytesWritable();
- isFlip = false;
- }
-
- public BubbleMergeMessageWritable(BubbleMergeMessageWritable msg){
- set(msg);
- }
-
- public void set(BubbleMergeMessageWritable msg){
- this.setSourceVertexId(msg.getSourceVertexId());
- this.setFlag(msg.getFlag());
- this.setMajorVertexId(msg.getMajorVertexId());
- this.setMinorVertexId(msg.getMinorVertexId());
- this.setNode(msg.node);
- this.setMeToMajorDir(msg.meToMajorDir);
- this.setMeToMinorDir(msg.meToMinorDir);
- this.setTopCoverageVertexId(msg.topCoverageVertexId);
- this.setFlip(msg.isFlip());
- }
-
- public void reset(){
- super.reset();
- majorVertexId.reset(0);
- minorVertexId.reset(0);
- node.reset();
- meToMajorDir = 0;
- meToMinorDir = 0;
- topCoverageVertexId.reset(0);
- isFlip = false;
- }
-
- public byte getRelativeDirToMajor(){
- switch(meToMajorDir){
- case MessageFlag.DIR_FF:
- case MessageFlag.DIR_RR:
- return DirToMajor.FORWARD;
- case MessageFlag.DIR_FR:
- case MessageFlag.DIR_RF:
- return DirToMajor.REVERSE;
- }
- return 0;
- }
-
- public VKmerBytesWritable getMajorVertexId() {
- return majorVertexId;
- }
-
- public void setMajorVertexId(VKmerBytesWritable majorVertexId) {
- if(this.majorVertexId == null)
- this.majorVertexId = new VKmerBytesWritable();
- this.majorVertexId.setAsCopy(majorVertexId);
- }
-
-
- public VKmerBytesWritable getMinorVertexId() {
- return minorVertexId;
- }
-
- public void setMinorVertexId(VKmerBytesWritable minorVertexId) {
- if(this.minorVertexId == null)
- this.minorVertexId = new VKmerBytesWritable();
- this.minorVertexId.setAsCopy(minorVertexId);
- }
-
- public VKmerBytesWritable getTopCoverageVertexId() {
- return topCoverageVertexId;
- }
-
- public void setTopCoverageVertexId(VKmerBytesWritable topCoverageVertexId) {
- if(this.topCoverageVertexId == null)
- this.topCoverageVertexId = new VKmerBytesWritable();
- this.topCoverageVertexId.setAsCopy(topCoverageVertexId);
- }
-
- public NodeWritable getNode() {
- return node;
- }
-
- public void setNode(NodeWritable node) {
- if(this.node == null)
- this.node = new NodeWritable();
- this.node.setAsCopy(node);
- }
-
- public byte getMeToMajorDir() {
- return meToMajorDir;
- }
-
- public void setMeToMajorDir(byte meToMajorDir) {
- this.meToMajorDir = meToMajorDir;
- }
-
- public byte getMeToMinorDir() {
- return meToMinorDir;
- }
-
- public void setMeToMinorDir(byte meToMinorDir) {
- this.meToMinorDir = meToMinorDir;
- }
-
- public boolean isFlip() {
- return isFlip;
- }
-
- public void setFlip(boolean isFlip) {
- this.isFlip = isFlip;
- }
-
- @Override
- public void readFields(DataInput in) throws IOException {
- reset();
- super.readFields(in);
- majorVertexId.readFields(in);
- minorVertexId.readFields(in);
- node.readFields(in);
- meToMajorDir = in.readByte();
- meToMinorDir = in.readByte();
- topCoverageVertexId.readFields(in);
- isFlip = in.readBoolean();
- }
-
- @Override
- public void write(DataOutput out) throws IOException {
- super.write(out);
- majorVertexId.write(out);
- minorVertexId.write(out);
- node.write(out);
- out.writeByte(meToMajorDir);
- out.write(meToMinorDir);
- topCoverageVertexId.write(out);
- out.writeBoolean(isFlip);
- }
-
- public static class SortByCoverage implements Comparator<BubbleMergeMessageWritable> {
- @Override
- public int compare(BubbleMergeMessageWritable left, BubbleMergeMessageWritable right) {
- return -Float.compare(left.node.getAverageCoverage(), right.node.getAverageCoverage());
- }
- }
-
- public boolean isFlip(BubbleMergeMessageWritable other){
- return this.getRelativeDirToMajor() != other.getRelativeDirToMajor();
- }
-
- public float computeDissimilar(BubbleMergeMessageWritable other){
- if(isFlip(other)){
- String reverse = other.getNode().getInternalKmer().toString();
- VKmerBytesWritable reverseKmer = new VKmerBytesWritable();
- reverseKmer.setByReadReverse(reverse.length(), reverse.getBytes(), 0);
- return this.getNode().getInternalKmer().fracDissimilar(reverseKmer);
- } else
- return this.getNode().getInternalKmer().fracDissimilar(other.getNode().getInternalKmer());
- }
-}
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/ByteWritable.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/ByteWritable.java
deleted file mode 100644
index bc5cc74..0000000
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/ByteWritable.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package edu.uci.ics.genomix.pregelix.io;
-
-import edu.uci.ics.pregelix.api.io.WritableSizable;
-
-/**
- * Writable for Byte values.
- */
-public class ByteWritable extends org.apache.hadoop.io.ByteWritable implements WritableSizable {
-
- public ByteWritable(byte value) {
- super(value);
- }
-
- public ByteWritable() {
- super();
- }
-
- public int sizeInBytes() {
- return 1;
- }
-}
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/HashMapWritable.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/HashMapWritable.java
deleted file mode 100644
index c4556c7..0000000
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/HashMapWritable.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package edu.uci.ics.genomix.pregelix.io;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-import java.util.Map;
-import java.util.Set;
-import java.util.HashMap;
-
-import org.apache.hadoop.io.Writable;
-@SuppressWarnings("unchecked")
-public class HashMapWritable<K extends Writable, V extends Writable> extends HashMap<K, V> implements
- Writable {
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
-
- /**
- * Creates a HashMapWritable object.
- */
- public HashMapWritable() {
- super();
- }
-
- /**
- * Creates a HashMapWritable object from a regular HashMap.
- */
- public HashMapWritable(HashMap<K, V> map) {
- super(map);
- }
-
- /**
- * Deserializes the array.
- *
- * @param in
- * source for raw byte representation
- */
-
- @SuppressWarnings("rawtypes")
- public void readFields(DataInput in) throws IOException {
-
- this.clear();
-
- int numEntries = in.readInt();
- if(numEntries==0) return;
-
- String keyClassName = in.readUTF();
- String valueClassName = in.readUTF();
-
- K objK;
- V objV;
- try {
- Class keyClass = Class.forName(keyClassName);
- Class valueClass = Class.forName(valueClassName);
- for (int i = 0; i < numEntries; i++) {
- objK = (K) keyClass.newInstance();
- objK.readFields(in);
- objV = (V) valueClass.newInstance();
- objV.readFields(in);
- put(objK, objV);
- }
-
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (InstantiationException e) {
- e.printStackTrace();
- }
-
- }
-
- /**
- * Serializes this array.
- *
- * @param out
- * where to write the raw byte representation
- */
- public void write(DataOutput out) throws IOException {
- // Write out the number of entries in the map
- out.writeInt(size());
- if(size()==0) return;
-
- // Write out the class names for keys and values
- // assuming that data is homogeneuos (i.e., all entries have same types)
- Set<Map.Entry<K, V>> entries = entrySet();
- Map.Entry<K, V> first = entries.iterator().next();
- K objK = first.getKey();
- V objV = first.getValue();
- out.writeUTF(objK.getClass().getCanonicalName());
- out.writeUTF(objV.getClass().getCanonicalName());
-
- // Then write out each key/value pair
- for (Map.Entry<K, V> e: entrySet()) {
- e.getKey().write(out);
- e.getValue().write(out);
- }
- }
-
-}
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/KmerListAndFlagListWritable.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/KmerListAndFlagListWritable.java
index 0bc30f3..c9222a4 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/KmerListAndFlagListWritable.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/KmerListAndFlagListWritable.java
@@ -7,6 +7,7 @@
import org.apache.hadoop.io.BooleanWritable;
import org.apache.hadoop.io.Writable;
+import edu.uci.ics.genomix.pregelix.io.common.ArrayListWritable;
import edu.uci.ics.genomix.type.VKmerListWritable;
public class KmerListAndFlagListWritable implements Writable{
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/LinkedListWritable.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/LinkedListWritable.java
deleted file mode 100644
index 13a5f39..0000000
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/LinkedListWritable.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package edu.uci.ics.genomix.pregelix.io;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-import java.util.LinkedList;
-
-import org.apache.hadoop.io.Writable;
-
-/**
- * <p>
- * Class that represents an array list in Hadoop's data type system. It extends ArrayList class,
- * hence supports all services provided by ArrayList.
- * Elements in the list must be homogeneous and must implement Hadoop's Writable interface.
- * This class, combined with {@link Tuple}, allows the user to
- * define arbitrarily complex data structures.
- * </p>
- *
- * @see Tuple
- * @param <E>
- * type of list element
- */
-
-public class LinkedListWritable<E extends Writable> extends LinkedList<E> implements Writable{
-
- private static final long serialVersionUID = 1L;
-
- /**
- * Creates an ArrayListWritable object.
- */
- public LinkedListWritable() {
- super();
- }
-
- /**
- * Creates an ArrayListWritable object from a regular ArrayList.
- */
- public LinkedListWritable(LinkedList<E> array) {
- super(array);
- }
-
- /**
- * Deserializes the array.
- *
- * @param in
- * source for raw byte representation
- */
- @SuppressWarnings({ "unchecked", "rawtypes" })
- public void readFields(DataInput in) throws IOException {
-
- this.clear();
-
- int numFields = in.readInt();
- if(numFields==0) return;
- String className = in.readUTF();
- E obj;
- try {
- Class c = Class.forName(className);
- for (int i = 0; i < numFields; i++) {
- obj = (E) c.newInstance();
- obj.readFields(in);
- this.add(obj);
- }
-
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (InstantiationException e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Serializes this array.
- *
- * @param out
- * where to write the raw byte representation
- */
- public void write(DataOutput out) throws IOException {
- out.writeInt(this.size());
- if(size()==0) return;
- E obj=get(0);
-
- out.writeUTF(obj.getClass().getCanonicalName());
-
- for (int i = 0; i < size(); i++) {
- obj = get(i);
- if (obj == null) {
- throw new IOException("Cannot serialize null fields!");
- }
- obj.write(out);
- }
- }
-
- /**
- * Generates human-readable String representation of this ArrayList.
- *
- * @return human-readable String representation of this ArrayList
- */
- public String toString() {
- StringBuffer sb = new StringBuffer();
- sb.append("[");
- for (int i = 0; i < this.size(); i++) {
- if (i != 0)
- sb.append(", ");
- sb.append(this.get(i));
- }
- sb.append("]");
-
- return sb.toString();
- }
-
-}
\ No newline at end of file
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/MessageWritable.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/MessageWritable.java
deleted file mode 100644
index ab62877..0000000
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/MessageWritable.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package edu.uci.ics.genomix.pregelix.io;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-
-import org.apache.hadoop.io.Writable;
-
-import edu.uci.ics.genomix.type.VKmerBytesWritable;
-import edu.uci.ics.pregelix.api.io.WritableSizable;
-
-public class MessageWritable implements Writable, WritableSizable {
-
- private VKmerBytesWritable sourceVertexId; // stores srcNode id
- private byte flag; // stores message type
-
- public MessageWritable(){
- sourceVertexId = new VKmerBytesWritable();
- flag = 0;
- }
-
- public void reset(){
- sourceVertexId.reset(0);
- flag = 0;
- }
-
- @Override
- public String toString(){
- StringBuilder sbuilder = new StringBuilder();
- sbuilder.append('{');
- sbuilder.append(sourceVertexId.toString());
- sbuilder.append('}');
- return sbuilder.toString();
- }
-
- public VKmerBytesWritable getSourceVertexId() {
- return sourceVertexId;
- }
-
- public void setSourceVertexId(VKmerBytesWritable sourceVertexId) {
- this.sourceVertexId.setAsCopy(sourceVertexId);
- }
-
- public byte getFlag() {
- return flag;
- }
-
- public void setFlag(byte flag) {
- this.flag = flag;
- }
-
-
- @Override
- public void readFields(DataInput in) throws IOException {
- reset();
- sourceVertexId.readFields(in);
- flag = in.readByte();
- }
-
- @Override
- public void write(DataOutput out) throws IOException {
- sourceVertexId.write(out);
- out.writeByte(flag);
- }
-
- @Override
- public int sizeInBytes() {
- // TODO Auto-generated method stub
- return 0;
- }
-
-}
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/PathMergeMessageWritable.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/PathMergeMessageWritable.java
deleted file mode 100644
index 77d2bcd..0000000
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/PathMergeMessageWritable.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package edu.uci.ics.genomix.pregelix.io;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-
-import edu.uci.ics.genomix.type.EdgeListWritable;
-import edu.uci.ics.genomix.type.EdgeWritable;
-import edu.uci.ics.genomix.type.NodeWritable;
-import edu.uci.ics.genomix.type.PositionListWritable;
-import edu.uci.ics.genomix.type.VKmerBytesWritable;
-import edu.uci.ics.genomix.type.NodeWritable.DirectionFlag;
-
-public class PathMergeMessageWritable extends MessageWritable{
-
- private NodeWritable node;
- private boolean isFlip; // use for path merge
- private boolean updateMsg; // use for distinguish updateMsg or mergeMsg
-
- public PathMergeMessageWritable(){
- super();
- node = new NodeWritable();
- isFlip = false;
- updateMsg = false;
- }
-
- public void reset(){
- super.reset();
- node.reset();
- isFlip = false;
- updateMsg = false;
- }
-
- public VKmerBytesWritable getInternalKmer() {
- return node.getInternalKmer();
- }
-
- public void setInternalKmer(VKmerBytesWritable internalKmer) {
- this.node.setInternalKmer(internalKmer);
- }
-
- public EdgeListWritable getEdgeList(byte dir) {
- return node.getEdgeList((byte) (dir & DirectionFlag.DIR_MASK));
- }
-
- public EdgeWritable getNeighborEdge(){
- for(byte d : DirectionFlag.values){
- if(!getEdgeList(d).isEmpty())
- return getEdgeList(d).get(0);
- }
- return null;
- }
-
- public void setEdgeList(byte dir, EdgeListWritable edgeList) {
- this.node.setEdgeList((byte) (dir & DirectionFlag.DIR_MASK), edgeList);
- }
-
- public PositionListWritable getStartReads() {
- return this.node.getStartReads();
- }
-
- public void setStartReads(PositionListWritable startReads) {
- this.node.setStartReads(startReads);
- }
-
- public PositionListWritable getEndReads() {
- return this.node.getEndReads();
- }
-
- public void setEndReads(PositionListWritable endReads) {
- this.node.setEndReads(endReads);
- }
-
- public void setAvgCoverage(float coverage) {
- this.node.setAvgCoverage(coverage);
- }
-
- public float getAvgCoverage() {
- return this.node.getAvgCoverage();
- }
-
- public boolean isFlip() {
- return isFlip;
- }
-
- public void setFlip(boolean isFlip) {
- this.isFlip = isFlip;
- }
-
- public boolean isUpdateMsg() {
- return updateMsg;
- }
-
- public void setUpdateMsg(boolean updateMsg) {
- this.updateMsg = updateMsg;
- }
-
- public NodeWritable getNode() {
- return node;
- }
-
- public void setNode(NodeWritable node) {
- this.node.setAsCopy(node);
- }
-
- @Override
- public void readFields(DataInput in) throws IOException {
- reset();
- super.readFields(in);
- node.readFields(in);
- isFlip = in.readBoolean();
- updateMsg = in.readBoolean();
- }
-
- @Override
- public void write(DataOutput out) throws IOException {
- super.write(out);
- node.write(out);
- out.writeBoolean(isFlip);
- out.writeBoolean(updateMsg);
- }
-}
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/SplitRepeatMessageWritable.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/SplitRepeatMessageWritable.java
deleted file mode 100644
index bff2ff1..0000000
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/SplitRepeatMessageWritable.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package edu.uci.ics.genomix.pregelix.io;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-
-import edu.uci.ics.genomix.type.EdgeWritable;
-
-public class SplitRepeatMessageWritable extends MessageWritable {
-
- private EdgeWritable createdEdge;
- private EdgeWritable deletedEdge;
-
- public SplitRepeatMessageWritable(){
- super();
- createdEdge = new EdgeWritable();
- deletedEdge = new EdgeWritable();
- }
-
- public void reset(){
- super.reset();
- createdEdge.reset();
- deletedEdge.reset();
- }
-
- public EdgeWritable getCreatedEdge() {
- return createdEdge;
- }
-
- public void setCreatedEdge(EdgeWritable createdEdge) {
- this.createdEdge.setAsCopy(createdEdge);
- }
-
- public EdgeWritable getDeletedEdge() {
- return deletedEdge;
- }
-
- public void setDeletedEdge(EdgeWritable deletedEdge) {
- this.deletedEdge.setAsCopy(deletedEdge);
- }
-
- @Override
- public void readFields(DataInput in) throws IOException {
- reset();
- super.readFields(in);
- createdEdge.readFields(in);
- deletedEdge.readFields(in);
- }
-
- @Override
- public void write(DataOutput out) throws IOException {
- super.write(out);
- createdEdge.write(out);
- deletedEdge.write(out);
- }
-}
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/VLongWritable.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/VLongWritable.java
deleted file mode 100644
index 1353915..0000000
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/VLongWritable.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright 2009-2013 by The Regents of the University of California
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * you may obtain a copy of the License from
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package edu.uci.ics.genomix.pregelix.io;
-
-import java.io.DataInput;
-import java.io.DataInputStream;
-
-import org.apache.hadoop.io.WritableComparable;
-import org.apache.hadoop.io.WritableComparator;
-import org.apache.hadoop.io.WritableUtils;
-
-import edu.uci.ics.pregelix.api.io.WritableSizable;
-import edu.uci.ics.pregelix.api.util.ResetableByteArrayInputStream;
-
-/**
- * A WritableComparable for longs in a variable-length format. Such values take
- * between one and nine bytes. Smaller values take fewer bytes.
- *
- * @see org.apache.hadoop.io.WritableUtils#readVLong(DataInput)
- */
-@SuppressWarnings("rawtypes")
-public class VLongWritable extends org.apache.hadoop.io.VLongWritable implements WritableSizable {
-
- public VLongWritable() {
- }
-
- public VLongWritable(long value) {
- set(value);
- }
-
- public int sizeInBytes() {
- long i = get();
- if (i >= -112 && i <= 127) {
- return 1;
- }
-
- int len = -112;
- if (i < 0) {
- i ^= -1L; // take one's complement'
- len = -120;
- }
-
- long tmp = i;
- while (tmp != 0) {
- tmp = tmp >> 8;
- len--;
- }
-
- len = (len < -120) ? -(len + 120) : -(len + 112);
- return len + 1;
- }
-
- /** A Comparator optimized for LongWritable. */
- public static class Comparator extends WritableComparator {
- private ResetableByteArrayInputStream bis = new ResetableByteArrayInputStream();
- private DataInput dis = new DataInputStream(bis);
-
- public Comparator() {
- super(VLongWritable.class);
- }
-
- public int compare(byte[] b1, int s1, int l1, byte[] b2, int s2, int l2) {
- try {
- bis.setByteArray(b1, s1);
- long thisValue = WritableUtils.readVLong(dis);
- bis.setByteArray(b2, s2);
- long thatValue = WritableUtils.readVLong(dis);
- return (thisValue < thatValue ? -1 : (thisValue == thatValue ? 0 : 1));
- } catch (Exception e) {
- throw new IllegalStateException(e);
- }
- }
- }
-
- /** A decreasing Comparator optimized for LongWritable. */
- public static class DecreasingComparator extends Comparator {
- public int compare(WritableComparable a, WritableComparable b) {
- return -super.compare(a, b);
- }
-
- public int compare(byte[] b1, int s1, int l1, byte[] b2, int s2, int l2) {
- return -super.compare(b1, s1, l1, b2, s2, l2);
- }
- }
-
- static { // register default comparator
- WritableComparator.define(VLongWritable.class, new Comparator());
- }
-
-}
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/VertexValueWritable.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/VertexValueWritable.java
index 735866c..aad47fc 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/VertexValueWritable.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/io/VertexValueWritable.java
@@ -2,6 +2,10 @@
import java.io.*;
+import edu.uci.ics.genomix.pregelix.io.common.AdjacencyListWritable;
+import edu.uci.ics.genomix.pregelix.io.common.ByteWritable;
+import edu.uci.ics.genomix.pregelix.io.common.HashMapWritable;
+import edu.uci.ics.genomix.pregelix.io.common.VLongWritable;
import edu.uci.ics.genomix.pregelix.type.MessageFlag;
import edu.uci.ics.genomix.type.EdgeListWritable;
import edu.uci.ics.genomix.type.EdgeWritable;
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/log/LogAlgorithmLogFormatter.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/log/LogAlgorithmLogFormatter.java
index 065e181..ffcd982 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/log/LogAlgorithmLogFormatter.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/log/LogAlgorithmLogFormatter.java
@@ -2,7 +2,7 @@
import java.util.logging.*;
-import edu.uci.ics.genomix.pregelix.io.MessageWritable;
+import edu.uci.ics.genomix.pregelix.io.message.MessageWritable;
import edu.uci.ics.genomix.type.KmerBytesWritable;
public class LogAlgorithmLogFormatter extends Formatter {
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/BasicGraphCleanVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/BasicGraphCleanVertex.java
index 0472ad7..e1dd5eb 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/BasicGraphCleanVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/BasicGraphCleanVertex.java
@@ -14,13 +14,13 @@
import edu.uci.ics.genomix.pregelix.client.Client;
import edu.uci.ics.genomix.pregelix.format.GraphCleanInputFormat;
import edu.uci.ics.genomix.pregelix.format.GraphCleanOutputFormat;
-import edu.uci.ics.genomix.pregelix.io.ByteWritable;
-import edu.uci.ics.genomix.pregelix.io.HashMapWritable;
import edu.uci.ics.genomix.config.GenomixJobConf;
-import edu.uci.ics.genomix.pregelix.io.MessageWritable;
-import edu.uci.ics.genomix.pregelix.io.VLongWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable.State;
+import edu.uci.ics.genomix.pregelix.io.common.ByteWritable;
+import edu.uci.ics.genomix.pregelix.io.common.HashMapWritable;
+import edu.uci.ics.genomix.pregelix.io.common.VLongWritable;
+import edu.uci.ics.genomix.pregelix.io.message.MessageWritable;
import edu.uci.ics.genomix.pregelix.operator.aggregator.StatisticsAggregator;
import edu.uci.ics.genomix.pregelix.operator.pathmerge.P4ForPathMergeVertex;
import edu.uci.ics.genomix.pregelix.operator.removelowcoverage.RemoveLowCoverageVertex;
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/aggregator/StatisticsAggregator.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/aggregator/StatisticsAggregator.java
index b006cb1..bd83ab5 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/aggregator/StatisticsAggregator.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/aggregator/StatisticsAggregator.java
@@ -2,11 +2,11 @@
import org.apache.hadoop.io.NullWritable;
-import edu.uci.ics.genomix.pregelix.io.ByteWritable;
-import edu.uci.ics.genomix.pregelix.io.HashMapWritable;
-import edu.uci.ics.genomix.pregelix.io.MessageWritable;
-import edu.uci.ics.genomix.pregelix.io.VLongWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable;
+import edu.uci.ics.genomix.pregelix.io.common.ByteWritable;
+import edu.uci.ics.genomix.pregelix.io.common.HashMapWritable;
+import edu.uci.ics.genomix.pregelix.io.common.VLongWritable;
+import edu.uci.ics.genomix.pregelix.io.message.MessageWritable;
import edu.uci.ics.genomix.type.VKmerBytesWritable;
import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
import edu.uci.ics.pregelix.api.graph.GlobalAggregator;
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/bridgeremove/BridgeAddVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/bridgeremove/BridgeAddVertex.java
index f46358d..adbc526 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/bridgeremove/BridgeAddVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/bridgeremove/BridgeAddVertex.java
@@ -15,8 +15,8 @@
import edu.uci.ics.genomix.pregelix.client.Client;
import edu.uci.ics.genomix.pregelix.format.GraphCleanInputFormat;
import edu.uci.ics.genomix.pregelix.format.GraphCleanOutputFormat;
-import edu.uci.ics.genomix.pregelix.io.MessageWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable;
+import edu.uci.ics.genomix.pregelix.io.message.MessageWritable;
import edu.uci.ics.genomix.pregelix.type.MessageFlag;
/**
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/bridgeremove/BridgeRemoveVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/bridgeremove/BridgeRemoveVertex.java
index 869e369..3520914 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/bridgeremove/BridgeRemoveVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/bridgeremove/BridgeRemoveVertex.java
@@ -9,8 +9,8 @@
import edu.uci.ics.genomix.pregelix.client.Client;
import edu.uci.ics.genomix.pregelix.format.GraphCleanInputFormat;
import edu.uci.ics.genomix.pregelix.format.GraphCleanOutputFormat;
-import edu.uci.ics.genomix.pregelix.io.MessageWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable;
+import edu.uci.ics.genomix.pregelix.io.message.MessageWritable;
import edu.uci.ics.genomix.pregelix.operator.BasicGraphCleanVertex;
import edu.uci.ics.genomix.pregelix.operator.aggregator.StatisticsAggregator;
import edu.uci.ics.genomix.pregelix.type.StatisticsCounter;
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/bubblemerge/BubbleAddVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/bubblemerge/BubbleAddVertex.java
index b4440d9..e446129 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/bubblemerge/BubbleAddVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/bubblemerge/BubbleAddVertex.java
@@ -15,8 +15,8 @@
import edu.uci.ics.genomix.pregelix.client.Client;
import edu.uci.ics.genomix.pregelix.format.GraphCleanOutputFormat;
import edu.uci.ics.genomix.pregelix.format.InitialGraphCleanInputFormat;
-import edu.uci.ics.genomix.pregelix.io.MessageWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable;
+import edu.uci.ics.genomix.pregelix.io.message.MessageWritable;
import edu.uci.ics.genomix.pregelix.type.MessageFlag;
/**
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/bubblemerge/BubbleMergeVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/bubblemerge/BubbleMergeVertex.java
index 175e686..42dd1e1 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/bubblemerge/BubbleMergeVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/bubblemerge/BubbleMergeVertex.java
@@ -17,8 +17,8 @@
import edu.uci.ics.genomix.pregelix.client.Client;
import edu.uci.ics.genomix.pregelix.format.GraphCleanInputFormat;
import edu.uci.ics.genomix.pregelix.format.GraphCleanOutputFormat;
-import edu.uci.ics.genomix.pregelix.io.BubbleMergeMessageWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable;
+import edu.uci.ics.genomix.pregelix.io.message.BubbleMergeMessageWritable;
import edu.uci.ics.genomix.pregelix.operator.BasicGraphCleanVertex;
import edu.uci.ics.genomix.pregelix.operator.aggregator.StatisticsAggregator;
import edu.uci.ics.genomix.pregelix.type.MessageFlag;
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/BasicPathMergeVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/BasicPathMergeVertex.java
index a978cfd..b74eb43 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/BasicPathMergeVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/BasicPathMergeVertex.java
@@ -2,10 +2,10 @@
import java.io.IOException;
-import edu.uci.ics.genomix.pregelix.io.MessageWritable;
-import edu.uci.ics.genomix.pregelix.io.PathMergeMessageWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable.State;
+import edu.uci.ics.genomix.pregelix.io.message.MessageWritable;
+import edu.uci.ics.genomix.pregelix.io.message.PathMergeMessageWritable;
import edu.uci.ics.genomix.pregelix.operator.BasicGraphCleanVertex;
import edu.uci.ics.genomix.pregelix.type.MessageFlag;
import edu.uci.ics.genomix.type.GeneCode;
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/MapReduceVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/MapReduceVertex.java
index c949770..5a7bea4 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/MapReduceVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/MapReduceVertex.java
@@ -8,9 +8,9 @@
import edu.uci.ics.genomix.pregelix.client.Client;
import edu.uci.ics.genomix.pregelix.format.GraphCleanInputFormat;
import edu.uci.ics.genomix.pregelix.format.GraphCleanOutputFormat;
-import edu.uci.ics.genomix.pregelix.io.PathMergeMessageWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable.State;
+import edu.uci.ics.genomix.pregelix.io.message.PathMergeMessageWritable;
import edu.uci.ics.genomix.pregelix.type.MessageFlag;
import edu.uci.ics.genomix.type.VKmerListWritable;
import edu.uci.ics.genomix.type.VKmerBytesWritable;
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/P1ForPathMergeVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/P1ForPathMergeVertex.java
index 03e7b63..d23912d 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/P1ForPathMergeVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/P1ForPathMergeVertex.java
@@ -10,9 +10,9 @@
import edu.uci.ics.genomix.pregelix.client.Client;
import edu.uci.ics.genomix.pregelix.format.GraphCleanInputFormat;
import edu.uci.ics.genomix.pregelix.format.GraphCleanOutputFormat;
-import edu.uci.ics.genomix.pregelix.io.PathMergeMessageWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable.State;
+import edu.uci.ics.genomix.pregelix.io.message.PathMergeMessageWritable;
import edu.uci.ics.genomix.pregelix.type.MessageFlag;
import edu.uci.ics.genomix.pregelix.util.VertexUtil;
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/P2ForPathMergeVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/P2ForPathMergeVertex.java
index 8796fc8..d0ef40e 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/P2ForPathMergeVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/P2ForPathMergeVertex.java
@@ -4,9 +4,9 @@
import java.util.Iterator;
import edu.uci.ics.genomix.pregelix.client.Client;
-import edu.uci.ics.genomix.pregelix.io.PathMergeMessageWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable.State;
+import edu.uci.ics.genomix.pregelix.io.message.PathMergeMessageWritable;
import edu.uci.ics.genomix.pregelix.operator.BasicGraphCleanVertex;
import edu.uci.ics.genomix.pregelix.operator.aggregator.StatisticsAggregator;
import edu.uci.ics.genomix.pregelix.type.MessageFlag;
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/P4ForPathMergeVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/P4ForPathMergeVertex.java
index 3f5ba86..042f102 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/P4ForPathMergeVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/P4ForPathMergeVertex.java
@@ -9,9 +9,9 @@
import edu.uci.ics.genomix.pregelix.client.Client;
import edu.uci.ics.genomix.pregelix.format.GraphCleanInputFormat;
import edu.uci.ics.genomix.pregelix.format.GraphCleanOutputFormat;
-import edu.uci.ics.genomix.pregelix.io.PathMergeMessageWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable.State;
+import edu.uci.ics.genomix.pregelix.io.message.PathMergeMessageWritable;
import edu.uci.ics.genomix.pregelix.operator.BasicGraphCleanVertex;
import edu.uci.ics.genomix.pregelix.operator.aggregator.StatisticsAggregator;
import edu.uci.ics.genomix.pregelix.type.MessageFlag;
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/removelowcoverage/RemoveLowCoverageVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/removelowcoverage/RemoveLowCoverageVertex.java
index 3c8addf..b7005f9 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/removelowcoverage/RemoveLowCoverageVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/removelowcoverage/RemoveLowCoverageVertex.java
@@ -10,8 +10,8 @@
import edu.uci.ics.genomix.pregelix.client.Client;
import edu.uci.ics.genomix.pregelix.format.GraphCleanInputFormat;
import edu.uci.ics.genomix.pregelix.format.GraphCleanOutputFormat;
-import edu.uci.ics.genomix.pregelix.io.MessageWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable;
+import edu.uci.ics.genomix.pregelix.io.message.MessageWritable;
import edu.uci.ics.genomix.pregelix.operator.BasicGraphCleanVertex;
import edu.uci.ics.genomix.pregelix.operator.aggregator.StatisticsAggregator;
import edu.uci.ics.genomix.pregelix.type.StatisticsCounter;
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/scaffolding/BFSTraverseVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/scaffolding/BFSTraverseVertex.java
index d6dd7f4..4a905ad 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/scaffolding/BFSTraverseVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/scaffolding/BFSTraverseVertex.java
@@ -7,10 +7,10 @@
import edu.uci.ics.genomix.pregelix.client.Client;
import edu.uci.ics.genomix.pregelix.format.GraphCleanInputFormat;
import edu.uci.ics.genomix.pregelix.format.GraphCleanOutputFormat;
-import edu.uci.ics.genomix.pregelix.io.ArrayListWritable;
-import edu.uci.ics.genomix.pregelix.io.BFSTraverseMessageWritable;
-import edu.uci.ics.genomix.pregelix.io.MessageWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable;
+import edu.uci.ics.genomix.pregelix.io.common.ArrayListWritable;
+import edu.uci.ics.genomix.pregelix.io.message.BFSTraverseMessageWritable;
+import edu.uci.ics.genomix.pregelix.io.message.MessageWritable;
import edu.uci.ics.genomix.pregelix.operator.BasicGraphCleanVertex;
import edu.uci.ics.genomix.pregelix.type.EdgeDirs;
import edu.uci.ics.genomix.pregelix.type.MessageFlag;
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/scaffolding/ScaffoldingAggregator.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/scaffolding/ScaffoldingAggregator.java
index 5523c46..f29d8be 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/scaffolding/ScaffoldingAggregator.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/scaffolding/ScaffoldingAggregator.java
@@ -2,11 +2,11 @@
import org.apache.hadoop.io.NullWritable;
-import edu.uci.ics.genomix.pregelix.io.HashMapWritable;
import edu.uci.ics.genomix.pregelix.io.KmerListAndFlagListWritable;
-import edu.uci.ics.genomix.pregelix.io.MessageWritable;
-import edu.uci.ics.genomix.pregelix.io.VLongWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable;
+import edu.uci.ics.genomix.pregelix.io.common.HashMapWritable;
+import edu.uci.ics.genomix.pregelix.io.common.VLongWritable;
+import edu.uci.ics.genomix.pregelix.io.message.MessageWritable;
import edu.uci.ics.genomix.pregelix.operator.aggregator.StatisticsAggregator;
import edu.uci.ics.genomix.type.VKmerBytesWritable;
import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/scaffolding/ScaffoldingVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/scaffolding/ScaffoldingVertex.java
index 9a87e15..dfe76a9 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/scaffolding/ScaffoldingVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/scaffolding/ScaffoldingVertex.java
@@ -9,13 +9,13 @@
import edu.uci.ics.genomix.pregelix.client.Client;
import edu.uci.ics.genomix.pregelix.format.GraphCleanInputFormat;
import edu.uci.ics.genomix.pregelix.format.GraphCleanOutputFormat;
-import edu.uci.ics.genomix.pregelix.io.ArrayListWritable;
-import edu.uci.ics.genomix.pregelix.io.BFSTraverseMessageWritable;
-import edu.uci.ics.genomix.pregelix.io.HashMapWritable;
import edu.uci.ics.genomix.pregelix.io.KmerListAndFlagListWritable;
-import edu.uci.ics.genomix.pregelix.io.MessageWritable;
-import edu.uci.ics.genomix.pregelix.io.VLongWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable;
+import edu.uci.ics.genomix.pregelix.io.common.ArrayListWritable;
+import edu.uci.ics.genomix.pregelix.io.common.HashMapWritable;
+import edu.uci.ics.genomix.pregelix.io.common.VLongWritable;
+import edu.uci.ics.genomix.pregelix.io.message.BFSTraverseMessageWritable;
+import edu.uci.ics.genomix.pregelix.io.message.MessageWritable;
import edu.uci.ics.genomix.pregelix.operator.BasicGraphCleanVertex;
import edu.uci.ics.genomix.pregelix.operator.aggregator.StatisticsAggregator;
import edu.uci.ics.genomix.pregelix.type.StatisticsCounter;
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/splitrepeat/SplitRepeatVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/splitrepeat/SplitRepeatVertex.java
index bbe89c7..90aa571 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/splitrepeat/SplitRepeatVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/splitrepeat/SplitRepeatVertex.java
@@ -10,9 +10,9 @@
import edu.uci.ics.genomix.pregelix.client.Client;
import edu.uci.ics.genomix.pregelix.format.GraphCleanInputFormat;
import edu.uci.ics.genomix.pregelix.format.GraphCleanOutputFormat;
-import edu.uci.ics.genomix.pregelix.io.SplitRepeatMessageWritable;
import edu.uci.ics.genomix.config.GenomixJobConf;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable;
+import edu.uci.ics.genomix.pregelix.io.message.SplitRepeatMessageWritable;
import edu.uci.ics.genomix.pregelix.operator.BasicGraphCleanVertex;
import edu.uci.ics.genomix.pregelix.operator.aggregator.StatisticsAggregator;
import edu.uci.ics.genomix.pregelix.type.StatisticsCounter;
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/tipremove/TipAddVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/tipremove/TipAddVertex.java
index c1e5fc2..8b3ee23 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/tipremove/TipAddVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/tipremove/TipAddVertex.java
@@ -14,8 +14,8 @@
import edu.uci.ics.genomix.pregelix.client.Client;
import edu.uci.ics.genomix.pregelix.format.GraphCleanInputFormat;
import edu.uci.ics.genomix.pregelix.format.GraphCleanOutputFormat;
-import edu.uci.ics.genomix.pregelix.io.MessageWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable;
+import edu.uci.ics.genomix.pregelix.io.message.MessageWritable;
import edu.uci.ics.genomix.pregelix.type.MessageFlag;
/*
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/tipremove/TipRemoveVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/tipremove/TipRemoveVertex.java
index d815146..eebaab1 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/tipremove/TipRemoveVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/tipremove/TipRemoveVertex.java
@@ -8,8 +8,8 @@
import edu.uci.ics.genomix.pregelix.client.Client;
import edu.uci.ics.genomix.pregelix.format.GraphCleanInputFormat;
import edu.uci.ics.genomix.pregelix.format.GraphCleanOutputFormat;
-import edu.uci.ics.genomix.pregelix.io.MessageWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable;
+import edu.uci.ics.genomix.pregelix.io.message.MessageWritable;
import edu.uci.ics.genomix.pregelix.operator.BasicGraphCleanVertex;
import edu.uci.ics.genomix.pregelix.operator.aggregator.StatisticsAggregator;
import edu.uci.ics.genomix.pregelix.type.StatisticsCounter;
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/unrolltandemrepeat/UnrollTandemRepeat.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/unrolltandemrepeat/UnrollTandemRepeat.java
index 2aa23da..36a2e54 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/unrolltandemrepeat/UnrollTandemRepeat.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/unrolltandemrepeat/UnrollTandemRepeat.java
@@ -7,8 +7,8 @@
import edu.uci.ics.genomix.pregelix.client.Client;
import edu.uci.ics.genomix.pregelix.format.GraphCleanInputFormat;
import edu.uci.ics.genomix.pregelix.format.GraphCleanOutputFormat;
-import edu.uci.ics.genomix.pregelix.io.MessageWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable;
+import edu.uci.ics.genomix.pregelix.io.message.MessageWritable;
import edu.uci.ics.genomix.pregelix.operator.BasicGraphCleanVertex;
import edu.uci.ics.genomix.pregelix.operator.aggregator.StatisticsAggregator;
import edu.uci.ics.genomix.pregelix.type.StatisticsCounter;
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/util/VertexUtil.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/util/VertexUtil.java
index e10fa7a..083b659 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/util/VertexUtil.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/util/VertexUtil.java
@@ -1,7 +1,7 @@
package edu.uci.ics.genomix.pregelix.util;
-import edu.uci.ics.genomix.pregelix.io.AdjacencyListWritable;
import edu.uci.ics.genomix.pregelix.io.VertexValueWritable;
+import edu.uci.ics.genomix.pregelix.io.common.AdjacencyListWritable;
import edu.uci.ics.genomix.type.EdgeWritable;
import edu.uci.ics.genomix.type.VKmerBytesWritable;
diff --git a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/BasicSmallTestCase.java b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/BasicSmallTestCase.java
index 7167e7c..87630fd 100644
--- a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/BasicSmallTestCase.java
+++ b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/BasicSmallTestCase.java
@@ -29,9 +29,9 @@
import org.junit.Test;
import edu.uci.ics.genomix.pregelix.graph.GenerateGraphViz;
-import edu.uci.ics.genomix.pregelix.io.ByteWritable;
-import edu.uci.ics.genomix.pregelix.io.HashMapWritable;
-import edu.uci.ics.genomix.pregelix.io.VLongWritable;
+import edu.uci.ics.genomix.pregelix.io.common.ByteWritable;
+import edu.uci.ics.genomix.pregelix.io.common.HashMapWritable;
+import edu.uci.ics.genomix.pregelix.io.common.VLongWritable;
import edu.uci.ics.genomix.pregelix.operator.BasicGraphCleanVertex;
import edu.uci.ics.genomix.pregelix.sequencefile.GenerateTextFile;
import edu.uci.ics.genomix.pregelix.type.StatisticsCounter;