# HG changeset patch # User one # Date 1373626572 -32400 # Node ID a89c3539bff2309eba4c6a95f7a6c7e60e6acc4c # Parent ab8c655ef457fa78c8063c549af39a315574da67 modified LogUpdateCodeSegment diff -r ab8c655ef457 -r a89c3539bff2 src/alice/jungle/codesegment/LogUpdateCodeSegment.java --- a/src/alice/jungle/codesegment/LogUpdateCodeSegment.java Fri Jul 12 11:54:07 2013 +0900 +++ b/src/alice/jungle/codesegment/LogUpdateCodeSegment.java Fri Jul 12 19:56:12 2013 +0900 @@ -18,19 +18,27 @@ public Receiver arg1 = ids.create(CommandType.PEEK); public Receiver host = ids.create(CommandType.PEEK); + public String location = "local"; public LogUpdateCodeSegment() { host.setKey("host",0); } + public LogUpdateCodeSegment(String _location) { + location = _location; + host.setKey("local","host",0); + } + public void run() { - System.out.println("--LogUpdateCodeSegment--"); int index = arg1.index; String h = host.asString(); DefaultTreeOperationLogContainer container = arg1.asClass(DefaultTreeOperationLogContainer.class); if(updaterIsMe(h, container)) { LogUpdateCodeSegment updateCS = new LogUpdateCodeSegment(); - updateCS.arg1.setKey("log", index+1); + updateCS.arg1.setKey(location, "log", index+1); + if(location.equals("local") && !iAmRootNode(h)) { + ods.put("parent", "log", container); + } return; } DefaultTreeOperationLog log = null; @@ -50,14 +58,24 @@ if(either.isA()) { throw new IllegalStateException(); } + if(location.equals("local")) { + NetworkDefaultJungleTreeEditor nEditor = (NetworkDefaultJungleTreeEditor) editor; + container.setRevision(Long.parseLong(nEditor.getRevision())); + container.setUpdaterName(nEditor.getUpdaterName()); + } + ods.put("log", container); LogUpdateCodeSegment updateCS = new LogUpdateCodeSegment(); - updateCS.arg1.setKey("log", index+1); + updateCS.arg1.setKey(location, "log", index+1); } private boolean updaterIsMe(String host, DefaultTreeOperationLogContainer container) { return host.equals(container.getServerName()); } + private boolean iAmRootNode(String h) { + return h.equals("node0"); + } + } diff -r ab8c655ef457 -r a89c3539bff2 src/alice/jungle/datasegment/store/operations/DefaultTreeOperationLogContainer.java --- a/src/alice/jungle/datasegment/store/operations/DefaultTreeOperationLogContainer.java Fri Jul 12 11:54:07 2013 +0900 +++ b/src/alice/jungle/datasegment/store/operations/DefaultTreeOperationLogContainer.java Fri Jul 12 19:56:12 2013 +0900 @@ -27,7 +27,7 @@ Value logValue; String treeName; String uuid; - String serverName; + String updaterName; long revision; public static void main(String[] args) throws IOException { @@ -112,12 +112,12 @@ return uuid; } - public void setServerName(String _serverName) { - serverName = _serverName; + public void setUpdaterName(String _updaterName) { + updaterName = _updaterName; } public String getServerName() { - return serverName; + return updaterName; } public void setRevision(long _revision) { diff -r ab8c655ef457 -r a89c3539bff2 src/alice/jungle/transaction/NetworkDefaultJungleTreeEditor.java --- a/src/alice/jungle/transaction/NetworkDefaultJungleTreeEditor.java Fri Jul 12 11:54:07 2013 +0900 +++ b/src/alice/jungle/transaction/NetworkDefaultJungleTreeEditor.java Fri Jul 12 19:56:12 2013 +0900 @@ -37,16 +37,16 @@ private final String treeName; private final TreeEditor editor; private final TreeOperationLog log; - private final String serverName; + private final String updaterName; - public NetworkDefaultJungleTreeEditor(String _serverName, String _treeName, T _root,TransactionManager _txManager,TreeEditor _editor) + public NetworkDefaultJungleTreeEditor(String _updaterName, String _treeName, T _root,TransactionManager _txManager,TreeEditor _editor) { - this(_serverName, _treeName, _root,_txManager,_editor,new DefaultTreeOperationLog()); + this(_updaterName, _treeName, _root,_txManager,_editor,new DefaultTreeOperationLog()); } - public NetworkDefaultJungleTreeEditor(String _serverName, String _treeName, T _root,TransactionManager _txManager,TreeEditor _editor, TreeOperationLog _log) + public NetworkDefaultJungleTreeEditor(String _updaterName, String _treeName, T _root,TransactionManager _txManager,TreeEditor _editor, TreeOperationLog _log) { - serverName = _serverName; + updaterName = _updaterName; treeName = _treeName; root = _root; txManager = _txManager; @@ -76,7 +76,7 @@ DefaultTreeOperationLog treeOperationLog = new DefaultTreeOperationLog(iterable,newLog.length()); TreeOperationLog newTreeOpLog = log.append(treeOperationLog); - JungleTreeEditor newEditor = new NetworkDefaultJungleTreeEditor(serverName, treeName, newNode,txManager,editor,newTreeOpLog); + JungleTreeEditor newEditor = new NetworkDefaultJungleTreeEditor(updaterName, treeName, newNode,txManager,editor,newTreeOpLog); return DefaultEither.newB(newEditor); } @@ -123,7 +123,7 @@ } TransactionManager newTxManager = either.b(); - JungleTreeEditor newTreeEditor = new NetworkDefaultJungleTreeEditor(serverName, treeName, root,newTxManager,editor); + JungleTreeEditor newTreeEditor = new NetworkDefaultJungleTreeEditor(updaterName, treeName, root,newTxManager,editor); return DefaultEither.newB(newTreeEditor); } @@ -154,8 +154,8 @@ return treeName; } - public String getServerName() { - return serverName; + public String getUpdaterName() { + return updaterName; } diff -r ab8c655ef457 -r a89c3539bff2 src/jungle/test/bbs/NetworkJungleBulletinBoard.java --- a/src/jungle/test/bbs/NetworkJungleBulletinBoard.java Fri Jul 12 11:54:07 2013 +0900 +++ b/src/jungle/test/bbs/NetworkJungleBulletinBoard.java Fri Jul 12 19:56:12 2013 +0900 @@ -80,7 +80,7 @@ } /* Put DataSegment */ try { - putTreeOperationLog((NetworkDefaultJungleTreeEditor)result.b()); + putTreeOperationLog((NetworkDefaultJungleTreeEditor)editor); } catch (IOException e1) { e1.printStackTrace(); } @@ -110,7 +110,7 @@ editor.success(); /* Put DataSegment */ try { - putTreeOperationLog((NetworkDefaultJungleTreeEditor)result.b()); + putTreeOperationLog((NetworkDefaultJungleTreeEditor)editor); } catch (IOException e1) { e1.printStackTrace(); } @@ -221,17 +221,17 @@ private void putTreeOperationLog(NetworkDefaultJungleTreeEditor editor) throws IOException { String uuid = editor.getID(); String treeName = editor.getTreeName(); - String serverName = editor.getServerName(); + String updaterName = editor.getUpdaterName(); long revision = Long.parseLong(editor.getRevision()); Iterable log = editor.getTreeOperationLog(); - putDataSegment(uuid, treeName, serverName, log, revision); + putDataSegment(uuid, treeName, updaterName, log, revision); } - private void putDataSegment(String _uuid, String _treeName, String _serverName, Iterable _log, long nextRevision) throws IOException { + private void putDataSegment(String _uuid, String _treeName, String _updaterName, Iterable _log, long nextRevision) throws IOException { DefaultTreeOperationLogContainer container = new DefaultTreeOperationLogContainer(); container.setTreeName(_treeName); container.setUUID(_uuid); - container.setServerName(_serverName); + container.setUpdaterName(_updaterName); container.setRevision(nextRevision); container.unconvert(_log); NullCodeSegmentForUpdate cs = new NullCodeSegmentForUpdate(); diff -r ab8c655ef457 -r a89c3539bff2 src/jungle/test/bbs/codesegment/StartBBSCodeSegment.java --- a/src/jungle/test/bbs/codesegment/StartBBSCodeSegment.java Fri Jul 12 11:54:07 2013 +0900 +++ b/src/jungle/test/bbs/codesegment/StartBBSCodeSegment.java Fri Jul 12 19:56:12 2013 +0900 @@ -45,10 +45,6 @@ Matcher matcher = pattern.matcher(name); matcher.find(); String type = matcher.group(1); - int num = new Integer(matcher.group(2)); - - LogUpdateCodeSegment cs = new LogUpdateCodeSegment(); - cs.arg1.setKey("log", 0); BulletinBoard cassaBBS = new NetworkJungleBulletinBoard(name); String createBoardMessagePath = "/createBoardMessage"; @@ -75,6 +71,16 @@ } catch (Exception e) { e.printStackTrace(); } + + LogUpdateCodeSegment cs = new LogUpdateCodeSegment(); + + int num = new Integer(matcher.group(2)); + if (num != 0) { +// try {Thread.sleep(100);} catch(Exception e) { e.printStackTrace(); } + LogUpdateCodeSegment cs2 = new LogUpdateCodeSegment("parent"); + } + + }