diff --git a/source/java/org/alfresco/opencmis/CMISNodeInfoImpl.java b/source/java/org/alfresco/opencmis/CMISNodeInfoImpl.java index cd11e3cf92..166d68c612 100644 --- a/source/java/org/alfresco/opencmis/CMISNodeInfoImpl.java +++ b/source/java/org/alfresco/opencmis/CMISNodeInfoImpl.java @@ -20,6 +20,7 @@ package org.alfresco.opencmis; import java.io.Serializable; import java.util.ArrayList; +import java.util.Collections; import java.util.GregorianCalendar; import java.util.HashMap; import java.util.List; @@ -344,6 +345,11 @@ public class CMISNodeInfoImpl implements CMISNodeInfo { type = null; + if((objecVariant == CMISObjectVariant.INVALID_ID) || (objecVariant == CMISObjectVariant.NOT_A_CMIS_OBJECT) || (objecVariant == CMISObjectVariant.NOT_EXISTING) || (objecVariant == CMISObjectVariant.PERMISSION_DENIED)) + { + return; + } + if (nodeRef != null) { QName typeQName = connector.getNodeService().getType(nodeRef); @@ -528,6 +534,11 @@ public class CMISNodeInfoImpl implements CMISNodeInfo public String getName() { + if((objecVariant == CMISObjectVariant.INVALID_ID) || (objecVariant == CMISObjectVariant.NOT_A_CMIS_OBJECT) || (objecVariant == CMISObjectVariant.NOT_EXISTING) || (objecVariant == CMISObjectVariant.PERMISSION_DENIED)) + { + return null; + } + if (name == null) { if (isRelationship()) @@ -545,6 +556,11 @@ public class CMISNodeInfoImpl implements CMISNodeInfo public String getPath() { + if((objecVariant == CMISObjectVariant.INVALID_ID) || (objecVariant == CMISObjectVariant.NOT_A_CMIS_OBJECT) || (objecVariant == CMISObjectVariant.NOT_EXISTING) || (objecVariant == CMISObjectVariant.PERMISSION_DENIED)) + { + return null; + } + if (cmisPath == null) { StringBuilder displayPath = new StringBuilder(64); @@ -783,6 +799,11 @@ public class CMISNodeInfoImpl implements CMISNodeInfo @Override public List getParents() { + if((objecVariant == CMISObjectVariant.INVALID_ID) || (objecVariant == CMISObjectVariant.NOT_A_CMIS_OBJECT) || (objecVariant == CMISObjectVariant.NOT_EXISTING) || (objecVariant == CMISObjectVariant.PERMISSION_DENIED)) + { + return Collections.emptyList(); + } + if (parents == null) { parents = new ArrayList(); diff --git a/source/java/org/alfresco/opencmis/search/QueryTest.java b/source/java/org/alfresco/opencmis/search/QueryTest.java index e665d2bb1e..4ca0de7411 100644 --- a/source/java/org/alfresco/opencmis/search/QueryTest.java +++ b/source/java/org/alfresco/opencmis/search/QueryTest.java @@ -3517,7 +3517,7 @@ public class QueryTest extends BaseCMISTest rs.close(); } - public void DISABLED_testBasicAllFolderColumns() + public void testBasicAllFolderColumns() { CMISQueryOptions options = new CMISQueryOptions("SELECT * FROM cmis:folder AS DOC", cmisConnector.getRootStoreRef()); CMISResultSet rs = cmisQueryService.query(options);