annotate src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/InterfaceTraverser.java @ 137:7334f78a92c3

name changed find to findInSubTree
author one
date Mon, 27 Oct 2014 18:25:32 +0900
parents 0f68cd7b2838
children ec166c8ff079
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
97
a1e20a440ddd add BruteForceTraverser
one
parents:
diff changeset
1 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser;
a1e20a440ddd add BruteForceTraverser
one
parents:
diff changeset
2
98
95000ff9064d Create Query
one
parents: 97
diff changeset
3 import java.util.Iterator;
132
ba5370090393 index commit Prototype
one
parents: 131
diff changeset
4 import java.util.concurrent.atomic.AtomicReference;
98
95000ff9064d Create Query
one
parents: 97
diff changeset
5
112
98e256d9fd57 treeAttribute add get String but has error
one
parents: 111
diff changeset
6 import fj.Ord;
104
f9a0e7069811 delete worning halfway
one
parents: 103
diff changeset
7 import fj.data.List;
124
75ba2f2d6ea3 searchQueryTest add index
one
parents: 122
diff changeset
8 import fj.data.Option;
97
a1e20a440ddd add BruteForceTraverser
one
parents:
diff changeset
9 import fj.data.TreeMap;
98
95000ff9064d Create Query
one
parents: 97
diff changeset
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
101
c297f0015d9e create Update query
one
parents: 100
diff changeset
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
132
ba5370090393 index commit Prototype
one
parents: 131
diff changeset
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList;
ba5370090393 index commit Prototype
one
parents: 131
diff changeset
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet;
97
a1e20a440ddd add BruteForceTraverser
one
parents:
diff changeset
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
a1e20a440ddd add BruteForceTraverser
one
parents:
diff changeset
15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
132
ba5370090393 index commit Prototype
one
parents: 131
diff changeset
16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.AtomicReservableReference;
ba5370090393 index commit Prototype
one
parents: 131
diff changeset
17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultChangeSet;
ba5370090393 index commit Prototype
one
parents: 131
diff changeset
18 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeContext;
127
b2c1fd513feb push index thread add read log
one
parents: 126
diff changeset
19 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.IndexJungleTreeEditor;
132
ba5370090393 index commit Prototype
one
parents: 131
diff changeset
20 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TreeContext;
97
a1e20a440ddd add BruteForceTraverser
one
parents:
diff changeset
21 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Pair;
99
92d0c6e4655c refactoring to IteratorPathNode
one
parents: 98
diff changeset
22 import jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.query.PathNodeIterator;
110
cf17350a2415 traverse find args change Query
one
parents: 107
diff changeset
23 import jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.query.Query;
134
f46a6e0e4594 add deleteIndexEditor
one
parents: 132
diff changeset
24 import jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index.IndexManager;
97
a1e20a440ddd add BruteForceTraverser
one
parents:
diff changeset
25
100
9a7b7af838e0 add index TreeNodeEditor
one
parents: 99
diff changeset
26 public class InterfaceTraverser {
124
75ba2f2d6ea3 searchQueryTest add index
one
parents: 122
diff changeset
27
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
28 //InterfaceTraverser traverser;
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
29 TreeNode node;
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
30 TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> index;
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
31 IndexManager indexManager;
127
b2c1fd513feb push index thread add read log
one
parents: 126
diff changeset
32
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
33 public InterfaceTraverser(TreeNode _root, IndexManager indexManager) {
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
34 this.node = _root;
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
35 this.index = TreeMap.empty(Ord.stringOrd);
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
36 this.indexManager = indexManager;
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
37 }
127
b2c1fd513feb push index thread add read log
one
parents: 126
diff changeset
38
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
39 public InterfaceTraverser(
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
40 TreeNode _root,
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
41 TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> index,
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
42 IndexManager indexManager) {
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
43 this.node = _root;
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
44 this.index = index;
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
45 this.indexManager = indexManager;
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
46 }
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
47
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
48 public void commitIndex(){
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
49 indexManager.commit(index);
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
50 }
127
b2c1fd513feb push index thread add read log
one
parents: 126
diff changeset
51
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
52 public TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> getIndex() {
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
53 return index;
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
54 }
125
a0c4a4b8ad10 index test
one
parents: 124
diff changeset
55
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
56 public void setIndex(
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
57 TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> index) {
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
58 this.index = index;
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
59 }
125
a0c4a4b8ad10 index test
one
parents: 124
diff changeset
60
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
61
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
62
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
63 /* public InterfaceTraverser getTraverser(JungleTree tree) {
124
75ba2f2d6ea3 searchQueryTest add index
one
parents: 122
diff changeset
64 return new InterfaceTraverser(tree.getRootNode(), tree.getIndex(),
127
b2c1fd513feb push index thread add read log
one
parents: 126
diff changeset
65 tree.getIndexTreeEditor());
132
ba5370090393 index commit Prototype
one
parents: 131
diff changeset
66 }*/
98
95000ff9064d Create Query
one
parents: 97
diff changeset
67
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
68 public void set(TreeNode root) {
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
69 this.node = root;
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
70 }
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
71
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
72
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
73 /**
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
74 * subTree以下のNodeに対してKey,Valueのペアでindexを使って探索を行う
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
75 * @param query
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
76 * @param subTree
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
77 * @param key
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
78 * @param searchValue
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
79 * @return
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
80 */
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
81 public Iterator<Pair<TreeNode, NodePath>> findInSubTree(Query query, TreeNode subTree, String key, String searchValue){
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
82 /*
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
83 * indexを使って取ってきたNodeのPathと、subTreeのPathを先頭から1つずつ比較し、
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
84 * indexから取ってきたNodeのPathが一致した場合、そのNodeを返す
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
85 */
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
86 final PathNodeIterator itNode = new PathNodeIterator(subTree);
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
87 return new Iterator<Pair<TreeNode, NodePath>>() {
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
88
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
89 private Pair<TreeNode, NodePath> matchPair = nextmatch(itNode);
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
90
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
91 private Pair<TreeNode, NodePath> nextmatch(
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
92 PathNodeIterator itNode) {
124
75ba2f2d6ea3 searchQueryTest add index
one
parents: 122
diff changeset
93
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
94 for (; itNode.hasNext();) {
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
95 Pair<TreeNode, NodePath> pathNode = itNode.next();
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
96 if (query.condition(pathNode.left()))
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
97 return pathNode;
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
98 }
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
99 return null;
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
100 }
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
101
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
102 @Override
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
103 public boolean hasNext() {
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
104 if (matchPair == null) {
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
105 // index = itNode.getIndex();
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
106 return false;
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
107 }
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
108 return true;
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
109 }
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
110
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
111 @Override
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
112 public Pair<TreeNode, NodePath> next() {
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
113 Pair<TreeNode, NodePath> currentPair = matchPair;
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
114 matchPair = nextmatch(itNode);
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
115 return currentPair;
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
116 }
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
117
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
118 @Override
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
119 public void remove() {
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
120 // TODO Auto-generated method stub
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
121
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
122 }
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
123
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
124 };
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
125
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
126 }
124
75ba2f2d6ea3 searchQueryTest add index
one
parents: 122
diff changeset
127
101
c297f0015d9e create Update query
one
parents: 100
diff changeset
128
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
129 public Iterator<Pair<TreeNode, NodePath>> find(Query query, String key,
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
130 String searchValue) {
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
131
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
132 if (index.get(key).isSome()) {
136
0f68cd7b2838 add Node Search
one
parents: 134
diff changeset
133
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
134 TreeMap<String, List<Pair<TreeNode, NodePath>>> innerIndex = this.index
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
135 .get(key).some();
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
136 Option<List<Pair<TreeNode, NodePath>>> opList = innerIndex
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
137 .get(searchValue);
136
0f68cd7b2838 add Node Search
one
parents: 134
diff changeset
138
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
139 if (opList.isNone())
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
140 return null;// 空のIteratorを返す
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
141
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
142 final List<Pair<TreeNode, NodePath>> list = opList.some();
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
143 return list.iterator();
136
0f68cd7b2838 add Node Search
one
parents: 134
diff changeset
144
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
145 } else {
136
0f68cd7b2838 add Node Search
one
parents: 134
diff changeset
146
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
147 final PathNodeIterator itNode = new PathNodeIterator(node);
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
148 return new Iterator<Pair<TreeNode, NodePath>>() {
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
149
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
150 private Pair<TreeNode, NodePath> matchPair = nextmatch(itNode);
136
0f68cd7b2838 add Node Search
one
parents: 134
diff changeset
151
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
152 private Pair<TreeNode, NodePath> nextmatch(
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
153 PathNodeIterator itNode) {
136
0f68cd7b2838 add Node Search
one
parents: 134
diff changeset
154
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
155 for (; itNode.hasNext();) {
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
156 Pair<TreeNode, NodePath> pathNode = itNode.next();
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
157 String value = pathNode.left().getAttributes()
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
158 .getString(key);
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
159 Option<TreeMap<String, List<Pair<TreeNode, NodePath>>>> innerIndexOp = index
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
160 .get(key);
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
161
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
162 if (value != null) {
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
163 if (innerIndexOp.isNone()) {
136
0f68cd7b2838 add Node Search
one
parents: 134
diff changeset
164
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
165 TreeMap<String, List<Pair<TreeNode, NodePath>>> innerIndex = TreeMap
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
166 .empty(Ord.stringOrd);
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
167 List<Pair<TreeNode, NodePath>> list = List
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
168 .nil();
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
169 list = list.cons(pathNode);
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
170 innerIndex = innerIndex.set(value, list);
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
171 index = index.set(key, innerIndex);
124
75ba2f2d6ea3 searchQueryTest add index
one
parents: 122
diff changeset
172
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
173 } else {
99
92d0c6e4655c refactoring to IteratorPathNode
one
parents: 98
diff changeset
174
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
175 TreeMap<String, List<Pair<TreeNode, NodePath>>> innerIndex = innerIndexOp
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
176 .some();
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
177 Option<List<Pair<TreeNode, NodePath>>> opList = innerIndex
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
178 .get(value);
124
75ba2f2d6ea3 searchQueryTest add index
one
parents: 122
diff changeset
179
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
180 if (opList.isNone()) {
124
75ba2f2d6ea3 searchQueryTest add index
one
parents: 122
diff changeset
181
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
182 List<Pair<TreeNode, NodePath>> list = List
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
183 .nil();
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
184 list = list.cons(pathNode);
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
185 innerIndex = innerIndex.set(value, list);
124
75ba2f2d6ea3 searchQueryTest add index
one
parents: 122
diff changeset
186
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
187 } else {
124
75ba2f2d6ea3 searchQueryTest add index
one
parents: 122
diff changeset
188
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
189 List<Pair<TreeNode, NodePath>> list = opList
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
190 .some();
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
191 list = list.cons(pathNode);
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
192 innerIndex = innerIndex.set(value, list);
124
75ba2f2d6ea3 searchQueryTest add index
one
parents: 122
diff changeset
193
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
194 }
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
195 index = index.set(key, innerIndex);
99
92d0c6e4655c refactoring to IteratorPathNode
one
parents: 98
diff changeset
196
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
197 }
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
198 }
124
75ba2f2d6ea3 searchQueryTest add index
one
parents: 122
diff changeset
199
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
200 if (query.condition(pathNode.left()))
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
201 return pathNode;
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
202 }
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
203 return null;
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
204 }
124
75ba2f2d6ea3 searchQueryTest add index
one
parents: 122
diff changeset
205
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
206 @Override
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
207 public boolean hasNext() {
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
208 if (matchPair == null) {
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
209 // index = itNode.getIndex();
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
210 return false;
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
211 }
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
212 return true;
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
213 }
99
92d0c6e4655c refactoring to IteratorPathNode
one
parents: 98
diff changeset
214
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
215 @Override
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
216 public Pair<TreeNode, NodePath> next() {
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
217 Pair<TreeNode, NodePath> currentPair = matchPair;
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
218 matchPair = nextmatch(itNode);
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
219 return currentPair;
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
220 }
99
92d0c6e4655c refactoring to IteratorPathNode
one
parents: 98
diff changeset
221
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
222 @Override
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
223 public void remove() {
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
224 // TODO Auto-generated method stub
101
c297f0015d9e create Update query
one
parents: 100
diff changeset
225
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
226 }
99
92d0c6e4655c refactoring to IteratorPathNode
one
parents: 98
diff changeset
227
137
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
228 };
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
229 }
7334f78a92c3 name changed find to findInSubTree
one
parents: 136
diff changeset
230 }
97
a1e20a440ddd add BruteForceTraverser
one
parents:
diff changeset
231 }