You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by fm...@apache.org on 2010/03/10 18:19:14 UTC
svn commit: r921459 - in
/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider:
cache/ cache/impl/ spi/atompub/
Author: fmui
Date: Wed Mar 10 17:19:13 2010
New Revision: 921459
URL: http://svn.apache.org/viewvc?rev=921459&view=rev
Log:
improved error messages on the provider level
Modified:
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/cache/Cache.java
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/cache/impl/CacheImpl.java
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/AbstractAtomPubService.java
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/AclServiceImpl.java
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/LinkCache.java
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/MultiFilingServiceImpl.java
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/NavigationServiceImpl.java
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/ObjectServiceImpl.java
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/PolicyServiceImpl.java
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/RelationshipServiceImpl.java
incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/VersioningServiceImpl.java
Modified: incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/cache/Cache.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/cache/Cache.java?rev=921459&r1=921458&r2=921459&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/cache/Cache.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/cache/Cache.java Wed Mar 10 17:19:13 2010
@@ -30,7 +30,8 @@ import java.io.Serializable;
* <br/>
* Level configuration string format: "
* <code><class name> [param1=value1,param2=value2,...]</code>".<br/>
- * For example: <code>org.apache.opencmis.client.provider.cache.impl.MapCacheLevelImpl capacity=10</code><br/>
+ * For example:
+ * <code>org.apache.opencmis.client.provider.cache.impl.MapCacheLevelImpl capacity=10</code><br/>
* </p>
*
* @author <a href="mailto:fmueller@opentext.com">Florian Müller</a>
@@ -58,7 +59,7 @@ public interface Cache extends Serializa
void put(Object value, String... keys);
/**
- * Retrieves an object from the cache
+ * Retrieves an object from the cache.
*
* @param keys
* the keys
@@ -73,4 +74,15 @@ public interface Cache extends Serializa
* the keys of the branch or leaf
*/
void remove(String... keys);
+
+ /**
+ * Checks if a given key is in the cache.
+ *
+ * @param keys
+ * the keys of the branch or leaf
+ *
+ * @return the index of the first key part that is not in the cache or <code>keys.length</code> if
+ * the object is in the cache
+ */
+ int check(String... keys);
}
Modified: incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/cache/impl/CacheImpl.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/cache/impl/CacheImpl.java?rev=921459&r1=921458&r2=921459&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/cache/impl/CacheImpl.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/cache/impl/CacheImpl.java Wed Mar 10 17:19:13 2010
@@ -237,6 +237,34 @@ public class CacheImpl implements Cache
}
}
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.apache.opencmis.client.provider.cache.Cache#check(java.lang.String[])
+ */
+ public int check(String... keys) {
+ if (keys == null) {
+ return -1;
+ }
+
+ CacheLevel cacheLevel = fRoot;
+
+ // follow the branch
+ for (int i = 0; i < keys.length - 1; i++) {
+ Object level = cacheLevel.get(keys[i]);
+
+ // does the branch exist?
+ if (level == null) {
+ return i;
+ }
+
+ // next level
+ cacheLevel = (CacheLevel) level;
+ }
+
+ return keys.length;
+ }
+
// ---- internal ----
/**
Modified: incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/AbstractAtomPubService.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/AbstractAtomPubService.java?rev=921459&r1=921458&r2=921459&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/AbstractAtomPubService.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/AbstractAtomPubService.java Wed Mar 10 17:19:13 2010
@@ -189,6 +189,29 @@ public class AbstractAtomPubService {
}
/**
+ * Checks a link throw an appropriate exception.
+ */
+ protected void throwLinkException(String repositoryId, String id, String rel, String type) {
+ int index = getLinkCache().checkLink(repositoryId, id, rel, type);
+
+ switch (index) {
+ case 0:
+ throw new CmisObjectNotFoundException("Unknown repository!");
+ case 1:
+ throw new CmisObjectNotFoundException("Unknown object!");
+ case 2:
+ throw new CmisNotSupportedException(
+ "Operation not supported by the repository for this object!");
+ case 3:
+ throw new CmisNotSupportedException("No link with matching media type!");
+ case 4:
+ throw new CmisRuntimeException("Nothing wrong! Either this is a bug or threading issue.");
+ default:
+ throw new CmisRuntimeException("Unknown error!");
+ }
+ }
+
+ /**
* Gets a type link from the cache.
*/
protected String getTypeLink(String repositoryId, String typeId, String rel, String type) {
@@ -721,8 +744,7 @@ public class AbstractAtomPubService {
String link = loadLink(repositoryId, objectId, Constants.REL_ACL, Constants.MEDIATYPE_ACL);
if (link == null) {
- throw new CmisObjectNotFoundException(
- "Unknown repository or object or ACLs are not supported!");
+ throwLinkException(repositoryId, objectId, Constants.REL_ACL, Constants.MEDIATYPE_ACL);
}
UrlBuilder aclUrl = new UrlBuilder(link);
Modified: incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/AclServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/AclServiceImpl.java?rev=921459&r1=921458&r2=921459&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/AclServiceImpl.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/AclServiceImpl.java Wed Mar 10 17:19:13 2010
@@ -24,7 +24,6 @@ import org.apache.opencmis.client.provid
import org.apache.opencmis.client.provider.spi.atompub.objects.Acl;
import org.apache.opencmis.commons.api.ExtensionsData;
import org.apache.opencmis.commons.enums.AclPropagation;
-import org.apache.opencmis.commons.exceptions.CmisObjectNotFoundException;
import org.apache.opencmis.commons.impl.Constants;
import org.apache.opencmis.commons.impl.UrlBuilder;
import org.apache.opencmis.commons.provider.AccessControlList;
@@ -90,7 +89,7 @@ public class AclServiceImpl extends Abst
String link = loadLink(repositoryId, objectId, Constants.REL_ACL, Constants.MEDIATYPE_ACL);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or object or ACLs are not support!");
+ throwLinkException(repositoryId, objectId, Constants.REL_ACL, Constants.MEDIATYPE_ACL);
}
UrlBuilder url = new UrlBuilder(link);
Modified: incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/LinkCache.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/LinkCache.java?rev=921459&r1=921458&r2=921459&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/LinkCache.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/LinkCache.java Wed Mar 10 17:19:13 2010
@@ -137,6 +137,13 @@ public class LinkCache implements Serial
}
/**
+ * Checks a link.
+ */
+ public int checkLink(String repositoryId, String id, String rel, String type) {
+ return fLinkCache.check(repositoryId, id, rel, type);
+ }
+
+ /**
* Adds a type link.
*/
public void addTypeLink(String repositoryId, String id, String rel, String type, String link) {
Modified: incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/MultiFilingServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/MultiFilingServiceImpl.java?rev=921459&r1=921458&r2=921459&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/MultiFilingServiceImpl.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/MultiFilingServiceImpl.java Wed Mar 10 17:19:13 2010
@@ -60,7 +60,7 @@ public class MultiFilingServiceImpl exte
String link = loadLink(repositoryId, folderId, Constants.REL_DOWN, Constants.MEDIATYPE_CHILDREN);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or object!");
+ throwLinkException(repositoryId, folderId, Constants.REL_DOWN, Constants.MEDIATYPE_CHILDREN);
}
UrlBuilder url = new UrlBuilder(link);
Modified: incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/NavigationServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/NavigationServiceImpl.java?rev=921459&r1=921458&r2=921459&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/NavigationServiceImpl.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/NavigationServiceImpl.java Wed Mar 10 17:19:13 2010
@@ -83,7 +83,7 @@ public class NavigationServiceImpl exten
String link = loadLink(repositoryId, folderId, Constants.REL_DOWN, Constants.MEDIATYPE_CHILDREN);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or folder!");
+ throwLinkException(repositoryId, folderId, Constants.REL_DOWN, Constants.MEDIATYPE_CHILDREN);
}
UrlBuilder url = new UrlBuilder(link);
@@ -166,7 +166,8 @@ public class NavigationServiceImpl exten
Constants.MEDIATYPE_DESCENDANTS);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or folder!");
+ throwLinkException(repositoryId, folderId, Constants.REL_DOWN,
+ Constants.MEDIATYPE_DESCENDANTS);
}
UrlBuilder url = new UrlBuilder(link);
@@ -201,7 +202,7 @@ public class NavigationServiceImpl exten
String link = loadLink(repositoryId, folderId, Constants.REL_UP, Constants.MEDIATYPE_ENTRY);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or folder!");
+ throwLinkException(repositoryId, folderId, Constants.REL_UP, Constants.MEDIATYPE_ENTRY);
}
UrlBuilder url = new UrlBuilder(link);
@@ -263,7 +264,8 @@ public class NavigationServiceImpl exten
Constants.MEDIATYPE_DESCENDANTS);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or folder!");
+ throwLinkException(repositoryId, folderId, Constants.REL_FOLDERTREE,
+ Constants.MEDIATYPE_DESCENDANTS);
}
UrlBuilder url = new UrlBuilder(link);
@@ -301,7 +303,7 @@ public class NavigationServiceImpl exten
String link = loadLink(repositoryId, objectId, Constants.REL_UP, Constants.MEDIATYPE_FEED);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or folder or object has no parents!");
+ throwLinkException(repositoryId, objectId, Constants.REL_UP, Constants.MEDIATYPE_FEED);
}
UrlBuilder url = new UrlBuilder(link);
Modified: incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/ObjectServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/ObjectServiceImpl.java?rev=921459&r1=921458&r2=921459&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/ObjectServiceImpl.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/ObjectServiceImpl.java Wed Mar 10 17:19:13 2010
@@ -40,7 +40,6 @@ import org.apache.opencmis.commons.enums
import org.apache.opencmis.commons.exceptions.CmisConnectionException;
import org.apache.opencmis.commons.exceptions.CmisInvalidArgumentException;
import org.apache.opencmis.commons.exceptions.CmisNotSupportedException;
-import org.apache.opencmis.commons.exceptions.CmisObjectNotFoundException;
import org.apache.opencmis.commons.impl.Constants;
import org.apache.opencmis.commons.impl.ReturnVersion;
import org.apache.opencmis.commons.impl.UrlBuilder;
@@ -96,7 +95,7 @@ public class ObjectServiceImpl extends A
String link = loadLink(repositoryId, folderId, Constants.REL_DOWN, Constants.MEDIATYPE_CHILDREN);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or object!");
+ throwLinkException(repositoryId, folderId, Constants.REL_DOWN, Constants.MEDIATYPE_CHILDREN);
}
UrlBuilder url = new UrlBuilder(link);
@@ -170,7 +169,7 @@ public class ObjectServiceImpl extends A
String link = loadLink(repositoryId, folderId, Constants.REL_DOWN, Constants.MEDIATYPE_CHILDREN);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or object!");
+ throwLinkException(repositoryId, folderId, Constants.REL_DOWN, Constants.MEDIATYPE_CHILDREN);
}
UrlBuilder url = new UrlBuilder(link);
@@ -216,7 +215,7 @@ public class ObjectServiceImpl extends A
String link = loadLink(repositoryId, folderId, Constants.REL_DOWN, Constants.MEDIATYPE_CHILDREN);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or object!");
+ throwLinkException(repositoryId, folderId, Constants.REL_DOWN, Constants.MEDIATYPE_CHILDREN);
}
UrlBuilder url = new UrlBuilder(link);
@@ -274,7 +273,8 @@ public class ObjectServiceImpl extends A
Constants.MEDIATYPE_FEED);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or source object!");
+ throwLinkException(repositoryId, sourceId, Constants.REL_RELATIONSHIPS,
+ Constants.MEDIATYPE_FEED);
}
UrlBuilder url = new UrlBuilder(link);
@@ -322,7 +322,8 @@ public class ObjectServiceImpl extends A
Constants.MEDIATYPE_ENTRY);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or object!");
+ throwLinkException(repositoryId, objectId.getValue(), Constants.REL_SELF,
+ Constants.MEDIATYPE_ENTRY);
}
UrlBuilder url = new UrlBuilder(link);
@@ -403,7 +404,7 @@ public class ObjectServiceImpl extends A
String link = loadLink(repositoryId, objectId, Constants.REL_SELF, Constants.MEDIATYPE_ENTRY);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or object!");
+ throwLinkException(repositoryId, objectId, Constants.REL_SELF, Constants.MEDIATYPE_ENTRY);
}
UrlBuilder url = new UrlBuilder(link);
@@ -427,7 +428,8 @@ public class ObjectServiceImpl extends A
Constants.MEDIATYPE_DESCENDANTS);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or folder!");
+ throwLinkException(repositoryId, folderId, Constants.REL_DOWN,
+ Constants.MEDIATYPE_DESCENDANTS);
}
UrlBuilder url = new UrlBuilder(link);
@@ -461,7 +463,8 @@ public class ObjectServiceImpl extends A
Constants.MEDIATYPE_ALLOWABLEACTION);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or object!");
+ throwLinkException(repositoryId, objectId, Constants.REL_ALLOWABLEACTIONS,
+ Constants.MEDIATYPE_ALLOWABLEACTION);
}
UrlBuilder url = new UrlBuilder(link);
@@ -488,7 +491,7 @@ public class ObjectServiceImpl extends A
String link = loadLink(repositoryId, objectId, AtomPubParser.LINK_REL_CONTENT, null);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or object!");
+ throwLinkException(repositoryId, objectId, AtomPubParser.LINK_REL_CONTENT, null);
}
UrlBuilder url = new UrlBuilder(link);
@@ -604,7 +607,8 @@ public class ObjectServiceImpl extends A
Constants.MEDIATYPE_CHILDREN);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or object!");
+ throwLinkException(repositoryId, targetFolderId, Constants.REL_DOWN,
+ Constants.MEDIATYPE_CHILDREN);
}
UrlBuilder url = new UrlBuilder(link);
@@ -652,7 +656,7 @@ public class ObjectServiceImpl extends A
String link = loadLink(repositoryId, objectId.getValue(), Constants.REL_EDITMEDIA, null);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or object!");
+ throwLinkException(repositoryId, objectId.getValue(), Constants.REL_EDITMEDIA, null);
}
UrlBuilder url = new UrlBuilder(link);
@@ -709,7 +713,7 @@ public class ObjectServiceImpl extends A
String link = loadLink(repositoryId, objectId.getValue(), Constants.REL_EDITMEDIA, null);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or object!");
+ throwLinkException(repositoryId, objectId.getValue(), Constants.REL_EDITMEDIA, null);
}
UrlBuilder url = new UrlBuilder(link);
Modified: incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/PolicyServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/PolicyServiceImpl.java?rev=921459&r1=921458&r2=921459&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/PolicyServiceImpl.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/PolicyServiceImpl.java Wed Mar 10 17:19:13 2010
@@ -68,7 +68,7 @@ public class PolicyServiceImpl extends A
String link = loadLink(repositoryId, objectId, Constants.REL_POLICIES, Constants.MEDIATYPE_FEED);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or object!");
+ throwLinkException(repositoryId, objectId, Constants.REL_POLICIES, Constants.MEDIATYPE_FEED);
}
UrlBuilder url = new UrlBuilder(link);
@@ -98,7 +98,7 @@ public class PolicyServiceImpl extends A
String link = loadLink(repositoryId, objectId, Constants.REL_POLICIES, Constants.MEDIATYPE_FEED);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or object!");
+ throwLinkException(repositoryId, objectId, Constants.REL_POLICIES, Constants.MEDIATYPE_FEED);
}
UrlBuilder url = new UrlBuilder(link);
@@ -146,7 +146,7 @@ public class PolicyServiceImpl extends A
String link = loadLink(repositoryId, objectId, Constants.REL_POLICIES, Constants.MEDIATYPE_FEED);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or object!");
+ throwLinkException(repositoryId, objectId, Constants.REL_POLICIES, Constants.MEDIATYPE_FEED);
}
UrlBuilder url = new UrlBuilder(link);
Modified: incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/RelationshipServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/RelationshipServiceImpl.java?rev=921459&r1=921458&r2=921459&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/RelationshipServiceImpl.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/RelationshipServiceImpl.java Wed Mar 10 17:19:13 2010
@@ -30,7 +30,6 @@ import org.apache.opencmis.client.provid
import org.apache.opencmis.client.provider.spi.atompub.objects.AtomLink;
import org.apache.opencmis.commons.api.ExtensionsData;
import org.apache.opencmis.commons.enums.RelationshipDirection;
-import org.apache.opencmis.commons.exceptions.CmisObjectNotFoundException;
import org.apache.opencmis.commons.impl.Constants;
import org.apache.opencmis.commons.impl.UrlBuilder;
import org.apache.opencmis.commons.impl.dataobjects.ObjectListImpl;
@@ -57,8 +56,9 @@ public class RelationshipServiceImpl ext
/*
* (non-Javadoc)
*
- * @see org.apache.opencmis.client.provider.RelationshipService#getObjectRelationships(java.lang.String,
- * java.lang.String, java.lang.Boolean, org.apache.opencmis.commons.enums.RelationshipDirection,
+ * @see
+ * org.apache.opencmis.client.provider.RelationshipService#getObjectRelationships(java.lang.String
+ * , java.lang.String, java.lang.Boolean, org.apache.opencmis.commons.enums.RelationshipDirection,
* java.lang.String, java.lang.String, java.lang.Boolean, java.math.BigInteger,
* java.math.BigInteger, org.apache.opencmis.client.provider.ExtensionsData)
*/
@@ -73,7 +73,8 @@ public class RelationshipServiceImpl ext
Constants.MEDIATYPE_FEED);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or source object!");
+ throwLinkException(repositoryId, objectId, Constants.REL_RELATIONSHIPS,
+ Constants.MEDIATYPE_FEED);
}
UrlBuilder url = new UrlBuilder(link);
Modified: incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/VersioningServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/VersioningServiceImpl.java?rev=921459&r1=921458&r2=921459&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/VersioningServiceImpl.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-client/opencmis-provider-impl/src/main/java/org/apache/opencmis/client/provider/spi/atompub/VersioningServiceImpl.java Wed Mar 10 17:19:13 2010
@@ -127,7 +127,7 @@ public class VersioningServiceImpl exten
String link = loadLink(repositoryId, objectId, Constants.REL_SELF, Constants.MEDIATYPE_ENTRY);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or object!");
+ throwLinkException(repositoryId, objectId, Constants.REL_SELF, Constants.MEDIATYPE_ENTRY);
}
delete(new UrlBuilder(link));
@@ -138,9 +138,11 @@ public class VersioningServiceImpl exten
*
* @see org.apache.opencmis.client.provider.VersioningService#checkIn(java.lang.String,
* org.apache.opencmis.client.provider.Holder, java.lang.Boolean,
- * org.apache.opencmis.client.provider.PropertiesData, org.apache.opencmis.client.provider.ContentStreamData,
- * java.lang.String, java.util.List, org.apache.opencmis.client.provider.AccessControlList,
- * org.apache.opencmis.client.provider.AccessControlList, org.apache.opencmis.client.provider.ExtensionsData)
+ * org.apache.opencmis.client.provider.PropertiesData,
+ * org.apache.opencmis.client.provider.ContentStreamData, java.lang.String, java.util.List,
+ * org.apache.opencmis.client.provider.AccessControlList,
+ * org.apache.opencmis.client.provider.AccessControlList,
+ * org.apache.opencmis.client.provider.ExtensionsData)
*/
public void checkIn(String repositoryId, Holder<String> objectId, Boolean major,
PropertiesData properties, ContentStreamData contentStream, String checkinComment,
@@ -156,7 +158,8 @@ public class VersioningServiceImpl exten
Constants.MEDIATYPE_ENTRY);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or object!");
+ throwLinkException(repositoryId, objectId.getValue(), Constants.REL_SELF,
+ Constants.MEDIATYPE_ENTRY);
}
UrlBuilder url = new UrlBuilder(link);
@@ -169,10 +172,10 @@ public class VersioningServiceImpl exten
object.setProperties(convert(properties));
object.setPolicyIds(convertPolicyIds(policies));
- if(object.getProperties() == null) {
+ if (object.getProperties() == null) {
object.setProperties(new CmisPropertiesType());
}
-
+
String mediaType = null;
InputStream stream = null;
@@ -243,7 +246,8 @@ public class VersioningServiceImpl exten
Constants.MEDIATYPE_FEED);
if (link == null) {
- throw new CmisObjectNotFoundException("Unknown repository or folder!");
+ throwLinkException(repositoryId, versionSeriesId, Constants.REL_VERSIONHISTORY,
+ Constants.MEDIATYPE_FEED);
}
UrlBuilder url = new UrlBuilder(link);
@@ -284,8 +288,9 @@ public class VersioningServiceImpl exten
/*
* (non-Javadoc)
*
- * @see org.apache.opencmis.client.provider.VersioningService#getObjectOfLatestVersion(java.lang.String,
- * java.lang.String, java.lang.Boolean, java.lang.String, java.lang.Boolean,
+ * @see
+ * org.apache.opencmis.client.provider.VersioningService#getObjectOfLatestVersion(java.lang.String
+ * , java.lang.String, java.lang.Boolean, java.lang.String, java.lang.Boolean,
* org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String, java.lang.Boolean,
* java.lang.Boolean, org.apache.opencmis.client.provider.ExtensionsData)
*/
@@ -308,8 +313,8 @@ public class VersioningServiceImpl exten
* (non-Javadoc)
*
* @see
- * org.apache.opencmis.client.provider.VersioningService#getPropertiesOfLatestVersion(java.lang.String,
- * java.lang.String, java.lang.Boolean, java.lang.String,
+ * org.apache.opencmis.client.provider.VersioningService#getPropertiesOfLatestVersion(java.lang
+ * .String, java.lang.String, java.lang.Boolean, java.lang.String,
* org.apache.opencmis.client.provider.ExtensionsData)
*/
public PropertiesData getPropertiesOfLatestVersion(String repositoryId, String versionSeriesId,