Updated Genomix

git-svn-id: https://hyracks.googlecode.com/svn/branches/fullstack_genomix@2947 123451ca-8445-de46-9d55-352943316053
diff --git a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/data/normalizers/VLongNormalizedKeyComputerFactory.java b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/data/normalizers/VLongNormalizedKeyComputerFactory.java
index f8134dc..969431c 100644
--- a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/data/normalizers/VLongNormalizedKeyComputerFactory.java
+++ b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/data/normalizers/VLongNormalizedKeyComputerFactory.java
@@ -21,7 +21,7 @@
 				long r = 0;

 				for (int i = 0; i < n; i++) {

 					r <<= 8;

-					r += (long) (bytes[offset + 1] & 0xff);

+					r += (long) (bytes[offset + i + 1] & 0xff);

 				}

 

 				return r;

diff --git a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/data/std/primitive/VLongPointable.java b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/data/std/primitive/VLongPointable.java
index b7f9c25..ffa6fc6 100644
--- a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/data/std/primitive/VLongPointable.java
+++ b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/data/std/primitive/VLongPointable.java
@@ -85,13 +85,12 @@
 		

 		int n = this.bytes[be];

 		int l = (int) Math.ceil(n / 4);

-		for (int i = 0; i <= l; i++) {

+		for (int i = l; i > 0; i--) {

 			if (this.bytes[be + i] < bytes[start + i]) {

 				return -1;

 			} else if (this.bytes[be + i] > bytes[start + i]) {

 				return 1;

 			}

-

 		}

 		return 0;

 	}

diff --git a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/dataflow/aggregators/DistributedMergeLmerAggregateFactory.java b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/dataflow/aggregators/DistributedMergeLmerAggregateFactory.java
index a16dcea..d7ab7f7 100644
--- a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/dataflow/aggregators/DistributedMergeLmerAggregateFactory.java
+++ b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/dataflow/aggregators/DistributedMergeLmerAggregateFactory.java
@@ -21,7 +21,7 @@
 public class DistributedMergeLmerAggregateFactory implements

 		IAggregatorDescriptorFactory {

 	private static final long serialVersionUID = 1L;

-	private static final int max = 255;

+	private static final int max = 127;

 

 	public DistributedMergeLmerAggregateFactory() {

 	}

diff --git a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/dataflow/aggregators/MergeKmerAggregateFactory.java b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/dataflow/aggregators/MergeKmerAggregateFactory.java
index b2f94dc..76b04d1 100644
--- a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/dataflow/aggregators/MergeKmerAggregateFactory.java
+++ b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/dataflow/aggregators/MergeKmerAggregateFactory.java
@@ -20,7 +20,7 @@
  */

 public class MergeKmerAggregateFactory implements IAggregatorDescriptorFactory {

 	private static final long serialVersionUID = 1L;

-	private static final int max = 255;

+	private static final int max = 127;

 

 	public MergeKmerAggregateFactory() {

 	}

@@ -100,6 +100,9 @@
 						+ stateAccessor.getFieldSlotsLength() + statefieldStart;

 

 				count += 1;

+				if(count > max){

+					count = max;

+				}

 

 				byte[] data = stateAccessor.getBuffer().array();

 

diff --git a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/job/JobGenBrujinGraph.java b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/job/JobGenBrujinGraph.java
index a67f42f..d6c72da 100644
--- a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/job/JobGenBrujinGraph.java
+++ b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/job/JobGenBrujinGraph.java
@@ -123,7 +123,7 @@
 				recordSizeInBytes,
 				tableSize,
 				new IBinaryComparatorFactory[] { PointableBinaryComparatorFactory
-						.of(LongPointable.FACTORY) },
+						.of(VLongPointable.FACTORY) },
 				new IBinaryHashFunctionFamily[] { new VLongBinaryHashFunctionFamily() },
 				hashfuncStartLevel,
 				new VLongNormalizedKeyComputerFactory(),
@@ -157,7 +157,7 @@
 					jobSpec,
 					keyFields,
 					new IBinaryComparatorFactory[] { PointableBinaryComparatorFactory
-							.of(LongPointable.FACTORY) },
+							.of(VLongPointable.FACTORY) },
 					new DistributedMergeLmerAggregateFactory(), outputRec);
 			break;
 		case HYBRIDHASH: