You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by je...@apache.org on 2010/06/22 10:26:40 UTC
svn commit: r956812 - in
/incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src:
main/java/org/apache/chemistry/opencmis/inmemory/server/
test/java/org/apache/chemistry/opencmis/inmemory/
Author: jens
Date: Tue Jun 22 08:26:40 2010
New Revision: 956812
URL: http://svn.apache.org/viewvc?rev=956812&view=rev
Log:
InMemoryServer: Fix exception type on getContent() if document has no content
Modified:
incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryObjectServiceImpl.java
incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/ObjectServiceTest.java
Modified: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryObjectServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryObjectServiceImpl.java?rev=956812&r1=956811&r2=956812&view=diff
==============================================================================
--- incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryObjectServiceImpl.java (original)
+++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryObjectServiceImpl.java Tue Jun 22 08:26:40 2010
@@ -339,10 +339,14 @@ public class InMemoryObjectServiceImpl e
throw new CmisObjectNotFoundException("Unknown object id: " + objectId);
if (!(so instanceof Content))
- throw new CmisObjectNotFoundException("Id" + objectId
+ throw new CmisConstraintException("Id" + objectId
+ " does not refer to a document or version, but only those can have content");
ContentStream csd = getContentStream(so, streamId, offset, length);
+
+ if (null == csd)
+ throw new CmisConstraintException("Object " + so.getId() + " does not have content.");
+
LOG.debug("stop getContentStream()");
return csd;
}
Modified: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/ObjectServiceTest.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/ObjectServiceTest.java?rev=956812&r1=956811&r2=956812&view=diff
==============================================================================
--- incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/ObjectServiceTest.java (original)
+++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/ObjectServiceTest.java Tue Jun 22 08:26:40 2010
@@ -216,10 +216,13 @@ public class ObjectServiceTest extends A
// delete content again
Holder<String> idHolder = new Holder<String>(id);
fObjSvc.deleteContentStream(fRepositoryId, idHolder, null, null);
- sd = fObjSvc.getContentStream(fRepositoryId, id, null, BigInteger.valueOf(-1) /* offset */, BigInteger
- .valueOf(-1) /* length */, null);
- assertNull(sd);
-
+ try {
+ sd = fObjSvc.getContentStream(fRepositoryId, id, null, BigInteger.valueOf(-1) /* offset */, BigInteger
+ .valueOf(-1) /* length */, null);
+ fail("getContentStream with non existing content should raise a CmisConstraintException");
+ } catch (Exception e) {
+ assertTrue(e instanceof CmisConstraintException);
+ }
// create content again in a second call
ContentStream contentStream = createContent();
fObjSvc.setContentStream(fRepositoryId, idHolder, true, null, contentStream, null);