0
|
1 package rep;
|
|
2
|
|
3 import java.util.LinkedList;
|
130
|
4
|
|
5 import rep.channel.REPSocketChannel;
|
41
|
6 import rep.xml.SessionXMLEncoder;
|
39
|
7
|
357
|
8 public class SessionList extends LinkedList<Session>{
|
0
|
9
|
357
|
10 /**
|
|
11 *
|
|
12 */
|
|
13 private static final long serialVersionUID = 1L;
|
38
|
14 LinkedList<String> stringlist = new LinkedList<String>();
|
80
|
15 private String maxHost;
|
357
|
16 private int sid_root = 0;
|
120
|
17
|
0
|
18
|
3
|
19
|
8
|
20 public void sendSelect(int sid) {
|
357
|
21 REPSocketChannel<REPCommand> channel = get(sid-1).getOwner().getChannel();
|
284
|
22 channel.write(new REPCommand(REP.SMCMD_SELECT, sid, 0, 0, 0, ""));
|
8
|
23 }
|
|
24
|
39
|
25 // public String getXML() {
|
122
|
26 ///* SessionListをXMLに書き出す。ときの形式
|
39
|
27 // * <Session>
|
|
28 // * <editor>
|
|
29 // * <sid/>
|
|
30 // * <host/>
|
|
31 // * <port/>
|
|
32 // * <filename/>
|
|
33 // * </editor>
|
|
34 // * <editor>
|
|
35 // * <sid/>
|
|
36 // * <host/>
|
|
37 // * <port/>
|
|
38 // * </editor>
|
|
39 // * </Session>
|
|
40 // * <SessionManager>
|
|
41 // * <host/>
|
|
42 // * <port/>
|
|
43 // * </SessionManager>
|
|
44 // * <Session>
|
|
45 // * </Session>
|
41
|
46 // *
|
39
|
47 // StringWriter str = null;
|
|
48 // try {
|
|
49 // str = new StringWriter();
|
|
50 // DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
|
|
51 // DocumentBuilder builder = factory.newDocumentBuilder();
|
|
52 // Document doc = builder.newDocument();
|
|
53 // Element root = doc.getDocumentElement();
|
|
54 // root = doc.createElement("SessionList");
|
|
55 // for(Session session : session4){
|
|
56 // Element element = doc.createElement("Session");
|
|
57 // root.appendChild(element);
|
|
58 // Element element2 = doc.createElement("editor");
|
|
59 // element.appendChild(element2);
|
|
60 // Editor editor = session.getMaster();
|
|
61 // Element element3 = doc.createElement(editor.getHost());
|
|
62 // Element element4 = doc.createElement(editor.getPort());
|
|
63 // Element element5 = doc.createElement(editor.getName());
|
|
64 // element5 = doc.createElement(session.getName());
|
|
65 // element2.appendChild(element3);
|
|
66 // element2.appendChild(element4);
|
|
67 // element2.appendChild(element5);
|
|
68 //
|
|
69 // }
|
|
70 // doc.appendChild(root);
|
38
|
71 //
|
39
|
72 // TransformerFactory tfactory = TransformerFactory.newInstance();
|
|
73 // Transformer transformer = tfactory.newTransformer();
|
|
74 // StreamResult result = new StreamResult(str);
|
|
75 // //transformer.transform(new DOMSource(doc), new StreamResult(System.out));
|
|
76 // transformer.transform(new DOMSource(doc), result);
|
|
77 // System.out.println(str);
|
|
78 ////
|
|
79 //// XMLEncoder e = new XMLEncoder(System.out);
|
|
80 //// e.writeObject(session4);
|
|
81 //// e.writeObject(stringlist);
|
|
82 //// e.close();
|
|
83 //
|
|
84 // //System.out.println(doc);
|
|
85 // }catch (Exception e){
|
|
86 // e.printStackTrace();
|
|
87 // }
|
|
88 // return str.toString();
|
41
|
89 // }*/
|
39
|
90
|
|
91 public LinkedList<Session> getList() {
|
357
|
92 return new LinkedList<Session>(this);
|
39
|
93 }
|
|
94
|
|
95 public String toXML() {
|
357
|
96 SessionXMLEncoder encoder = new SessionXMLEncoder(this);
|
39
|
97 encoder.sessionListToXML();
|
|
98 return null;
|
|
99 }
|
|
100
|
|
101 public int addSession(Session session) {
|
357
|
102 int sid;
|
|
103 session.setSID(sid=newSessionID());
|
|
104 add(session);
|
|
105 return sid;
|
38
|
106 }
|
|
107
|
66
|
108 public Session getSession(int sid) {
|
357
|
109 for(Session session : this){
|
120
|
110 if(session.getSID() == sid){
|
|
111 return session;
|
|
112 }
|
|
113 }
|
357
|
114 return get(sid - 1);
|
66
|
115 }
|
|
116
|
80
|
117 public void setMaxHost(String myHost) {
|
|
118 maxHost = myHost;
|
77
|
119 }
|
|
120
|
82
|
121 public String getMaxHost() {
|
80
|
122 return maxHost;
|
77
|
123 }
|
|
124
|
357
|
125
|
|
126 public int newSessionID() {
|
|
127 return ++sid_root ;
|
77
|
128 }
|
|
129
|
0
|
130 }
|