Mercurial > hg > Members > tatsuki > bench > jungle-core
diff src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/LoggingIndexAttributes.java @ 105:78ef456c98a0
add Query Status but has error
author | one |
---|---|
date | Fri, 12 Sep 2014 19:47:25 +0900 |
parents | f9a0e7069811 |
children | 5b7e45464bb8 |
line wrap: on
line diff
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/LoggingIndexAttributes.java Fri Sep 12 16:22:22 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/LoggingIndexAttributes.java Fri Sep 12 19:47:25 2014 +0900 @@ -2,6 +2,7 @@ import java.nio.ByteBuffer; +import fj.Ord; import fj.data.List; import fj.data.Option; import fj.data.TreeMap; @@ -21,9 +22,9 @@ private final TreeNode wrap; private final OperationLog log; - private TreeMap<String,List<TreeNode>> index; + private TreeMap<String,TreeMap<String, List<TreeNode>>> index; - public LoggingIndexAttributes(TreeNode _wrap, OperationLog _log, TreeMap<String,List<TreeNode>> index) { + public LoggingIndexAttributes(TreeNode _wrap, OperationLog _log, TreeMap<String,TreeMap<String, List<TreeNode>>> index) { super(_wrap, _log); this.wrap = _wrap; this.log = _log; @@ -70,19 +71,28 @@ Logging logNode = either.b(); TreeNode newNode = logNode.getWrap(); OperationLog newLog = logNode.getOperationLog(); - String indexKey = new String(value.array()); - Option<List<TreeNode>> opList = index.get(indexKey); + Option<TreeMap<String, TreeNode>> opAttributeIndex = index.get(key); + String indexKey = new String(value.array()); + TreeMap<String, TreeNode> list = TreeMap.empty(Ord.stringOrd); + + if (opAttributeIndex.isNone()) { + TreeMap<String, TreeNode> newAttributeindex = TreeMap.empty(Ord.stringOrd); + list = list.set(indexKey,newNode); + } else { + Option<TreeNode> oplist = opAttributeIndex.some().get(indexKey); + list = opAttributeIndex.some(); + list = list.cons(newNode); + } + + if (opList.isNone()) { - List<TreeNode> list = List.nil(); - list.cons(newNode); - String str = new String(value.array()); - index.set(str,list); + list = list.set(,newNode); } else { - List<TreeNode> list = opList.some(); + list = opList.some(); list = list.cons(newNode); - index.set(indexKey, list); } - Logging logIndexNode = new LoggingIndexNode(newNode, newLog, index); + TreeMap<String,List<TreeNode>> newIndex = index.set(indexKey,list); + Logging logIndexNode = new LoggingIndexNode(newNode, newLog, newIndex); return DefaultEither.newB(logIndexNode); } }