[Yanel-commits] rev 60305 - public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet

michi at wyona.com michi at wyona.com
Tue Aug 30 10:03:37 CEST 2011


Author: michi
Date: 2011-08-30 10:03:36 +0200 (Tue, 30 Aug 2011)
New Revision: 60305

Modified:
   public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
Log:
annotations and tracking information separated

Modified: public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
===================================================================
--- public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java	2011-08-30 07:44:49 UTC (rev 60304)
+++ public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java	2011-08-30 08:03:36 UTC (rev 60305)
@@ -684,7 +684,8 @@
                 log.warn("TODO: meta: " + meta);
             } else {
                 log.debug("Show all meta");
-                appendAnnotationsAndTrackingInformation(doc, res, trackInfo);
+                appendAnnotations(doc, res);
+                appendTrackingInformation(doc, trackInfo);
             }
             response.setStatus(javax.servlet.http.HttpServletResponse.SC_OK);
             setYanelOutput(request, response, doc);
@@ -2765,10 +2766,11 @@
     }
 
     /**
-     * Append annotations and tracking information to page meta document
+     * Append annotations of resource to page meta document
      * @param doc Page meta document
+     * @param resource Resource which might has some annotations
      */
-    private void appendAnnotationsAndTrackingInformation(Document doc, Resource resource, TrackingInformationV1 trackInfo) {
+    private void appendAnnotations(Document doc, Resource resource) {
         if (ResourceAttributeHelper.hasAttributeImplemented(resource, "Annotatable", "1")) {
             AnnotatableV1 anno = (AnnotatableV1) resource;
             try {
@@ -2798,16 +2800,28 @@
             noAnnotationsYetElem.setAttribute("annotatable-v1", "false");
             doc.getDocumentElement().appendChild(noAnnotationsYetElem);
         }
+    }
 
-
-/*
-            if (trackInfo != null) {
-                String[] trackingTags = trackInfo.getTags();
-                if (trackingTags != null && trackingTags.length > 0) {
-                    //accessLogMessage = AccessLog.getLogMessage(request, response, realm.getID(), trackingTags);
-                } else {
-                    //accessLogMessage = AccessLog.getLogMessage(request, response, realm.getID(), tags);
+    /**
+     * Append tracking information of resource to page meta document
+     * @param doc Page meta document
+     */
+    private void appendTrackingInformation(Document doc, TrackingInformationV1 trackInfo) {
+        if (trackInfo != null) {
+            Element trackInfoElem = doc.createElementNS(NAMESPACE, "tracking-info");
+            doc.getDocumentElement().appendChild(trackInfoElem);
+            String[] trackingTags = trackInfo.getTags();
+            if (trackingTags != null && trackingTags.length > 0) {
+                Element interestsElem = doc.createElementNS(NAMESPACE, "interests");
+                trackInfoElem.appendChild(interestsElem);
+                for (int i = 0; i < trackingTags.length; i++) {
+                    Element interestElem = doc.createElementNS(NAMESPACE, "interest");
+                    interestElem.appendChild(doc.createTextNode(trackingTags[i]));
+                    interestsElem.appendChild(interestElem);
                 }
+            } else {
+                //accessLogMessage = AccessLog.getLogMessage(request, response, realm.getID(), tags);
+            }
 
                 String pageType = trackInfo.getPageType();
                 if (pageType != null) {
@@ -2825,7 +2839,10 @@
                         //accessLogMessage = accessLogMessage + AccessLog.encodeLogField((String) field.getKey(), (String) field.getValue());
                     }
                 }
-            }
-*/
+        } else {
+            log.debug("No tracking information.");
+            Element noTrackInfoElem = doc.createElementNS(NAMESPACE, "no-tracking-information");
+            doc.getDocumentElement().appendChild(noTrackInfoElem);
+        }
     }
 }



More information about the Yanel-commits mailing list