diff --git a/source/java/org/alfresco/opencmis/AlfrescoCmisServiceImpl.java b/source/java/org/alfresco/opencmis/AlfrescoCmisServiceImpl.java index 2a78be7742..51d5cfca6a 100644 --- a/source/java/org/alfresco/opencmis/AlfrescoCmisServiceImpl.java +++ b/source/java/org/alfresco/opencmis/AlfrescoCmisServiceImpl.java @@ -37,7 +37,6 @@ import javax.servlet.http.HttpServletRequest; import net.sf.acegisecurity.Authentication; -import org.alfresco.cmis.CMISDictionaryModel; import org.alfresco.cmis.CMISInvalidArgumentException; import org.alfresco.model.ContentModel; import org.alfresco.opencmis.dictionary.CMISNodeInfo; @@ -168,11 +167,7 @@ public class AlfrescoCmisServiceImpl extends AbstractCmisService implements Alfr @Override public void open(CallContext context) { - CallContext ctx = getContext(); - if(ctx == null) - { - AlfrescoCmisServiceCall.set(context); - } + AlfrescoCmisServiceCall.set(context); } protected CallContext getContext() @@ -184,7 +179,7 @@ public class AlfrescoCmisServiceImpl extends AbstractCmisService implements Alfr @Override public void close() { - AlfrescoCmisServiceCall.clear(); + AlfrescoCmisServiceCall.clear(); // Put these resources on the transactions nodeInfoMap.clear(); @@ -492,7 +487,7 @@ public class AlfrescoCmisServiceImpl extends AbstractCmisService implements Alfr // create a child CMIS object CMISNodeInfo ni = createNodeInfo(child.getNodeRef()); - if (getObjectInfo(repositoryId, ni.getObjectId())==null) + if (getObjectInfo(repositoryId, ni.getObjectId(), includeRelationships)==null) { // ignore invalid children continue; @@ -1061,7 +1056,8 @@ public class AlfrescoCmisServiceImpl extends AbstractCmisService implements Alfr connector.getActivityPoster().postFileFolderAdded(nodeRef); - return nodeRef.getId(); + String objectId = connector.createObjectId(nodeRef); + return objectId; } private String parseMimeType(ContentStream contentStream) diff --git a/source/java/org/alfresco/opencmis/AlfrescoCmisServiceInterceptor.java b/source/java/org/alfresco/opencmis/AlfrescoCmisServiceInterceptor.java index 9fe98f9c35..0eecde2a03 100644 --- a/source/java/org/alfresco/opencmis/AlfrescoCmisServiceInterceptor.java +++ b/source/java/org/alfresco/opencmis/AlfrescoCmisServiceInterceptor.java @@ -83,7 +83,10 @@ public class AlfrescoCmisServiceInterceptor implements MethodInterceptor " Effective auth: " + AuthenticationUtil.getRunAsUser() + "\n"); } - service.beforeCall(); + if(!methodName.equalsIgnoreCase("close")) + { + service.beforeCall(); + } if(debug || trace) { @@ -101,7 +104,10 @@ public class AlfrescoCmisServiceInterceptor implements MethodInterceptor { FileFilterMode.clearClient(); - service.afterCall(); + if(!methodName.equalsIgnoreCase("close")) + { + service.afterCall(); + } if(debug || trace) {