From 59af34db38935cee814f881f72a9ea33e5ac4f80 Mon Sep 17 00:00:00 2001 From: Steven Glover Date: Wed, 28 Aug 2013 14:45:23 +0000 Subject: [PATCH] ALF-19592 "Intermittent 403 in CMIS Calls" git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@54589 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../alfresco/opencmis/AlfrescoCmisServiceImpl.java | 14 +++++--------- .../opencmis/AlfrescoCmisServiceInterceptor.java | 10 ++++++++-- 2 files changed, 13 insertions(+), 11 deletions(-) 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) {