changeset 59:57e965b73c9e

Implement getTreeName method in ChangeSet and ChangeList interface. Modified Defaults class.
author one
date Tue, 05 Nov 2013 07:24:28 +0900
parents a3a8c49ad209
children 7030d9935796
files src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/DefaultJungle.java src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/persistent/ChangeList.java src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/persistent/DefaultChangeListReader.java src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/ChangeSet.java src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultChangeSet.java src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultTransactionManager.java
diffstat 6 files changed, 34 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/DefaultJungle.java	Thu Feb 28 16:15:04 2013 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/DefaultJungle.java	Tue Nov 05 07:24:28 2013 +0900
@@ -57,7 +57,7 @@
 	}
 
 	@Override
-	public JungleTree createNewTree(String _name)
+	public JungleTree createNewTree(final String _name)
 	{
 		ChangeList list = new ChangeList(){
 			@Override
@@ -65,10 +65,18 @@
 				List<TreeOperation> nil = List.nil();
 				return nil.iterator();
 			}
+			@Override
+			public String uuid() {
+				return uuid;
+			}
+			@Override
+			public String getTreeName() {
+				return _name;
+			}
 		};
 		
 		DefaultTreeNode root = new DefaultTreeNode();
-		ChangeSet set = new DefaultChangeSet(root.getAsNode(),null,list,uuid,0);
+		ChangeSet set = new DefaultChangeSet(root.getAsNode(),null,list,uuid,_name,0);
 		DefaultTreeContext<DefaultTreeNode> tc = new DefaultTreeContext<DefaultTreeNode>(root,set);
 		JungleTree newTree = new DefaultJungleTree<DefaultTreeNode>(tc,uuid,journal.getWriter(),editor);
 		if(trees.putIfAbsent(_name,newTree) != null){
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/persistent/ChangeList.java	Thu Feb 28 16:15:04 2013 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/persistent/ChangeList.java	Tue Nov 05 07:24:28 2013 +0900
@@ -4,4 +4,6 @@
 
 public interface ChangeList extends Iterable<TreeOperation>
 {
+	public String uuid();
+	public String getTreeName();
 }
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/persistent/DefaultChangeListReader.java	Thu Feb 28 16:15:04 2013 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/persistent/DefaultChangeListReader.java	Tue Nov 05 07:24:28 2013 +0900
@@ -38,4 +38,6 @@
 		
 		return null;
 	}
+	
+	
 }
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/ChangeSet.java	Thu Feb 28 16:15:04 2013 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/ChangeSet.java	Tue Nov 05 07:24:28 2013 +0900
@@ -11,6 +11,7 @@
 	public ChangeList getChangeList();
 	
 	public String uuid();
+	public String getTreeName();
 	public long revision();
 	
 	public Iterable<TreeOperation> getOperations();
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultChangeSet.java	Thu Feb 28 16:15:04 2013 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultChangeSet.java	Tue Nov 05 07:24:28 2013 +0900
@@ -11,14 +11,16 @@
 	private final ChangeSet previous;
 	private final ChangeList changeList;
 	private final String uuid;
+	private final String treeName;
 	private final long revision;
 	
-	public DefaultChangeSet(Node _node,ChangeSet _prev,ChangeList _log,String _uuid,long _revision)
+	public DefaultChangeSet(Node _node,ChangeSet _prev,ChangeList _log,String _uuid, String _treeName, long _revision)
 	{
 		root = _node;
 		previous = _prev;
 		changeList = _log;
 		uuid = _uuid;
+		treeName = _treeName;
 		revision = _revision;
 	}
 
@@ -45,6 +47,12 @@
 	{
 		return uuid;
 	}
+	
+	@Override
+	public String getTreeName()
+	{
+		return treeName;
+	}
 
 	@Override
 	public long revision()
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultTransactionManager.java	Thu Feb 28 16:15:04 2013 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultTransactionManager.java	Tue Nov 05 07:24:28 2013 +0900
@@ -38,15 +38,24 @@
 		long currentRevision = cs.revision();
 		long nextRevision = currentRevision + 1;
 		
+		final String _treeName = cs.getTreeName();
 		ChangeList list = new ChangeList(){
 			@Override
 			public Iterator<TreeOperation> iterator(){
 				return _log.iterator();
 			}
+			@Override
+			public String getTreeName(){
+				return _treeName;
+			}
+			@Override
+			public String uuid(){
+				return uuid;
+			}
 		};
 		
 		Node root = _newRoot.getAsNode();
-		DefaultChangeSet newCs = new DefaultChangeSet(root,cs,list,uuid,nextRevision);
+		DefaultChangeSet newCs = new DefaultChangeSet(root,cs,list,uuid, _treeName, nextRevision);
 		DefaultTreeContext<T> newContext = new DefaultTreeContext<T>(_newRoot,newCs);
 		
 		@SuppressWarnings("rawtypes")
@@ -60,7 +69,6 @@
 			TransactionManager<T> txManager = new DefaultTransactionManager<T>(writer,newContext,repository,uuid);
 			return DefaultEither.newB(txManager);
 		}
-		
 		return DefaultEither.newA((Error)new DefaultError());
 	}