Author: fmui
Date: Thu Mar 14 12:49:25 2013
New Revision: 1456406
URL: http://svn.apache.org/r1456406
Log:
CMIS-638: fixed feed self links
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/AtomDocumentBase.java
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/AtomEntry.java
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/AtomFeed.java
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/DiscoveryService.java
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/NavigationService.java
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/PolicyService.java
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/RelationshipService.java
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/RepositoryService.java
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/AtomDocumentBase.java
URL:
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/AtomDocumentBase.java?rev=1456406&r1=1456405&r2=1456406&view=diff
==============================================================================
---
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/AtomDocumentBase.java
(original)
+++
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/AtomDocumentBase.java
Thu Mar 14 12:49:25 2013
@@ -183,8 +183,8 @@ public abstract class AtomDocumentBase e
}
}
- public void writeSelfLink(String href, String id) throws
XMLStreamException {
- writeLink(Constants.REL_SELF, href, Constants.MEDIATYPE_ENTRY, id);
+ public void writeSelfLink(String href, String type, String id) throws
XMLStreamException {
+ writeLink(Constants.REL_SELF, href, type, id);
}
public void writeEnclosureLink(String href) throws XMLStreamException {
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/AtomEntry.java
URL:
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/AtomEntry.java?rev=1456406&r1=1456405&r2=1456406&view=diff
==============================================================================
---
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/AtomEntry.java
(original)
+++
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/AtomEntry.java
Thu Mar 14 12:49:25 2013
@@ -24,6 +24,7 @@ import javax.xml.stream.XMLStreamWriter;
import org.apache.chemistry.opencmis.commons.data.ObjectData;
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
import org.apache.chemistry.opencmis.commons.enums.CmisVersion;
+import org.apache.chemistry.opencmis.commons.impl.Constants;
import org.apache.chemistry.opencmis.commons.impl.XMLConstants;
import org.apache.chemistry.opencmis.commons.impl.XMLConverter;
import org.apache.chemistry.opencmis.commons.server.ObjectInfo;
@@ -74,6 +75,13 @@ public class AtomEntry extends AtomDocum
}
/**
+ * Writes an entry self link.
+ */
+ public void writeSelfLink(String href, String id) throws
XMLStreamException {
+ writeSelfLink(href, Constants.MEDIATYPE_ENTRY, id);
+ }
+
+ /**
* Writes an object.
*/
public void writeObject(ObjectData object, ObjectInfo info, String
contentSrc, String contentType,
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/AtomFeed.java
URL:
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/AtomFeed.java?rev=1456406&r1=1456405&r2=1456406&view=diff
==============================================================================
---
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/AtomFeed.java
(original)
+++
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/AtomFeed.java
Thu Mar 14 12:49:25 2013
@@ -90,6 +90,13 @@ public class AtomFeed extends AtomDocume
}
/**
+ * Writes an feed self link.
+ */
+ public void writeSelfLink(String href, String id) throws
XMLStreamException {
+ writeSelfLink(href, Constants.MEDIATYPE_FEED, id);
+ }
+
+ /**
* Writes the feed elements that are required by Atom.
*/
public void writeFeedElements(String id, String atomId, String author,
String title, GregorianCalendar updated,
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/DiscoveryService.java
URL:
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/DiscoveryService.java?rev=1456406&r1=1456405&r2=1456406&view=diff
==============================================================================
---
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/DiscoveryService.java
(original)
+++
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/DiscoveryService.java
Thu Mar 14 12:49:25 2013
@@ -254,6 +254,15 @@ public final class DiscoveryService {
feed.writeServiceLink(baseUrl.toString(), repositoryId);
+ UrlBuilder selfLink = compileUrlBuilder(baseUrl, RESOURCE_CHANGES,
null);
+ selfLink.addParameter(Constants.PARAM_CHANGE_LOG_TOKEN,
changeLogToken);
+ selfLink.addParameter(Constants.PARAM_PROPERTIES, includeProperties);
+ selfLink.addParameter(Constants.PARAM_FILTER, filter);
+ selfLink.addParameter(Constants.PARAM_POLICY_IDS, includePolicyIds);
+ selfLink.addParameter(Constants.PARAM_ACL, includeAcl);
+ selfLink.addParameter(Constants.PARAM_MAX_ITEMS, maxItems);
+ feed.writeSelfLink(selfLink.toString(), null);
+
if (changeLogTokenHolder.getValue() != null) {
UrlBuilder nextLink = compileUrlBuilder(baseUrl, RESOURCE_CHANGES,
null);
nextLink.addParameter(Constants.PARAM_CHANGE_LOG_TOKEN,
changeLogTokenHolder.getValue());
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/NavigationService.java
URL:
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/NavigationService.java?rev=1456406&r1=1456405&r2=1456406&view=diff
==============================================================================
---
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/NavigationService.java
(original)
+++
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/NavigationService.java
Thu Mar 14 12:49:25 2013
@@ -120,7 +120,16 @@ public final class NavigationService {
feed.writeServiceLink(baseUrl.toString(), repositoryId);
- feed.writeSelfLink(compileUrl(baseUrl, RESOURCE_CHILDREN,
folderInfo.getId()), null);
+ UrlBuilder selfLink = compileUrlBuilder(baseUrl, RESOURCE_CHILDREN,
folderInfo.getId());
+ selfLink.addParameter(Constants.PARAM_FILTER, filter);
+ selfLink.addParameter(Constants.PARAM_ORDER_BY, orderBy);
+ selfLink.addParameter(Constants.PARAM_ALLOWABLE_ACTIONS,
includeAllowableActions);
+ selfLink.addParameter(Constants.PARAM_RELATIONSHIPS,
includeRelationships);
+ selfLink.addParameter(Constants.PARAM_RENDITION_FILTER,
renditionFilter);
+ selfLink.addParameter(Constants.PARAM_PATH_SEGMENT,
includePathSegment);
+ selfLink.addParameter(Constants.PARAM_MAX_ITEMS, maxItems);
+ selfLink.addParameter(Constants.PARAM_SKIP_COUNT, skipCount);
+ feed.writeSelfLink(selfLink.toString(), null);
feed.writeDescribedByLink(compileUrl(baseUrl, RESOURCE_TYPE,
folderInfo.getTypeId()));
@@ -237,7 +246,14 @@ public final class NavigationService {
feed.writeServiceLink(baseUrl.toString(), repositoryId);
- feed.writeSelfLink(compileUrl(baseUrl, RESOURCE_DESCENDANTS,
folderInfo.getId()), null);
+ UrlBuilder selfLink = compileUrlBuilder(baseUrl, RESOURCE_DESCENDANTS,
folderInfo.getId());
+ selfLink.addParameter(Constants.PARAM_DEPTH, depth);
+ selfLink.addParameter(Constants.PARAM_FILTER, filter);
+ selfLink.addParameter(Constants.PARAM_ALLOWABLE_ACTIONS,
includeAllowableActions);
+ selfLink.addParameter(Constants.PARAM_RELATIONSHIPS,
includeRelationships);
+ selfLink.addParameter(Constants.PARAM_RENDITION_FILTER,
renditionFilter);
+ selfLink.addParameter(Constants.PARAM_PATH_SEGMENT,
includePathSegment);
+ feed.writeSelfLink(selfLink.toString(), null);
feed.writeViaLink(compileUrl(baseUrl, RESOURCE_ENTRY,
folderInfo.getId()));
@@ -312,7 +328,14 @@ public final class NavigationService {
feed.writeServiceLink(baseUrl.toString(), repositoryId);
- feed.writeSelfLink(compileUrl(baseUrl, RESOURCE_DESCENDANTS,
folderInfo.getId()), null);
+ UrlBuilder selfLink = compileUrlBuilder(baseUrl, RESOURCE_FOLDERTREE,
folderInfo.getId());
+ selfLink.addParameter(Constants.PARAM_DEPTH, depth);
+ selfLink.addParameter(Constants.PARAM_FILTER, filter);
+ selfLink.addParameter(Constants.PARAM_ALLOWABLE_ACTIONS,
includeAllowableActions);
+ selfLink.addParameter(Constants.PARAM_RELATIONSHIPS,
includeRelationships);
+ selfLink.addParameter(Constants.PARAM_RENDITION_FILTER,
renditionFilter);
+ selfLink.addParameter(Constants.PARAM_PATH_SEGMENT,
includePathSegment);
+ feed.writeSelfLink(selfLink.toString(), null);
feed.writeViaLink(compileUrl(baseUrl, RESOURCE_ENTRY,
folderInfo.getId()));
@@ -387,7 +410,13 @@ public final class NavigationService {
feed.writeServiceLink(baseUrl.toString(), repositoryId);
- feed.writeSelfLink(compileUrl(baseUrl, RESOURCE_PARENTS,
objectInfo.getId()), null);
+ UrlBuilder selfLink = compileUrlBuilder(baseUrl, RESOURCE_PARENTS,
objectInfo.getId());
+ selfLink.addParameter(Constants.PARAM_FILTER, filter);
+ selfLink.addParameter(Constants.PARAM_ALLOWABLE_ACTIONS,
includeAllowableActions);
+ selfLink.addParameter(Constants.PARAM_RELATIONSHIPS,
includeRelationships);
+ selfLink.addParameter(Constants.PARAM_RENDITION_FILTER,
renditionFilter);
+ selfLink.addParameter(Constants.PARAM_RELATIVE_PATH_SEGMENT,
includeRelativePathSegment);
+ feed.writeSelfLink(selfLink.toString(), null);
// write entries
AtomEntry entry = new AtomEntry(feed.getWriter());
@@ -466,9 +495,16 @@ public final class NavigationService {
feed.writeServiceLink(baseUrl.toString(), repositoryId);
- feed.writeSelfLink(compileUrl(baseUrl, RESOURCE_CHECKEDOUT,
folderInfo.getId()), null);
+ UrlBuilder selfLink = compileUrlBuilder(baseUrl, RESOURCE_CHECKEDOUT,
folderInfo.getId());
+ selfLink.addParameter(Constants.PARAM_FILTER, filter);
+ selfLink.addParameter(Constants.PARAM_ORDER_BY, orderBy);
+ selfLink.addParameter(Constants.PARAM_ALLOWABLE_ACTIONS,
includeAllowableActions);
+ selfLink.addParameter(Constants.PARAM_RELATIONSHIPS,
includeRelationships);
+ selfLink.addParameter(Constants.PARAM_MAX_ITEMS, maxItems);
+ selfLink.addParameter(Constants.PARAM_SKIP_COUNT, skipCount);
+ feed.writeSelfLink(selfLink.toString(), null);
- UrlBuilder pagingUrl = new UrlBuilder(compileUrlBuilder(baseUrl,
RESOURCE_CHECKEDOUT, folderInfo.getId()));
+ UrlBuilder pagingUrl = compileUrlBuilder(baseUrl, RESOURCE_CHECKEDOUT,
folderInfo.getId());
pagingUrl.addParameter(Constants.PARAM_FILTER, filter);
pagingUrl.addParameter(Constants.PARAM_ORDER_BY, orderBy);
pagingUrl.addParameter(Constants.PARAM_ALLOWABLE_ACTIONS,
includeAllowableActions);
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/PolicyService.java
URL:
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/PolicyService.java?rev=1456406&r1=1456405&r2=1456406&view=diff
==============================================================================
---
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/PolicyService.java
(original)
+++
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/PolicyService.java
Thu Mar 14 12:49:25 2013
@@ -21,7 +21,6 @@ package org.apache.chemistry.opencmis.se
import static org.apache.chemistry.opencmis.commons.impl.Converter.convert;
import static
org.apache.chemistry.opencmis.server.impl.atompub.AtomPubUtils.RESOURCE_POLICIES;
import static
org.apache.chemistry.opencmis.server.impl.atompub.AtomPubUtils.compileBaseUrl;
-import static
org.apache.chemistry.opencmis.server.impl.atompub.AtomPubUtils.compileUrl;
import static
org.apache.chemistry.opencmis.server.impl.atompub.AtomPubUtils.compileUrlBuilder;
import static
org.apache.chemistry.opencmis.server.impl.atompub.AtomPubUtils.getNamespaces;
import static
org.apache.chemistry.opencmis.server.shared.HttpUtils.getStringParameter;
@@ -88,7 +87,9 @@ public final class PolicyService {
feed.writeServiceLink(baseUrl.toString(), repositoryId);
- feed.writeSelfLink(compileUrl(baseUrl, RESOURCE_POLICIES,
objectInfo.getId()), null);
+ UrlBuilder selfLink = compileUrlBuilder(baseUrl, RESOURCE_POLICIES,
objectInfo.getId());
+ selfLink.addParameter(Constants.PARAM_FILTER, filter);
+ feed.writeSelfLink(selfLink.toString(), null);
// write entries
AtomEntry entry = new AtomEntry(feed.getWriter());
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/RelationshipService.java
URL:
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/RelationshipService.java?rev=1456406&r1=1456405&r2=1456406&view=diff
==============================================================================
---
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/RelationshipService.java
(original)
+++
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/RelationshipService.java
Thu Mar 14 12:49:25 2013
@@ -20,7 +20,6 @@ package org.apache.chemistry.opencmis.se
import static
org.apache.chemistry.opencmis.server.impl.atompub.AtomPubUtils.RESOURCE_RELATIONSHIPS;
import static
org.apache.chemistry.opencmis.server.impl.atompub.AtomPubUtils.compileBaseUrl;
-import static
org.apache.chemistry.opencmis.server.impl.atompub.AtomPubUtils.compileUrl;
import static
org.apache.chemistry.opencmis.server.impl.atompub.AtomPubUtils.compileUrlBuilder;
import static
org.apache.chemistry.opencmis.server.impl.atompub.AtomPubUtils.getNamespaces;
import static
org.apache.chemistry.opencmis.server.impl.atompub.AtomPubUtils.writeObjectEntry;
@@ -99,7 +98,15 @@ public final class RelationshipService {
feed.writeServiceLink(baseUrl.toString(), repositoryId);
- feed.writeSelfLink(compileUrl(baseUrl, RESOURCE_RELATIONSHIPS,
objectInfo.getId()), null);
+ UrlBuilder selfLink = compileUrlBuilder(baseUrl,
RESOURCE_RELATIONSHIPS, objectInfo.getId());
+ selfLink.addParameter(Constants.PARAM_SUB_RELATIONSHIP_TYPES,
includeSubRelationshipTypes);
+ selfLink.addParameter(Constants.PARAM_RELATIONSHIP_DIRECTION,
relationshipDirection);
+ selfLink.addParameter(Constants.PARAM_TYPE_ID, typeId);
+ selfLink.addParameter(Constants.PARAM_FILTER, filter);
+ selfLink.addParameter(Constants.PARAM_ALLOWABLE_ACTIONS,
includeAllowableActions);
+ selfLink.addParameter(Constants.PARAM_MAX_ITEMS, maxItems);
+ selfLink.addParameter(Constants.PARAM_SKIP_COUNT, skipCount);
+ feed.writeSelfLink(selfLink.toString(), null);
UrlBuilder pagingUrl = new UrlBuilder(compileUrlBuilder(baseUrl,
RESOURCE_RELATIONSHIPS, objectInfo.getId()));
pagingUrl.addParameter(Constants.PARAM_SUB_RELATIONSHIP_TYPES,
includeSubRelationshipTypes);
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/RepositoryService.java
URL:
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/RepositoryService.java?rev=1456406&r1=1456405&r2=1456406&view=diff
==============================================================================
---
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/RepositoryService.java
(original)
+++
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/atompub/RepositoryService.java
Thu Mar 14 12:49:25 2013
@@ -288,6 +288,8 @@ public final class RepositoryService {
UrlBuilder selfLink = compileUrlBuilder(baseUrl, RESOURCE_TYPES, null);
selfLink.addParameter(Constants.PARAM_TYPE_ID, typeId);
selfLink.addParameter(Constants.PARAM_PROPERTY_DEFINITIONS,
includePropertyDefinitions);
+ selfLink.addParameter(Constants.PARAM_MAX_ITEMS, maxItems);
+ selfLink.addParameter(Constants.PARAM_SKIP_COUNT, skipCount);
feed.writeSelfLink(selfLink.toString(), typeId);
feed.writeViaLink(compileUrl(baseUrl, RESOURCE_TYPE, typeId));