comparison src/jungle/test/codesegment/practice/ShowAttribute.java @ 21:1abbfc8f11f2

add ShowAttribute
author one
date Sun, 30 Jun 2013 04:18:12 +0900
parents
children 2232263d449b
comparison
equal deleted inserted replaced
20:506388c02b4b 21:1abbfc8f11f2
1 package jungle.test.codesegment.practice;
2
3 import java.nio.ByteBuffer;
4
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Children;
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node;
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
13 import alice.codesegment.CodeSegment;
14 import alice.datasegment.CommandType;
15 import alice.datasegment.Receiver;
16
17 public class ShowAttribute extends CodeSegment {
18
19 Receiver arg1 = ids.create(CommandType.TAKE);
20
21 public ShowAttribute() {
22 arg1.setKey("show");
23 }
24
25 public void run() {
26 System.out.println("--ShowAttribute--");
27
28 Jungle jungle = new JungleManager().getJungle();
29 JungleTree tree = jungle.getTreeByName("tree");
30 JungleTreeEditor editor = tree.getTreeEditor();
31 DefaultNodePath root = new DefaultNodePath();
32 Either<Error,JungleTreeEditor> either = editor.addNewChildAt(root, 0);
33 if(either.isA()) {
34 throw new IllegalStateException();
35 }
36 editor = either.b();
37 either = editor.putAttribute(root.add(0), "key1", ByteBuffer.wrap("message".getBytes()));
38 if(either.isA()) {
39 throw new IllegalStateException();
40 }
41 editor = either.b();
42 Either<Error,JungleTreeEditor> result = editor.success();
43 if(result.isA()) {
44 throw new IllegalStateException();
45 }
46
47 Node node = tree.getRootNode();
48 Children<Node> chs = node.getChildren();
49 for(Node n : chs) {
50 System.out.println(n.getAttributes().get("key1"));
51 }
52
53 System.exit(0);
54
55
56 }
57
58 }