annotate src/main/java/alice/jungle/operations/NetworkNodeOperation.java @ 177:6f104ab4eb81

fit jungle core but editMessage is not work
author tatsuki
date Mon, 01 Sep 2014 00:04:32 +0900
parents 7d9b7fcb4d9a
children 2828205bdc3a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
77
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
1 package alice.jungle.operations;
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
2
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
3 import java.nio.ByteBuffer;
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
4
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.Command;
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation;
113
7d9b7fcb4d9a Add LogPutCodeSegment
one
parents: 105
diff changeset
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.AppendChildAt;
79
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 78
diff changeset
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.DeleteAttribute;
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 78
diff changeset
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.DeleteChildAt;
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 78
diff changeset
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.PutAttribute;
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 78
diff changeset
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 78
diff changeset
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
77
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
13
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
14 import org.msgpack.annotation.Message;
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
15
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
16 @Message
79
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 78
diff changeset
17 public class NetworkNodeOperation implements NodeOperation{
77
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
18
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
19 public int pos;
78
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
20 public String key;
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
21 public ByteBuffer value;
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
22 public int commandType;
77
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
23
83
b3ccefdf2b43 Added PersistentExample
one
parents: 79
diff changeset
24 public final static int NUM_PUT_ATTRIBUTE = 1;
b3ccefdf2b43 Added PersistentExample
one
parents: 79
diff changeset
25 public final static int NUM_APPEND_CHILD = 2;
b3ccefdf2b43 Added PersistentExample
one
parents: 79
diff changeset
26 public final static int NUM_DELETE_CHILD = 3;
b3ccefdf2b43 Added PersistentExample
one
parents: 79
diff changeset
27 public final static int NUM_DELETE_ATTRIBUTE = 4;
b3ccefdf2b43 Added PersistentExample
one
parents: 79
diff changeset
28
77
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
29 public NetworkNodeOperation() {
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
30 pos = -2;
78
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
31 key = null;
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
32 value = null;
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
33 commandType = 0;
77
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
34 }
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
35
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
36 public NetworkNodeOperation(NodeOperation _op) {
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
37 pos = _op.getPosition();
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
38 key = _op.getKey();
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
39 value = _op.getValue();
78
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
40 commandType = getCommandType(_op.getCommand());
77
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
41 }
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
42
78
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
43 public static int getCommandType(Command c) {
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
44 switch(c) {
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
45 case PUT_ATTRIBUTE:
83
b3ccefdf2b43 Added PersistentExample
one
parents: 79
diff changeset
46 return NUM_PUT_ATTRIBUTE;
78
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
47 case APPEND_CHILD:
83
b3ccefdf2b43 Added PersistentExample
one
parents: 79
diff changeset
48 return NUM_APPEND_CHILD;
78
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
49 case DELETE_CHILD:
83
b3ccefdf2b43 Added PersistentExample
one
parents: 79
diff changeset
50 return NUM_DELETE_CHILD;
78
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
51 case DELETE_ATTRIBUTE:
83
b3ccefdf2b43 Added PersistentExample
one
parents: 79
diff changeset
52 return NUM_DELETE_ATTRIBUTE;
78
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
53 default:
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
54 break;
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
55 }
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
56 return 0;
77
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
57 }
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
58
78
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
59 public static Command getCommand(int num) {
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
60 switch(num) {
83
b3ccefdf2b43 Added PersistentExample
one
parents: 79
diff changeset
61 case NUM_PUT_ATTRIBUTE:
78
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
62 return Command.PUT_ATTRIBUTE;
83
b3ccefdf2b43 Added PersistentExample
one
parents: 79
diff changeset
63 case NUM_APPEND_CHILD:
b3ccefdf2b43 Added PersistentExample
one
parents: 79
diff changeset
64 return Command.APPEND_CHILD;
b3ccefdf2b43 Added PersistentExample
one
parents: 79
diff changeset
65 case NUM_DELETE_CHILD:
78
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
66 return Command.DELETE_CHILD;
83
b3ccefdf2b43 Added PersistentExample
one
parents: 79
diff changeset
67 case NUM_DELETE_ATTRIBUTE:
78
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
68 return Command.DELETE_ATTRIBUTE;
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
69 default:
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
70 break;
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
71 }
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
72 return null;
77
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
73 }
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
74
78
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
75 public Command getCommand() {
0055d917c796 Modified NetworkNodeOperation
one
parents: 77
diff changeset
76 return getCommand(commandType);
77
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
77 }
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
78
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
79 public int getPosition() {
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
80 return pos;
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
81 }
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
82
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
83 public String getKey() {
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
84 return key;
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
85 }
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
86
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
87 public ByteBuffer getValue() {
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
88 return value;
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
89 }
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
90
177
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 113
diff changeset
91 /* @Override
79
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 78
diff changeset
92 public <T extends EditableNode<T>> Either<Error, T> invoke(T _target) {
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 78
diff changeset
93 switch(getCommand(commandType)) {
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 78
diff changeset
94 case PUT_ATTRIBUTE:
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 78
diff changeset
95 PutAttribute putAttribute = new PutAttribute(key,value);
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 78
diff changeset
96 return putAttribute.edit(_target);
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 78
diff changeset
97 case APPEND_CHILD:
113
7d9b7fcb4d9a Add LogPutCodeSegment
one
parents: 105
diff changeset
98 AppendChildAt appendChildAt = new AppendChildAt(pos);
79
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 78
diff changeset
99 return appendChildAt.edit(_target);
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 78
diff changeset
100 case DELETE_CHILD:
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 78
diff changeset
101 DeleteChildAt deleteChildAt = new DeleteChildAt(pos);
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 78
diff changeset
102 return deleteChildAt.edit(_target);
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 78
diff changeset
103 case DELETE_ATTRIBUTE:
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 78
diff changeset
104 DeleteAttribute deleteAttribute = new DeleteAttribute(key);
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 78
diff changeset
105 return deleteAttribute.edit(_target);
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 78
diff changeset
106 default:
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 78
diff changeset
107 break;
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 78
diff changeset
108 }
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 78
diff changeset
109 return null;
177
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 113
diff changeset
110 }*/
79
5b9708d9febc Modified NetworkTreeOperationLog NetworkNodeOperation
one
parents: 78
diff changeset
111
77
2dba7e1cf9fa Added NetworknodeOperation and Test
one
parents:
diff changeset
112 }