diff rep/SessionList.java @ 39:c873ee0318f8

*** empty log message ***
author pin
date Sat, 10 Nov 2007 21:06:18 +0900
parents de8638eb0edd
children 86a1553028ad
line wrap: on
line diff
--- a/rep/SessionList.java	Sat Nov 10 18:51:09 2007 +0900
+++ b/rep/SessionList.java	Sat Nov 10 21:06:18 2007 +0900
@@ -28,6 +28,8 @@
 import org.w3c.dom.NodeList;
 import org.xml.sax.SAXException;
 
+import test.SessionXMLEncoder;
+
 public class SessionList {
 	
 	//List<LinkedList<SocketChannel>> sessions = new LinkedList<LinkedList<SocketChannel>>();
@@ -52,7 +54,7 @@
 	
 	public void makeDefaultSession(){
 		session3.put(0, new Session(0, null, null));
-		session4.add(new Session(0, "defaul", smchannel));
+		//session4.add(new Session(0, "defaul", smchannel));
 	}
 
 	public int getEditorNumber() {
@@ -186,70 +188,91 @@
 		tmpSessionList.add(new Session(0, string, channel));
 	}
 
-	public String getXML() {
-/* SessionListをXMLに書き出す。ときの形式
- * 	<Session>
- * 		<editor>
- * 			<sid/>
- * 			<host/>
- * 			<port/>
- * 			<filename/>
- * 		</editor>
- * 		<editor>
- * 			<sid/>
- * 			<host/>
- * 			<port/>
- * 		</editor>
- * 	</Session>
- * 	<SessionManager>
- * 		<host/>
- * 		<port/>
- * 	</SessionManager>
- * <Session>
- * </Session>
- */
-		StringWriter str = null;
-		try {
-			str = new StringWriter();
-			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-			DocumentBuilder builder = factory.newDocumentBuilder();
-			Document doc = builder.newDocument();
-			Element root = doc.getDocumentElement();
-			root = doc.createElement("SessionList");
-			for(Session session : session4){
-				Element element = doc.createElement("Session");
-				root.appendChild(element);
-				Element element2 = doc.createElement("editor");
-				element.appendChild(element2);
-				Editor editor = session.getMaster();
-				Element element3 = doc.createElement(editor.getHost());
-				Element element4 = doc.createElement(editor.getPort());
-				Element element5 = doc.createElement(editor.getName());
-				element5 = doc.createElement(session.getName());
-				element2.appendChild(element3);
-				element2.appendChild(element4);
-				element2.appendChild(element5);
-				
-			}
-			doc.appendChild(root);
-			
-			TransformerFactory tfactory = TransformerFactory.newInstance(); 
-			Transformer transformer = tfactory.newTransformer(); 
-			StreamResult result = new StreamResult(str);
-			//transformer.transform(new DOMSource(doc), new StreamResult(System.out)); 
-			transformer.transform(new DOMSource(doc), result); 
-			System.out.println(str);
+//	public String getXML() {
+///* SessionListをXMLに書き出す。ときの形式
+// * 	<Session>
+// * 		<editor>
+// * 			<sid/>
+// * 			<host/>
+// * 			<port/>
+// * 			<filename/>
+// * 		</editor>
+// * 		<editor>
+// * 			<sid/>
+// * 			<host/>
+// * 			<port/>
+// * 		</editor>
+// * 	</Session>
+// * 	<SessionManager>
+// * 		<host/>
+// * 		<port/>
+// * 	</SessionManager>
+// * <Session>
+// * </Session>
+// */
+//		StringWriter str = null;
+//		try {
+//			str = new StringWriter();
+//			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+//			DocumentBuilder builder = factory.newDocumentBuilder();
+//			Document doc = builder.newDocument();
+//			Element root = doc.getDocumentElement();
+//			root = doc.createElement("SessionList");
+//			for(Session session : session4){
+//				Element element = doc.createElement("Session");
+//				root.appendChild(element);
+//				Element element2 = doc.createElement("editor");
+//				element.appendChild(element2);
+//				Editor editor = session.getMaster();
+//				Element element3 = doc.createElement(editor.getHost());
+//				Element element4 = doc.createElement(editor.getPort());
+//				Element element5 = doc.createElement(editor.getName());
+//				element5 = doc.createElement(session.getName());
+//				element2.appendChild(element3);
+//				element2.appendChild(element4);
+//				element2.appendChild(element5);
+//				
+//			}
+//			doc.appendChild(root);
 //			
-//			XMLEncoder e = new XMLEncoder(System.out);
-//			e.writeObject(session4);
-//			e.writeObject(stringlist);
-//			e.close();
-			
-			//System.out.println(doc);
-		}catch (Exception e){
-			e.printStackTrace();
-		}
-		return str.toString();
+//			TransformerFactory tfactory = TransformerFactory.newInstance(); 
+//			Transformer transformer = tfactory.newTransformer(); 
+//			StreamResult result = new StreamResult(str);
+//			//transformer.transform(new DOMSource(doc), new StreamResult(System.out)); 
+//			transformer.transform(new DOMSource(doc), result); 
+//			System.out.println(str);
+////			
+////			XMLEncoder e = new XMLEncoder(System.out);
+////			e.writeObject(session4);
+////			e.writeObject(stringlist);
+////			e.close();
+//			
+//			//System.out.println(doc);
+//		}catch (Exception e){
+//			e.printStackTrace();
+//		}
+//		return str.toString();
+//	}
+
+	public LinkedList<Session> getList() {
+		return session4;
+	}
+
+	public String toXML() {
+		SessionXMLEncoder encoder = new SessionXMLEncoder(session4);
+		encoder.sessionListToXML();
+		return null;
+	}
+
+	public int addSession(Session session) {
+		sessionID++;
+		//sessions2.put(sessionID, new LinkedList<SocketChannel>());
+		//sessions.add(new LinkedList<SocketChannel>());
+		//return sessions2.size();
+		session3.put(sessionID, session);
+		//addEditor(channel, sid, command);
+		session4.add(session);
+		return sessionID;
 	}
 
 }