Mercurial > hg > Members > nobuyasu > jungle-network
comparison src/jungle/app/bbs/JungleManager.java @ 96:fcce7ca4adb9
Modified LogUpdateCodesegment
author | one |
---|---|
date | Mon, 18 Nov 2013 19:34:15 +0900 |
parents | dcd767b76f8d |
children | 9865ccfd0123 |
comparison
equal
deleted
inserted
replaced
95:dcd767b76f8d | 96:fcce7ca4adb9 |
---|---|
3 import java.io.IOException; | 3 import java.io.IOException; |
4 import java.nio.ByteBuffer; | 4 import java.nio.ByteBuffer; |
5 import java.util.Iterator; | 5 import java.util.Iterator; |
6 | 6 |
7 import alice.jungle.datasegment.store.container.DefaultTreeOperationLogContainer; | 7 import alice.jungle.datasegment.store.container.DefaultTreeOperationLogContainer; |
8 import alice.jungle.operations.NetworkTreeOperationLog; | |
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungle; | 9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungle; |
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle; | 10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle; |
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; | 11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; |
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor; | 12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor; |
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node; | 13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node; |
81 return editor.deleteChildAt(path, 0); | 82 return editor.deleteChildAt(path, 0); |
82 } | 83 } |
83 return null; | 84 return null; |
84 } | 85 } |
85 | 86 |
86 public static Either<Error, JungleTreeEditor> update(DefaultTreeOperationLogContainer container) { | 87 public static Either<Error, JungleTreeEditor> update(NetworkTreeOperationLog netLog) { |
87 DefaultTreeOperationLog log = null; | 88 String treeName = netLog.getTreeName(); |
88 try { | |
89 log = container.convert(); | |
90 } catch (IOException e) { | |
91 e.printStackTrace(); | |
92 } | |
93 String treeName = container.getTreeName(); | |
94 Jungle jungle = JungleManager.getJungle(); | 89 Jungle jungle = JungleManager.getJungle(); |
95 if (jungle.getTreeByName(treeName) == null) { | 90 if (jungle.getTreeByName(treeName) == null) { |
96 if(null == jungle.createNewTree(treeName)){ | 91 if(null == jungle.createNewTree(treeName)){ |
97 throw new IllegalStateException(); | 92 throw new IllegalStateException(); |
98 } | 93 } |
99 } | 94 } |
100 JungleTree tree = jungle.getTreeByName(treeName); | 95 JungleTree tree = jungle.getTreeByName(treeName); |
101 JungleTreeEditor editor = tree.getLocalTreeEditor(); | 96 JungleTreeEditor editor = tree.getLocalTreeEditor(); |
102 int pos = calculatePosition(tree.getRootNode(), container.getTimeStamp()); | 97 |
103 Either<Error, JungleTreeEditor> either = JungleManager.edit(editor, log, pos); | 98 // int pos = calculatePosition(tree.getRootNode(), netLog.getTimeStamp()); |
99 int pos = 0; | |
100 Either<Error, JungleTreeEditor> either = JungleManager.edit(editor, netLog, pos); | |
104 if(either.isA()) { | 101 if(either.isA()) { |
105 throw new IllegalStateException(); | 102 throw new IllegalStateException(); |
106 } | 103 } |
107 editor = either.b(); | 104 editor = either.b(); |
108 either = editor.success(); | 105 either = editor.success(); |