remove new from KMerSequenceWriter

git-svn-id: https://hyracks.googlecode.com/svn/branches/fullstack_genomix@2970 123451ca-8445-de46-9d55-352943316053
diff --git a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/dataflow/KMerSequenceWriterFactory.java b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/dataflow/KMerSequenceWriterFactory.java
index e25ce40..c8f7e63 100644
--- a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/dataflow/KMerSequenceWriterFactory.java
+++ b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/dataflow/KMerSequenceWriterFactory.java
@@ -35,6 +35,7 @@
 		ConfFactory cf;
 		Writer writer = null;
 
+		KmerCountValue reEnterCount = new KmerCountValue();
 		/**
 		 * assumption is that output never change source!
 		 */
@@ -50,8 +51,8 @@
 				byte[] kmer = tuple.getFieldData(0);
 				int keyStart = tuple.getFieldStart(0);
 				int keyLength = tuple.getFieldLength(0);
-				writer.appendRaw(kmer, keyStart, keyLength, new KmerCountValue(
-						tuple));
+				reEnterCount.reset(tuple);
+				writer.appendRaw(kmer, keyStart, keyLength, reEnterCount);
 			} catch (IOException e) {
 				throw new HyracksDataException(e);
 			}
diff --git a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/driver/Driver.java b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/driver/Driver.java
index f9b2736..e0bd786 100644
--- a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/driver/Driver.java
+++ b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/driver/Driver.java
@@ -7,10 +7,6 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.mapred.JobConf;
-import org.apache.hadoop.mapreduce.Job;
-import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
-import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
 import org.apache.hadoop.util.GenericOptionsParser;
 
 import edu.uci.ics.genomix.job.GenomixJob;
diff --git a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/type/Kmer.java b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/type/Kmer.java
index 8517432..1fbcc22 100644
--- a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/type/Kmer.java
+++ b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/type/Kmer.java
@@ -75,34 +75,34 @@
 		public static String getSymbolFromBitMap(byte code) {
 			int left = (code >> 4) & 0x0F;
 			int right = code & 0x0F;
-			String str = new String();
+			StringBuilder str = new StringBuilder();
 			for (int i = A; i <= T; i++) {
 				if ((left & (1 << i)) != 0) {
-					str += (char)GENE_SYMBOL[i];
+					str.append((char)GENE_SYMBOL[i]);
 				}
 			}
-			str += '|';
+			str.append('|');
 			for (int i = A; i <= T; i++) {
 				if ((right & (1 << i)) != 0) {
-					str += (char)GENE_SYMBOL[i];
+					str.append((char)GENE_SYMBOL[i]);
 				}
 			}
-			return str;
+			return str.toString();
 		}
 	}
 
 	public static String recoverKmerFrom(int k, byte[] keyData, int keyStart,
 			int keyLength) {
-		String strKmer = new String();
+		StringBuilder strKmer = new StringBuilder();
 		int byteId = keyStart + keyLength - 1;
 		byte currentbyte = keyData[byteId];
 		for (int geneCount = 0; geneCount < k; geneCount++) {
 			if (geneCount % 4 == 0 && geneCount > 0) {
 				currentbyte = keyData[--byteId];
 			}
-			strKmer += (char) GENE_SYMBOL[(currentbyte >> ((geneCount % 4) * 2)) & 0x03];
+			strKmer.append((char) GENE_SYMBOL[(currentbyte >> ((geneCount % 4) * 2)) & 0x03]);
 		}
-		return strKmer;
+		return strKmer.toString();
 	}
 
 	/**
@@ -196,4 +196,5 @@
 		System.out.println(recoverKmerFrom(k, kmer, 0, kmer.length));
 
 	}
+
 }
diff --git a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/type/KmerCountValue.java b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/type/KmerCountValue.java
index e943798..6c29209 100644
--- a/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/type/KmerCountValue.java
+++ b/genomix/genomix-core/src/main/java/edu/uci/ics/genomix/type/KmerCountValue.java
@@ -15,8 +15,12 @@
 	private byte count;
 
 	public KmerCountValue(ITupleReference tuple) {
-		adjBitMap = tuple.getFieldData(1)[tuple.getFieldStart(1)];
-		count = tuple.getFieldData(2)[tuple.getFieldStart(2)];
+		reset(tuple);
+	}
+	
+	public KmerCountValue() {
+		adjBitMap = 0;
+		count = 0;
 	}
 
 	@Override
@@ -55,4 +59,9 @@
 		return Kmer.GENE_CODE.getSymbolFromBitMap(adjBitMap) + '\t' + String.valueOf(count);
 	}
 
+	public void reset(ITupleReference tuple) {
+		adjBitMap = tuple.getFieldData(1)[tuple.getFieldStart(1)];
+		count = tuple.getFieldData(2)[tuple.getFieldStart(2)];
+	}
+
 }
\ No newline at end of file