Mercurial > hg > Members > tatsuki > bench > jungle-core
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(); } }