annotate src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/trasnformer/PutAttribute.java @ 110:cf17350a2415

traverse find args change Query
author one
date Sat, 13 Sep 2014 19:23:31 +0900
parents 5b7e45464bb8
children 5df5505e1c1e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13
Shoshi TAMAKI
parents:
diff changeset
1 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer;
Shoshi TAMAKI
parents:
diff changeset
2
Shoshi TAMAKI
parents:
diff changeset
3 import java.nio.ByteBuffer;
Shoshi TAMAKI
parents:
diff changeset
4
103
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
5 import fj.data.List;
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
6 import fj.data.TreeMap;
110
cf17350a2415 traverse find args change Query
one
parents: 107
diff changeset
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
78
540a27dde42f Delete EnableNode and EnableNodeWrapper
one
parents: 31
diff changeset
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
540a27dde42f Delete EnableNode and EnableNodeWrapper
one
parents: 31
diff changeset
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNodeAttributes;
79
b4f145174970 change log
one
parents: 78
diff changeset
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.DefaultOperationLog;
96
bd82c20a6da0 LoggingNode repair
one
parents: 93
diff changeset
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.LoggingNode;
79
b4f145174970 change log
one
parents: 78
diff changeset
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.OperationLog;
92
14ce7a0dedca Logging Node and Editor
one
parents: 86
diff changeset
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DeleteChildAtOperation;
14ce7a0dedca Logging Node and Editor
one
parents: 86
diff changeset
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation;
79
b4f145174970 change log
one
parents: 78
diff changeset
15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.PutAttributeOperation;
92
14ce7a0dedca Logging Node and Editor
one
parents: 86
diff changeset
16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither;
23
Shoshi TAMAKI
parents: 14
diff changeset
17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
24
Shoshi TAMAKI
parents: 23
diff changeset
18 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
110
cf17350a2415 traverse find args change Query
one
parents: 107
diff changeset
19 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Pair;
103
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
20 import jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index.Logging;
23
Shoshi TAMAKI
parents: 14
diff changeset
21
24
Shoshi TAMAKI
parents: 23
diff changeset
22 public class PutAttribute implements NodeEditor
13
Shoshi TAMAKI
parents:
diff changeset
23 {
Shoshi TAMAKI
parents:
diff changeset
24 private final String key;
Shoshi TAMAKI
parents:
diff changeset
25 private final ByteBuffer value;
Shoshi TAMAKI
parents:
diff changeset
26
24
Shoshi TAMAKI
parents: 23
diff changeset
27 public PutAttribute(String _key,ByteBuffer _value)
13
Shoshi TAMAKI
parents:
diff changeset
28 {
Shoshi TAMAKI
parents:
diff changeset
29 key = _key;
Shoshi TAMAKI
parents:
diff changeset
30 value = _value;
Shoshi TAMAKI
parents:
diff changeset
31 }
Shoshi TAMAKI
parents:
diff changeset
32
103
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
33 public Either<Error,Logging> _edit(Logging _e)
13
Shoshi TAMAKI
parents:
diff changeset
34 {
103
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
35 Either<Error,Logging> either = _e.getAttributes().put(key,value);
92
14ce7a0dedca Logging Node and Editor
one
parents: 86
diff changeset
36 if(either.isA()){
14ce7a0dedca Logging Node and Editor
one
parents: 86
diff changeset
37 // error
14ce7a0dedca Logging Node and Editor
one
parents: 86
diff changeset
38 return either;
14ce7a0dedca Logging Node and Editor
one
parents: 86
diff changeset
39 }
14ce7a0dedca Logging Node and Editor
one
parents: 86
diff changeset
40 return DefaultEither.newB(either.b());
13
Shoshi TAMAKI
parents:
diff changeset
41 }
103
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
42
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
43 @Override
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
44 public Either<Error, Logging> edit(TreeNode _e) {
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
45 Logging logNode = wrap(_e);
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
46 return _edit(logNode);
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
47 }
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
48
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
49 public Logging wrap(TreeNode node) {
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
50 return new LoggingNode(node);
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
51 }
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
52
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
53 @Override
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
54 public Logging wrap(TreeNode node, OperationLog op) {
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
55 return new LoggingNode(node, op);
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
56 }
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
57
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
58 @Override
110
cf17350a2415 traverse find args change Query
one
parents: 107
diff changeset
59 public TreeMap<String, TreeMap<String, List<TreeNode>>> getIndex() {
103
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
60 // TODO Auto-generated method stub
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
61 return null;
bed3afd5c2e2 add Index but Not use
one
parents: 96
diff changeset
62 }
13
Shoshi TAMAKI
parents:
diff changeset
63 }