fix builder.reset bug
diff --git a/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/hyracks/dataflow/MapKmerPositionToReadOperator.java b/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/hyracks/dataflow/MapKmerPositionToReadOperator.java
index 53bd79d..4ea5a84 100644
--- a/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/hyracks/dataflow/MapKmerPositionToReadOperator.java
+++ b/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/hyracks/dataflow/MapKmerPositionToReadOperator.java
@@ -129,8 +129,10 @@
private void appendNodeToBuilder(int tIndex, PositionReference pos, ArrayBackedValueStorage posList2,
ArrayTupleBuilder builder2) {
try {
+ builder2.reset();
builder2.addField(pos.getByteArray(), pos.getStartOffset(), PositionReference.INTBYTES);
builder2.addField(pos.getByteArray(), pos.getStartOffset() + PositionReference.INTBYTES, 1);
+
if (posList2 == null) {
builder2.addFieldEndOffset();
} else {
@@ -150,7 +152,6 @@
throw new IllegalStateException();
}
}
- builder2.reset();
} catch (HyracksDataException e) {
throw new IllegalStateException(
"Failed to Add a field to the tuple by copying the data bytes from a byte array.");
diff --git a/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/hyracks/dataflow/MapReadToNodeOperator.java b/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/hyracks/dataflow/MapReadToNodeOperator.java
index d80ed13..2d92303 100644
--- a/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/hyracks/dataflow/MapReadToNodeOperator.java
+++ b/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/hyracks/dataflow/MapReadToNodeOperator.java
@@ -199,6 +199,7 @@
private void outputNode(NodeReference node) throws HyracksDataException {
try {
+ builder.reset();
builder.addField(node.getNodeID().getByteArray(), node.getNodeID().getStartOffset(), node.getNodeID()
.getLength());
builder.getDataOutput().writeInt(node.getCount());
@@ -216,7 +217,6 @@
throw new IllegalStateException("Failed to append tuplebuilder to frame");
}
}
- builder.reset();
} catch (IOException e) {
throw new IllegalStateException("Failed to Add a field to the tupleBuilder.");
}
diff --git a/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/hyracks/job/JobGenMapKmerToRead.java b/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/hyracks/job/JobGenMapKmerToRead.java
index c399603..ed79781 100644
--- a/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/hyracks/job/JobGenMapKmerToRead.java
+++ b/genomix/genomix-hyracks/src/main/java/edu/uci/ics/genomix/hyracks/job/JobGenMapKmerToRead.java
@@ -77,7 +77,7 @@
tuple.getFieldStart(MapKmerPositionToReadOperator.OutputOtherReadIDListField));
if (kmer.getLength() > tuple
- .getFieldLength(ReadsKeyValueParserFactory.OutputKmerField)) {
+ .getFieldLength(MapKmerPositionToReadOperator.OutputKmerField)) {
throw new IllegalArgumentException("Not enough kmer bytes");
}
kmer.setNewReference(