add subclass V to extend VertexValueWritable
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 a85089d..0472ad7 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
@@ -31,8 +31,8 @@
import edu.uci.ics.genomix.type.VKmerListWritable;
import edu.uci.ics.genomix.type.NodeWritable.DirectionFlag;
-public abstract class BasicGraphCleanVertex<M extends MessageWritable> extends
- Vertex<VKmerBytesWritable, VertexValueWritable, NullWritable, M> {
+public abstract class BasicGraphCleanVertex<V extends VertexValueWritable, M extends MessageWritable> extends
+ Vertex<VKmerBytesWritable, V, NullWritable, M> {
public static int kmerSize = -1;
public static int maxIteration = -1;
@@ -49,7 +49,7 @@
protected M incomingMsg = null;
protected M outgoingMsg = null;
protected VKmerBytesWritable destVertexId = null;
- protected VertexValueWritable tmpValue = new VertexValueWritable();
+ protected VertexValueWritable tmpValue = new VertexValueWritable();
protected Iterator<VKmerBytesWritable> kmerIterator;
protected VKmerListWritable kmerList = null;
protected VKmerBytesWritable repeatKmer = null; //for detect tandemRepeat
@@ -750,7 +750,7 @@
}
}
- public static PregelixJob getConfiguredJob(GenomixJobConf conf, Class<? extends BasicGraphCleanVertex<? extends MessageWritable>> vertexClass) throws IOException {
+ public static PregelixJob getConfiguredJob(GenomixJobConf conf, Class<? extends BasicGraphCleanVertex<? extends VertexValueWritable, ? extends MessageWritable>> vertexClass) throws IOException {
// the following class weirdness is because java won't let me get the runtime class in a static context :(
System.out.println(vertexClass.getSimpleName());
PregelixJob job;
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 ff963f7..a978cfd 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
@@ -4,6 +4,7 @@
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.operator.BasicGraphCleanVertex;
import edu.uci.ics.genomix.pregelix.type.MessageFlag;
@@ -11,8 +12,8 @@
import edu.uci.ics.genomix.type.NodeWritable.OutgoingListFlag;
import edu.uci.ics.genomix.type.NodeWritable.IncomingListFlag;
-public abstract class BasicPathMergeVertex extends
- BasicGraphCleanVertex<PathMergeMessageWritable>{
+public abstract class BasicPathMergeVertex<V extends VertexValueWritable> extends
+ BasicGraphCleanVertex<V, PathMergeMessageWritable>{
public void setStateAsMergeWithPrev(){
byte state = getVertexValue().getState();
@@ -390,7 +391,7 @@
}
/**
- * configure MERGE msg
+ * configure MERGE msg TODO: delete edgelist, merge configureMergeMsgForPredecessor and configureMergeMsgForPredecessorByIn...
*/
public void configureMergeMsgForPredecessor(){
setPredecessorToMeDir();
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 5ac8e78..c949770 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
@@ -16,8 +16,8 @@
import edu.uci.ics.genomix.type.VKmerBytesWritable;
import edu.uci.ics.pregelix.api.job.PregelixJob;
-public class MapReduceVertex extends
- BasicPathMergeVertex{
+public class MapReduceVertex<V extends VertexValueWritable> extends
+ BasicPathMergeVertex<V>{
protected VKmerBytesWritable reverseKmer;
protected Map<VKmerBytesWritable, VKmerListWritable> kmerMapper = new HashMap<VKmerBytesWritable, VKmerListWritable>();
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 47a6e04..66aac30 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
@@ -25,7 +25,7 @@
*
*/
public class P4ForPathMergeVertex extends
- BasicPathMergeVertex {
+ BasicPathMergeVertex<VertexValueWritable> {
private static long randSeed = 1; //static for save memory
private float probBeingRandomHead = -1;
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 c345ac8..2aa23da 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
@@ -24,7 +24,7 @@
*
*/
public class UnrollTandemRepeat extends
- BasicGraphCleanVertex<MessageWritable>{
+ BasicGraphCleanVertex<VertexValueWritable, MessageWritable>{
private EdgeWritable tmpEdge = new EdgeWritable();
/**
diff --git a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/PathMergeTestSuite.java b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/PathMergeTestSuite.java
index cdbaa8f..d36d315 100644
--- a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/PathMergeTestSuite.java
+++ b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/PathMergeTestSuite.java
@@ -6,7 +6,8 @@
public static Test suite() throws Exception {
String pattern ="PathMerge";
- String testSet[] = {"2", "3", "4", "5", "6", "7", "8", "9", "head_6", "head_7",
+ String testSet[] = {
+ "2", "3", "4", "5", "6", "7", "8", "9", "head_6", "head_7",
"LeftAdj", "RightAdj",
"FR", "RF", "head_FR", "head_RF", "twohead_FR", "twohead_RF",
"SelfTandemRepeat", "TandemRepeatWithMergeEdge",
@@ -14,10 +15,10 @@
"SimplePath", "ThreeDuplicate",
"SimpleBridgePath", "BridgePathWithTandemRepeat",
"RingPath", "CyclePath",
- "SimpleTreePath", "ComplexTreePath",
- "Triangle", "Rectangle",
- "synthetic",
- "SmallGenome"
+// "SimpleTreePath", "ComplexTreePath",
+// "Triangle", "Rectangle",
+// "synthetic",
+// "SmallGenome"
};
init(pattern, testSet);
BasicGraphCleanTestSuite testSuite = new BasicGraphCleanTestSuite();
diff --git a/genomix/genomix-pregelix/src/test/resources/only_PathMerge.txt b/genomix/genomix-pregelix/src/test/resources/only_PathMerge.txt
index 1ecfd69..3d007d2 100644
--- a/genomix/genomix-pregelix/src/test/resources/only_PathMerge.txt
+++ b/genomix/genomix-pregelix/src/test/resources/only_PathMerge.txt
@@ -1 +1 @@
-P2ForMergeGraph.xml
+P4ForMergeGraph.xml