13
|
1 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer;
|
|
2
|
103
|
3 import fj.data.List;
|
|
4 import fj.data.TreeMap;
|
110
|
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
|
78
|
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
|
96
|
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.LoggingNode;
|
79
|
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.OperationLog;
|
92
|
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither;
|
23
|
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
|
24
|
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
|
110
|
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Pair;
|
103
|
13 import jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index.Logging;
|
23
|
14
|
13
|
15 public class DeleteAttribute implements NodeEditor
|
|
16 {
|
14
|
17 private final String key;
|
|
18 public DeleteAttribute(String _key)
|
|
19 {
|
|
20 key = _key;
|
|
21 }
|
13
|
22
|
103
|
23 public Either<Error,Logging> _edit(Logging logNode)
|
13
|
24 {
|
103
|
25 Either<Error,Logging> either = logNode.getAttributes().delete(key);
|
92
|
26 if(either.isA()){
|
|
27 // error
|
|
28 return either;
|
|
29 }
|
|
30 return DefaultEither.newB(either.b());
|
13
|
31 }
|
103
|
32
|
|
33 @Override
|
|
34 public Either<Error, Logging> edit(TreeNode _e) {
|
|
35 Logging logNode = wrap(_e);
|
|
36 return _edit(logNode);
|
|
37 }
|
79
|
38
|
103
|
39 public Logging wrap(TreeNode node) {
|
|
40 return new LoggingNode(node);
|
|
41 }
|
|
42
|
|
43 @Override
|
|
44 public Logging wrap(TreeNode node, OperationLog op) {
|
|
45 return new LoggingNode(node, op);
|
|
46 }
|
|
47
|
|
48 @Override
|
111
|
49 public TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> getIndex() {
|
103
|
50 // TODO Auto-generated method stub
|
|
51 return null;
|
|
52 }
|
13
|
53 }
|