view rep/SessionList.java @ 358:034acadc0cdc

*** empty log message ***
author kono
date Sun, 19 Oct 2008 16:54:37 +0900
parents 6ae9dcb30a12
children fa041bae35f1
line wrap: on
line source

package rep;



import java.util.HashMap;
import rep.channel.REPSocketChannel;

public class SessionList extends HashMap<Integer,Session>{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private int sid_root = 0;

	public void sendSelect(int sid) {
		REPSocketChannel<REPCommand> channel = 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 int addSession(Session session) {
		int sid;
		session.setSID(sid=newSessionID());
		put(sid,session);
		return sid;
	}
	
	public Session getSession(int sid) {
		return get(sid);
	}

	public int newSessionID() {
		return ++sid_root ;
	}

	public void merge(SessionList receivedSessionList) {
		// TODO Auto-generated method stub
		
	}
	

}