Mercurial > hg > Members > nobuyasu > jungle-network
diff src/alice/jungle/codesegment/LogUpdateCodeSegment.java @ 40:7e94de2d6bc0
add PutAnotherLogCodeSegment, PutHostLogCodeSegment
author | one |
---|---|
date | Tue, 09 Jul 2013 17:32:06 +0900 |
parents | 10359a815068 |
children | 4419ac56cbfd |
line wrap: on
line diff
--- a/src/alice/jungle/codesegment/LogUpdateCodeSegment.java Tue Jul 09 15:10:06 2013 +0900 +++ b/src/alice/jungle/codesegment/LogUpdateCodeSegment.java Tue Jul 09 17:32:06 2013 +0900 @@ -1,8 +1,17 @@ package alice.jungle.codesegment; +import java.io.IOException; + +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.DefaultTreeOperationLog; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; +import jungle.test.bbs.JungleManager; import alice.codesegment.CodeSegment; import alice.datasegment.CommandType; import alice.datasegment.Receiver; +import alice.jungle.datasegment.store.operations.DefaultTreeOperationLogContainer; public class LogUpdateCodeSegment extends CodeSegment { @@ -13,9 +22,22 @@ } public void run() { + DefaultTreeOperationLogContainer container = arg1.asClass(DefaultTreeOperationLogContainer.class); + DefaultTreeOperationLog log = null; + try { + log = container.convert(); + } catch (IOException e) { + e.printStackTrace(); + } - + JungleManager jm = new JungleManager(); + JungleTree tree = jm.getJungle().getTreeByName("boards"); + JungleTreeEditor editor = tree.getTreeEditor(); + Either<Error, JungleTreeEditor> either = jm.edit(editor, log); + if(either.isA()) { + throw new IllegalStateException(); + } + editor = either.b(); + editor.success(); } - - }