mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Workaround for ALF-11140
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31720 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -2672,31 +2672,41 @@ public class AlfrescoCmisService extends AbstractCmisService
|
|||||||
{
|
{
|
||||||
CMISNodeInfo nodeInfo = getOrCreateNodeInfo(objectId);
|
CMISNodeInfo nodeInfo = getOrCreateNodeInfo(objectId);
|
||||||
|
|
||||||
// object info has not been found -> create one
|
if (nodeInfo.getObjectVariant() == CMISObjectVariant.INVALID_ID
|
||||||
try
|
|| nodeInfo.getObjectVariant() == CMISObjectVariant.NOT_EXISTING
|
||||||
|
|| nodeInfo.getObjectVariant() == CMISObjectVariant.NOT_A_CMIS_OBJECT
|
||||||
|
|| nodeInfo.getObjectVariant() == CMISObjectVariant.PERMISSION_DENIED)
|
||||||
{
|
{
|
||||||
if (filter == null)
|
|
||||||
{
|
|
||||||
filter = MIN_FILTER;
|
|
||||||
} else if (!filter.equals("*"))
|
|
||||||
{
|
|
||||||
filter = filter + "," + MIN_FILTER;
|
|
||||||
}
|
|
||||||
|
|
||||||
// get the object and its info
|
|
||||||
ObjectData object = connector.createCMISObject(nodeInfo, filter, false, includeRelationships, null,
|
|
||||||
false, false);
|
|
||||||
|
|
||||||
info = getObjectInfoIntern(repositoryId, object);
|
|
||||||
|
|
||||||
// add object info
|
|
||||||
objectInfoMap.put(objectId, info);
|
|
||||||
} catch (Exception e)
|
|
||||||
{
|
|
||||||
e.printStackTrace();
|
|
||||||
info = null;
|
info = null;
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
// object info has not been found -> create one
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (filter == null)
|
||||||
|
{
|
||||||
|
filter = MIN_FILTER;
|
||||||
|
} else if (!filter.equals("*"))
|
||||||
|
{
|
||||||
|
filter = filter + "," + MIN_FILTER;
|
||||||
|
}
|
||||||
|
|
||||||
|
// get the object and its info
|
||||||
|
ObjectData object = connector.createCMISObject(nodeInfo, filter, false, includeRelationships, null,
|
||||||
|
false, false);
|
||||||
|
|
||||||
|
info = getObjectInfoIntern(repositoryId, object);
|
||||||
|
|
||||||
|
// add object info
|
||||||
|
objectInfoMap.put(objectId, info);
|
||||||
|
} catch (Exception e)
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
info = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -282,6 +282,12 @@ public class CMISNodeInfoImpl implements CMISNodeInfo
|
|||||||
if (connector.getCheckOutCheckInService().isWorkingCopy(nodeRef))
|
if (connector.getCheckOutCheckInService().isWorkingCopy(nodeRef))
|
||||||
{
|
{
|
||||||
NodeRef checkedOut = connector.getCheckOutCheckInService().getCheckedOut(nodeRef);
|
NodeRef checkedOut = connector.getCheckOutCheckInService().getCheckedOut(nodeRef);
|
||||||
|
if (checkedOut == null)
|
||||||
|
{
|
||||||
|
// catch a rare audit case
|
||||||
|
checkedOut = nodeRef;
|
||||||
|
}
|
||||||
|
|
||||||
objecVariant = CMISObjectVariant.PWC;
|
objecVariant = CMISObjectVariant.PWC;
|
||||||
objectId = checkedOut.toString() + CMISConnector.ID_SEPERATOR + CMISConnector.PWC_VERSION_LABEL;
|
objectId = checkedOut.toString() + CMISConnector.ID_SEPERATOR + CMISConnector.PWC_VERSION_LABEL;
|
||||||
versionLabel = CMISConnector.PWC_VERSION_LABEL;
|
versionLabel = CMISConnector.PWC_VERSION_LABEL;
|
||||||
|
Reference in New Issue
Block a user