r7186 - in dumbhippo/trunk/openfire/src/plugins/hippo/src/java/com/dumbhippo/jive: . rooms



Author: otaylor
Date: 2008-01-10 18:09:12 -0600 (Thu, 10 Jan 2008)
New Revision: 7186

Modified:
   dumbhippo/trunk/openfire/src/plugins/hippo/src/java/com/dumbhippo/jive/MultiQueryIQMethod.java
   dumbhippo/trunk/openfire/src/plugins/hippo/src/java/com/dumbhippo/jive/SingleQueryIQMethod.java
   dumbhippo/trunk/openfire/src/plugins/hippo/src/java/com/dumbhippo/jive/XmppClient.java
   dumbhippo/trunk/openfire/src/plugins/hippo/src/java/com/dumbhippo/jive/XmppFetchVisitor.java
   dumbhippo/trunk/openfire/src/plugins/hippo/src/java/com/dumbhippo/jive/rooms/Room.java
Log:
Send server time with each data model notification and reply

Modified: dumbhippo/trunk/openfire/src/plugins/hippo/src/java/com/dumbhippo/jive/MultiQueryIQMethod.java
===================================================================
--- dumbhippo/trunk/openfire/src/plugins/hippo/src/java/com/dumbhippo/jive/MultiQueryIQMethod.java	2008-01-10 23:28:48 UTC (rev 7185)
+++ dumbhippo/trunk/openfire/src/plugins/hippo/src/java/com/dumbhippo/jive/MultiQueryIQMethod.java	2008-01-11 00:09:12 UTC (rev 7186)
@@ -59,6 +59,8 @@
 		for (T object : resultObjects) {
 			session.visitFetch(object, fetch, visitor);
 		}
+		
+		visitor.finish();
 	}
 	
 	// This "casts" two classes K and T to be related, note we need a K and a T in order to construct

Modified: dumbhippo/trunk/openfire/src/plugins/hippo/src/java/com/dumbhippo/jive/SingleQueryIQMethod.java
===================================================================
--- dumbhippo/trunk/openfire/src/plugins/hippo/src/java/com/dumbhippo/jive/SingleQueryIQMethod.java	2008-01-10 23:28:48 UTC (rev 7185)
+++ dumbhippo/trunk/openfire/src/plugins/hippo/src/java/com/dumbhippo/jive/SingleQueryIQMethod.java	2008-01-11 00:09:12 UTC (rev 7186)
@@ -41,5 +41,6 @@
 		
 		XmppFetchVisitor visitor = new XmppFetchVisitor(root, session.getModel());
 		fetchAndVisit(session, resultObject, fetchNode, visitor);
+		visitor.finish();
 	}
 }

Modified: dumbhippo/trunk/openfire/src/plugins/hippo/src/java/com/dumbhippo/jive/XmppClient.java
===================================================================
--- dumbhippo/trunk/openfire/src/plugins/hippo/src/java/com/dumbhippo/jive/XmppClient.java	2008-01-10 23:28:48 UTC (rev 7185)
+++ dumbhippo/trunk/openfire/src/plugins/hippo/src/java/com/dumbhippo/jive/XmppClient.java	2008-01-11 00:09:12 UTC (rev 7186)
@@ -164,6 +164,8 @@
 	public void endNotification(FetchVisitor visitor, long serial) {
 		XmppFetchVisitor xmppVisitor = (XmppFetchVisitor)visitor;
 		
+		xmppVisitor.finish();
+		
         Message message = new Message();
         message.setType(Message.Type.headline);
         message.getElement().add(xmppVisitor.getRootElement());

Modified: dumbhippo/trunk/openfire/src/plugins/hippo/src/java/com/dumbhippo/jive/XmppFetchVisitor.java
===================================================================
--- dumbhippo/trunk/openfire/src/plugins/hippo/src/java/com/dumbhippo/jive/XmppFetchVisitor.java	2008-01-10 23:28:48 UTC (rev 7185)
+++ dumbhippo/trunk/openfire/src/plugins/hippo/src/java/com/dumbhippo/jive/XmppFetchVisitor.java	2008-01-11 00:09:12 UTC (rev 7186)
@@ -26,6 +26,7 @@
 	
 	private static final Namespace SYSTEM_NAMESPACE = Namespace.get("m", "http://mugshot.org/p/system";);
 	
+	private static final QName RESOURCE_BASE_QNAME = QName.get("resourceBase", SYSTEM_NAMESPACE);
 	private static final QName RESOURCE_ID_QNAME = QName.get("resourceId", SYSTEM_NAMESPACE);
 	private static final QName FETCH_QNAME = QName.get("fetch", SYSTEM_NAMESPACE);
 	private static final QName INDIRECT_QNAME = QName.get("indirect", SYSTEM_NAMESPACE);
@@ -33,17 +34,19 @@
 	private static final QName TYPE_QNAME = QName.get("type", SYSTEM_NAMESPACE);
 	private static final QName DEFAULT_CHILDREN_QNAME = QName.get("defaultChildren", SYSTEM_NAMESPACE);
 	private static final QName UPDATE_QNAME = QName.get("update", SYSTEM_NAMESPACE);
+	private static final QName SERVER_TIME_QNAME = QName.get("serverTime", SYSTEM_NAMESPACE);
 	
 	public XmppFetchVisitor(Element rootElement, DataModel model) {
 		this.rootElement = rootElement;
 		
-		DocumentFactory factory = DocumentFactory.getInstance();
-		
 		rootElement.add(SYSTEM_NAMESPACE);
-		
-		QName resourceBaseAttr = factory.createQName("resourceBase", SYSTEM_NAMESPACE);
-		rootElement.addAttribute(resourceBaseAttr, model.getBaseUrl());
+		rootElement.addAttribute(RESOURCE_BASE_QNAME, model.getBaseUrl());
 	}
+
+	// Adding this at the end should give more slightly more accurate times
+	public void finish() {
+		rootElement.addAttribute(SERVER_TIME_QNAME, Long.toString(System.currentTimeMillis()));
+	}
 	
 	public Element getRootElement() {
 		return rootElement;

Modified: dumbhippo/trunk/openfire/src/plugins/hippo/src/java/com/dumbhippo/jive/rooms/Room.java
===================================================================
--- dumbhippo/trunk/openfire/src/plugins/hippo/src/java/com/dumbhippo/jive/rooms/Room.java	2008-01-10 23:28:48 UTC (rev 7185)
+++ dumbhippo/trunk/openfire/src/plugins/hippo/src/java/com/dumbhippo/jive/rooms/Room.java	2008-01-11 00:09:12 UTC (rev 7186)
@@ -595,6 +595,7 @@
 		}
 		BoundFetch<Guid,DMObject<Guid>> fetch = USER_FETCH.bind(userDMO.getClassHolder());
 		session.visitFetch(userDMO, fetch, visitor, true);
+		visitor.finish();
 		
 		if (resources.elements().size() == 0)
 			rootElement.remove(resources);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]