annotate src/main/java/app/bbs/NetworkJungleBulletinBoard.java @ 187:f9b26747ef63

add matrixBullet in board
author tatsuki
date Sat, 27 Sep 2014 16:23:21 +0900
parents ef5045af0753
children 269bada9eedc
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
135
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
3 import java.io.File;
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
4 import java.io.IOException;
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
5 import java.nio.ByteBuffer;
187
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
6 import java.text.SimpleDateFormat;
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
7 import java.util.Date;
186
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
8 import java.util.Iterator;
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
9 import java.util.concurrent.atomic.AtomicInteger;
39
10359a815068 add alice.jungle.codesegment.remote
one
parents: 38
diff changeset
10
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
11 import fj.data.List;
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
12 import fj.data.TreeMap;
39
10359a815068 add alice.jungle.codesegment.remote
one
parents: 38
diff changeset
13 import alice.jungle.core.NetworkDefaultJungle;
124
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 123
diff changeset
14 import alice.jungle.persistent.AliceJournal;
135
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
15 import alice.jungle.persistent.NetworkJournal;
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
16 import alice.jungle.persistent.PersistentJournal;
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
17 import alice.jungle.transaction.JungleUpdater;
166
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
18 import app.bbs.thinks.getAttributeImp;
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
19 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
20 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
21 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
125
6104702a1880 Added dependency bulletinboard in pom.xml
one
parents: 124
diff changeset
22 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.BoardMessage;
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
23 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Children;
135
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
24 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList;
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
25 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListReader;
180
4493dd7692ce add FindMatrixTest
tatsuki
parents: 179
diff changeset
26 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
27 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
28 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor;
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
29 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
30 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.DefaultOperationLog;
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
31 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.LoggingNode;
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
32 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.OperationLog;
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
33 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.PutAttributeOperation;
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
34 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.NodeEditor;
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
35 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultEvaluator;
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
36 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser;
186
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
37 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.InterfaceTraverser;
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
38 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.Traversal;
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
39 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
40 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
41 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
42 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.IterableConverter;
180
4493dd7692ce add FindMatrixTest
tatsuki
parents: 179
diff changeset
43 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Pair;
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
44 import jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index.Logging;
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
45 import junit.framework.Assert;
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
46
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
47 public class NetworkJungleBulletinBoard implements NetworkBulletinBoard {
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
48 private final Jungle jungle;
135
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
49 private final NetworkJournal journal;
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
50 private final String LOG_DIR;
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
51 private Boolean persistentFlag;
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
52 private AtomicInteger requestCounter;
150
eef85b5faa15 Removed renew atribute
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 149
diff changeset
53 private long renewTime;
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
54
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
55 private NetworkJungleBulletinBoard(String _uuid, NetworkJournal _journal) {
135
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
56 journal = _journal;
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
57 jungle = new NetworkDefaultJungle(journal, _uuid,
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
58 new DefaultTreeEditor(new DefaultTraverser()));
135
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
59 BulletinBoardJungleManager.setJungle(jungle);
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
60 persistentFlag = false;
147
202ea963ec20 Added requestCounter in BulletinBoardJungleManager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 146
diff changeset
61 requestCounter = BulletinBoardJungleManager.getRequestCounter();
135
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
62 LOG_DIR = "./log";
150
eef85b5faa15 Removed renew atribute
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 149
diff changeset
63 renewTime = 0;
135
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
64 }
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
65
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
66 public NetworkJungleBulletinBoard(String _uuid) {
135
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
67 this(_uuid, new AliceJournal());
124
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 123
diff changeset
68 jungle.createNewTree("boards");
135
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
69 }
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
70
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
71 public static NetworkBulletinBoard NewPersistentJungle(String _uuid) {
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
72 NetworkJungleBulletinBoard board = new NetworkJungleBulletinBoard(
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
73 _uuid, new PersistentJournal());
135
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
74 board.persistentFlag = true;
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
75 return board;
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
76 }
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
77
124
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 123
diff changeset
78 public void init() {
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
79 if (!persistentFlag) {
135
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
80 return;
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
81 }
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
82 checkAndCreateLogDirectory();
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
83 try {
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
84 commitLogRecover();
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
85 } catch (IOException e) {
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
86 e.printStackTrace();
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
87 }
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
88 }
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
89
135
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
90 public void checkAndCreateLogDirectory() {
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
91 File logFile = new File(LOG_DIR);
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
92 if (!logFile.exists()) {
135
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
93 logFile.mkdir();
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
94 return;
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
95 }
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
96 if (logFile.isFile()) {
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
97 logFile.delete();
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
98 logFile.mkdir();
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
99 }
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
100 }
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
101
135
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
102 public void commitLogRecover() throws IOException {
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
103 File[] logFiles = new File(LOG_DIR).listFiles();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
104 for (File logFile : logFiles) {
135
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
105 commitLogRecover(logFile);
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
106 logFile.delete();
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
107 }
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
108 if (jungle.getTreeByName("boards") == null) {
135
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
109 jungle.createNewTree("boards");
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
110 }
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
111 }
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
112
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
113 private void commitLogRecover(File logFile) throws IOException {
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
114 journal.setInputFile(logFile);
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
115 ChangeListReader reader = journal.getReader();
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
116 if (reader == null)
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
117 return;
135
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
118 for (ChangeList chList : reader) {
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
119 String treeName = chList.getTreeName();
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
120 JungleTree tree = jungle.getTreeByName(treeName);
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
121 if (tree == null) {
135
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
122 tree = jungle.createNewTree(treeName);
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
123 }
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
124 JungleTreeEditor editor = tree.getLocalTreeEditor();
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
125 Either<Error, JungleTreeEditor> either = JungleUpdater.edit(editor,
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
126 chList);
135
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
127 editor = either.b();
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
128 if (either.isA()) {
135
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
129 throw new IOException("Failed commit log recovery");
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
130 }
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
131 editor.success();
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
132 }
118
f64ff5bd66f5 Implements persistent for bbs app and Fixed bug JungleUpdater
one
parents: 112
diff changeset
133 }
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
134
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
135 public Iterable<String> getBoards() {
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
136 JungleTree tree = jungle.getTreeByName("boards");
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
137 TreeNode node = tree.getRootNode();
178
d6944d788121 fit Junglecore
tatsuki
parents: 176
diff changeset
138 Children chs = node.getChildren();
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
139
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
140 IterableConverter.Converter<String, TreeNode> converter = new IterableConverter.Converter<String, TreeNode>() {
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
141 public String conv(TreeNode _b) {
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
142 ByteBuffer e = _b.getAttributes().get("name");
173
e30880a72909 change servlet encode utf-8
tatsuki
parents: 171
diff changeset
143 System.out.println(new String(e.array()));
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
144 return new String(e.array());
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
145 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
146 };
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
147
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
148 return new IterableConverter<String, TreeNode>(chs, converter);
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
149 }
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
150
146
29734d7d6521 Added ShowMessageWithTimeStampServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 143
diff changeset
151 public long getRenewTime(String _boardName) {
150
eef85b5faa15 Removed renew atribute
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 149
diff changeset
152 return renewTime;
146
29734d7d6521 Added ShowMessageWithTimeStampServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 143
diff changeset
153 }
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
154
167
91f6dd655a01 refactoring
tatsuki
parents: 166
diff changeset
155 public void createBoards(final String _name, final String _author, final String _initMessage, final String _editKey) {
143
7a7bac51a3cc Added RequestNumCheckServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 139
diff changeset
156 requestCounter.incrementAndGet();
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
157 if (null == jungle.createNewTree(_name)) {
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
158 throw new IllegalStateException();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
159 }
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
160
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
161 JungleTree tree = jungle.getTreeByName("boards");
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
162 JungleTreeEditor editor = tree.getTreeEditor();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
163 DefaultNodePath root = new DefaultNodePath();
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
164 Either<Error, JungleTreeEditor> either = editor.addNewChildAt(root, 0);
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
165 if (either.isA()) {
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
166 throw new IllegalStateException();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
167 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
168 editor = either.b();
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
169
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
170 either = editor.putAttribute(root.add(0), "name",
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
171 ByteBuffer.wrap(_name.getBytes()));
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
172 if (either.isA()) {
38
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();
149
06cddf529325 Modified lates renew time
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 147
diff changeset
176 final long timestamp = System.currentTimeMillis();
129
1a3edba05f50 Fixed bug NetworkJungleBulletinBoard
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 126
diff changeset
177 ByteBuffer tBuffer = ByteBuffer.allocate(16);
146
29734d7d6521 Added ShowMessageWithTimeStampServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 143
diff changeset
178 tBuffer.putLong(timestamp);
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
179 either = editor.putAttribute(root.add(0), "timestamp", tBuffer);
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
180 if (either.isA()) {
129
1a3edba05f50 Fixed bug NetworkJungleBulletinBoard
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 126
diff changeset
181 throw new IllegalStateException();
1a3edba05f50 Fixed bug NetworkJungleBulletinBoard
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 126
diff changeset
182 }
146
29734d7d6521 Added ShowMessageWithTimeStampServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 143
diff changeset
183 either = either.b().success();
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
184 if (either.isA()) {
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
185 throw new IllegalStateException();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
186 }
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
187
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
188 tree = jungle.getTreeByName(_name);
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
189 editor = tree.getTreeEditor();
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
190 either = editor.addNewChildAt(root, 0);
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
191 if (either.isA()) {
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
192 throw new IllegalStateException();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
193 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
194 editor = either.b();
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
195
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
196 NodeEditor e = new NodeEditor() {
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
197 ByteBuffer tBuffer2 = ByteBuffer.allocate(16);
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
198
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
199 public Either<Error,Logging> edit(TreeNode node) {
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
200 Logging logNode = wrap(node , new DefaultOperationLog());
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
201 logNode = logNode.getAttributes().put("author", ByteBuffer.wrap(_author.getBytes())).b();
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
202 logNode = logNode.getAttributes().put("mes", ByteBuffer.wrap(_initMessage.getBytes())).b();
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
203 logNode = logNode.getAttributes().put("key", ByteBuffer.wrap(_editKey.getBytes())).b();
146
29734d7d6521 Added ShowMessageWithTimeStampServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 143
diff changeset
204 tBuffer2.putLong(timestamp);
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
205 logNode = logNode.getAttributes().put("timestamp", tBuffer2).b();
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
206 return DefaultEither.newB(logNode);
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
207 }
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
208 @Override
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
209 public Logging wrap(TreeNode node, OperationLog op) {
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
210 return new LoggingNode(node, op);
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
211 }
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
212 @Override
180
4493dd7692ce add FindMatrixTest
tatsuki
parents: 179
diff changeset
213 public TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> getIndex() {
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
214 // TODO Auto-generated method stub
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
215 return null;
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
216 }
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
217
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
218 };
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
219
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
220 either = editor.edit(root.add(0), e);
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
221 if (either.isA()) {
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
222 throw new IllegalStateException();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
223 }
146
29734d7d6521 Added ShowMessageWithTimeStampServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 143
diff changeset
224 either.b().success();
147
202ea963ec20 Added requestCounter in BulletinBoardJungleManager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 146
diff changeset
225
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
226 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
227
167
91f6dd655a01 refactoring
tatsuki
parents: 166
diff changeset
228 public void createFolder(final String _board, final String _author, final String _message, final String _editKey, String _nodeNum) {
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
229 JungleTree tree = jungle.getTreeByName(_board);
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
230 if (tree == null) {
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
231 throw new IllegalStateException();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
232 }
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
233
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
234 DefaultNodePath path = new DefaultNodePath();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
235 try {
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
236 for (int count = 0; _nodeNum.substring(count, count + 1) != null; count++) {
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
237 if (!_nodeNum.substring(count, count + 1).equals("/"))
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
238 path = path.add(Integer.parseInt(_nodeNum.substring(count,
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
239 count + 1)));
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
240 }
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
241 } catch (Exception _e) {
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
242 }
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
243 requestCounter.incrementAndGet();
46
fd3643699f83 modified pom.xml. fix conflict log4j libraries
one
parents: 45
diff changeset
244 Either<Error, JungleTreeEditor> either;
149
06cddf529325 Modified lates renew time
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 147
diff changeset
245 final long timestamp = System.currentTimeMillis();
146
29734d7d6521 Added ShowMessageWithTimeStampServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 143
diff changeset
246 final ByteBuffer tBuffer = ByteBuffer.allocate(16);
29734d7d6521 Added ShowMessageWithTimeStampServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 143
diff changeset
247 tBuffer.putLong(timestamp);
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
248
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
249 do {
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
250 TreeNode node = tree.getRootNode();
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
251 DefaultTraverser traverser = new DefaultTraverser();
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
252 // TraversableNodeWrapper<Node> traversable = new
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
253 // TraversableNodeWrapper<Node>(node);
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
254 DefaultEvaluator evaluator = new DefaultEvaluator(path);
178
d6944d788121 fit Junglecore
tatsuki
parents: 176
diff changeset
255 Either<Error, Traversal> ret = traverser.traverse(node,
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
256 evaluator);
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
257 if (ret.isA()) {
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
258 Assert.fail();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
259 }
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
260
178
d6944d788121 fit Junglecore
tatsuki
parents: 176
diff changeset
261 Traversal traversal = ret.b();
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
262 TreeNode target = traversal.destination();
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
263 int size = target.getChildren().size();
65
ebf42371454b remove warning
one
parents: 64
diff changeset
264 JungleTreeEditor editor = tree.getTreeEditor();
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
265 either = editor.addNewChildAt(path, size);
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
266 if (either.isA()) {
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
267 throw new IllegalStateException();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
268 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
269 editor = either.b();
146
29734d7d6521 Added ShowMessageWithTimeStampServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 143
diff changeset
270
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
271 NodeEditor e = new NodeEditor() {
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
272
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
273 public Either<Error,Logging> edit(TreeNode node) {
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
274 Logging logNode = wrap(node , new DefaultOperationLog());
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
275 logNode = logNode.getAttributes().put("mes", ByteBuffer.wrap(_message.getBytes())).b();
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
276 logNode = logNode.getAttributes().put("timestamp", tBuffer).b();
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
277 return DefaultEither.newB(logNode);
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
278 }
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
279
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
280 @Override
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
281 public Logging wrap(TreeNode node, OperationLog op) {
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
282 return new LoggingNode(node, op);
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
283 }
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
284
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
285 @Override
180
4493dd7692ce add FindMatrixTest
tatsuki
parents: 179
diff changeset
286 public TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> getIndex() {
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
287 // TODO Auto-generated method stub
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
288 return null;
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
289 }
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
290
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
291 };
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
292 path = path.add(size);
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
293 either = editor.edit(path, e);
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
294 if (either.isA()) {
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
295 throw new IllegalStateException();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
296 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
297 editor = either.b();
46
fd3643699f83 modified pom.xml. fix conflict log4j libraries
one
parents: 45
diff changeset
298 either = editor.success();
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
299 } while (either.isA());
93
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
300
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
301 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
302
167
91f6dd655a01 refactoring
tatsuki
parents: 166
diff changeset
303 public void createBoardMessage(final String _board, final String _author, final String _message, final String _editKey) {
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
304 requestCounter.incrementAndGet();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
305 JungleTree tree = jungle.getTreeByName(_board);
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
306 if (tree == null) {
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
307 throw new IllegalStateException();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
308 }
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
309
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
310 Either<Error, JungleTreeEditor> either;
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
311 final long timestamp = System.currentTimeMillis();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
312 final ByteBuffer tBuffer = ByteBuffer.allocate(16);
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
313 tBuffer.putLong(timestamp);
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
314 do {
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
315
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
316 TreeNode node = tree.getRootNode();
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
317 int size = node.getChildren().size();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
318 DefaultNodePath path = new DefaultNodePath();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
319
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
320 JungleTreeEditor editor = tree.getTreeEditor();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
321 either = editor.addNewChildAt(path, size);
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
322 if (either.isA()) {
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
323 throw new IllegalStateException();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
324 }
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
325 editor = either.b();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
326
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
327 NodeEditor e = new NodeEditor() {
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
328 public Either<Error,Logging> edit(TreeNode node) {
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
329 Logging logNode = wrap(node , new DefaultOperationLog());
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
330 logNode = logNode.getAttributes().put("author", ByteBuffer.wrap(_author.getBytes())).b();
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
331 logNode = logNode.getAttributes().put("mes", ByteBuffer.wrap(_message.getBytes())).b();
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
332 logNode = logNode.getAttributes().put("key", ByteBuffer.wrap(_editKey.getBytes())).b();
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
333 logNode = logNode.getAttributes().put("timestamp", tBuffer).b();
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
334 return DefaultEither.newB(logNode);
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
335 }
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
336
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
337 @Override
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
338 public Logging wrap(TreeNode node, OperationLog op) {
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
339 return new LoggingNode(node, op);
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
340 }
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
341
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
342 @Override
180
4493dd7692ce add FindMatrixTest
tatsuki
parents: 179
diff changeset
343 public TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> getIndex() {
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
344 // TODO Auto-generated method stub
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
345 return null;
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
346 }
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
347
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
348 };
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
349 path = path.add(size);
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
350 either = editor.edit(path, e);
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
351 if (either.isA()) {
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
352 throw new IllegalStateException();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
353 }
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
354 editor = either.b();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
355 either = editor.success();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
356 } while (either.isA());
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
357
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
358 }
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
359
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
360 public void editMessage(String _board, String _nodeNum,final String _author, final String _message, final String _editKey) {
143
7a7bac51a3cc Added RequestNumCheckServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 139
diff changeset
361 requestCounter.incrementAndGet();
149
06cddf529325 Modified lates renew time
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 147
diff changeset
362 final long timestamp = System.currentTimeMillis();
146
29734d7d6521 Added ShowMessageWithTimeStampServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 143
diff changeset
363 final ByteBuffer tBuffer = ByteBuffer.allocate(16);
29734d7d6521 Added ShowMessageWithTimeStampServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 143
diff changeset
364 tBuffer.putLong(timestamp);
29734d7d6521 Added ShowMessageWithTimeStampServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 143
diff changeset
365 JungleTree tree = jungle.getTreeByName(_board);
29734d7d6521 Added ShowMessageWithTimeStampServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 143
diff changeset
366 Either<Error, JungleTreeEditor> either = null;
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
367
146
29734d7d6521 Added ShowMessageWithTimeStampServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 143
diff changeset
368 do {
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
369 DefaultNodePath path = new DefaultNodePath();
168
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
370 try {
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
371 for (int count = 0; _nodeNum.substring(count, count + 1) != null; count++) {
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
372 if (!_nodeNum.substring(count, count + 1).equals("/"))
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
373 path = path.add(Integer.parseInt(_nodeNum.substring(count, count + 1)));
168
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
374 }
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
375 } catch (Exception _e) {
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
376 }
65
ebf42371454b remove warning
one
parents: 64
diff changeset
377 JungleTreeEditor editor = tree.getTreeEditor();
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
378 NodeEditor e = new NodeEditor() {
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
379 public Either<Error,Logging> edit(TreeNode node) {
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
380 Logging logNode = wrap(node , new DefaultOperationLog());
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
381 System.out.println(new String(node.getAttributes().get("mes").array()));
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
382 logNode = logNode.getAttributes().put("author", ByteBuffer.wrap(_author.getBytes())).b();
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
383 logNode = logNode.getAttributes().put("mes", ByteBuffer.wrap(_message.getBytes())).b();
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
384 logNode = logNode.getAttributes().put("key", ByteBuffer.wrap(_editKey.getBytes())).b();
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
385 logNode = logNode.getAttributes().put("timestamp", tBuffer).b();
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
386 System.out.println(new String(node.getAttributes().get("mes").array()));
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
387 return DefaultEither.newB(logNode);
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
388 }
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
389
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
390 @Override
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
391 public Logging wrap(TreeNode node, OperationLog op) {
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
392 return new LoggingNode(node, op);
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
393 }
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
394
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
395 @Override
180
4493dd7692ce add FindMatrixTest
tatsuki
parents: 179
diff changeset
396 public TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> getIndex() {
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
397 // TODO Auto-generated method stub
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
398 return null;
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
399 }
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
400
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
401 };
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
402 either = editor.edit(path, e);
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
403 if (either.isA()) {
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
404 throw new IllegalStateException();
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
405 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
406 editor = either.b();
46
fd3643699f83 modified pom.xml. fix conflict log4j libraries
one
parents: 45
diff changeset
407 either = editor.success();
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
408 } while (either.isA());
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
409 renewTime = timestamp;
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
410 }
166
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
411
167
91f6dd655a01 refactoring
tatsuki
parents: 166
diff changeset
412 public void createAttribute(String _board, String _uuid, final String _author, final String _message, final String _editKey) {
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
413 requestCounter.incrementAndGet();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
414 final long timestamp = System.currentTimeMillis();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
415 final ByteBuffer tBuffer = ByteBuffer.allocate(16);
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
416 tBuffer.putLong(timestamp);
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
417 JungleTree tree = jungle.getTreeByName(_board);
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
418 Either<Error, JungleTreeEditor> either = null;
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
419 DefaultNodePath path = new DefaultNodePath();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
420 do {
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
421 try {
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
422 for (int count = 0; _uuid.substring(count, count + 1) != null; count++) {
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
423 if (!_uuid.substring(count, count + 1).equals("/"))
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
424 path = path.add(Integer.parseInt(_uuid.substring(count,
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
425 count + 1)));
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
426 }
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
427 } catch (Exception _e) {
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
428 }
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
429
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
430 JungleTreeEditor editor = tree.getTreeEditor();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
431 NodeEditor e = new NodeEditor() {
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
432 String str;
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
433
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
434 public Either<Error,Logging> edit(TreeNode node) {
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
435 Logging logNode = wrap(node , new DefaultOperationLog());
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
436 str = "0";
166
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
437 int count = 0;
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
438 for (; logNode.getAttributes().get("mes" + String.valueOf(count)) != null; count++) {
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
439 }
168
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
440 str = String.valueOf(count);
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
441 logNode = logNode.getAttributes().put("mes" + str,ByteBuffer.wrap(_message.getBytes())).b();
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
442 logNode = logNode.getAttributes().put("timestamp" + str, tBuffer).b();
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
443 return DefaultEither.newB(logNode);
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
444 }
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
445
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
446 @Override
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
447 public Logging wrap(TreeNode node, OperationLog op) {
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
448 return new LoggingNode(node, op);
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
449 }
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
450
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
451 @Override
180
4493dd7692ce add FindMatrixTest
tatsuki
parents: 179
diff changeset
452 public TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> getIndex() {
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
453 // TODO Auto-generated method stub
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
454 return null;
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
455 }
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
456
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
457 };
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
458 either = editor.edit(path, e);
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
459 if (either.isA()) {
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
460 throw new IllegalStateException();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
461 }
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
462 editor = either.b();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
463 either = editor.success();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
464 } while (either.isA());
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
465 }
166
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
466
173
e30880a72909 change servlet encode utf-8
tatsuki
parents: 171
diff changeset
467 public void editAttribute(String boardName, String _path, final String id, final String _message) {
168
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
468 requestCounter.incrementAndGet();
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
469 final long timestamp = System.currentTimeMillis();
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
470 final ByteBuffer tBuffer = ByteBuffer.allocate(16);
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
471 tBuffer.putLong(timestamp);
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
472 JungleTree tree = jungle.getTreeByName(boardName);
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
473 Either<Error, JungleTreeEditor> either = null;
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
474 DefaultNodePath path = new DefaultNodePath();
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
475 do {
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
476 try {
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
477 for (int count = 0; _path.substring(count, count + 1) != null; count++) {
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
478 if (!_path.substring(count, count + 1).equals("/"))
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
479 path = path.add(Integer.parseInt(_path.substring(count,
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
480 count + 1)));
168
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
481 }
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
482 } catch (Exception _e) {
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
483 }
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
484
168
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
485 JungleTreeEditor editor = tree.getTreeEditor();
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
486 NodeEditor e = new NodeEditor() {
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
487 public Either<Error,Logging> edit(TreeNode node) {
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
488 Logging logNode = wrap(node , new DefaultOperationLog());
168
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
489 // EnableNodeWrapper<T> node = _e.getWrap();
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
490 logNode = logNode.getAttributes().put("mes" + id,ByteBuffer.wrap(_message.getBytes())).b();
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
491 logNode = logNode.getAttributes().put("timestamp" + id, tBuffer).b();
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
492 return DefaultEither.newB(logNode);
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
493 }
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
494
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
495 @Override
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
496 public Logging wrap(TreeNode node, OperationLog op) {
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
497 return new LoggingNode(node, op);
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
498 }
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
499
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
500 @Override
180
4493dd7692ce add FindMatrixTest
tatsuki
parents: 179
diff changeset
501 public TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> getIndex() {
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
502 // TODO Auto-generated method stub
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
503 return null;
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
504 }
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
505
168
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
506 };
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
507 either = editor.edit(path, e);
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
508 if (either.isA()) {
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
509 throw new IllegalStateException();
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
510 }
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
511 editor = either.b();
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
512 either = editor.success();
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
513 } while (either.isA());
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
514 }
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
515
170
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
516 public void deleteNode(String _board, String _path, String _id) {
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
517 requestCounter.incrementAndGet();
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
518 int id = Integer.parseInt(_id);
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
519 final long timestamp = System.currentTimeMillis();
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
520 final ByteBuffer tBuffer = ByteBuffer.allocate(16);
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
521 tBuffer.putLong(timestamp);
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
522 JungleTree tree = jungle.getTreeByName(_board);
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
523 Either<Error, JungleTreeEditor> either = null;
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
524 DefaultNodePath path = new DefaultNodePath();
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
525 do {
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
526 try {
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
527 for (int count = 0; _path.substring(count, count + 1) != null; count++) {
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
528 if (!_path.substring(count, count + 1).equals("/"))
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
529 path = path.add(Integer.parseInt(_path.substring(count,count + 1)));
170
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
530 }
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
531 } catch (Exception _e) {
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
532 }
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
533
170
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
534 JungleTreeEditor editor = tree.getTreeEditor();
168
54d68cda84c4 create edit Attribute & Folder Method
tatsuki
parents: 167
diff changeset
535
170
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
536 either = editor.deleteChildAt(path, id);
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
537 if (either.isA()) {
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
538 throw new IllegalStateException();
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
539 }
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
540 editor = either.b();
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
541 either = editor.success();
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
542 } while (either.isA());
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
543
170
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
544 }
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
545
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
546 public void deleteAttribute(String _board, String _path, final String id) {
169
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
547 requestCounter.incrementAndGet();
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
548 final long timestamp = System.currentTimeMillis();
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
549 final ByteBuffer tBuffer = ByteBuffer.allocate(16);
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
550 tBuffer.putLong(timestamp);
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
551 JungleTree tree = jungle.getTreeByName(_board);
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
552 Either<Error, JungleTreeEditor> either = null;
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
553 DefaultNodePath path = new DefaultNodePath();
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
554 do {
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
555 try {
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
556 for (int count = 0; _path.substring(count, count + 1) != null; count++) {
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
557 if (!_path.substring(count, count + 1).equals("/"))
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
558 path = path.add(Integer.parseInt(_path.substring(count,
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
559 count + 1)));
169
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
560 }
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
561 } catch (Exception _e) {
175
ac7d1070f449 sanitizing
tatsuki
parents: 173
diff changeset
562 System.out.println("屑");
169
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
563 }
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
564
169
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
565 JungleTreeEditor editor = tree.getTreeEditor();
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
566 NodeEditor e = new NodeEditor() {
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
567 public Either<Error,Logging> edit(TreeNode node) {
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
568 Logging logNode = wrap(node , new DefaultOperationLog());
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
569 logNode = logNode.getAttributes().delete("mes" + id).b();
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
570 logNode = logNode.getAttributes().delete("timestamp" + id).b();
169
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
571 int count = Integer.parseInt(id);
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
572 for (; logNode.getAttributes().get("mes" + String.valueOf(count + 1)) != null;) {
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
573 logNode = logNode.getAttributes().put("mes" + count,node.getAttributes().get("mes"+ String.valueOf(count + 1))).b();
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
574 logNode = logNode.getAttributes().put("timestamp" + count, tBuffer).b();
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
575 count++;
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
576 }
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
577 if (count != Integer.parseInt(id)) {
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
578 logNode = logNode.getAttributes().delete("timestamp" + count).b();
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
579 logNode = logNode.getAttributes().delete("mes" + count).b();
171
00c3cca1903c delete nod method bug fix
tatsuki
parents: 170
diff changeset
580 }
00c3cca1903c delete nod method bug fix
tatsuki
parents: 170
diff changeset
581
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
582 return DefaultEither.newB(logNode);
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
583 }
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
584
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
585 @Override
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
586 public Logging wrap(TreeNode node, OperationLog op) {
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
587 return new LoggingNode(node, op);
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
588 }
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
589
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
590 @Override
180
4493dd7692ce add FindMatrixTest
tatsuki
parents: 179
diff changeset
591 public TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> getIndex() {
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
592 // TODO Auto-generated method stub
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
593 return null;
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
594 }
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
595
169
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
596 };
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
597 either = editor.edit(path, e);
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
598 if (either.isA()) {
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
599 throw new IllegalStateException();
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
600 }
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
601 editor = either.b();
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
602 either = editor.success();
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
603 } while (either.isA());
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
604 }
2403b9a4416f create Delete Attribute Method
tatsuki
parents: 168
diff changeset
605
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
606 public void editMatrixMessage(String _board, String _uuid,
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
607 final String _author, final String _message, final String _editKey) {
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
608 requestCounter.incrementAndGet();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
609 final long timestamp = System.currentTimeMillis();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
610 final ByteBuffer tBuffer = ByteBuffer.allocate(16);
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
611 tBuffer.putLong(timestamp);
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
612 JungleTree tree = jungle.getTreeByName(_board);
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
613 Either<Error, JungleTreeEditor> either = null;
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
614 do {
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
615 DefaultNodePath path = new DefaultNodePath();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
616 path = path.add(Integer.parseInt(_uuid));
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
617
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
618 JungleTreeEditor editor = tree.getTreeEditor();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
619 NodeEditor e = new NodeEditor() {
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
620 public Either<Error,Logging> edit(TreeNode node) {
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
621 Logging logNode = wrap(node , new DefaultOperationLog());
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
622 logNode = logNode.getAttributes().put("author", ByteBuffer.wrap(_author.getBytes())).b();
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
623 logNode = logNode.getAttributes().put("mes", ByteBuffer.wrap(_message.getBytes())).b();
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
624 logNode = logNode.getAttributes().put("key", ByteBuffer.wrap(_editKey.getBytes())).b();
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
625 logNode = logNode.getAttributes().put("timestamp", tBuffer).b();
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
626 return DefaultEither.newB(logNode);
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
627 }
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
628
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
629 @Override
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
630 public Logging wrap(TreeNode node, OperationLog op) {
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
631 return new LoggingNode(node, op);
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
632 }
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
633
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
634 @Override
180
4493dd7692ce add FindMatrixTest
tatsuki
parents: 179
diff changeset
635 public TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> getIndex() {
179
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
636 // TODO Auto-generated method stub
2828205bdc3a fit JungleCore
tatsuki
parents: 178
diff changeset
637 return null;
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
638 }
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
639 };
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
640 either = editor.edit(path, e);
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
641 if (either.isA()) {
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
642 throw new IllegalStateException();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
643 }
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
644 editor = either.b();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
645 either = editor.success();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
646 } while (either.isA());
150
eef85b5faa15 Removed renew atribute
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 149
diff changeset
647 renewTime = timestamp;
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
648 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
649
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
650 public Iterable<BoardMessage> getMessages(String _boardName) {
143
7a7bac51a3cc Added RequestNumCheckServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 139
diff changeset
651 requestCounter.incrementAndGet();
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
652 JungleTree tree = jungle.getTreeByName(_boardName);
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
653 TreeNode node = tree.getRootNode();
178
d6944d788121 fit Junglecore
tatsuki
parents: 176
diff changeset
654 Children chs = node.getChildren();
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
655 final AtomicInteger counter = new AtomicInteger(0);
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
656 IterableConverter.Converter<BoardMessage, TreeNode> converter = new IterableConverter.Converter<BoardMessage, TreeNode>() {
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
657 public BoardMessage conv(TreeNode _b) {
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
658 String uuid = Integer.toString(counter.get());
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
659 String author = new String(_b.getAttributes().get("author").array());
167
91f6dd655a01 refactoring
tatsuki
parents: 166
diff changeset
660 String message = new String(_b.getAttributes().get("mes").array());
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
661 counter.incrementAndGet();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
662 return new BoardMessageImpl(author, message, uuid);
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
663 }
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
664 };
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
665 return new IterableConverter<BoardMessage, TreeNode>(chs, converter);
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
666 }
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
667
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
668 public Iterable<BoardMessage> getFolder(String _boardName, String _nodeNum) {
166
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
669
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
670 DefaultNodePath path = new DefaultNodePath();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
671 try {
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
672 for (int count = 0; _nodeNum.substring(count, count + 1) != null; count++) {
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
673 if (!_nodeNum.substring(count, count + 1).equals("/"))
167
91f6dd655a01 refactoring
tatsuki
parents: 166
diff changeset
674 path = path.add(Integer.parseInt(_nodeNum.substring(count,count + 1)));
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
675 }
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
676 } catch (Exception _e) {
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
677 }
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
678 requestCounter.incrementAndGet();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
679 JungleTree tree = jungle.getTreeByName(_boardName);
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
680 TreeNode node = tree.getRootNode();
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
681
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
682 DefaultTraverser traverser = new DefaultTraverser();
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
683 // TraversableNodeWrapper<Node> traversable = new
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
684 // TraversableNodeWrapper<Node>(node);
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
685 DefaultEvaluator evaluator = new DefaultEvaluator(path);
178
d6944d788121 fit Junglecore
tatsuki
parents: 176
diff changeset
686 Either<Error, Traversal> ret = traverser.traverse(node,
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
687 evaluator);
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
688 if (ret.isA()) {
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
689 Assert.fail();
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
690 }
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
691
178
d6944d788121 fit Junglecore
tatsuki
parents: 176
diff changeset
692 Traversal traversal = ret.b();
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
693 TreeNode target = traversal.destination();
178
d6944d788121 fit Junglecore
tatsuki
parents: 176
diff changeset
694 Children chs = target.getChildren();
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
695
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
696 final AtomicInteger counter = new AtomicInteger(0);
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
697 IterableConverter.Converter<BoardMessage, TreeNode> converter = new IterableConverter.Converter<BoardMessage, TreeNode>() {
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
698 public BoardMessage conv(TreeNode _b) {
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
699 String uuid = Integer.toString(counter.get());
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
700 String message = new String(_b.getAttributes().get("mes")
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
701 .array());
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
702 counter.incrementAndGet();
167
91f6dd655a01 refactoring
tatsuki
parents: 166
diff changeset
703 return new BoardMessageImpl(null, message, uuid);
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
704 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
705 };
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
706 return new IterableConverter<BoardMessage, TreeNode>(chs, converter);
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
707 }
166
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
708
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
709 public getAttributeImp getAttribute(String _boardName, String _nodeNum) {
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
710
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
711 DefaultNodePath path = new DefaultNodePath();
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
712 try {
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
713 for (int count = 0; _nodeNum.substring(count, count + 1) != null; count++) {
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
714 if (!_nodeNum.substring(count, count + 1).equals("/"))
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
715 path = path.add(Integer.parseInt(_nodeNum.substring(count,
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
716 count + 1)));
166
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
717 }
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
718 } catch (Exception _e) {
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
719 }
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
720 requestCounter.incrementAndGet();
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
721 JungleTree tree = jungle.getTreeByName(_boardName);
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
722 TreeNode node = tree.getRootNode();
166
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
723
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
724 DefaultTraverser traverser = new DefaultTraverser();
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
725 DefaultEvaluator evaluator = new DefaultEvaluator(path);
178
d6944d788121 fit Junglecore
tatsuki
parents: 176
diff changeset
726 Either<Error, Traversal> ret = traverser.traverse(node,
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
727 evaluator);
166
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
728 if (ret.isA()) {
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
729 Assert.fail();
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
730 }
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
731
178
d6944d788121 fit Junglecore
tatsuki
parents: 176
diff changeset
732 Traversal traversal = ret.b();
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
733 TreeNode target = traversal.destination();
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
734 return new getAttributeImp(target);
166
564f683b7aef Matrix Date type insert ok
tatsuki
parents: 165
diff changeset
735 }
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
736
186
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
737 public TreeNode search(JungleTree tree ,String searchAttribute,String key){
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
738 InterfaceTraverser ifTraverser = tree.getTraverser();
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
739 Iterator<Pair<TreeNode, NodePath>> searchNode = ifTraverser.find(
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
740 (TreeNode node) -> {
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
741 ByteBuffer attribute = node.getAttributes().get(key);
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
742 if(attribute != null){
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
743 byte[] byteAttribute = attribute.array();
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
744 String str = new String(byteAttribute);
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
745 System.out.println(str);
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
746 return str.equals(searchAttribute);
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
747 }
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
748 return false;
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
749 }
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
750 );
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
751
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
752 if (!searchNode.hasNext())
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
753 return null;
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
754 return searchNode.next().left();
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
755
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
756 }
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
757
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
758 public boolean compare(TreeNode compareNode, String compareAttribute) {
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
759 String labName = compareNode.getAttributes().getString("mes");
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
760 if (labName.equals(compareAttribute))
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
761 return true;
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
762
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
763 int loopCount = 0;
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
764 for (loopCount = 0 ;compareNode.getAttributes().getString("mes" + loopCount) != null; loopCount++ ) {
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
765 labName = compareNode.getAttributes().getString("mes" + loopCount);
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
766 if (labName.equals(compareAttribute))
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
767 return true;
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
768 }
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
769
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
770 return false;
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
771 }
187
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
772
186
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
773 public String searchJungle(String requestName , String approvalName) {
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
774 JungleTree tree = jungle.getTreeByName("人物");
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
775
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
776
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
777 TreeNode searchNode = search(tree , requestName,"mes");
187
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
778 if (searchNode == null){
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
779 fail(requestName,approvalName,"申請者がデータに無い人物です");
186
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
780 return "申請者がデータに無い人物です";
187
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
781 }
186
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
782
187
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
783 if (!compare(searchNode, "河野研")){
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
784 fail(requestName,approvalName,"河野研以外に所属している人は、この申請をすることが出来ません");
186
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
785 return "河野研以外に所属している人は、この申請をすることが出来ません";
187
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
786 }
186
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
787
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
788 searchNode = search(tree , approvalName,"mes");
187
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
789 if (searchNode == null){
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
790 fail(requestName,approvalName,"承認者がデータに無い人物です");
186
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
791 return "承認者がデータに無い人物です";
187
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
792 }
186
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
793
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
794 String position = searchNode.getAttributes().getString("mes1");
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
795
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
796 JungleTree grantTree = jungle.getTreeByName("役職");
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
797 searchNode = search(grantTree , position,"mes");
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
798
187
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
799 if (!compare(searchNode, "准教授権限") && !compare(searchNode, "教授権限")){
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
800 fail(requestName,approvalName,"権限がありません(この申請の承認は助教授か、教授である必要があります");
186
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
801 return "権限がありません(この申請の承認は助教授か、教授である必要があります";
187
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
802 }
186
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
803
187
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
804 searchNode = search(tree , approvalName,"mes");
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
805 if (searchNode == null){
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
806 fail(requestName,approvalName,"申請者がデータに無い人物です");
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
807 return "申請者がデータに無い人物です";
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
808 }
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
809
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
810 if (!compare(searchNode, "上位申請権限")){
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
811 fail(requestName,approvalName,"権限がありません(この申請の承認は上位申請者である必要があります");
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
812 return "権限がありません(この申請の承認は上位申請者である必要があります";
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
813 }
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
814 success(requestName,approvalName);
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
815
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
816 return "申請が受理されました";
186
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
817 }
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
818
187
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
819 public void fail(String requestName, String approvalName, String reason){
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
820 JungleTree contextTree = jungle.getTreeByName("申請");
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
821 JungleTreeEditor editor = contextTree.getTreeEditor();
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
822 editor = editor.putAttribute(new DefaultNodePath(),"mes0", ByteBuffer.wrap(("申請者名 = " + requestName).getBytes())).b();
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
823 editor = editor.putAttribute(new DefaultNodePath(),"mes1", ByteBuffer.wrap(("申請内容".getBytes()))).b();
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
824 Date date = new Date();
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
825 SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
826 String time = sdf.format(date);
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
827 editor = editor.putAttribute(new DefaultNodePath(),"mes2", ByteBuffer.wrap(("承認時間 = " + time).getBytes())).b();
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
828
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
829 editor = editor.putAttribute(new DefaultNodePath().add(0),"mes", ByteBuffer.wrap("否認書".getBytes())).b();
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
830 editor = editor.putAttribute(new DefaultNodePath().add(0),"mes0", ByteBuffer.wrap(("否認者名 = " + approvalName).getBytes())).b();
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
831 editor = editor.putAttribute(new DefaultNodePath().add(0),"mes1", ByteBuffer.wrap(("否認理由 = " + reason).getBytes())).b();
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
832 editor = editor.putAttribute(new DefaultNodePath().add(0),"mes2", ByteBuffer.wrap(("承認時間 = " + time).getBytes())).b();
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
833 editor.success();
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
834 }
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
835
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
836 public void success(String requestName, String approvalName){
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
837 JungleTree contextTree = jungle.getTreeByName("申請");
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
838 JungleTreeEditor editor = contextTree.getTreeEditor();
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
839 editor = editor.putAttribute(new DefaultNodePath(),"mes0", ByteBuffer.wrap(("申請者名 = " + requestName).getBytes())).b();
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
840 editor = editor.putAttribute(new DefaultNodePath(),"mes1", ByteBuffer.wrap(("申請内容".getBytes()))).b();
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
841 Date date = new Date();
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
842 SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
843 String time = sdf.format(date);
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
844 editor = editor.putAttribute(new DefaultNodePath(),"mes2", ByteBuffer.wrap(("承認時間" + time).getBytes())).b();
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
845
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
846 editor = editor.putAttribute(new DefaultNodePath().add(0),"mes", ByteBuffer.wrap("承認書".getBytes())).b();
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
847 editor = editor.putAttribute(new DefaultNodePath().add(0),"mes0", ByteBuffer.wrap(("承認者名 = " + approvalName).getBytes())).b();
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
848 editor = editor.putAttribute(new DefaultNodePath().add(0),"mes1", ByteBuffer.wrap("承認理由 = 権限があってるので許可した".getBytes())).b();
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
849 editor = editor.putAttribute(new DefaultNodePath().add(0),"mes2", ByteBuffer.wrap(("承認時間" + time).getBytes())).b();
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
850 editor.success();
f9b26747ef63 add matrixBullet in board
tatsuki
parents: 186
diff changeset
851 }
186
ef5045af0753 add permission .java
tatsuki
parents: 180
diff changeset
852
143
7a7bac51a3cc Added RequestNumCheckServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 139
diff changeset
853 public int getRequestNum() {
7a7bac51a3cc Added RequestNumCheckServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 139
diff changeset
854 return requestCounter.get();
7a7bac51a3cc Added RequestNumCheckServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 139
diff changeset
855 }
146
29734d7d6521 Added ShowMessageWithTimeStampServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 143
diff changeset
856
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
857 private static class BoardMessageImpl implements BoardMessage {
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
858 private final String author;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
859 private final String message;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
860 private final String uuid;
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
861
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
862 public BoardMessageImpl(String _author, String _message, String _uuid) {
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
863 author = _author;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
864 message = _message;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
865 uuid = _uuid;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
866 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
867
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
868 public String getAuthor() {
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
869 return author;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
870 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
871
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
872 public String getMessage() {
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
873 return message;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
874 }
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
875
165
b3d5fbe95b9a Create Folder Method
tatsuki
parents: 150
diff changeset
876 public String getUUID() {
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
877 return uuid;
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
878 }
143
7a7bac51a3cc Added RequestNumCheckServlet
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 139
diff changeset
879
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
880 }
124
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 123
diff changeset
881
176
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
882 public String sanitize(String str) {
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
883 if (str == null) {
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
884 return str;
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
885 }
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
886 str = str.replaceAll("&", "&amp;");
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
887 str = str.replaceAll("<", "&lt;");
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
888 str = str.replaceAll(">", "&gt;");
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
889 str = str.replaceAll("\"", "&quot;");
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
890 str = str.replaceAll("'", "&#39;");
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
891 return str;
6f104ab4eb81 fit jungle core but editMessage is not work
tatsuki
parents: 175
diff changeset
892 }
170
df063cf6f3b5 add Delete Node Method
tatsuki
parents: 169
diff changeset
893
38
d8ee57a1c2c6 add pom.xml and bbs
one
parents:
diff changeset
894 }