Mercurial > hg > RemoteEditor > REPSessionManager
view rep/SessionList.java @ 328:6ceb222570cb
merge is working now.
author | kono |
---|---|
date | Sat, 11 Oct 2008 22:23:45 +0900 |
parents | 83790b8b8174 |
children | 5ba5b7a9761b |
line wrap: on
line source
package rep; import java.util.LinkedList; import rep.channel.REPSocketChannel; import rep.xml.SessionXMLEncoder; public class SessionList { LinkedList<Session> sessionLinkedList = new LinkedList<Session>(); LinkedList<String> stringlist = new LinkedList<String>(); private int sessionID = 0; private int editorCount = 0; private String maxHost; public int addSession(REPSocketChannel<REPCommand> channel, String string) { sessionID++; return sessionID; } public int getNumberOfEditor() { editorCount++; return editorCount; } public String getSessionList() { if (sessionLinkedList != null) { System.out.println(sessionLinkedList.toString()); return sessionLinkedList.toString(); } return "{}"; } public void sendSelect(int sid) { REPSocketChannel<REPCommand> channel = sessionLinkedList.get(sid-1).getOwner().getChannel(); channel.write(new REPCommand(REP.SMCMD_SELECT, sid, 0, 0, 0, "")); } // 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); //// //// 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 sessionLinkedList; } public String toXML() { SessionXMLEncoder encoder = new SessionXMLEncoder(sessionLinkedList); encoder.sessionListToXML(); return null; } public int addSession(Session session) { sessionID++; session.setSID(sessionID); sessionLinkedList.add(session); return sessionID; } public Session getSession(int sid) { for(Session session : sessionLinkedList){ if(session.getSID() == sid){ return session; } } return sessionLinkedList.get(sid - 1); } public void setMaxHost(String myHost) { maxHost = myHost; } public String getMaxHost() { return maxHost; } public void setList(LinkedList<Session> list) { sessionLinkedList = list; } }