Mercurial > hg > Members > nobuyasu > jungle-network
comparison src/jungle/test/core/practice/LogReadCodeSegment.java @ 30:8593c2525aa7
add NeworkTransactionManager
author | one |
---|---|
date | Mon, 01 Jul 2013 20:31:29 +0900 |
parents | 16ea4835f36e |
children | 190f6a3bdab2 |
comparison
equal
deleted
inserted
replaced
29:16ea4835f36e | 30:8593c2525aa7 |
---|---|
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; | 7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; |
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor; | 8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor; |
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.Command; | 9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.Command; |
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath; | 10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath; |
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.DefaultTreeOperationLog; | 11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.DefaultTreeOperationLog; |
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.TreeOperationLog; | |
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation; | 13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation; |
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; | 14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; |
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; | 15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; |
15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; | 16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; |
16 import jungle.test.codesegment.operation.JungleManager; | 17 import jungle.test.codesegment.operation.JungleManager; |
17 import jungle.test.datasegment.store.operations.DefaultTreeOperationLogContainer; | 18 import jungle.test.datasegment.store.operations.DefaultTreeOperationLogContainer; |
18 import jungle.test.transaction.NetworkDefaultJungleTreeEditor; | |
19 import alice.codesegment.CodeSegment; | 19 import alice.codesegment.CodeSegment; |
20 import alice.datasegment.CommandType; | 20 import alice.datasegment.CommandType; |
21 import alice.datasegment.Receiver; | 21 import alice.datasegment.Receiver; |
22 | 22 |
23 public class LogReadCodeSegment extends CodeSegment { | 23 public class LogReadCodeSegment extends CodeSegment { |
36 try { | 36 try { |
37 log = container.convert(); | 37 log = container.convert(); |
38 } catch (IOException e) { | 38 } catch (IOException e) { |
39 e.printStackTrace(); | 39 e.printStackTrace(); |
40 } | 40 } |
41 JungleManager jm = new JungleManager(); | 41 Jungle jungle = new JungleManager().getJungle(); |
42 Jungle jungle = jm.getJungle(); | |
43 JungleTree tree = jungle.getTreeByName("tree"); | 42 JungleTree tree = jungle.getTreeByName("tree"); |
44 JungleTreeEditor editor = tree.getTreeEditor(); | 43 JungleTreeEditor editor = tree.getTreeEditor(); |
44 Either<Error, JungleTreeEditor> either = edit(editor, log); | |
45 if (either.isA()) { | |
46 throw new IllegalStateException(); | |
47 } | |
48 editor = either.b(); | |
49 editor.success(); | |
50 new PrintChildrenAttribute("key1"); | |
51 ods.update("key1", "key1"); | |
52 } | |
53 | |
54 private Either<Error, JungleTreeEditor> edit(JungleTreeEditor _editor ,TreeOperationLog _log) { | |
55 JungleTreeEditor editor = _editor; | |
45 Either<Error, JungleTreeEditor> either = null; | 56 Either<Error, JungleTreeEditor> either = null; |
46 for (TreeOperation op : log) { | 57 for (TreeOperation op : _log) { |
47 either = edit(editor, op); | 58 either = _edit(editor, op); |
48 if(either.isA()) { | 59 if(either.isA()) { |
49 throw new IllegalStateException(); | 60 return either; |
50 } | 61 } |
51 editor = either.b(); | 62 editor = either.b(); |
52 } | 63 } |
53 editor.success(); | 64 return either; |
54 new PrintChildrenAttribute("key1"); | |
55 ods.update("key1", "key1"); | |
56 | |
57 } | 65 } |
58 | 66 |
59 public Either<Error, JungleTreeEditor> edit(JungleTreeEditor editor, | 67 private Either<Error, JungleTreeEditor> _edit(JungleTreeEditor editor, |
60 TreeOperation op) { | 68 TreeOperation op) { |
61 NodePath path = op.getNodePath(); | 69 NodePath path = op.getNodePath(); |
62 NodeOperation nodeOp = op.getNodeOperation(); | 70 NodeOperation nodeOp = op.getNodeOperation(); |
63 Command c = nodeOp.getCommand(); | 71 Command c = nodeOp.getCommand(); |
64 String str = ""; | 72 String str = ""; |