Mercurial > hg > RemoteEditor > REPSessionManager
annotate rep/SessionList.java @ 502:49b689b17d06 default tip
merged TestEditor to REPEditor
author | suika6039 |
---|---|
date | Tue, 21 Dec 2010 18:01:15 +0900 |
parents | 1d5b608f39da |
children |
rev | line source |
---|---|
0 | 1 package rep; |
2 | |
358 | 3 |
130 | 4 |
358 | 5 import java.util.HashMap; |
39 | 6 |
358 | 7 public class SessionList extends HashMap<Integer,Session>{ |
357 | 8 /** |
9 * | |
10 */ | |
11 private static final long serialVersionUID = 1L; | |
12 private int sid_root = 0; | |
3 | 13 |
8 | 14 |
39 | 15 // public String getXML() { |
122 | 16 ///* SessionListをXMLに書き出す。ときの形式 |
39 | 17 // * <Session> |
18 // * <editor> | |
19 // * <sid/> | |
20 // * <host/> | |
21 // * <port/> | |
22 // * <filename/> | |
23 // * </editor> | |
24 // * <editor> | |
25 // * <sid/> | |
26 // * <host/> | |
27 // * <port/> | |
28 // * </editor> | |
29 // * </Session> | |
30 // * <SessionManager> | |
31 // * <host/> | |
32 // * <port/> | |
33 // * </SessionManager> | |
34 // * <Session> | |
35 // * </Session> | |
41 | 36 // * |
39 | 37 // StringWriter str = null; |
38 // try { | |
39 // str = new StringWriter(); | |
40 // DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); | |
41 // DocumentBuilder builder = factory.newDocumentBuilder(); | |
42 // Document doc = builder.newDocument(); | |
43 // Element root = doc.getDocumentElement(); | |
44 // root = doc.createElement("SessionList"); | |
45 // for(Session session : session4){ | |
46 // Element element = doc.createElement("Session"); | |
47 // root.appendChild(element); | |
48 // Element element2 = doc.createElement("editor"); | |
49 // element.appendChild(element2); | |
50 // Editor editor = session.getMaster(); | |
51 // Element element3 = doc.createElement(editor.getHost()); | |
52 // Element element4 = doc.createElement(editor.getPort()); | |
53 // Element element5 = doc.createElement(editor.getName()); | |
54 // element5 = doc.createElement(session.getName()); | |
55 // element2.appendChild(element3); | |
56 // element2.appendChild(element4); | |
57 // element2.appendChild(element5); | |
58 // | |
59 // } | |
60 // doc.appendChild(root); | |
38 | 61 // |
39 | 62 // TransformerFactory tfactory = TransformerFactory.newInstance(); |
63 // Transformer transformer = tfactory.newTransformer(); | |
64 // StreamResult result = new StreamResult(str); | |
65 // //transformer.transform(new DOMSource(doc), new StreamResult(System.out)); | |
66 // transformer.transform(new DOMSource(doc), result); | |
67 // System.out.println(str); | |
68 //// | |
69 //// XMLEncoder e = new XMLEncoder(System.out); | |
70 //// e.writeObject(session4); | |
71 //// e.writeObject(stringlist); | |
72 //// e.close(); | |
73 // | |
74 // //System.out.println(doc); | |
75 // }catch (Exception e){ | |
76 // e.printStackTrace(); | |
77 // } | |
78 // return str.toString(); | |
41 | 79 // }*/ |
39 | 80 |
358 | 81 |
66 | 82 public Session getSession(int sid) { |
358 | 83 return get(sid); |
66 | 84 } |
85 | |
357 | 86 public int newSessionID() { |
87 return ++sid_root ; | |
77 | 88 } |
89 | |
358 | 90 public void merge(SessionList receivedSessionList) { |
359
fa041bae35f1
all code written for distributed session except gather.
kono
parents:
358
diff
changeset
|
91 for(Session s:receivedSessionList.values()) { |
fa041bae35f1
all code written for distributed session except gather.
kono
parents:
358
diff
changeset
|
92 int sid = s.getSID(); |
fa041bae35f1
all code written for distributed session except gather.
kono
parents:
358
diff
changeset
|
93 if (containsKey(sid)) { |
fa041bae35f1
all code written for distributed session except gather.
kono
parents:
358
diff
changeset
|
94 get(sid).merge(s); |
fa041bae35f1
all code written for distributed session except gather.
kono
parents:
358
diff
changeset
|
95 } else { |
fa041bae35f1
all code written for distributed session except gather.
kono
parents:
358
diff
changeset
|
96 put(sid,s); |
fa041bae35f1
all code written for distributed session except gather.
kono
parents:
358
diff
changeset
|
97 } |
fa041bae35f1
all code written for distributed session except gather.
kono
parents:
358
diff
changeset
|
98 } |
358 | 99 } |
100 | |
101 | |
0 | 102 } |