annotate src/main/java/app/bbs/NetworkJungleBulletinBoard.java @ 125:6104702a1880

Added dependency bulletinboard in pom.xml
author one
date Sat, 11 Jan 2014 08:07:19 +0900
parents dacfa7eba841
children 31be4d597859
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
112
8f9811a1e00c Moved app files
one
parents: 105
diff changeset
1 package app.bbs;
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
2
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
3 import java.nio.ByteBuffer;
56
ccfe9b5e8f11 bug LogUpdateCodeSegment
one
parents: 52
diff changeset
4 import java.util.Date;
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
5 import java.util.concurrent.atomic.AtomicInteger;
39
10359a815068 add alice.jungle.codesegment.remote
one
parents: 38
diff changeset
6
10359a815068 add alice.jungle.codesegment.remote
one
parents: 38
diff changeset
7 import alice.jungle.core.NetworkDefaultJungle;
124
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 123
diff changeset
8 import alice.jungle.persistent.AliceJournal;
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
125
6104702a1880 Added dependency bulletinboard in pom.xml
one
parents: 124
diff changeset
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.BoardMessage;
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Children;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableNode;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
18 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.NodeEditor;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
19 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
20 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
21 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
22 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
23 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.IterableConverter;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
24
124
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 123
diff changeset
25 public class NetworkJungleBulletinBoard implements NetworkBulletinBoard
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
26 {
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
27 private final Jungle jungle;
124
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 123
diff changeset
28
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 123
diff changeset
29 public NetworkJungleBulletinBoard(String _uuid)
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
30 {
124
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 123
diff changeset
31 jungle = new NetworkDefaultJungle(new AliceJournal(), _uuid,new DefaultTreeEditor(new DefaultTraverser()));
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 123
diff changeset
32 jungle.createNewTree("boards");
123
495ac60d7f5f Modified JungleUpdater
one
parents: 122
diff changeset
33 BullentInBoardJungleManager.setJungle(jungle);
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
34 }
118
f64ff5bd66f5 Implements persistent for bbs app and Fixed bug JungleUpdater
one
parents: 112
diff changeset
35
124
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 123
diff changeset
36 public void init() {
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 123
diff changeset
37
118
f64ff5bd66f5 Implements persistent for bbs app and Fixed bug JungleUpdater
one
parents: 112
diff changeset
38 }
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
39
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
40 public Iterable<String> getBoards()
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
41 {
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
42 JungleTree tree = jungle.getTreeByName("boards");
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
43 Node node = tree.getRootNode();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
44 Children<Node> chs = node.getChildren();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
45
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
46 IterableConverter.Converter<String,Node> converter = new IterableConverter.Converter<String,Node>(){
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
47 public String conv(Node _b) {
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
48 ByteBuffer e = _b.getAttributes().get("name");
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
49 return new String(e.array());
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
50 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
51 };
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
52
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
53 return new IterableConverter<String,Node>(chs,converter);
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
54 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
55
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
56 public void createBoards(final String _name,final String _author,final String _initMessage,final String _editKey)
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
57 {
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
58 if(null == jungle.createNewTree(_name)){
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
59 throw new IllegalStateException();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
60 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
61
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
62 JungleTree tree = jungle.getTreeByName("boards");
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
63 JungleTreeEditor editor = tree.getTreeEditor();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
64 DefaultNodePath root = new DefaultNodePath();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
65 Either<Error,JungleTreeEditor> either = editor.addNewChildAt(root,0);
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
66 if(either.isA()){
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
67 throw new IllegalStateException();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
68 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
69 editor = either.b();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
70
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
71 either = editor.putAttribute(root.add(0),"name",ByteBuffer.wrap(_name.getBytes()));
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
72 if(either.isA()){
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
73 throw new IllegalStateException();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
74 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
75 editor = either.b();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
76 Either<Error,JungleTreeEditor> result = editor.success();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
77 if(result.isA()){
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
78 throw new IllegalStateException();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
79 }
56
ccfe9b5e8f11 bug LogUpdateCodeSegment
one
parents: 52
diff changeset
80 final long timestamp = new Date().getTime();
93
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
81
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
82
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
83 tree = jungle.getTreeByName(_name);
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
84 editor = tree.getTreeEditor();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
85 either = editor.addNewChildAt(root,0);
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
86 if(either.isA()){
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
87 throw new IllegalStateException();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
88 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
89 editor = either.b();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
90
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
91 NodeEditor e = new NodeEditor(){
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
92 public <T extends EditableNode<T>> Either<Error, T> edit(T _e){
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
93 _e = _e.getAttributes().put("author",ByteBuffer.wrap(_author.getBytes())).b();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
94 _e = _e.getAttributes().put("mes",ByteBuffer.wrap(_initMessage.getBytes())).b();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
95 _e = _e.getAttributes().put("key",ByteBuffer.wrap(_editKey.getBytes())).b();
56
ccfe9b5e8f11 bug LogUpdateCodeSegment
one
parents: 52
diff changeset
96 ByteBuffer tBuffer = ByteBuffer.allocate(16);
ccfe9b5e8f11 bug LogUpdateCodeSegment
one
parents: 52
diff changeset
97 _e = _e.getAttributes().put("timestamp",tBuffer.putLong(timestamp)).b();
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
98 return DefaultEither.newB(_e);
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
99 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
100 };
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
101
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
102 either = editor.edit(root.add(0),e);
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
103 if(either.isA()){
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
104 throw new IllegalStateException();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
105 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
106 editor = either.b();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
107 editor.success();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
108 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
109
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
110 public void createBoardMessage(final String _board,final String _author,final String _message,final String _editKey)
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
111 {
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
112 JungleTree tree = jungle.getTreeByName(_board);
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
113 if(tree == null){
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
114 throw new IllegalStateException();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
115 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
116
46
fd3643699f83 modified pom.xml. fix conflict log4j libraries
one
parents: 45
diff changeset
117 Either<Error, JungleTreeEditor> either;
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
118 do{
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
119 Node node = tree.getRootNode();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
120 int size = node.getChildren().size();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
121 DefaultNodePath path = new DefaultNodePath();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
122
65
ebf42371454b remove warning
one
parents: 64
diff changeset
123 JungleTreeEditor editor = tree.getTreeEditor();
46
fd3643699f83 modified pom.xml. fix conflict log4j libraries
one
parents: 45
diff changeset
124 either = editor.addNewChildAt(path,size);
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
125 if(either.isA()){
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
126 throw new IllegalStateException();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
127 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
128 editor = either.b();
56
ccfe9b5e8f11 bug LogUpdateCodeSegment
one
parents: 52
diff changeset
129 final long timestamp = new Date().getTime();
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
130 NodeEditor e = new NodeEditor(){
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
131 public <T extends EditableNode<T>> Either<Error, T> edit(T _e){
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
132 _e = _e.getAttributes().put("author",ByteBuffer.wrap(_author.getBytes())).b();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
133 _e = _e.getAttributes().put("mes",ByteBuffer.wrap(_message.getBytes())).b();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
134 _e = _e.getAttributes().put("key",ByteBuffer.wrap(_editKey.getBytes())).b();
56
ccfe9b5e8f11 bug LogUpdateCodeSegment
one
parents: 52
diff changeset
135 ByteBuffer tBuffer = ByteBuffer.allocate(16);
ccfe9b5e8f11 bug LogUpdateCodeSegment
one
parents: 52
diff changeset
136 _e = _e.getAttributes().put("timestamp",tBuffer.putLong(timestamp)).b();
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
137 return DefaultEither.newB(_e);
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
138 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
139 };
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
140 path = path.add(size);
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
141 either = editor.edit(path,e);
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
142 if(either.isA()){
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
143 throw new IllegalStateException();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
144 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
145 editor = either.b();
46
fd3643699f83 modified pom.xml. fix conflict log4j libraries
one
parents: 45
diff changeset
146 either = editor.success();
93
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
147
46
fd3643699f83 modified pom.xml. fix conflict log4j libraries
one
parents: 45
diff changeset
148 }while(either.isA());
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
149 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
150
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
151 public void editMessage(String _board,String _uuid,final String _author,final String _message,final String _editKey)
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
152 {
65
ebf42371454b remove warning
one
parents: 64
diff changeset
153 for(;;) {
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
154 DefaultNodePath path = new DefaultNodePath();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
155 path = path.add(Integer.parseInt(_uuid));
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
156
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
157 JungleTree tree = jungle.getTreeByName(_board);
65
ebf42371454b remove warning
one
parents: 64
diff changeset
158 JungleTreeEditor editor = tree.getTreeEditor();
56
ccfe9b5e8f11 bug LogUpdateCodeSegment
one
parents: 52
diff changeset
159 final long timestamp = new Date().getTime();
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
160 NodeEditor e = new NodeEditor(){
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
161 public <T extends EditableNode<T>> Either<Error, T> edit(T _e){
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
162 _e = _e.getAttributes().put("author",ByteBuffer.wrap(_author.getBytes())).b();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
163 _e = _e.getAttributes().put("mes",ByteBuffer.wrap(_message.getBytes())).b();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
164 _e = _e.getAttributes().put("key",ByteBuffer.wrap(_editKey.getBytes())).b();
56
ccfe9b5e8f11 bug LogUpdateCodeSegment
one
parents: 52
diff changeset
165 ByteBuffer tBuffer = ByteBuffer.allocate(16);
ccfe9b5e8f11 bug LogUpdateCodeSegment
one
parents: 52
diff changeset
166 _e = _e.getAttributes().put("timestamp",tBuffer.putLong(timestamp)).b();
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
167 return DefaultEither.newB(_e);
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
168 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
169 };
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
170
65
ebf42371454b remove warning
one
parents: 64
diff changeset
171 Either<Error, JungleTreeEditor> either = editor.edit(path,e);
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
172 if(either.isA()){
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
173 throw new IllegalStateException();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
174 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
175 editor = either.b();
46
fd3643699f83 modified pom.xml. fix conflict log4j libraries
one
parents: 45
diff changeset
176 either = editor.success();
65
ebf42371454b remove warning
one
parents: 64
diff changeset
177 if(!either.isA()) {
ebf42371454b remove warning
one
parents: 64
diff changeset
178 return;
ebf42371454b remove warning
one
parents: 64
diff changeset
179 }
ebf42371454b remove warning
one
parents: 64
diff changeset
180 }
ebf42371454b remove warning
one
parents: 64
diff changeset
181
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
182 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
183
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
184 public Iterable<BoardMessage> getMessages(String _boardName)
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
185 {
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
186 JungleTree tree = jungle.getTreeByName(_boardName);
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
187 Node node = tree.getRootNode();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
188 Children<Node> chs = node.getChildren();
125
6104702a1880 Added dependency bulletinboard in pom.xml
one
parents: 124
diff changeset
189
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
190 final AtomicInteger counter = new AtomicInteger(0);
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
191 IterableConverter.Converter<BoardMessage,Node> converter = new IterableConverter.Converter<BoardMessage,Node>(){
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
192 public BoardMessage conv(Node _b) {
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
193 String uuid = Integer.toString(counter.get());
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
194 String author = new String(_b.getAttributes().get("author").array());
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
195 String message = new String(_b.getAttributes().get("mes").array());
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
196 counter.incrementAndGet();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
197 return new BoardMessageImpl(author,message,uuid);
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
198 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
199 };
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
200 return new IterableConverter<BoardMessage,Node>(chs,converter);
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
201 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
202
46
fd3643699f83 modified pom.xml. fix conflict log4j libraries
one
parents: 45
diff changeset
203
fd3643699f83 modified pom.xml. fix conflict log4j libraries
one
parents: 45
diff changeset
204
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
205 private static class BoardMessageImpl implements BoardMessage
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
206 {
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
207 private final String author;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
208 private final String message;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
209 private final String uuid;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
210
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
211 public BoardMessageImpl(String _author,String _message,String _uuid)
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
212 {
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
213 author = _author;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
214 message = _message;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
215 uuid = _uuid;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
216 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
217
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
218 public String getAuthor()
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
219 {
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
220 return author;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
221 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
222
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
223 public String getMessage()
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
224 {
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
225 return message;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
226 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
227
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
228 public String getUUID()
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
229 {
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
230 return uuid;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
231 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
232 }
124
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 123
diff changeset
233
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
234 }