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);
 	}
 }