Fixed NPE for invalid nodes; check for null 'nodeInfo.getType()'

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32123 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2011-11-20 21:41:30 +00:00
parent 37edc9916a
commit beaec01727

View File

@@ -26,8 +26,7 @@ import org.alfresco.service.ServiceRegistry;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
/** /**
* A simple 1-1 property mapping from a CMIS property name to an alfresco * A simple 1-1 property mapping from a CMIS property name to an alfresco property
* property
* *
* @author florian.mueller * @author florian.mueller
*/ */
@@ -37,10 +36,6 @@ public class DirectProperty extends AbstractProperty
/** /**
* Construct * Construct
*
* @param serviceRegistry
* @param propertyName
* @param alfrescoName
*/ */
public DirectProperty(ServiceRegistry serviceRegistry, CMISConnector connector, String propertyName, public DirectProperty(ServiceRegistry serviceRegistry, CMISConnector connector, String propertyName,
QName alfrescoName) QName alfrescoName)
@@ -56,12 +51,20 @@ public class DirectProperty extends AbstractProperty
public Serializable getValueInternal(CMISNodeInfo nodeInfo) public Serializable getValueInternal(CMISNodeInfo nodeInfo)
{ {
if (nodeInfo.getType() == null)
{
// Invalid node
return null;
}
if (nodeInfo.getNodeRef() != null) if (nodeInfo.getNodeRef() != null)
{ {
return getServiceRegistry().getNodeService().getProperty(nodeInfo.getNodeRef(), alfrescoName); return getServiceRegistry().getNodeService().getProperty(nodeInfo.getNodeRef(), alfrescoName);
} else if (nodeInfo.getAssociationRef() != null) }
else if (nodeInfo.getAssociationRef() != null)
{ {
return getServiceRegistry().getNodeService().getProperty(nodeInfo.getAssociationRef().getSourceRef(), return getServiceRegistry().getNodeService().getProperty(
nodeInfo.getAssociationRef().getSourceRef(),
alfrescoName); alfrescoName);
} }