# HG changeset patch # User one # Date 1408513791 -32400 # Node ID 240a385bf79dfdeea9e06f24e3d34de30b6af47d # Parent 0c4a0a1c2f7f0695fa59fe2fd1643f6bdc0423c4 delete traversalNodewrapper but not change test source(error) diff -r 0c4a0a1c2f7f -r 240a385bf79d src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultTreeEditor.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultTreeEditor.java Mon Jun 16 16:47:12 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/DefaultTreeEditor.java Wed Aug 20 14:49:51 2014 +0900 @@ -25,31 +25,31 @@ public > Either edit(T _root,NodePath _path,NodeEditor _editor) { DefaultEvaluator e = new DefaultEvaluator(_path); - TraversableNodeWrapper wrap = new TraversableNodeWrapper(_root); - Either>> either = traverser.traverse(wrap,e); + //TraversableNodeWrapper wrap = new TraversableNodeWrapper(_root); + Either> either = traverser.traverse(_root,e); if(either.isA()){ return DefaultEither.newA(either.a()); } - Traversal> t = either.b(); + Traversal t = either.b(); Either ret = clone(t,_editor); return ret; } - private > Either clone(Traversal> _t,NodeEditor _editor) + private > Either clone(Traversal _t,NodeEditor _editor) { // copying nodes from bottom to root - List>> path = List.nil(); - for(Direction> direction : _t){ + List> path = List.nil(); + for(Direction direction : _t){ path = path.cons(direction); } // target - Direction> targetDirection = path.head(); - T target = targetDirection.getTarget().getWrapped(); + Direction targetDirection = path.head(); + T target = targetDirection.getTarget(); EditableNodeWrapper wrapper = new EditableNodeWrapper(target); Either> either = _editor.edit(wrapper); if(either.isA()){ @@ -61,9 +61,8 @@ // top int pos = targetDirection.getPosition(); T child = newNode; - for(Direction> parentDirection : path.tail()){ - TraversableNodeWrapper parent = parentDirection.getTarget(); - TreeNodeChildren chs = parent.getWrapped().getChildren(); + for(Direction parentDirection : path.tail()){ + TreeNodeChildren chs = parentDirection.getTarget().getChildren(); Either ret = chs.replaceNode(pos,child); if(ret.isA()){ diff -r 0c4a0a1c2f7f -r 240a385bf79d src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/TraversableNodeWrapper.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/TraversableNodeWrapper.java Mon Jun 16 16:47:12 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/impl/TraversableNodeWrapper.java Wed Aug 20 14:49:51 2014 +0900 @@ -1,4 +1,4 @@ -package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl; +/*package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl; import java.util.Iterator; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Children; @@ -66,4 +66,4 @@ } }; } -} +}*/ diff -r 0c4a0a1c2f7f -r 240a385bf79d src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/DefaultEvaluator.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/DefaultEvaluator.java Mon Jun 16 16:47:12 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/DefaultEvaluator.java Wed Aug 20 14:49:51 2014 +0900 @@ -1,6 +1,7 @@ package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Pair; public class DefaultEvaluator implements Evaluator @@ -13,7 +14,7 @@ } @Override - public > Evaluation evaluate(T _current,int _pos) + public > Evaluation evaluate(T _current,int _pos) { Pair pop = path.pop(); int head = pop.left(); diff -r 0c4a0a1c2f7f -r 240a385bf79d src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/DefaultTraverser.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/DefaultTraverser.java Mon Jun 16 16:47:12 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/DefaultTraverser.java Wed Aug 20 14:49:51 2014 +0900 @@ -3,6 +3,7 @@ import java.util.Iterator; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Children; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.NodeEditorError; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; @@ -12,7 +13,7 @@ public class DefaultTraverser implements Traverser { @Override - public > Either> traverse(final T _root,Evaluator _evaluator) + public > Either> traverse(final T _root,Evaluator _evaluator) { Children wrapper = new Children(){ @Override @@ -61,7 +62,7 @@ return DefaultEither.newB(traversal); } - private > Either>> _traverse(Children _chs,Evaluator _evaluator,int _pos) + private > Either>> _traverse(Children _chs,Evaluator _evaluator,int _pos) { int pos = _pos; for(T ch : _chs){ @@ -90,7 +91,7 @@ return DefaultEither.newA(TraverserError.PATH_NOT_FOUND); } - private > List> _goal(final T _current,final int _pos) + private > List> _goal(final T _current,final int _pos) { Direction d = new Direction(){ @Override @@ -111,7 +112,7 @@ return newList; } - private > Either>> _accept(final T _current,final int _pos,Evaluator _evaluator) + private > Either>> _accept(final T _current,final int _pos,Evaluator _evaluator) { Children chs = _current.getChildren(); Either>> either = _traverse(chs,_evaluator,0); diff -r 0c4a0a1c2f7f -r 240a385bf79d src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/Evaluator.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/Evaluator.java Mon Jun 16 16:47:12 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/Evaluator.java Wed Aug 20 14:49:51 2014 +0900 @@ -1,6 +1,8 @@ package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; + public interface Evaluator { - public > Evaluation evaluate(T _current,int _pos); + public > Evaluation evaluate(T _current,int _pos); } diff -r 0c4a0a1c2f7f -r 240a385bf79d src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/Traversable.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/Traversable.java Mon Jun 16 16:47:12 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/Traversable.java Wed Aug 20 14:49:51 2014 +0900 @@ -5,5 +5,5 @@ public interface Traversable> { - public Either> traverse(Evaluator _e); + public Either traverse(Evaluator _e); } diff -r 0c4a0a1c2f7f -r 240a385bf79d src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/TraversableNode.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/TraversableNode.java Mon Jun 16 16:47:12 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/TraversableNode.java Wed Aug 20 14:49:51 2014 +0900 @@ -1,7 +1,8 @@ -package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser; +/*package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Parent; public interface TraversableNode extends Parent { } +*/ \ No newline at end of file diff -r 0c4a0a1c2f7f -r 240a385bf79d src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/Traversal.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/Traversal.java Mon Jun 16 16:47:12 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/Traversal.java Wed Aug 20 14:49:51 2014 +0900 @@ -1,6 +1,8 @@ package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser; -public interface Traversal> extends Iterable> +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; + +public interface Traversal> extends Iterable> { public T destination(); } diff -r 0c4a0a1c2f7f -r 240a385bf79d src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/Traverser.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/Traverser.java Mon Jun 16 16:47:12 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/traverser/Traverser.java Wed Aug 20 14:49:51 2014 +0900 @@ -1,9 +1,12 @@ package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; public interface Traverser { - public > Either> traverse(T _root,Evaluator _evaluator); + public > Either> traverse(final T _root,Evaluator _evaluator); + + }