# HG changeset patch
# User one
# Date 1373540316 -32400
# Node ID 4419ac56cbfd6fb80caaef40494e15d6a16c8e89
# Parent b8b9668da13c6a2ee35b2a61fbb4e8a273f8b37f
implemented serverName filed
diff -r b8b9668da13c -r 4419ac56cbfd .classpath
--- a/.classpath Tue Jul 09 17:37:09 2013 +0900
+++ b/.classpath Thu Jul 11 19:58:36 2013 +0900
@@ -11,7 +11,6 @@
-
diff -r b8b9668da13c -r 4419ac56cbfd src/alice/jungle/codesegment/LogUpdateCodeSegment.java
--- a/src/alice/jungle/codesegment/LogUpdateCodeSegment.java Tue Jul 09 17:37:09 2013 +0900
+++ b/src/alice/jungle/codesegment/LogUpdateCodeSegment.java Thu Jul 11 19:58:36 2013 +0900
@@ -15,21 +15,30 @@
public class LogUpdateCodeSegment extends CodeSegment {
- public Receiver arg1 = ids.create(CommandType.TAKE);
+ public Receiver arg1 = ids.create(CommandType.PEEK);
+ private final String rh;
+ private final String key;
- public LogUpdateCodeSegment() {
-
+ public LogUpdateCodeSegment(String _rh, String _key) {
+ rh = _rh;
+ key = _key;
}
public void run() {
+ System.out.println("--LogUpdateCodeSegment--");
+ int index = arg1.index;
DefaultTreeOperationLogContainer container = arg1.asClass(DefaultTreeOperationLogContainer.class);
+ if(!updaterIsMe(container)) {
+ LogUpdateCodeSegment updateCS = new LogUpdateCodeSegment(rh, key);
+ updateCS.arg1.setKey(rh, key, index+1);
+ return;
+ }
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();
@@ -39,5 +48,15 @@
}
editor = either.b();
editor.success();
+ LogUpdateCodeSegment updateCS = new LogUpdateCodeSegment(rh, key);
+ updateCS.arg1.setKey(rh, key, index+1);
}
+
+ private boolean updaterIsMe(DefaultTreeOperationLogContainer container) {
+
+ return true;
+ }
+
+
+
}
diff -r b8b9668da13c -r 4419ac56cbfd src/alice/jungle/core/NetworkDefaultJungle.java
--- a/src/alice/jungle/core/NetworkDefaultJungle.java Tue Jul 09 17:37:09 2013 +0900
+++ b/src/alice/jungle/core/NetworkDefaultJungle.java Thu Jul 11 19:58:36 2013 +0900
@@ -24,13 +24,15 @@
private ConcurrentHashMap trees;
private String uuid;
private TreeEditor editor;
+ private String serverName;
- public NetworkDefaultJungle(Journal _journal,String _uuid,TreeEditor _editor)
+ public NetworkDefaultJungle(Journal _journal,String _uuid,TreeEditor _editor, String _serverName)
{
journal = new AliceJournal();
trees = new ConcurrentHashMap();
uuid = _uuid;
editor = _editor;
+ serverName = _serverName;
}
@Override
@@ -52,7 +54,7 @@
DefaultTreeNode root = new DefaultTreeNode();
ChangeSet set = new DefaultChangeSet(root.getAsNode(),null,list,uuid,0);
DefaultTreeContext tc = new DefaultTreeContext(root,set);
- JungleTree newTree = new NetworkDefaultJungleTree(_name, tc,uuid,journal.getWriter(),editor);
+ JungleTree newTree = new NetworkDefaultJungleTree(_name, tc,uuid,journal.getWriter(),editor, serverName);
if(trees.putIfAbsent(_name,newTree) != null){
return null;
}
diff -r b8b9668da13c -r 4419ac56cbfd src/alice/jungle/remote/RemoteConfig.java
--- a/src/alice/jungle/remote/RemoteConfig.java Tue Jul 09 17:37:09 2013 +0900
+++ b/src/alice/jungle/remote/RemoteConfig.java Thu Jul 11 19:58:36 2013 +0900
@@ -1,24 +1,11 @@
package alice.jungle.remote;
-import alice.daemon.Config;
+import alice.topology.node.TopologyNodeConfig;
-public class RemoteConfig extends Config {
-
- public String hostname;
- public int connectPort = 10000;
- public String key = "remote";
+public class RemoteConfig extends TopologyNodeConfig {
public RemoteConfig(String[] args) {
super(args);
- for (int i = 0; i< args.length; i++) {
- if ("-h".equals(args[i])) {
- hostname = args[++i];
- } else if ("-cp".equals(args[i])) {
- connectPort = Integer.parseInt(args[++i]);
- } else if ("-key".equals(args[i])) {
- key = args[++i];
- }
- }
}
}
diff -r b8b9668da13c -r 4419ac56cbfd src/alice/jungle/transaction/NetworkDefaultJungleTree.java
--- a/src/alice/jungle/transaction/NetworkDefaultJungleTree.java Tue Jul 09 17:37:09 2013 +0900
+++ b/src/alice/jungle/transaction/NetworkDefaultJungleTree.java Thu Jul 11 19:58:36 2013 +0900
@@ -17,21 +17,23 @@
private final String treeName;
private final ChangeListWriter writer;
private final TreeEditor editor;
+ private final String serverName;
- public NetworkDefaultJungleTree(String _treeName, TreeContext _tc,String _uuid,ChangeListWriter _writer,TreeEditor _editor)
+ public NetworkDefaultJungleTree(String _treeName, TreeContext _tc,String _uuid,ChangeListWriter _writer,TreeEditor _editor, String _serverName)
{
treeName = _treeName;
repository = new AtomicReservableReference>(_tc);
uuid = _uuid;
writer = _writer;
editor = _editor;
+ serverName = _serverName;
}
@Override
public JungleTreeEditor getTreeEditor()
{
TreeContext tc = repository.get();
- NetworkTransactionManager txManager = new NetworkTransactionManager(treeName, writer,tc,repository,uuid);
+ NetworkTransactionManager txManager = new NetworkTransactionManager(treeName, writer,tc,repository,uuid, serverName);
T root = tc.getTreeNode();
return new NetworkDefaultJungleTreeEditor(treeName, root,txManager,editor);
}
diff -r b8b9668da13c -r 4419ac56cbfd src/alice/jungle/transaction/NetworkDefaultJungleTreeEditor.java
--- a/src/alice/jungle/transaction/NetworkDefaultJungleTreeEditor.java Tue Jul 09 17:37:09 2013 +0900
+++ b/src/alice/jungle/transaction/NetworkDefaultJungleTreeEditor.java Thu Jul 11 19:58:36 2013 +0900
@@ -1,7 +1,10 @@
package alice.jungle.transaction;
+import java.io.IOException;
import java.nio.ByteBuffer;
+import alice.jungle.datasegment.store.operations.DefaultTreeOperationLogContainer;
+
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
@@ -25,6 +28,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 NetworkDefaultJungleTreeEditor> implements JungleTreeEditor {
@@ -137,12 +141,7 @@
@Override
public Node getRoot()
{
- return null;
- }
-
- public JungleTreeEditor setNewLogAndGetEditor(TreeOperationLog _log) {
- JungleTreeEditor newEditor = new NetworkDefaultJungleTreeEditor(treeName, root,txManager,editor, _log);
- return newEditor;
+ return (Node)root;
}
public TreeOperationLog getTreeOperationLog() {
diff -r b8b9668da13c -r 4419ac56cbfd src/alice/jungle/transaction/NetworkTransactionManager.java
--- a/src/alice/jungle/transaction/NetworkTransactionManager.java Tue Jul 09 17:37:09 2013 +0900
+++ b/src/alice/jungle/transaction/NetworkTransactionManager.java Thu Jul 11 19:58:36 2013 +0900
@@ -24,6 +24,7 @@
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultError;
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.codesegment.NullCodeSegmentForUpdate;
public class NetworkTransactionManager> implements TransactionManager
{
@@ -33,15 +34,17 @@
private final ChangeListWriter writer;
private final String uuid;
private final String treeName;
+ private final String serverName;
public NetworkTransactionManager(String _treeName, ChangeListWriter _writer,TreeContext _tip,
- AtomicReservableReference> _repository,String _uuid)
+ AtomicReservableReference> _repository,String _uuid, String _serverName)
{
repository = _repository;
tip = _tip;
writer = _writer;
uuid = _uuid;
treeName = _treeName;
+ serverName = _serverName;
}
@Override
@@ -71,22 +74,22 @@
return DefaultEither.newA((Error)new DefaultError());
}
try {
- updateDataSegment(uuid, treeName, list);
+ putDataSegment(uuid, treeName, list);
} catch (IOException e) {
e.printStackTrace();
}
reservation.confirm();
- TransactionManager txManager = new NetworkTransactionManager(treeName, writer, newContext, repository, uuid);
+ TransactionManager txManager = new NetworkTransactionManager(treeName, writer, newContext, repository, uuid, serverName);
return DefaultEither.newB(txManager);
}
- private void updateDataSegment(String _uuid, String _treeName, Iterable _log) throws IOException {
+ private void putDataSegment(String _uuid, String _treeName, Iterable _log) throws IOException {
DefaultTreeOperationLogContainer container = new DefaultTreeOperationLogContainer();
container.setTreeName(_treeName);
container.setUUID(_uuid);
container.unconvert(_log);
- LogUpdateCodeSegment cs = new LogUpdateCodeSegment();
- cs.ods.update("local", "log", container);
+ NullCodeSegmentForUpdate cs = new NullCodeSegmentForUpdate();
+ cs.ods.put("local", "log", container);
}
diff -r b8b9668da13c -r 4419ac56cbfd src/jungle/test/bbs/DistributeApp.java
--- a/src/jungle/test/bbs/DistributeApp.java Tue Jul 09 17:37:09 2013 +0900
+++ b/src/jungle/test/bbs/DistributeApp.java Thu Jul 11 19:58:36 2013 +0900
@@ -4,6 +4,7 @@
import jungle.test.bbs.codesegment.PutAnotherLogCodeSegment;
import jungle.test.bbs.codesegment.PutHostLogCodeSegment;
+import jungle.test.bbs.codesegment.StartBBSCodeSegment;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.servlet.ServletHandler;
@@ -13,6 +14,8 @@
import alice.datasegment.DataSegment;
import alice.jungle.codesegment.LogUpdateCodeSegment;
import alice.jungle.remote.RemoteConfig;
+import alice.topology.node.StartTopologyNode;
+import alice.topology.node.TopologyNode;
/**
* Hello world!
@@ -22,43 +25,23 @@
{
public static void main( String[] args ) throws Exception
{
- BulletinBoard cassaBBS = null;
- cassaBBS = new NetworkJungleBulletinBoard();
+
RemoteConfig conf = new RemoteConfig(args);
+ new TopologyNode(conf, new StartBBSCodeSegment());
+/*
if(conf.hostname == null) {
- /* Host Side */
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 {
- /* Client Side */
DataSegment.connect(conf.key, "", conf.hostname, conf.connectPort);
- LogUpdateCodeSegment cs = new LogUpdateCodeSegment();
- cs.arg1.setKey("remote", "hostLog");
- PutAnotherLogCodeSegment cs2 = new PutAnotherLogCodeSegment();
- cs2.arg1.setKey("local", "log");
+ PutAnotherLogCodeSegment cs = new PutAnotherLogCodeSegment();
+ cs.arg1.setKey("local", "log");
+ LogUpdateCodeSegment updateCS = new LogUpdateCodeSegment("remote", "hostLog");
+ updateCS.arg1.setKey("remote", "hostLog");
}
-
-
- String createBoardMessagePath = "/createBoardMessage";
- String createBoardPath = "/createBoard";
- String editMessagePath = "/editMessage";
- String showBoardMessagePath = "/showBoardMessage";
-
- Servlet createBoardMessage = new CreateBoardMessageServlet(cassaBBS);
- Servlet createBoard = new CreateBoardServlet(cassaBBS);
- Servlet editBoardMessage = new EditMessageServlet(cassaBBS);
- Servlet index = new ShowBoardsServlet(cassaBBS,createBoardPath,showBoardMessagePath);
- Servlet board = new ShowBoardMessageServlet(cassaBBS,createBoardMessagePath,editMessagePath);
-
- Server serv = new Server(8080);
- ServletHandler context = new ServletHandler();
- context.addServletWithMapping(new ServletHolder(createBoardMessage),createBoardMessagePath);
- context.addServletWithMapping(new ServletHolder(createBoard),createBoardPath);
- context.addServletWithMapping(new ServletHolder(editBoardMessage),editMessagePath);
- context.addServletWithMapping(new ServletHolder(index),"/");
- context.addServletWithMapping(new ServletHolder(board),showBoardMessagePath);
- serv.addHandler(context);
- serv.start();
+*/
}
}
diff -r b8b9668da13c -r 4419ac56cbfd src/jungle/test/bbs/JungleManager.java
--- a/src/jungle/test/bbs/JungleManager.java Tue Jul 09 17:37:09 2013 +0900
+++ b/src/jungle/test/bbs/JungleManager.java Thu Jul 11 19:58:36 2013 +0900
@@ -18,10 +18,10 @@
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
public class JungleManager {
- static Jungle jungle = new NetworkDefaultJungle(null,"hoge",new DefaultTreeEditor(new DefaultTraverser()));
+ static Jungle jungle;
- public JungleManager() {
-
+ public JungleManager(String _serverName) {
+ jungle = new NetworkDefaultJungle(null,"hoge",new DefaultTreeEditor(new DefaultTraverser()), _serverName);
}
public Jungle getJungle() {
diff -r b8b9668da13c -r 4419ac56cbfd src/jungle/test/bbs/NetworkJungleBulletinBoard.java
--- a/src/jungle/test/bbs/NetworkJungleBulletinBoard.java Tue Jul 09 17:37:09 2013 +0900
+++ b/src/jungle/test/bbs/NetworkJungleBulletinBoard.java Thu Jul 11 19:58:36 2013 +0900
@@ -22,13 +22,13 @@
public class NetworkJungleBulletinBoard implements BulletinBoard
{
- private JungleManager jvm;
+ private JungleManager jm;
private final Jungle jungle;
public NetworkJungleBulletinBoard()
{
- jvm = new JungleManager();
- jungle = new NetworkDefaultJungle(null,"hoge",new DefaultTreeEditor(new DefaultTraverser()));
+ jm = new JungleManager();
+ jungle = jm.getJungle();
jungle.createNewTree("boards");
}
diff -r b8b9668da13c -r 4419ac56cbfd src/jungle/test/bbs/codesegment/PutAnotherLogCodeSegment.java
--- a/src/jungle/test/bbs/codesegment/PutAnotherLogCodeSegment.java Tue Jul 09 17:37:09 2013 +0900
+++ b/src/jungle/test/bbs/codesegment/PutAnotherLogCodeSegment.java Thu Jul 11 19:58:36 2013 +0900
@@ -5,17 +5,18 @@
import alice.codesegment.CodeSegment;
import alice.datasegment.CommandType;
import alice.datasegment.Receiver;
+import alice.jungle.codesegment.LogUpdateCodeSegment;
public class PutAnotherLogCodeSegment extends CodeSegment {
public Receiver arg1 = ids.create(CommandType.TAKE);
public void run() {
+ System.out.println("Client: PutAnotherLogCodeSegment");
Value v = (Value)arg1.getVal();
ods.put("remote", "anotherLog", v);
PutAnotherLogCodeSegment cs = new PutAnotherLogCodeSegment();
cs.arg1.setKey("local", "log");
-
}
}
diff -r b8b9668da13c -r 4419ac56cbfd src/jungle/test/bbs/codesegment/PutHostLogCodeSegment.java
--- a/src/jungle/test/bbs/codesegment/PutHostLogCodeSegment.java Tue Jul 09 17:37:09 2013 +0900
+++ b/src/jungle/test/bbs/codesegment/PutHostLogCodeSegment.java Thu Jul 11 19:58:36 2013 +0900
@@ -11,6 +11,7 @@
public Receiver arg1 = ids.create(CommandType.TAKE);
public void run() {
+ System.out.println("Host: PutHostLogCodeSegment");
Value v = (Value) arg1.getVal();
ods.put("local", "hostLog", v);
PutHostLogCodeSegment cs = new PutHostLogCodeSegment();
diff -r b8b9668da13c -r 4419ac56cbfd src/jungle/test/codesegment/persistence/AliceJournal.java
--- a/src/jungle/test/codesegment/persistence/AliceJournal.java Tue Jul 09 17:37:09 2013 +0900
+++ b/src/jungle/test/codesegment/persistence/AliceJournal.java Thu Jul 11 19:58:36 2013 +0900
@@ -35,13 +35,6 @@
{
/*
for(TreeOperation op : _operations){
- DefaultTreeOperationContainer container = new DefaultTreeOperationContainer();
- container.unconvert(op);
- cs.ods.update("local", "op", op);
- }
-
-*/
- for(TreeOperation op : _operations){
NodePath p = op.getNodePath();
NodeOperation nodeOp = op.getNodeOperation();
Command c = nodeOp.getCommand();
@@ -68,6 +61,7 @@
}
System.out.println(String.format("[%s:%s:%s]",c,p,args));
}
+*/
return Result.SUCCESS;
}
}