You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by fg...@apache.org on 2010/01/14 01:39:54 UTC

svn commit: r899009 - in /incubator/chemistry/trunk/chemistry: chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/ chemistry-atompub/src/main/java/org/apache/chemistry/atompub/

Author: fguillaume
Date: Thu Jan 14 00:39:54 2010
New Revision: 899009

URL: http://svn.apache.org/viewvc?rev=899009&view=rev
Log:
Include links for foldertree and typedescendants in AtomPub service document

Modified:
    incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISCollection.java
    incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISServiceResponse.java
    incubator/chemistry/trunk/chemistry/chemistry-atompub/src/main/java/org/apache/chemistry/atompub/AtomPubCMIS.java

Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISCollection.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISCollection.java?rev=899009&r1=899008&r2=899009&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISCollection.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISCollection.java Thu Jan 14 00:39:54 2010
@@ -140,7 +140,7 @@
         return request.absoluteUrlFor(TargetType.TYPE_COLLECTION, params);
     }
 
-    public String getTypeDescendantsLink(String tid, RequestContext request) {
+    public static String getTypeDescendantsLink(String tid, RequestContext request) {
         Map<String, String> params = new HashMap<String, String>();
         params.put("collection", "typedescendants");
         params.put("id", tid);
@@ -161,7 +161,7 @@
         return request.absoluteUrlFor(TargetType.TYPE_COLLECTION, params);
     }
 
-    public String getFolderTreeLink(String fid, RequestContext request) {
+    public static String getFolderTreeLink(String fid, RequestContext request) {
         Map<String, String> params = new HashMap<String, String>();
         params.put("collection", "foldertree");
         params.put("id", fid);

Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISServiceResponse.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISServiceResponse.java?rev=899009&r1=899008&r2=899009&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISServiceResponse.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISServiceResponse.java Thu Jan 14 00:39:54 2010
@@ -31,6 +31,7 @@
 import org.apache.chemistry.Repository;
 import org.apache.chemistry.RepositoryCapabilities;
 import org.apache.chemistry.RepositoryInfo;
+import org.apache.chemistry.atompub.AtomPub;
 import org.apache.chemistry.atompub.AtomPubCMIS;
 import org.apache.chemistry.atompub.URITemplate;
 import org.w3c.dom.Document;
@@ -55,6 +56,8 @@
 
     @Override
     protected void writeTo(StreamWriter sw) throws IOException {
+        RepositoryInfo info = provider.getRepository().getInfo();
+
         ((StaxStreamWriter) sw).startDocument("UTF-8", "1.0");
         sw.startService();
         ((StaxStreamWriter) sw).writeNamespace(CMIS.CMIS_PREFIX, CMIS.CMIS_NS);
@@ -78,25 +81,31 @@
                 sw.endCollection();
             }
             // CMIS links
-            // sw.startElement(AtomPub.ATOM_LINK);
-            // sw.writeAttribute("type", "application/cmistree+xml");
-            // sw.writeAttribute("rel", AtomPubCMIS.LINK_TYPES_DESCENDANTS);
-            // String tdurl = request.absoluteUrlFor(TargetType.TYPE_SERVICE,
-            // null);
-            // tdurl = tdurl.replaceFirst("/repository$", "/typesdescendants");
-            // sw.writeAttribute("href", tdurl);
-            // sw.endElement();
+            sw.startElement(AtomPub.ATOM_LINK);
+            sw.writeAttribute("rel", AtomPubCMIS.LINK_TYPE_DESCENDANTS);
+            sw.writeAttribute("type", AtomPub.MEDIA_TYPE_ATOM_FEED);
+            String tdurl = CMISTypesCollection.getTypeDescendantsLink(null,
+                    request);
+            sw.writeAttribute("href", tdurl);
+            sw.endElement();
+            sw.startElement(AtomPub.ATOM_LINK);
+            sw.writeAttribute("rel", AtomPubCMIS.LINK_FOLDER_TREE);
+            sw.writeAttribute("type", AtomPub.MEDIA_TYPE_ATOM_FEED);
+            String fturl = CMISTypesCollection.getFolderTreeLink(
+                    info.getRootFolderId().getId(), request);
+            sw.writeAttribute("href", fturl);
+            sw.endElement();
             // URI templates
-            for (URITemplate info : provider.getURITemplates(request)) {
+            for (URITemplate uritmpl : provider.getURITemplates(request)) {
                 sw.startElement(AtomPubCMIS.URI_TEMPLATE);
                 sw.startElement(AtomPubCMIS.TYPE);
-                sw.writeElementText(info.type);
+                sw.writeElementText(uritmpl.type);
                 sw.endElement();
                 sw.startElement(AtomPubCMIS.MEDIA_TYPE);
-                sw.writeElementText(info.mediaType);
+                sw.writeElementText(uritmpl.mediaType);
                 sw.endElement();
                 sw.startElement(AtomPubCMIS.TEMPLATE);
-                sw.writeElementText(info.template);
+                sw.writeElementText(uritmpl.template);
                 sw.endElement();
                 sw.endElement();
             }

Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub/src/main/java/org/apache/chemistry/atompub/AtomPubCMIS.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub/src/main/java/org/apache/chemistry/atompub/AtomPubCMIS.java?rev=899009&r1=899008&r2=899009&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-atompub/src/main/java/org/apache/chemistry/atompub/AtomPubCMIS.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-atompub/src/main/java/org/apache/chemistry/atompub/AtomPubCMIS.java Thu Jan 14 00:39:54 2010
@@ -111,8 +111,8 @@
     public static final String LINK_FOLDER_TREE = CMIS_LINK_NS_BASE
             + "foldertree";
 
-    public static final String LINK_ROOT_DESCENDANTS = CMIS_LINK_NS_BASE
-            + "rootdescendants";
+    public static final String LINK_TYPE_DESCENDANTS = CMIS_LINK_NS_BASE
+            + "typedescendants";
 
     /*
      * ----- AtomPub Link Parameters -----