diff src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/test/findTreeAttributeThread.java @ 182:67d4c68578cf

add Jungle benchMark
author tatsuki
date Fri, 20 Mar 2015 15:35:53 +0900
parents
children 066d9c5758dc
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/test/findTreeAttributeThread.java	Fri Mar 20 15:35:53 2015 +0900
@@ -0,0 +1,55 @@
+package jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.test;
+
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.InterfaceTraverser;
+
+import java.util.Iterator;
+
+/**
+ * Created by e115731 on 15/03/20.
+ */
+public class findTreeAttributeThread extends JungleBenchMarkThread {
+
+    JungleTree tree;
+    InterfaceTraverser traverser;
+    private long findCount;
+
+    boolean loop = true;
+
+    public findTreeAttributeThread(JungleTree tree) {
+        this.tree = tree;
+        this.traverser = tree.getTraverser(false);
+        this.findCount = 0;
+    }
+
+    @Override
+    public long getFindCount() {
+        System.out.println("thread count = " + findCount);
+        return findCount;
+    }
+
+    public void set(boolean loop) {
+        this.loop = loop;
+    }
+
+    @Override
+    public void run() {
+        while (loop) {
+
+            Iterator<TreeNode> it = traverser.find((TreeNode node) -> {
+                String nodeNum = node.getAttributes().getString("key");
+                if (nodeNum == null)
+                    return false;
+                if (nodeNum.equals("8"))
+                        return true;
+                return false;
+                    }, "key","8");
+
+            if (it.hasNext())
+                findCount++;
+            else
+                System.out.println("faild");
+        }
+    }
+}