diff --git a/config/alfresco/core-services-context.xml b/config/alfresco/core-services-context.xml index 0d7a5d5765..2f1726e72d 100644 --- a/config/alfresco/core-services-context.xml +++ b/config/alfresco/core-services-context.xml @@ -1036,6 +1036,8 @@ + + diff --git a/config/alfresco/repository.properties b/config/alfresco/repository.properties index e78282f4e4..d35078c2c8 100644 --- a/config/alfresco/repository.properties +++ b/config/alfresco/repository.properties @@ -821,6 +821,10 @@ solr.solrPassword=solr # none, https solr.secureComms=https + +solr.max.total.connections=40 +solr.max.host.connections=40 + # Solr connection timeouts # solr connect timeout in ms solr.solrConnectTimeout=5000 diff --git a/source/java/org/alfresco/opencmis/CMISConnector.java b/source/java/org/alfresco/opencmis/CMISConnector.java index a9dc1f6cfe..b9620cd247 100644 --- a/source/java/org/alfresco/opencmis/CMISConnector.java +++ b/source/java/org/alfresco/opencmis/CMISConnector.java @@ -1198,16 +1198,20 @@ public class CMISConnector implements ApplicationContextAware, ApplicationListen Set filterSet = splitFilter(filter); - for (PropertyDefinitionWrapper propDef : info.getType().getProperties()) + for (PropertyDefinitionWrapper propDefWrap : info.getType().getProperties()) { - if ((filterSet != null) && (!filterSet.contains(propDef.getPropertyDefinition().getQueryName()))) + PropertyDefinition propDef = propDefWrap.getPropertyDefinition(); + if ((filterSet != null) && (!filterSet.contains(propDef.getQueryName()))) { // skip properties that are not in the filter continue; } - Serializable value = propDef.getPropertyAccessor().getValue(info); - result.addProperty(getProperty(propDef.getPropertyDefinition().getPropertyType(), propDef, value)); + CMISPropertyAccessor cmisPropertyAccessor = propDefWrap.getPropertyAccessor(); + Serializable value = cmisPropertyAccessor.getValue(info); + PropertyType propType = propDef.getPropertyType(); + PropertyData propertyData = getProperty(propType, propDefWrap, value); + result.addProperty(propertyData); } return result; diff --git a/source/java/org/alfresco/opencmis/CMISNodeInfoImpl.java b/source/java/org/alfresco/opencmis/CMISNodeInfoImpl.java index f71c629185..2e4cd1bfda 100644 --- a/source/java/org/alfresco/opencmis/CMISNodeInfoImpl.java +++ b/source/java/org/alfresco/opencmis/CMISNodeInfoImpl.java @@ -275,7 +275,8 @@ public class CMISNodeInfoImpl implements CMISNodeInfo objectId = nodeRef.toString(); currentObjectId = objectId; return; - } else if (getType() == null) + } + else if (getType() == null) { objecVariant = CMISObjectVariant.NOT_A_CMIS_OBJECT; return; @@ -308,7 +309,8 @@ public class CMISNodeInfoImpl implements CMISNodeInfo objectId = nodeRef.toString() + CMISConnector.ID_SEPERATOR + CMISConnector.UNVERSIONED_VERSION_LABEL; versionLabel = CMISConnector.UNVERSIONED_VERSION_LABEL; currentObjectId = objectId; - } else + } + else { Version headVersion = versionHistory.getHeadVersion(); @@ -322,7 +324,7 @@ public class CMISNodeInfoImpl implements CMISNodeInfo : CMISObjectVariant.VERSION); } - hasPWC = connector.getCheckOutCheckInService().isCheckedOut(getCurrentNodeNodeRef()); + hasPWC = connector.getCheckOutCheckInService().isCheckedOut(nodeRef); } protected void analyseAssociationRef() diff --git a/source/java/org/alfresco/opencmis/mapping/TargetIdProperty.java b/source/java/org/alfresco/opencmis/mapping/TargetIdProperty.java index 60a013bf03..16a266210d 100644 --- a/source/java/org/alfresco/opencmis/mapping/TargetIdProperty.java +++ b/source/java/org/alfresco/opencmis/mapping/TargetIdProperty.java @@ -23,6 +23,7 @@ import java.io.Serializable; import org.alfresco.opencmis.CMISConnector; import org.alfresco.opencmis.dictionary.CMISNodeInfo; import org.alfresco.service.ServiceRegistry; +import org.alfresco.service.cmr.repository.NodeRef; import org.apache.chemistry.opencmis.commons.PropertyIds; /** @@ -44,6 +45,7 @@ public class TargetIdProperty extends AbstractProperty public Serializable getValueInternal(CMISNodeInfo nodeInfo) { - return createNodeInfo(nodeInfo.getAssociationRef().getTargetRef()).getObjectId(); + NodeRef targetNodeRef = nodeInfo.getAssociationRef().getTargetRef(); + return createNodeInfo(targetNodeRef).getObjectId(); } }