From 2a9511cbe5ebcd10c21e59273f3e763ccac0c3f4 Mon Sep 17 00:00:00 2001 From: Vincent Batts Date: Fri, 12 Oct 2012 12:29:06 -0400 Subject: [PATCH] first break off of the hydrate function --- src/main/java/com/redhat/trie/PathTree.java | 3 +++ src/main/java/com/redhat/trie/Util.java | 29 ++++++++++++++------- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/redhat/trie/PathTree.java b/src/main/java/com/redhat/trie/PathTree.java index 2c6c444..eeb29cc 100644 --- a/src/main/java/com/redhat/trie/PathTree.java +++ b/src/main/java/com/redhat/trie/PathTree.java @@ -16,6 +16,9 @@ package com.redhat.trie; public class PathTree { + private HuffNode dict; + private PathNode tree; + public PathTree() { } } diff --git a/src/main/java/com/redhat/trie/Util.java b/src/main/java/com/redhat/trie/Util.java index 5e0615c..42715d1 100644 --- a/src/main/java/com/redhat/trie/Util.java +++ b/src/main/java/com/redhat/trie/Util.java @@ -476,6 +476,23 @@ public class Util { null, left.getWeight() + right.getWeight(), left, right); return parent; } + + /* fix breakoff of hydrateContentPackage */ + private List byteArrayToStrings(byte[] ba) { + List strings = new ArrayList(); + String str = ""; + + for (byte b : ba) { + if (b == '\0') { + strings.add(str); + str = ""; + } else { + str += (char) b; + + } + } + return strings; + } /* * FIXME - break this apart, so that the hydrated payload @@ -493,17 +510,9 @@ public class Util { ios.finish(); long read = i.getBytesRead(); - String name = ""; int weight = 1; - for (byte b : baos.toByteArray()) { - if (b == '\0') { - pathDictionary.add(new HuffNode(getHuffNodeContext(), - name, weight++)); - name = ""; - } - else { - name += (char) b; - } + for (String name : byteArrayToStrings(baos.toByteArray())) { + pathDictionary.add(new HuffNode(getHuffNodeContext(), name, weight++)); } pathDictionary.add(new HuffNode(HuffNode.END_NODE, weight)); List triePathDictionary = new ArrayList();