Mercurial > hg > RemoteEditor > REPSessionManager
comparison rep/SessionList.java @ 39:c873ee0318f8
*** empty log message ***
author | pin |
---|---|
date | Sat, 10 Nov 2007 21:06:18 +0900 |
parents | de8638eb0edd |
children | 86a1553028ad |
comparison
equal
deleted
inserted
replaced
38:de8638eb0edd | 39:c873ee0318f8 |
---|---|
26 import org.w3c.dom.Element; | 26 import org.w3c.dom.Element; |
27 import org.w3c.dom.Node; | 27 import org.w3c.dom.Node; |
28 import org.w3c.dom.NodeList; | 28 import org.w3c.dom.NodeList; |
29 import org.xml.sax.SAXException; | 29 import org.xml.sax.SAXException; |
30 | 30 |
31 import test.SessionXMLEncoder; | |
32 | |
31 public class SessionList { | 33 public class SessionList { |
32 | 34 |
33 //List<LinkedList<SocketChannel>> sessions = new LinkedList<LinkedList<SocketChannel>>(); | 35 //List<LinkedList<SocketChannel>> sessions = new LinkedList<LinkedList<SocketChannel>>(); |
34 //Hashtable<Integer, LinkedList<SocketChannel>> sessions2 = new Hashtable<Integer, LinkedList<SocketChannel>>(); | 36 //Hashtable<Integer, LinkedList<SocketChannel>> sessions2 = new Hashtable<Integer, LinkedList<SocketChannel>>(); |
35 Hashtable<Integer, Session> session3 = new Hashtable<Integer, Session>(); | 37 Hashtable<Integer, Session> session3 = new Hashtable<Integer, Session>(); |
50 | 52 |
51 } | 53 } |
52 | 54 |
53 public void makeDefaultSession(){ | 55 public void makeDefaultSession(){ |
54 session3.put(0, new Session(0, null, null)); | 56 session3.put(0, new Session(0, null, null)); |
55 session4.add(new Session(0, "defaul", smchannel)); | 57 //session4.add(new Session(0, "defaul", smchannel)); |
56 } | 58 } |
57 | 59 |
58 public int getEditorNumber() { | 60 public int getEditorNumber() { |
59 return 0; | 61 return 0; |
60 | 62 |
184 | 186 |
185 public void addSession(SocketChannel channel, String string, int i) { | 187 public void addSession(SocketChannel channel, String string, int i) { |
186 tmpSessionList.add(new Session(0, string, channel)); | 188 tmpSessionList.add(new Session(0, string, channel)); |
187 } | 189 } |
188 | 190 |
189 public String getXML() { | 191 // public String getXML() { |
190 /* SessionListをXMLに書き出す。ときの形式 | 192 ///* SessionListをXMLに書き出す。ときの形式 |
191 * <Session> | 193 // * <Session> |
192 * <editor> | 194 // * <editor> |
193 * <sid/> | 195 // * <sid/> |
194 * <host/> | 196 // * <host/> |
195 * <port/> | 197 // * <port/> |
196 * <filename/> | 198 // * <filename/> |
197 * </editor> | 199 // * </editor> |
198 * <editor> | 200 // * <editor> |
199 * <sid/> | 201 // * <sid/> |
200 * <host/> | 202 // * <host/> |
201 * <port/> | 203 // * <port/> |
202 * </editor> | 204 // * </editor> |
203 * </Session> | 205 // * </Session> |
204 * <SessionManager> | 206 // * <SessionManager> |
205 * <host/> | 207 // * <host/> |
206 * <port/> | 208 // * <port/> |
207 * </SessionManager> | 209 // * </SessionManager> |
208 * <Session> | 210 // * <Session> |
209 * </Session> | 211 // * </Session> |
210 */ | 212 // */ |
211 StringWriter str = null; | 213 // StringWriter str = null; |
212 try { | 214 // try { |
213 str = new StringWriter(); | 215 // str = new StringWriter(); |
214 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); | 216 // DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); |
215 DocumentBuilder builder = factory.newDocumentBuilder(); | 217 // DocumentBuilder builder = factory.newDocumentBuilder(); |
216 Document doc = builder.newDocument(); | 218 // Document doc = builder.newDocument(); |
217 Element root = doc.getDocumentElement(); | 219 // Element root = doc.getDocumentElement(); |
218 root = doc.createElement("SessionList"); | 220 // root = doc.createElement("SessionList"); |
219 for(Session session : session4){ | 221 // for(Session session : session4){ |
220 Element element = doc.createElement("Session"); | 222 // Element element = doc.createElement("Session"); |
221 root.appendChild(element); | 223 // root.appendChild(element); |
222 Element element2 = doc.createElement("editor"); | 224 // Element element2 = doc.createElement("editor"); |
223 element.appendChild(element2); | 225 // element.appendChild(element2); |
224 Editor editor = session.getMaster(); | 226 // Editor editor = session.getMaster(); |
225 Element element3 = doc.createElement(editor.getHost()); | 227 // Element element3 = doc.createElement(editor.getHost()); |
226 Element element4 = doc.createElement(editor.getPort()); | 228 // Element element4 = doc.createElement(editor.getPort()); |
227 Element element5 = doc.createElement(editor.getName()); | 229 // Element element5 = doc.createElement(editor.getName()); |
228 element5 = doc.createElement(session.getName()); | 230 // element5 = doc.createElement(session.getName()); |
229 element2.appendChild(element3); | 231 // element2.appendChild(element3); |
230 element2.appendChild(element4); | 232 // element2.appendChild(element4); |
231 element2.appendChild(element5); | 233 // element2.appendChild(element5); |
232 | 234 // |
233 } | 235 // } |
234 doc.appendChild(root); | 236 // doc.appendChild(root); |
235 | |
236 TransformerFactory tfactory = TransformerFactory.newInstance(); | |
237 Transformer transformer = tfactory.newTransformer(); | |
238 StreamResult result = new StreamResult(str); | |
239 //transformer.transform(new DOMSource(doc), new StreamResult(System.out)); | |
240 transformer.transform(new DOMSource(doc), result); | |
241 System.out.println(str); | |
242 // | 237 // |
243 // XMLEncoder e = new XMLEncoder(System.out); | 238 // TransformerFactory tfactory = TransformerFactory.newInstance(); |
244 // e.writeObject(session4); | 239 // Transformer transformer = tfactory.newTransformer(); |
245 // e.writeObject(stringlist); | 240 // StreamResult result = new StreamResult(str); |
246 // e.close(); | 241 // //transformer.transform(new DOMSource(doc), new StreamResult(System.out)); |
247 | 242 // transformer.transform(new DOMSource(doc), result); |
248 //System.out.println(doc); | 243 // System.out.println(str); |
249 }catch (Exception e){ | 244 //// |
250 e.printStackTrace(); | 245 //// XMLEncoder e = new XMLEncoder(System.out); |
251 } | 246 //// e.writeObject(session4); |
252 return str.toString(); | 247 //// e.writeObject(stringlist); |
248 //// e.close(); | |
249 // | |
250 // //System.out.println(doc); | |
251 // }catch (Exception e){ | |
252 // e.printStackTrace(); | |
253 // } | |
254 // return str.toString(); | |
255 // } | |
256 | |
257 public LinkedList<Session> getList() { | |
258 return session4; | |
259 } | |
260 | |
261 public String toXML() { | |
262 SessionXMLEncoder encoder = new SessionXMLEncoder(session4); | |
263 encoder.sessionListToXML(); | |
264 return null; | |
265 } | |
266 | |
267 public int addSession(Session session) { | |
268 sessionID++; | |
269 //sessions2.put(sessionID, new LinkedList<SocketChannel>()); | |
270 //sessions.add(new LinkedList<SocketChannel>()); | |
271 //return sessions2.size(); | |
272 session3.put(sessionID, session); | |
273 //addEditor(channel, sid, command); | |
274 session4.add(session); | |
275 return sessionID; | |
253 } | 276 } |
254 | 277 |
255 } | 278 } |