diff src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/InterfaceTraverser.java @ 184:d2b710337eaa

change TreeMap
author tatsuki
date Sun, 29 Mar 2015 23:29:27 +0900
parents 066d9c5758dc
children 209df7faa37c
line wrap: on
line diff
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/InterfaceTraverser.java	Mon Mar 23 15:44:28 2015 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/InterfaceTraverser.java	Sun Mar 29 23:29:27 2015 +0900
@@ -1,14 +1,12 @@
 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser;
 
 import java.util.Iterator;
+import java.util.Optional;
 
 import fj.Ord;
-import fj.P2;
 import fj.data.List;
-import fj.data.Option;
-import fj.data.TreeMap;
+import jp.ac.u_ryukyu.ie.cr.tatsuki.TreeMap.TreeMap;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NulIterator;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeContext;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
 import jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.query.PathNodeIterator;
 import jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.query.Query;
@@ -24,7 +22,7 @@
     boolean useIndex;
 
     public InterfaceTraverser(TreeNode root, boolean indexFlag) {
-        this(root, TreeMap.empty(Ord.stringOrd), new ParentIndex(), indexFlag);
+        this(root, new TreeMap<>(), new ParentIndex(), indexFlag);
     }
 
     public InterfaceTraverser(TreeNode root, TreeMap<String, TreeMap<String, List<TreeNode>>> index,
@@ -309,14 +307,14 @@
     // }
 
     public Iterator<TreeNode> get(String key, String value) {
-
-        TreeMap<String, List<TreeNode>> index = indexList.getLoop(key);
-        if (index == null)
+        Optional<TreeMap<String, List<TreeNode>>> indexOp = indexList.getLoop(key);
+        if (!indexOp.isPresent())
             return null;
 
-        List<TreeNode> nodeList = index.getLoop(value);
-        if (nodeList == null)
+        Optional<List<TreeNode>> nodeListOp = indexOp.get().getLoop(value);
+        if (!nodeListOp.isPresent())
             return new NulIterator<TreeNode>();
-        return nodeList.iterator();
+
+        return nodeListOp.get().iterator();
     }
 }