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 2015/08/11 14:20:28 UTC
svn commit: r1695291 - in /chemistry/opencmis/trunk:
chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/
chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemi...
Author: fmui
Date: Tue Aug 11 12:20:27 2015
New Revision: 1695291
URL: http://svn.apache.org/r1695291
Log:
added Session.exists()
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/Session.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/SessionImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/basics/RootFolderTest.java
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/Session.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/Session.java?rev=1695291&r1=1695290&r2=1695291&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/Session.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-api/src/main/java/org/apache/chemistry/opencmis/client/api/Session.java Tue Aug 11 12:20:27 2015
@@ -620,6 +620,36 @@ public interface Session extends Seriali
Document getLatestDocumentVersion(String objectId, boolean major, OperationContext context);
/**
+ * Checks if an object with given object ID exists in the repository and is
+ * visible for the current user.
+ *
+ * If the object doesn't exist (anymore), it is removed from the cache.
+ *
+ * @param objectId
+ * object ID
+ * @return {@code true} if the object exists in the repository,
+ * {@code false} otherwise
+ *
+ * @cmis 1.0
+ */
+ boolean exists(ObjectId objectId);
+
+ /**
+ * Checks if an object with given object ID exists in the repository and is
+ * visible for the current user.
+ *
+ * If the object doesn't exist (anymore), it is removed from the cache.
+ *
+ * @param objectId
+ * object ID
+ * @return {@code true} if the object exists in the repository,
+ * {@code false} otherwise
+ *
+ * @cmis 1.0
+ */
+ boolean exists(String objectId);
+
+ /**
* Removes the given object from the cache.
*
* @param objectId
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/SessionImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/SessionImpl.java?rev=1695291&r1=1695290&r2=1695291&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/SessionImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/src/main/java/org/apache/chemistry/opencmis/client/runtime/SessionImpl.java Tue Aug 11 12:20:27 2015
@@ -84,6 +84,7 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.enums.VersioningState;
import org.apache.chemistry.opencmis.commons.exceptions.CmisConstraintException;
import org.apache.chemistry.opencmis.commons.exceptions.CmisNotSupportedException;
+import org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException;
import org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException;
import org.apache.chemistry.opencmis.commons.impl.ClassLoaderUtil;
import org.apache.chemistry.opencmis.commons.impl.Constants;
@@ -705,6 +706,24 @@ public class SessionImpl implements Sess
}
@Override
+ public boolean exists(ObjectId objectId) {
+ checkObjectId(objectId);
+ return exists(objectId.getId());
+ }
+
+ @Override
+ public boolean exists(String objectId) {
+ try {
+ binding.getObjectService().getObject(getRepositoryId(), objectId, "cmis:objectId", Boolean.FALSE,
+ IncludeRelationships.NONE, "cmis:none", Boolean.FALSE, Boolean.FALSE, null);
+ return true;
+ } catch (CmisObjectNotFoundException onf) {
+ removeObjectFromCache(objectId);
+ return false;
+ }
+ }
+
+ @Override
public void removeObjectFromCache(ObjectId objectId) {
checkObjectId(objectId);
removeObjectFromCache(objectId.getId());
Modified: chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/basics/RootFolderTest.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/basics/RootFolderTest.java?rev=1695291&r1=1695290&r2=1695291&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/basics/RootFolderTest.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/basics/RootFolderTest.java Tue Aug 11 12:20:27 2015
@@ -64,6 +64,11 @@ public class RootFolderTest extends Abst
return;
}
+ // check existence
+ failure = createResult(FAILURE, "Root folder doesn't exist?!");
+ addResult(assertIsTrue(session.exists(ri.getRootFolderId()), null, failure));
+
+ // check folder object
addResult(checkObject(session, rootFolder, getAllProperties(rootFolder), "Root folder object spec compliance"));
// folder and path