comparison src/jungle/test/bbs/JungleManager.java @ 43:12d87bb4b84d

modified LogUpdateCodeSegment
author one
date Fri, 12 Jul 2013 09:13:54 +0900
parents 4419ac56cbfd
children bf3dc481cc9b
comparison
equal deleted inserted replaced
42:4419ac56cbfd 43:12d87bb4b84d
16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser; 16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser;
17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; 17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
18 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; 18 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
19 19
20 public class JungleManager { 20 public class JungleManager {
21 static Jungle jungle; 21 private static JungleManager jm;
22 private Jungle jungle;
23
24 private JungleManager(Jungle _jungle) {
25 jungle = _jungle;
26 }
22 27
23 public JungleManager(String _serverName) { 28 public JungleManager(String _serverName) {
24 jungle = new NetworkDefaultJungle(null,"hoge",new DefaultTreeEditor(new DefaultTraverser()), _serverName); 29 Jungle _j = new NetworkDefaultJungle(null,"hoge",new DefaultTreeEditor(new DefaultTraverser()), _serverName);
30 jm = new JungleManager(_j);
25 } 31 }
26 32
27 public Jungle getJungle() { 33 public static JungleManager init(String _serverName) {
28 return jungle; 34 jm = new JungleManager(_serverName);
35 return jm;
29 } 36 }
30 37
31 public JungleTree createNewTree(String name) { 38 public static Jungle getJungle() {
32 return jungle.createNewTree(name); 39 return jm.jungle;
40 }
41
42 public static JungleTree createNewTree(String name) {
43 return jm.jungle.createNewTree(name);
33 } 44 }
34 45
35 46
36 public Either<Error, JungleTreeEditor> edit(JungleTreeEditor _editor ,TreeOperationLog _log) { 47 public static Either<Error, JungleTreeEditor> edit(JungleTreeEditor _editor ,TreeOperationLog _log) {
37 JungleTreeEditor editor = _editor; 48 JungleTreeEditor editor = _editor;
38 Either<Error, JungleTreeEditor> either = null; 49 Either<Error, JungleTreeEditor> either = null;
39 for (TreeOperation op : _log) { 50 for (TreeOperation op : _log) {
40 either = _edit(editor, op); 51 either = _edit(editor, op);
41 if(either.isA()) { 52 if(either.isA()) {
44 editor = either.b(); 55 editor = either.b();
45 } 56 }
46 return either; 57 return either;
47 } 58 }
48 59
49 private Either<Error, JungleTreeEditor> _edit(JungleTreeEditor editor, 60 private static Either<Error, JungleTreeEditor> _edit(JungleTreeEditor editor,
50 TreeOperation op) { 61 TreeOperation op) {
51 NodePath path = op.getNodePath(); 62 NodePath path = op.getNodePath();
52 NodeOperation nodeOp = op.getNodeOperation(); 63 NodeOperation nodeOp = op.getNodeOperation();
53 Command c = nodeOp.getCommand(); 64 Command c = nodeOp.getCommand();
54 String key = ""; 65 String key = "";