xlawrence 2004/12/08 17:08:29 CET
Modified files:
src/java/org/jahia/suite/calendar/test
DummyCalendarServer.java
Log:
Updated dummy server which now includes a GUI
Revision Changes Path
1.5 +72 -48
uwcal_JSR168/src/java/org/jahia/suite/calendar/test/DummyCalendarServer.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/uwcal_JSR168/src/java/org/jahia/suite/calendar/test/DummyCalendarServer.java.diff?r1=1.4&r2=1.5&f=h
Index: DummyCalendarServer.java
===================================================================
RCS file:
/home/cvs/repository/uwcal_JSR168/src/java/org/jahia/suite/calendar/test/DummyCalendarServer.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DummyCalendarServer.java 23 Nov 2004 10:30:19 -0000 1.4
+++ DummyCalendarServer.java 8 Dec 2004 16:08:29 -0000 1.5
@@ -54,6 +54,8 @@
import org.jahia.suite.calendar.framework.message.UpdateCalendarRequest;
import org.jahia.suite.calendar.framework.message.MessageListener;
+import java.util.Properties;
+
import org.apache.log4j.Logger;
/**
@@ -63,7 +65,7 @@
*
* @author Xavier Lawrence
*/
-public class DummyCalendarServer implements MessageListener{
+public class DummyCalendarServer implements MessageListener {
static Logger log = Logger.getLogger(DummyCalendarServer.class);
@@ -71,53 +73,42 @@
private JMSAgent agent;
private Calendar calendar;
+ private DummyCalServerGUI gui;
+
+ private final String data0 =
+ "VERSION:2.0\n"+
+ "X-WR-CALNAME:UK Holidays\n"+
+ "PRODID:-//Apple Computer\\, Inc//iCal 1.5//EN\n"+
+ "X-WR-RELCALID:9DE52D32-D020-11D8-9530-000A958A3252\n"+
+ "X-WR-TIMEZONE:Europe/Paris\n"+
+ "CALSCALE:GREGORIAN\n"+
+ "METHOD:PUBLISH";
private final String data1 =
"BEGIN:VEVENT\n"+
- "ORGANIZER;CN=TMS -- Calendar Publisher:MAILTO:[EMAIL PROTECTED]"+
- "DTSTART:20030620T220000Z\n"+
- "DTEND:20030620T220000Z\n"+
- "TRANSP:TRANSPARENT\n"+
- "SEQUENCE:0\n"+
- "UID:TPACTIDSTREAMTASKID\n"+
- "DTSTAMP:20030410T113400Z\n"+
- "CATEGORIES;LANGUAGE=en;ENCODING=QUOTED-PRINTABLE:TMS Dates\n"+
- "DESCRIPTION;LANGUAGE=en;ENCODING=QUOTED-PRINTABLE:View the status of
this ACT
ID:=0Ahttp://xxxx.xxxx.xxxx.com/public/view_detailed_status.php?act_id=3DACTID&stream=3DSTREAM&task_id=3DTASKID=0A\n"+
- "SUMMARY;LANGUAGE=en;ENCODING=QUOTED-PRINTABLE:TP for Act ID XXXXX --
Not important : Stream -- Task ID\n"+
- "PRIORITY:5\n"+
- "CLASS:PUBLIC\n"+
- "URL:http://xxxx.xxxx.xxxx.com/\n"+
- "STATUS:CONFIRMED\n"+
- "BEGIN:VALARM\n"+
- "ACTION:DISPLAY\n"+
- "TRIGGER:-PT2880M\n"+
- "DESCRIPTION:TP for Act ID XXXXX -- Vx.x Not important : Stream -- Task
ID\n"+
- "SUMMARY:TP for Act ID XXXXX -- Vx.x Not important : Stream -- Task
ID\n"+
- "DURATION:3\n"+
- "REPEAT:3\n"+
- "END:VALARM\n"+
+ "DTSTART;VALUE=DATE:20020101\n"+
+ "DTEND;VALUE=DATE:20020102\n"+
+ "SUMMARY:Dummy SyncItem 1 (data1)\n"+
+ "UID:DUMMY-SYNC-ITEM-20-FOR-TESTING\n"+
+ "DTSTAMP:20040707T140415Z\n"+
+ "RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=2\n"+
"END:VEVENT";
private final String data2 =
"BEGIN:VEVENT\n"+
- "SEQUENCE:5\n"+
- "DTSTART;TZID=US/Pacific:20021028T140000\n"+
- "DTSTAMP:20021028T011706Z\n"+
- "SUMMARY:Coffee with Jason\n"+
- "UID:EC9439B1-FF65-11D6-9973-003065F99D04\n"+
- "DTEND;TZID=US/Pacific:20021028T150000\n"+
- "BEGIN:VALARM\n"+
- "TRIGGER;VALUE=DURATION:-P1D\n"+
- "ACTION:DISPLAY\n"+
- "DESCRIPTION:Event reminder\n"+
- "END:VALARM\n"+
+ "DTSTART;VALUE=DATE:20020101\n"+
+ "DTEND;VALUE=DATE:20020102\n"+
+ "SUMMARY:Dummy SyncItem 2 (data2)\n"+
+ "UID:DUMMY-SYNC-ITEM-30-FOR-TESTING\n"+
+ "DTSTAMP:20040707T140415Z\n"+
+ "RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=3\n"+
"END:VEVENT";
private final String data3 =
"BEGIN:VEVENT\n"+
"DTSTART;VALUE=DATE:20030418\n"+
"DTEND;VALUE=DATE:20030419\n"+
- "SUMMARY:Good Friday\n"+
+ "SUMMARY:Dummy SyncItem 3 (data3)\n"+
"UID:9DE4B99A-D020-11D8-9530-000A958A3252\n"+
"DTSTAMP:20040707T140415Z\n"+
"END:VEVENT";
@@ -136,10 +127,11 @@
* Creates the calendar instance for the test
*/
public void start() {
- SyncEvent[] events = new SyncEvent[3];
- events[0] = new SyncEvent("key1", data1.getBytes(),
SyncEvent.UNKNOWN);
- events[1] = new SyncEvent("key2", data2.getBytes(),
SyncEvent.UNKNOWN);
- events[2] = new SyncEvent("key3", data3.getBytes(),
SyncEvent.UNKNOWN);
+ SyncEvent[] events = new SyncEvent[4];
+ events[0] = new SyncEvent("key0", data0.getBytes(),
SyncEvent.UNKNOWN);
+ events[1] = new SyncEvent("key1", data1.getBytes(),
SyncEvent.UNKNOWN);
+ events[2] = new SyncEvent("key2", data2.getBytes(),
SyncEvent.UNKNOWN);
+ events[3] = new SyncEvent("key3", data3.getBytes(),
SyncEvent.UNKNOWN);
calendar = new Calendar(events);
}
@@ -151,10 +143,9 @@
// GetCalendarRequests
if (msg instanceof GetCalendarRequest) {
GetCalendarRequest req = (GetCalendarRequest)msg;
- log.info(req.getType()+":
"+req.getUserName()+"-"+req.getDeviceID());
+ log.info("GetCalendarRequest:
"+req.getUserName()+"-"+req.getDeviceID());
GetCalendarRequestResponse resp = (GetCalendarRequestResponse)
req.makeResponse(newID(), null, calendar);
- log.info(resp);
agent.sendResponse(resp, req);
// UpdateCalendarRequests
@@ -162,37 +153,52 @@
UpdateCalendarRequest req = (UpdateCalendarRequest)msg;
Response resp;
try {
- log.info(req);
+ log.info("UpdateCalendarRequest:
"+req.getOperations().length+
+ " operations");
SyncOperation[] ops = req.getOperations();
for (int i=0; i<ops.length; i++) {
SyncOperation op = ops[i];
if (op.getType().equals(SyncOperation.ADD)) {
+ String key = op.getEvent().getKey();
+ log.info("ADD: "+key);
calendar.addEvent(op.getEvent());
+ gui.addItem(key);
} else if (op.getType().equals(SyncOperation.MODIFY)) {
+ String key = op.getEvent().getKey();
+ log.info("MODIFY: "+key);
calendar.replaceEvent(op.getEvent());
} else if (op.getType().equals(SyncOperation.DELETE)) {
+ String key = op.getEvent().getKey();
+ log.info("DELETE: "+key);
calendar.removeEvent(op.getEvent());
+ gui.removeItem(key);
}
}
+
resp = req.makeResponse(newID(),
UpdateCalendarRequestResponse.OK);
log.info(resp);
agent.sendResponse(resp, req);
- } catch (Exception e) {
+
+ for (int i=0; i<calendar.getEvents().length; i++) {
+ calendar.getEvents()[i].setState(SyncEvent.SYNCHRONIZED);
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
resp = req.makeResponse(newID(),
UpdateCalendarRequestResponse.FAILED);
- log.info(resp);
agent.sendResponse(resp, req);
- log.error(e);
+ log.error(e.getMessage());
}
// GetGUIDRequests
} else if (msg instanceof GetGUIDRequest) {
+ log.info("GetGUIDRequest");
GetGUIDRequest req = (GetGUIDRequest)msg;
- GUID newGUID = new GUID("localhost", newID());
+ GUID newGUID = new GUID("key_", calendar.getEvents().length);
GetGUIDRequestResponse resp = (GetGUIDRequestResponse)
req.makeResponse(newID(), newGUID);
- log.info(resp);
agent.sendResponse(resp, req);
} else {
@@ -201,6 +207,20 @@
}
/**
+ *
+ */
+ public Calendar getCalendar() {
+ return calendar;
+ }
+
+ /**
+ *
+ */
+ public void setState(String key, int state) {
+ calendar.getEvent(key).setState(state);
+ }
+
+ /**
* Generates an auto_increment int for IDs
*/
protected synchronized static int newID() {
@@ -216,9 +236,13 @@
* @param args the command line arguments
*/
public static void main(String[] args) {
+ DummyCalServerGUI.setLookAndFeel();
DummyCalendarServer app = new DummyCalendarServer();
app.start();
+ app.gui = new DummyCalServerGUI(app);
+ app.gui.pack();
+ app.gui.setFrameLocation();
+ app.gui.show();
log.info("Waiting for requests...");
}
-
}