Mercurial > hg > Members > tatsuki > bench > jungle-core
comparison src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/trasnformer/DeleteChildAt.java @ 96:bd82c20a6da0
LoggingNode repair
author | one |
---|---|
date | Sat, 06 Sep 2014 15:22:46 +0900 |
parents | ef68358ed0e8 |
children | bed3afd5c2e2 |
comparison
equal
deleted
inserted
replaced
95:3653fb50fb22 | 96:bd82c20a6da0 |
---|---|
1 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer; | 1 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer; |
2 | 2 |
3 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; | 3 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; |
4 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.DefaultOperationLog; | 4 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.DefaultOperationLog; |
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.LoggingNode; | |
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.OperationLog; | 6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.OperationLog; |
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DeleteChildAtOperation; | 7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DeleteChildAtOperation; |
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation; | 8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation; |
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither; | 9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither; |
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; | 10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; |
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; | 11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; |
11 | 12 |
12 public class DeleteChildAt implements NodeEditor | 13 public class DeleteChildAt implements NodeEditor |
13 { | 14 { |
14 private final int pos; | 15 private final int pos; |
15 private OperationLog log; | |
16 public DeleteChildAt(int _pos) | 16 public DeleteChildAt(int _pos) |
17 { | 17 { |
18 pos = _pos; | 18 pos = _pos; |
19 log = new DefaultOperationLog(); | |
20 } | 19 } |
21 | 20 |
22 @Override | 21 @Override |
23 public Either<Error,TreeNode> edit(TreeNode _e) | 22 public Either<Error,LoggingNode> edit(LoggingNode _e) |
24 { | 23 { |
25 NodeOperation deleteChildOperation = new DeleteChildAtOperation(pos); | 24 Either<Error,LoggingNode> either = _e.getChildren().deleteChildAt(pos); |
26 Either<Error,TreeNode> either = deleteChildOperation.invoke(_e); | |
27 if(either.isA()){ | 25 if(either.isA()){ |
28 // error | 26 // error |
29 return either; | 27 return either; |
30 } | 28 } |
31 log = log.add(deleteChildOperation); | |
32 return DefaultEither.newB(either.b()); | 29 return DefaultEither.newB(either.b()); |
33 } | 30 } |
34 | |
35 @Override | |
36 public OperationLog getLog() { | |
37 return log; | |
38 } | |
39 } | 31 } |