diff src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/ParentIndex.java @ 158:89ed172137ab

fj Index fix?
author one
date Sun, 07 Dec 2014 19:01:08 +0900
parents 20af7f25ef32
children 6615db346bf5
line wrap: on
line diff
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/ParentIndex.java	Wed Nov 26 06:23:07 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/ParentIndex.java	Sun Dec 07 19:01:08 2014 +0900
@@ -11,7 +11,7 @@
 
 public class ParentIndex {
 
-  private final TreeMap<TreeNode, TreeNode> parentIndex;
+  private TreeMap<TreeNode, TreeNode> parentIndex;
 
   public ParentIndex() {
     parentIndex = TreeMap.empty(TreeMapOrd.treeNodeOrd);
@@ -24,6 +24,7 @@
   public boolean isEmpty(){
     return parentIndex.isEmpty();
   }
+  
   public ParentIndex(ParentIndex parentIndex) {
     this.parentIndex = parentIndex.getParentIndex();
   }
@@ -41,39 +42,36 @@
 
   public ParentIndex set(TreeNode parent) {
     Iterator<TreeNode> childrenIterator = parent.getChildren().iterator();
-    TreeMap<TreeNode, TreeNode> newParentIndex = parentIndex;
     for (; childrenIterator.hasNext();) {
       TreeNode child = childrenIterator.next();
-      newParentIndex = newParentIndex.set(child, parent);
+      parentIndex = parentIndex.set(child, parent);
     }
-    return new ParentIndex(newParentIndex);
+    return this;
   }
 
   public ParentIndex delete(TreeNode child) {
-    TreeMap<TreeNode, TreeNode> newParentIndex = parentIndex.delete(child);
-    return new ParentIndex(newParentIndex);
+    parentIndex = parentIndex.delete(child);
+    return this;
   }
 
   public ParentIndex deleteAllChildren(TreeNode parentNode) {
     TreeNodeChildren children = parentNode.getChildren();
     Iterator<TreeNode> childrenIterator = children.iterator();
-    TreeMap<TreeNode, TreeNode> newParentIndex = parentIndex;
     for (; childrenIterator.hasNext();) {
       TreeNode child = childrenIterator.next();
-      newParentIndex = newParentIndex.delete(child);
+      parentIndex = parentIndex.delete(child);
     }
-    return new ParentIndex(newParentIndex);
+    return this;
   }
 
   public ParentIndex addAllChildren(TreeNode parentNode) {
     TreeNodeChildren children = parentNode.getChildren();
     Iterator<TreeNode> childrenIterator = children.iterator();
-    TreeMap<TreeNode, TreeNode> newParentIndex = parentIndex;
     for (; childrenIterator.hasNext();) {
       TreeNode child = childrenIterator.next();
-      newParentIndex = newParentIndex.set(child, parentNode);
+      parentIndex = parentIndex.set(child, parentNode);
     }
-    return new ParentIndex(newParentIndex);
+    return this;
   }
 
 }