changeset 183:bf08205d5c5f

refactoring FindMatrixTest
author tatsuki
date Mon, 15 Sep 2014 15:34:51 +0900
parents 28a8625d78bb
children 7ca4c7557c25
files src/test/java/alice/jungle/log/example/FindMatrixTest.java
diffstat 1 files changed, 47 insertions(+), 59 deletions(-) [+]
line wrap: on
line diff
--- a/src/test/java/alice/jungle/log/example/FindMatrixTest.java	Mon Sep 15 14:42:31 2014 +0900
+++ b/src/test/java/alice/jungle/log/example/FindMatrixTest.java	Mon Sep 15 15:34:51 2014 +0900
@@ -1,6 +1,7 @@
 package alice.jungle.log.example;
 
 import java.io.File;
+import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.Iterator;
@@ -35,73 +36,60 @@
 
 public class FindMatrixTest extends TestCase {
 	
-	public class SearchQuery implements Query{
-		
-		private String key;
-		private String searchAttribute;
-		
-		public SearchQuery (String key, String searchAttribute){
-			this.key = key;
-			this.searchAttribute = searchAttribute;
-		}
+	public static void main(String[] args) throws IOException {
+	    PersistentJournal journal = new PersistentJournal();
+		journal.setOutputFile(new File("./log/test.log"));
+		Jungle jungle = new PersistentJungle(journal, "uuid", new DefaultTreeEditor(new DefaultTraverser()));
 		
-		@Override
-		public boolean condition(TreeNode _node) {
-			ByteBuffer attribute = _node.getAttributes().get(key);
-			if(attribute != null){
-				byte[] byteAttribute = attribute.array();
-				String str = new String(byteAttribute);
-				System.out.println(str);
-				return str.equals(searchAttribute);
-			}
-			return false;
-		}
+		String treeName = treeLoad(jungle);
+		
+		JungleTree tree = jungle.getTreeByName(treeName);
+		InterfaceTraverser ifTraverser = tree.getTraverser();
+		
+		Iterator<Pair<TreeNode, NodePath>> searchNode = ifTraverser.find(
+		        new Query() {
 
-		@Override
-		public List<Pair<String, String>> indexCondition() {
-			// TODO Auto-generated method stub
-			return null;
-		}
+                    @Override
+                    public boolean condition(TreeNode _node) {
+                        ByteBuffer attribute = _node.getAttributes().get("mes");
+                        if(attribute != null){
+                            byte[] byteAttribute = attribute.array();
+                            String str = new String(byteAttribute);
+                            System.out.println(str);
+                            return str.equals("株式会社フタコ放送");
+                        }
+                        return false;
+                    }	            
+		        }
+		        
+		        );
+		TreeNode node = searchNode.next().left();
+		byte[] nodeAttibute = node.getAttributes().get("mes").array();
+		System.out.println(new String(nodeAttibute));
+	}
+
+    public static String treeLoad(Jungle jungle) throws FileNotFoundException {
+        String treeName = null;
 		
-	};
-	
-	public static void main(String[] args) throws IOException {
-		PersistentJournal journal1 = new PersistentJournal();
-		journal1.setInputFile(new File("./log/1410589309338.log"));
-		journal1.setOutputFile(new File("./log/test.log"));
-		Jungle jungle2 = new PersistentJungle(journal1, "uuid2", new DefaultTreeEditor(new DefaultTraverser()));
-		ChangeListReader reader = journal1.getReader();
-		int roopCount = 0;
-		String treeName = null;
-		for (ChangeList chList : reader) {
-			roopCount++;
+		for (ChangeList chList : getChangeList()) {
 			treeName = chList.getTreeName();
-			JungleTree tree2 = jungle2.getTreeByName(treeName);
-			if(tree2 == null) {
-				tree2 = jungle2.createNewTree(treeName);
+			JungleTree tree = jungle.getTreeByName(treeName);
+			if(tree == null) {
+				tree = jungle.createNewTree(treeName);
 			}
-			JungleTreeEditor editor2 = tree2.getTreeEditor();
+			JungleTreeEditor editor2 = tree.getTreeEditor();
 			Either<Error, JungleTreeEditor> either2 = JungleUpdater.edit(editor2, chList);
 			assertFalse(either2.isA());
 			editor2 = either2.b();
 			editor2.success();
 		}
-		
-		
-		JungleTree tree2 = jungle2.getTreeByName(treeName);
-		TreeNode root = tree2.getRootNode();
-		TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> index = TreeMap.empty(Ord.stringOrd);
-	    DefaultTraverser traverser = new DefaultTraverser();
-	    DefaultTreeEditor treeEditor = new DefaultTreeEditor(traverser);
-	    JungleTreeEditor editor = new DefaultJungleTreeEditor(root,null,treeEditor,null);
-		InterfaceTraverser ifTraverser = new  InterfaceTraverser(root,index,editor);
-		String key = "mes";
-		String attribute = "株式会社フタコ放送";
-		
-		Query query = new FindMatrixTest().new SearchQuery(key, attribute);
-		Iterator<Pair<TreeNode, NodePath>> searchNode = ifTraverser.find(query);
-		TreeNode node = searchNode.next().left();
-		byte[] nodeAttibute = node.getAttributes().get(key).array();
-		System.out.println(new String(nodeAttibute));
-	}
+        return treeName;
+    }
+
+    public static ChangeListReader getChangeList() throws FileNotFoundException {
+        PersistentJournal journal1 = new PersistentJournal();
+		journal1.setInputFile(new File("./_log_/1410589309338.log"));
+		ChangeListReader reader = journal1.getReader();
+        return reader;
+    }
 }