# HG changeset patch # User one # Date 1373596020 -32400 # Node ID fd3643699f83146ea4d5d620fb3ef65f0c6114b5 # Parent bf3dc481cc9bad9f438a6e690bc4858f796bafc2 modified pom.xml. fix conflict log4j libraries diff -r bf3dc481cc9b -r fd3643699f83 .classpath --- a/.classpath Fri Jul 12 09:47:22 2013 +0900 +++ b/.classpath Fri Jul 12 11:27:00 2013 +0900 @@ -6,7 +6,6 @@ - @@ -21,5 +20,6 @@ + diff -r bf3dc481cc9b -r fd3643699f83 pom.xml --- a/pom.xml Fri Jul 12 09:47:22 2013 +0900 +++ b/pom.xml Fri Jul 12 11:27:00 2013 +0900 @@ -39,16 +39,27 @@ org.apache.cassandra cassandra-all 1.2.1 - - - com.eaio.uuid - uuid - 3.2 + + + org.slf4j + slf4j-log4j12 + + + log4j + log4j + + + jungle jungle-core 0.0.1-SNAPSHOT + + com.github.stephenc.eaio-uuid + uuid + 3.3.0 + diff -r bf3dc481cc9b -r fd3643699f83 src/alice/jungle/codesegment/LogUpdateCodeSegment.java --- a/src/alice/jungle/codesegment/LogUpdateCodeSegment.java Fri Jul 12 09:47:22 2013 +0900 +++ b/src/alice/jungle/codesegment/LogUpdateCodeSegment.java Fri Jul 12 11:27:00 2013 +0900 @@ -12,6 +12,7 @@ import alice.datasegment.CommandType; import alice.datasegment.Receiver; import alice.jungle.datasegment.store.operations.DefaultTreeOperationLogContainer; +import alice.jungle.transaction.NetworkDefaultJungleTreeEditor; public class LogUpdateCodeSegment extends CodeSegment { @@ -28,7 +29,7 @@ System.out.println("--LogUpdateCodeSegment--"); int index = arg1.index; DefaultTreeOperationLogContainer container = arg1.asClass(DefaultTreeOperationLogContainer.class); - if(!updaterIsMe(container)) { + if(updaterIsMe(container)) { LogUpdateCodeSegment updateCS = new LogUpdateCodeSegment(rh, key); updateCS.arg1.setKey(rh, key, index+1); return; @@ -39,7 +40,6 @@ } catch (IOException e) { e.printStackTrace(); } - //JungleManager jm = new JungleManager(); JungleTree tree = JungleManager.getJungle().getTreeByName("boards"); JungleTreeEditor editor = tree.getTreeEditor(); Either either = JungleManager.edit(editor, log); @@ -47,14 +47,17 @@ throw new IllegalStateException(); } editor = either.b(); - editor.success(); + either = editor.success(); + if(either.isA()) { + throw new IllegalStateException(); + } LogUpdateCodeSegment updateCS = new LogUpdateCodeSegment(rh, key); updateCS.arg1.setKey(rh, key, index+1); } private boolean updaterIsMe(DefaultTreeOperationLogContainer container) { - return true; + return false; } diff -r bf3dc481cc9b -r fd3643699f83 src/alice/jungle/transaction/NetworkDefaultJungleTree.java --- a/src/alice/jungle/transaction/NetworkDefaultJungleTree.java Fri Jul 12 09:47:22 2013 +0900 +++ b/src/alice/jungle/transaction/NetworkDefaultJungleTree.java Fri Jul 12 11:27:00 2013 +0900 @@ -35,7 +35,7 @@ TreeContext tc = repository.get(); NetworkTransactionManager txManager = new NetworkTransactionManager(treeName, writer,tc,repository,uuid, serverName); T root = tc.getTreeNode(); - return new NetworkDefaultJungleTreeEditor(treeName, root,txManager,editor); + return new NetworkDefaultJungleTreeEditor(serverName, treeName, root,txManager,editor); } @Override diff -r bf3dc481cc9b -r fd3643699f83 src/alice/jungle/transaction/NetworkDefaultJungleTreeEditor.java --- a/src/alice/jungle/transaction/NetworkDefaultJungleTreeEditor.java Fri Jul 12 09:47:22 2013 +0900 +++ b/src/alice/jungle/transaction/NetworkDefaultJungleTreeEditor.java Fri Jul 12 11:27:00 2013 +0900 @@ -37,14 +37,16 @@ private final String treeName; private final TreeEditor editor; private final TreeOperationLog log; + private final String serverName; - public NetworkDefaultJungleTreeEditor(String _treeName, T _root,TransactionManager _txManager,TreeEditor _editor) + public NetworkDefaultJungleTreeEditor(String _serverName, String _treeName, T _root,TransactionManager _txManager,TreeEditor _editor) { - this(_treeName, _root,_txManager,_editor,new DefaultTreeOperationLog()); + this(_serverName, _treeName, _root,_txManager,_editor,new DefaultTreeOperationLog()); } - public NetworkDefaultJungleTreeEditor(String _treeName, T _root,TransactionManager _txManager,TreeEditor _editor,TreeOperationLog _log) + public NetworkDefaultJungleTreeEditor(String _serverName, String _treeName, T _root,TransactionManager _txManager,TreeEditor _editor, TreeOperationLog _log) { + serverName = _serverName; treeName = _treeName; root = _root; txManager = _txManager; @@ -74,7 +76,7 @@ DefaultTreeOperationLog treeOperationLog = new DefaultTreeOperationLog(iterable,newLog.length()); TreeOperationLog newTreeOpLog = log.append(treeOperationLog); - JungleTreeEditor newEditor = new NetworkDefaultJungleTreeEditor(treeName, newNode,txManager,editor,newTreeOpLog); + JungleTreeEditor newEditor = new NetworkDefaultJungleTreeEditor(serverName, treeName, newNode,txManager,editor,newTreeOpLog); return DefaultEither.newB(newEditor); } @@ -121,7 +123,7 @@ } TransactionManager newTxManager = either.b(); - JungleTreeEditor newTreeEditor = new NetworkDefaultJungleTreeEditor(treeName, root,newTxManager,editor); + JungleTreeEditor newTreeEditor = new NetworkDefaultJungleTreeEditor(serverName, treeName, root,newTxManager,editor); return DefaultEither.newB(newTreeEditor); } @@ -147,6 +149,14 @@ public TreeOperationLog getTreeOperationLog() { return log; } + + public String getTreeName() { + return treeName; + } + + public String getServerName() { + return serverName; + } } diff -r bf3dc481cc9b -r fd3643699f83 src/alice/jungle/transaction/NetworkTransactionManager.java --- a/src/alice/jungle/transaction/NetworkTransactionManager.java Fri Jul 12 09:47:22 2013 +0900 +++ b/src/alice/jungle/transaction/NetworkTransactionManager.java Fri Jul 12 11:27:00 2013 +0900 @@ -73,26 +73,10 @@ if(r != Result.SUCCESS) { return DefaultEither.newA((Error)new DefaultError()); } - try { - putDataSegment(uuid, treeName, serverName, list, nextRevision); - } catch (IOException e) { - e.printStackTrace(); - } reservation.confirm(); TransactionManager txManager = new NetworkTransactionManager(treeName, writer, newContext, repository, uuid, serverName); return DefaultEither.newB(txManager); } - - private void putDataSegment(String _uuid, String _treeName, String _serverName, Iterable _log, long nextRevision) throws IOException { - DefaultTreeOperationLogContainer container = new DefaultTreeOperationLogContainer(); - container.setTreeName(_treeName); - container.setUUID(_uuid); - container.setServerName(_serverName); - container.setRevision(nextRevision); - container.unconvert(_log); - NullCodeSegmentForUpdate cs = new NullCodeSegmentForUpdate(); - cs.ods.put("local", "log", container); - } @Override public long getRevision() diff -r bf3dc481cc9b -r fd3643699f83 src/jungle/test/bbs/DistributeApp.java --- a/src/jungle/test/bbs/DistributeApp.java Fri Jul 12 09:47:22 2013 +0900 +++ b/src/jungle/test/bbs/DistributeApp.java Fri Jul 12 11:27:00 2013 +0900 @@ -25,23 +25,7 @@ { public static void main( String[] args ) throws Exception { - RemoteConfig conf = new RemoteConfig(args); new TopologyNode(conf, new StartBBSCodeSegment()); -/* - if(conf.hostname == null) { - new AliceDaemon(conf).listen(); - PutHostLogCodeSegment cs = new PutHostLogCodeSegment(); - cs.arg1.setKey("local","log"); - LogUpdateCodeSegment updateCS = new LogUpdateCodeSegment("local", "anotherLog"); - updateCS.arg1.setKey("local", "anotherLog"); - } else { - DataSegment.connect(conf.key, "", conf.hostname, conf.connectPort); - PutAnotherLogCodeSegment cs = new PutAnotherLogCodeSegment(); - cs.arg1.setKey("local", "log"); - LogUpdateCodeSegment updateCS = new LogUpdateCodeSegment("remote", "hostLog"); - updateCS.arg1.setKey("remote", "hostLog"); - } -*/ } } diff -r bf3dc481cc9b -r fd3643699f83 src/jungle/test/bbs/NetworkJungleBulletinBoard.java --- a/src/jungle/test/bbs/NetworkJungleBulletinBoard.java Fri Jul 12 09:47:22 2013 +0900 +++ b/src/jungle/test/bbs/NetworkJungleBulletinBoard.java Fri Jul 12 11:27:00 2013 +0900 @@ -1,9 +1,12 @@ package jungle.test.bbs; +import java.io.IOException; import java.nio.ByteBuffer; import java.util.concurrent.atomic.AtomicInteger; import alice.jungle.core.NetworkDefaultJungle; +import alice.jungle.datasegment.store.operations.DefaultTreeOperationLogContainer; +import alice.jungle.transaction.NetworkDefaultJungleTreeEditor; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungle; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; @@ -12,6 +15,7 @@ import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.NodeEditor; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser; @@ -19,6 +23,7 @@ import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.IterableConverter; +import jungle.test.bbs.codesegment.NullCodeSegmentForUpdate; public class NetworkJungleBulletinBoard implements BulletinBoard { @@ -29,7 +34,7 @@ { Jungle _j = new NetworkDefaultJungle(null,"hoge",new DefaultTreeEditor(new DefaultTraverser()), _serverName); JungleManager.setJungle(_j); - jungle = jm.getJungle(); + jungle = JungleManager.getJungle(); jungle.createNewTree("boards"); } @@ -73,6 +78,12 @@ if(result.isA()){ throw new IllegalStateException(); } + /* Put DataSegment */ + try { + putTreeOperationLog((NetworkDefaultJungleTreeEditor)result.b()); + } catch (IOException e1) { + e1.printStackTrace(); + } tree = jungle.getTreeByName(_name); editor = tree.getTreeEditor(); @@ -97,6 +108,13 @@ } editor = either.b(); editor.success(); + /* Put DataSegment */ + try { + putTreeOperationLog((NetworkDefaultJungleTreeEditor)result.b()); + } catch (IOException e1) { + e1.printStackTrace(); + } + } public void createBoardMessage(final String _board,final String _author,final String _message,final String _editKey) @@ -107,13 +125,14 @@ } JungleTreeEditor editor; + Either either; do{ Node node = tree.getRootNode(); int size = node.getChildren().size(); DefaultNodePath path = new DefaultNodePath(); editor = tree.getTreeEditor(); - Either either = editor.addNewChildAt(path,size); + either = editor.addNewChildAt(path,size); if(either.isA()){ throw new IllegalStateException(); } @@ -134,12 +153,21 @@ throw new IllegalStateException(); } editor = either.b(); - }while(editor.success().isA()); + + either = editor.success(); + /* Put DataSegment */ + try { + putTreeOperationLog((NetworkDefaultJungleTreeEditor)editor); + } catch (IOException e1) { + e1.printStackTrace(); + } + }while(either.isA()); } public void editMessage(String _board,String _uuid,final String _author,final String _message,final String _editKey) { JungleTreeEditor editor = null; + Either either = null; do{ DefaultNodePath path = new DefaultNodePath(); path = path.add(Integer.parseInt(_uuid)); @@ -155,12 +183,19 @@ } }; - Either either = editor.edit(path,e); + either = editor.edit(path,e); if(either.isA()){ throw new IllegalStateException(); } editor = either.b(); - }while(editor.success().isA()); + either = editor.success(); + /* Put DataSegment */ + try { + putTreeOperationLog((NetworkDefaultJungleTreeEditor)editor); + } catch (IOException e1) { + e1.printStackTrace(); + } + }while(either.isA()); } public Iterable getMessages(String _boardName) @@ -183,6 +218,27 @@ return new IterableConverter(chs,converter); } + private void putTreeOperationLog(NetworkDefaultJungleTreeEditor editor) throws IOException { + String uuid = editor.getID(); + String treeName = editor.getTreeName(); + String serverName = editor.getServerName(); + long revision = Long.parseLong(editor.getRevision()); + Iterable log = editor.getTreeOperationLog(); + putDataSegment(uuid, treeName, serverName, log, revision); + } + + private void putDataSegment(String _uuid, String _treeName, String _serverName, Iterable _log, long nextRevision) throws IOException { + DefaultTreeOperationLogContainer container = new DefaultTreeOperationLogContainer(); + container.setTreeName(_treeName); + container.setUUID(_uuid); + container.setServerName(_serverName); + container.setRevision(nextRevision); + container.unconvert(_log); + NullCodeSegmentForUpdate cs = new NullCodeSegmentForUpdate(); + cs.ods.put("local", "log", container); + } + + private static class BoardMessageImpl implements BoardMessage { private final String author; diff -r bf3dc481cc9b -r fd3643699f83 src/jungle/test/bbs/codesegment/StartBBSCodeSegment.java --- a/src/jungle/test/bbs/codesegment/StartBBSCodeSegment.java Fri Jul 12 09:47:22 2013 +0900 +++ b/src/jungle/test/bbs/codesegment/StartBBSCodeSegment.java Fri Jul 12 11:27:00 2013 +0900 @@ -34,6 +34,7 @@ public void run() { System.out.println("StartBBSCodeSegment"); String name = host.asString(); + System.out.println("name : "+ name); Matcher matcher = pattern.matcher(name); matcher.find(); String type = matcher.group(1);