annotate rep/SessionList.java @ 39:c873ee0318f8

*** empty log message ***
author pin
date Sat, 10 Nov 2007 21:06:18 +0900
parents de8638eb0edd
children 86a1553028ad
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
1 package rep;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
2
38
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
3 import java.beans.XMLEncoder;
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
4 import java.io.BufferedOutputStream;
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
5 import java.io.File;
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
6 import java.io.FileOutputStream;
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
7 import java.io.IOException;
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
8 import java.io.OutputStream;
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
9 import java.io.StringWriter;
0
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
10 import java.nio.channels.SocketChannel;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
11 import java.util.Hashtable;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
12 import java.util.LinkedList;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
13 import java.util.List;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
14
38
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
15 import javax.swing.JButton;
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
16 import javax.xml.parsers.DocumentBuilder;
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
17 import javax.xml.parsers.DocumentBuilderFactory;
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
18 import javax.xml.parsers.ParserConfigurationException;
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
19 import javax.xml.transform.Result;
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
20 import javax.xml.transform.Transformer;
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
21 import javax.xml.transform.TransformerFactory;
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
22 import javax.xml.transform.dom.DOMSource;
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
23 import javax.xml.transform.stream.StreamResult;
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
24
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
25 import org.w3c.dom.Document;
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
26 import org.w3c.dom.Element;
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
27 import org.w3c.dom.Node;
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
28 import org.w3c.dom.NodeList;
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
29 import org.xml.sax.SAXException;
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
30
39
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
31 import test.SessionXMLEncoder;
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
32
0
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
33 public class SessionList {
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
34
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
35 //List<LinkedList<SocketChannel>> sessions = new LinkedList<LinkedList<SocketChannel>>();
1
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
36 //Hashtable<Integer, LinkedList<SocketChannel>> sessions2 = new Hashtable<Integer, LinkedList<SocketChannel>>();
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
37 Hashtable<Integer, Session> session3 = new Hashtable<Integer, Session>();
38
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
38 LinkedList<Session> session4 = new LinkedList<Session>();
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
39 LinkedList<String> stringlist = new LinkedList<String>();
1
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
40 private int sessionID = 0;
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
41 private int editorCount = 0;
0
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
42
1
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
43 private SocketChannel smchannel;
2
02fa9a68d9a2 *** empty log message ***
pin
parents: 1
diff changeset
44 private boolean channelequals = false;
31
593f915dd6ff for JOIN and PUT Testing
pin
parents: 9
diff changeset
45 private LinkedList<Session> tmpSessionList = new LinkedList<Session>();
593f915dd6ff for JOIN and PUT Testing
pin
parents: 9
diff changeset
46
593f915dd6ff for JOIN and PUT Testing
pin
parents: 9
diff changeset
47 public SessionList(){
593f915dd6ff for JOIN and PUT Testing
pin
parents: 9
diff changeset
48 makeDefaultSession();
593f915dd6ff for JOIN and PUT Testing
pin
parents: 9
diff changeset
49 }
0
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
50
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
51 public void add(SocketChannel channel) {
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
52
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
53 }
31
593f915dd6ff for JOIN and PUT Testing
pin
parents: 9
diff changeset
54
593f915dd6ff for JOIN and PUT Testing
pin
parents: 9
diff changeset
55 public void makeDefaultSession(){
593f915dd6ff for JOIN and PUT Testing
pin
parents: 9
diff changeset
56 session3.put(0, new Session(0, null, null));
39
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
57 //session4.add(new Session(0, "defaul", smchannel));
31
593f915dd6ff for JOIN and PUT Testing
pin
parents: 9
diff changeset
58 }
0
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
59
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
60 public int getEditorNumber() {
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
61 return 0;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
62
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
63 }
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
64
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
65 public void add(SocketChannel channel, int sid) {
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
66
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
67 }
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
68
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
69 public int addSession(SocketChannel channel, String string) {
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
70 sessionID++;
1
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
71 //sessions2.put(sessionID, new LinkedList<SocketChannel>());
0
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
72 //sessions.add(new LinkedList<SocketChannel>());
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
73 //return sessions2.size();
1
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
74 session3.put(sessionID, new Session(sessionID, string, channel));
9
2d4c2c19d2d0 *** empty log message ***
pin
parents: 8
diff changeset
75 //addEditor(channel, sid, command);
38
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
76 session4.add(new Session(sessionID, string, channel));
0
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
77 return sessionID;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
78
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
79 }
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
80
1
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
81 public void addEditor(SocketChannel channel, int sid, REPCommand repCmd) {
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
82 int editorID = repCmd.eid;
0
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
83 //editorCount++;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
84 //sessions.get(sid-1).add(channel);
1
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
85 //sessions2.get(sid).add(channel);
9
2d4c2c19d2d0 *** empty log message ***
pin
parents: 8
diff changeset
86 if(session3.get(sid) == null) System.out.println("ぬるぽ!");
1
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
87 session3.get(sid).addEditor(editorID, channel);
0
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
88 }
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
89
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
90 public int getSessionID(SocketChannel channel) {
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
91 return 0;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
92 }
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
93
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
94 public int getNumberOfEditor() {
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
95 editorCount++;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
96 return editorCount;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
97 }
2
02fa9a68d9a2 *** empty log message ***
pin
parents: 1
diff changeset
98
0
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
99 public void sendCmd(SocketChannel channel2, REPCommand repCmd) {
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
100 //int sessionID = repCmd.sid;
1
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
101 //LinkedList <SocketChannel> channelList = sessions2.get(repCmd.sid);
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
102 LinkedList <Editor> editorList = session3.get(repCmd.sid).getEditorList();
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
103 for(Editor editor : editorList){
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
104 SocketChannel channel = editor.getChannel();
0
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
105 if(channel.equals(channel2)) {
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
106 System.out.println("equals");
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
107 continue;
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
108 }
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
109 REPPacketSend repSend = new REPPacketSend(channel);
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
110 repSend.send(repCmd);
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
111 }
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
112 }
2
02fa9a68d9a2 *** empty log message ***
pin
parents: 1
diff changeset
113
02fa9a68d9a2 *** empty log message ***
pin
parents: 1
diff changeset
114 public void sendCmd(SocketChannel channel, REPCommand repCmd, boolean ring){
02fa9a68d9a2 *** empty log message ***
pin
parents: 1
diff changeset
115 LinkedList <Editor> editorList = session3.get(repCmd.sid).getEditorList();
02fa9a68d9a2 *** empty log message ***
pin
parents: 1
diff changeset
116 REPPacketSend repsend = null;
02fa9a68d9a2 *** empty log message ***
pin
parents: 1
diff changeset
117 for(Editor editor : editorList){
02fa9a68d9a2 *** empty log message ***
pin
parents: 1
diff changeset
118 SocketChannel channel2 = editor.getChannel();
02fa9a68d9a2 *** empty log message ***
pin
parents: 1
diff changeset
119 if(channel.equals(channel2)){
9
2d4c2c19d2d0 *** empty log message ***
pin
parents: 8
diff changeset
120 System.out.println("equals");
2
02fa9a68d9a2 *** empty log message ***
pin
parents: 1
diff changeset
121 channelequals = true;
02fa9a68d9a2 *** empty log message ***
pin
parents: 1
diff changeset
122 }else if(channelequals){
02fa9a68d9a2 *** empty log message ***
pin
parents: 1
diff changeset
123 repsend = new REPPacketSend(channel2);
02fa9a68d9a2 *** empty log message ***
pin
parents: 1
diff changeset
124 repsend.send(repCmd);
02fa9a68d9a2 *** empty log message ***
pin
parents: 1
diff changeset
125 }
02fa9a68d9a2 *** empty log message ***
pin
parents: 1
diff changeset
126 }
02fa9a68d9a2 *** empty log message ***
pin
parents: 1
diff changeset
127 //repsend.send(repCmd);
02fa9a68d9a2 *** empty log message ***
pin
parents: 1
diff changeset
128 //repCmd.setCMD(repCmd.cmd + 1);
02fa9a68d9a2 *** empty log message ***
pin
parents: 1
diff changeset
129 //repsend.send(repCmd);
02fa9a68d9a2 *** empty log message ***
pin
parents: 1
diff changeset
130 }
0
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
131
1
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
132 public void addSessionManager(SocketChannel channel, REPCommand repCmd) {
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
133 smchannel = channel;
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
134
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
135 }
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
136
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
137 public void sendAddedSession(REPCommand repCmd) {
8
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
138 repCmd.setCMD(REP.SMCMD_SM_JOIN);
1
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
139 REPPacketSend repSend = new REPPacketSend(smchannel);
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
140 //repSend.send(repCmd);
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
141 }
3f5bf0255f5e *** empty log message ***
pin
parents: 0
diff changeset
142
3
f31fcac5a949 *** empty log message ***
pin
parents: 2
diff changeset
143 public String getSessionList() {
f31fcac5a949 *** empty log message ***
pin
parents: 2
diff changeset
144 if (session3 != null) {
f31fcac5a949 *** empty log message ***
pin
parents: 2
diff changeset
145 System.out.println(session3.toString());
f31fcac5a949 *** empty log message ***
pin
parents: 2
diff changeset
146 return session3.toString();
f31fcac5a949 *** empty log message ***
pin
parents: 2
diff changeset
147 }
f31fcac5a949 *** empty log message ***
pin
parents: 2
diff changeset
148 return "{}";
f31fcac5a949 *** empty log message ***
pin
parents: 2
diff changeset
149 }
f31fcac5a949 *** empty log message ***
pin
parents: 2
diff changeset
150
8
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
151 public void sendToNextEditor(SocketChannel channel, REPCommand repCmd) {
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
152 Editor editor2 = null;
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
153 Editor editor3;
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
154 LinkedList <Editor> editorList = session3.get(repCmd.sid).getEditorList();
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
155 for(Editor editor : editorList){
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
156 SocketChannel channel2 = editor.getChannel();
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
157 if(channel.equals(channel2)){
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
158 editor2 = editor;
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
159 }
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
160 }
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
161 int size = editorList.size();
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
162 Editor lastEditor = (Editor) editorList.getLast();
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
163 if(size == 0){
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
164 editor3 = null;
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
165 }else if(editor2 == lastEditor){
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
166 editor3 = editorList.get(0);
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
167 }else{
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
168 editor3 = editorList.get(editorList.indexOf(editor2)+1);
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
169 }
9
2d4c2c19d2d0 *** empty log message ***
pin
parents: 8
diff changeset
170 if(editor3 != null){
2d4c2c19d2d0 *** empty log message ***
pin
parents: 8
diff changeset
171 REPPacketSend send = new REPPacketSend(editor3.getChannel());
2d4c2c19d2d0 *** empty log message ***
pin
parents: 8
diff changeset
172 send.send(repCmd);
2d4c2c19d2d0 *** empty log message ***
pin
parents: 8
diff changeset
173 }
8
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
174 }
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
175
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
176 public void addEditor(SocketChannel editorChannel, int sid, int eid) {
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
177
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
178 session3.get(sid).addEditor(eid, editorChannel);
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
179 }
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
180
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
181 public void sendSelect(int sid) {
38
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
182 SocketChannel channel = session3.get(sid).getMaster().getChannel();
8
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
183 REPPacketSend send = new REPPacketSend(channel);
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
184 send.send(new REPCommand(REP.SMCMD_SELECT, sid, 0, 0, 0, 0, ""));
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
185 }
b774b87cc2c1 *** empty log message ***
pin
parents: 3
diff changeset
186
31
593f915dd6ff for JOIN and PUT Testing
pin
parents: 9
diff changeset
187 public void addSession(SocketChannel channel, String string, int i) {
593f915dd6ff for JOIN and PUT Testing
pin
parents: 9
diff changeset
188 tmpSessionList.add(new Session(0, string, channel));
593f915dd6ff for JOIN and PUT Testing
pin
parents: 9
diff changeset
189 }
593f915dd6ff for JOIN and PUT Testing
pin
parents: 9
diff changeset
190
39
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
191 // public String getXML() {
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
192 ///* SessionListをXMLに書き出す。ときの形式
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
193 // * <Session>
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
194 // * <editor>
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
195 // * <sid/>
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
196 // * <host/>
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
197 // * <port/>
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
198 // * <filename/>
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
199 // * </editor>
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
200 // * <editor>
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
201 // * <sid/>
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
202 // * <host/>
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
203 // * <port/>
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
204 // * </editor>
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
205 // * </Session>
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
206 // * <SessionManager>
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
207 // * <host/>
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
208 // * <port/>
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
209 // * </SessionManager>
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
210 // * <Session>
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
211 // * </Session>
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
212 // */
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
213 // StringWriter str = null;
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
214 // try {
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
215 // str = new StringWriter();
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
216 // DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
217 // DocumentBuilder builder = factory.newDocumentBuilder();
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
218 // Document doc = builder.newDocument();
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
219 // Element root = doc.getDocumentElement();
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
220 // root = doc.createElement("SessionList");
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
221 // for(Session session : session4){
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
222 // Element element = doc.createElement("Session");
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
223 // root.appendChild(element);
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
224 // Element element2 = doc.createElement("editor");
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
225 // element.appendChild(element2);
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
226 // Editor editor = session.getMaster();
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
227 // Element element3 = doc.createElement(editor.getHost());
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
228 // Element element4 = doc.createElement(editor.getPort());
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
229 // Element element5 = doc.createElement(editor.getName());
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
230 // element5 = doc.createElement(session.getName());
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
231 // element2.appendChild(element3);
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
232 // element2.appendChild(element4);
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
233 // element2.appendChild(element5);
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
234 //
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
235 // }
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
236 // doc.appendChild(root);
38
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
237 //
39
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
238 // TransformerFactory tfactory = TransformerFactory.newInstance();
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
239 // Transformer transformer = tfactory.newTransformer();
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
240 // StreamResult result = new StreamResult(str);
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
241 // //transformer.transform(new DOMSource(doc), new StreamResult(System.out));
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
242 // transformer.transform(new DOMSource(doc), result);
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
243 // System.out.println(str);
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
244 ////
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
245 //// XMLEncoder e = new XMLEncoder(System.out);
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
246 //// e.writeObject(session4);
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
247 //// e.writeObject(stringlist);
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
248 //// e.close();
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
249 //
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
250 // //System.out.println(doc);
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
251 // }catch (Exception e){
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
252 // e.printStackTrace();
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
253 // }
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
254 // return str.toString();
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
255 // }
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
256
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
257 public LinkedList<Session> getList() {
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
258 return session4;
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
259 }
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
260
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
261 public String toXML() {
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
262 SessionXMLEncoder encoder = new SessionXMLEncoder(session4);
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
263 encoder.sessionListToXML();
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
264 return null;
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
265 }
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
266
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
267 public int addSession(Session session) {
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
268 sessionID++;
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
269 //sessions2.put(sessionID, new LinkedList<SocketChannel>());
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
270 //sessions.add(new LinkedList<SocketChannel>());
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
271 //return sessions2.size();
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
272 session3.put(sessionID, session);
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
273 //addEditor(channel, sid, command);
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
274 session4.add(session);
c873ee0318f8 *** empty log message ***
pin
parents: 38
diff changeset
275 return sessionID;
38
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
276 }
de8638eb0edd *** empty log message ***
pin
parents: 31
diff changeset
277
0
e41994ce73c7 *** empty log message ***
pin
parents:
diff changeset
278 }