annotate src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/local/CassandraBulletinBoard.java @ 1:64a72a7a0491

add local bbs
author tatsuki
date Mon, 27 Jun 2016 04:24:25 +0900
parents
children 5acde010c6db
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
1 package jp.ac.u_ryukyu.ie.cr.bbs.local;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
2
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
3 import me.prettyprint.cassandra.model.ConfigurableConsistencyLevel;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
4 import me.prettyprint.cassandra.serializers.StringSerializer;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
5 import me.prettyprint.cassandra.serializers.UUIDSerializer;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
6 import me.prettyprint.cassandra.service.template.SuperCfResult;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
7 import me.prettyprint.cassandra.service.template.SuperCfUpdater;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
8 import me.prettyprint.cassandra.service.template.ThriftSuperCfTemplate;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
9 import me.prettyprint.cassandra.utils.TimeUUIDUtils;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
10 import me.prettyprint.hector.api.Cluster;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
11 import me.prettyprint.hector.api.HConsistencyLevel;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
12 import me.prettyprint.hector.api.Keyspace;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
13 import me.prettyprint.hector.api.beans.HSuperColumn;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
14 import me.prettyprint.hector.api.beans.OrderedSuperRows;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
15 import me.prettyprint.hector.api.beans.SuperRow;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
16 import me.prettyprint.hector.api.beans.SuperSlice;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
17 import me.prettyprint.hector.api.ddl.ColumnFamilyDefinition;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
18 import me.prettyprint.hector.api.ddl.ColumnType;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
19 import me.prettyprint.hector.api.ddl.ComparatorType;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
20 import me.prettyprint.hector.api.ddl.KeyspaceDefinition;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
21 import me.prettyprint.hector.api.factory.HFactory;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
22 import me.prettyprint.hector.api.query.QueryResult;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
23 import me.prettyprint.hector.api.query.RangeSuperSlicesQuery;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
24 import me.prettyprint.hector.api.query.SuperSliceQuery;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
25 import org.apache.cassandra.locator.SimpleStrategy;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
26
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
27 import java.util.*;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
28
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
29 public class CassandraBulletinBoard implements BulletinBoard
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
30 {
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
31 private final String address;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
32 private final String clusterName;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
33 private final Cluster cluster;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
34 private final String keyspace;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
35 private final ConfigurableConsistencyLevel configurableConsistencyLevel = new ConfigurableConsistencyLevel();
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
36
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
37 private static final String COLUMN_FAMILY_BOARD = "boards";
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
38 private final int REP_FACTOR;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
39
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
40 public CassandraBulletinBoard(String _clusterName,String _address,String _keyspaceName, HConsistencyLevel cLevel,int rep_factor )
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
41 {
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
42 address = _address;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
43 clusterName = _clusterName;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
44 keyspace = _keyspaceName;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
45 cluster = HFactory.getOrCreateCluster(clusterName,address);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
46 Map<String, HConsistencyLevel> clmap = new HashMap<String, HConsistencyLevel>();
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
47 clmap.put(COLUMN_FAMILY_BOARD, cLevel);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
48 configurableConsistencyLevel.setReadCfConsistencyLevels(clmap);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
49 configurableConsistencyLevel.setWriteCfConsistencyLevels(clmap);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
50 REP_FACTOR = rep_factor;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
51 initialize();
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
52 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
53
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
54 public CassandraBulletinBoard(String _clusterName,String _address,String _keyspaceName, HConsistencyLevel cLevel)
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
55 {
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
56 this(_clusterName, _address, _keyspaceName, cLevel, 1);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
57 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
58
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
59
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
60
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
61 private void initialize()
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
62 {
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
63 if(cluster.describeKeyspace(keyspace) == null){
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
64 KeyspaceDefinition keyspaceDefinition = HFactory.createKeyspaceDefinition(keyspace,
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
65 SimpleStrategy.class.getName(),REP_FACTOR, Collections.<ColumnFamilyDefinition> emptyList());
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
66 cluster.addKeyspace(keyspaceDefinition,false);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
67 ColumnFamilyDefinition columnFamilyDefinition = HFactory.createColumnFamilyDefinition(keyspace,COLUMN_FAMILY_BOARD,ComparatorType.UUIDTYPE);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
68 columnFamilyDefinition.setColumnType(ColumnType.SUPER);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
69 cluster.addColumnFamily(columnFamilyDefinition);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
70 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
71 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
72
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
73 public Iterable<String> getBoards()
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
74 {
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
75 Keyspace ksp = HFactory.createKeyspace(keyspace, cluster, configurableConsistencyLevel);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
76 RangeSuperSlicesQuery<String,UUID,String,String> query = HFactory.createRangeSuperSlicesQuery(ksp,StringSerializer.get(),
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
77 UUIDSerializer.get(),StringSerializer.get(),StringSerializer.get());
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
78 query.setColumnFamily(COLUMN_FAMILY_BOARD).setKeys(null,null).setRange(null,null,false,0);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
79
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
80 QueryResult<OrderedSuperRows<String,UUID,String,String>> result = query.execute();
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
81 OrderedSuperRows<String,UUID,String,String> rows = result.get();
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
82 List<SuperRow<String,UUID,String,String>> list = rows.getList();
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
83
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
84 IterableConverter.Converter<String,SuperRow<String,UUID,String,String>> converter
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
85 = new IterableConverter.Converter<String, SuperRow<String,UUID,String,String>>(){
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
86 public String conv(SuperRow<String, UUID, String, String> _b) {
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
87 return _b.getKey();
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
88 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
89 };
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
90
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
91 return new IterableConverter<String,SuperRow<String,UUID,String,String>>(list,converter);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
92 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
93
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
94 private static final String COLUMN_MESSAGE_AUTHOR = "author";
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
95 private static final String COLUMN_MESSAGE_BODY = "message";
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
96 private static final String COLUMN_MESSAGE_EDIT_KEY = "edit";
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
97
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
98 public void createBoardMessage(UUID _time,String _name,String _author,String _message,String _editKey)
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
99 {
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
100 Keyspace ksp = HFactory.createKeyspace(keyspace, cluster, configurableConsistencyLevel);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
101 ThriftSuperCfTemplate<String,UUID,String> template =
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
102 new ThriftSuperCfTemplate<String,UUID,String>(ksp,COLUMN_FAMILY_BOARD,StringSerializer.get(),
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
103 UUIDSerializer.get(),StringSerializer.get());
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
104
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
105 SuperCfUpdater<String,UUID,String> updater = template.createUpdater(_name,_time);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
106 updater.setString(COLUMN_MESSAGE_AUTHOR,_author);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
107 updater.setString(COLUMN_MESSAGE_BODY,_message);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
108 updater.setString(COLUMN_MESSAGE_EDIT_KEY,_editKey);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
109
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
110 template.update(updater);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
111 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
112
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
113 public void createBoards(String _name,String _author,String _initMessage,String _editKey)
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
114 {
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
115 UUID time = TimeUUIDUtils.getTimeUUID(0);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
116 createBoardMessage(time,_name,_author,_initMessage,_editKey);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
117 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
118
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
119 public Iterable<BoardMessage> getMessages(String _boardName)
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
120 {
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
121 Keyspace ksp = HFactory.createKeyspace(keyspace, cluster, configurableConsistencyLevel);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
122 SuperSliceQuery<String, UUID, String, String> query = HFactory.createSuperSliceQuery(ksp, StringSerializer.get(), UUIDSerializer.get(), StringSerializer.get(), StringSerializer.get());
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
123
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
124 UUID start = TimeUUIDUtils.getTimeUUID(0);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
125 query.setKey(_boardName).setColumnFamily(COLUMN_FAMILY_BOARD).setRange(start,null,false,100);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
126
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
127 QueryResult<SuperSlice<UUID, String, String>> result = query.execute();
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
128 SuperSlice<UUID,String,String> ss = result.get();
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
129 List<HSuperColumn<UUID,String,String>> list = ss.getSuperColumns();
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
130
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
131 IterableConverter.Converter<BoardMessage,HSuperColumn<UUID,String,String>> converter =
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
132 new IterableConverter.Converter<BoardMessage,HSuperColumn<UUID,String,String>>(){
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
133 public BoardMessage conv(HSuperColumn<UUID, String, String> _b){
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
134 UUID uuid = _b.getName();
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
135 String author = _b.getSubColumnByName(COLUMN_MESSAGE_AUTHOR).getValue();
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
136 String message = _b.getSubColumnByName(COLUMN_MESSAGE_BODY).getValue();
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
137 BoardMessageImpl bm = new BoardMessageImpl(author,message,uuid.toString());
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
138 return bm;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
139 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
140 };
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
141
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
142
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
143 return new IterableConverter<BoardMessage,HSuperColumn<UUID,String,String>>(list,converter);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
144 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
145
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
146 private static class BoardMessageImpl implements BoardMessage
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
147 {
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
148 private final String author;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
149 private final String message;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
150 private final String uuid;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
151
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
152 public BoardMessageImpl(String _author,String _message,String _uuid)
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
153 {
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
154 author = _author;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
155 message = _message;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
156 uuid = _uuid;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
157 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
158
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
159 public String getAuthor()
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
160 {
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
161 return author;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
162 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
163
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
164 public String getMessage()
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
165 {
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
166 return message;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
167 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
168
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
169 public String getUUID()
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
170 {
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
171 return uuid;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
172 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
173 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
174
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
175 public void createBoardMessage(String _board, String _author, String _message,String _editKey)
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
176 {
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
177 UUID time = TimeUUIDUtils.getUniqueTimeUUIDinMillis();
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
178 createBoardMessage(time,_board,_author,_message,_editKey);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
179 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
180
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
181 public void editMessage(String _board,String _uuid,String _author,String _message,String _editKey)
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
182 {
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
183 Keyspace ksp = HFactory.createKeyspace(keyspace, cluster, configurableConsistencyLevel);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
184 UUID time = UUID.fromString(_uuid);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
185 ThriftSuperCfTemplate<String,UUID,String> template =
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
186 new ThriftSuperCfTemplate<String,UUID,String>(ksp,COLUMN_FAMILY_BOARD,StringSerializer.get(),
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
187 UUIDSerializer.get(),StringSerializer.get());
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
188
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
189 SuperCfResult<String,UUID,String> result = template.querySuperColumn(_board,time);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
190 String editKey = result.getString(COLUMN_MESSAGE_EDIT_KEY);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
191 if(!editKey.equals(editKey)){
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
192 return;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
193 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
194
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
195 SuperCfUpdater<String, UUID, String> updater = template.createUpdater(_board,time);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
196 updater.setString(COLUMN_MESSAGE_AUTHOR,_author);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
197 updater.setString(COLUMN_MESSAGE_BODY,_message);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
198 updater.setString(COLUMN_MESSAGE_EDIT_KEY,_editKey);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
199
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
200 template.update(updater);
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
201 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
202
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
203 public String sanitize( String str ) {
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
204 if(str==null) {
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
205 return str;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
206 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
207 str = str.replaceAll("&" , "&amp;" );
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
208 str = str.replaceAll("<" , "&lt;" );
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
209 str = str.replaceAll(">" , "&gt;" );
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
210 str = str.replaceAll("\"", "&quot;");
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
211 str = str.replaceAll("'" , "&#39;" );
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
212 return str;
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
213 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
214
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
215 public GetAttributeImp getAttribute(String _bname, String _nodeNum, String revisionStr) {
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
216 return null; // 未実装 使うときに実装する
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
217 }
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
218
64a72a7a0491 add local bbs
tatsuki
parents:
diff changeset
219 }