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 }