Fix for now-missing children of versioned parents

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4766 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2007-01-09 17:51:36 +00:00
parent 77a6217b8d
commit df8a53ce33

View File

@@ -422,25 +422,28 @@ public class NodeServiceImpl implements NodeService, VersionModel
NodeRef childRef = childAssocRef.getChildRef(); NodeRef childRef = childAssocRef.getChildRef();
NodeRef referencedNode = (NodeRef)this.dbNodeService.getProperty(childRef, ContentModel.PROP_REFERENCE); NodeRef referencedNode = (NodeRef)this.dbNodeService.getProperty(childRef, ContentModel.PROP_REFERENCE);
// get the qualified name of the frozen child association and filter out unwanted names if (this.dbNodeService.exists(referencedNode) == true)
QName qName = (QName)this.dbNodeService.getProperty(childRef, PROP_QNAME_ASSOC_QNAME);
if (qnamePattern.isMatch(qName) == true)
{ {
// Retrieve the isPrimary and nthSibling values of the forzen child association // get the qualified name of the frozen child association and filter out unwanted names
QName assocType = (QName)this.dbNodeService.getProperty(childRef, PROP_QNAME_ASSOC_TYPE_QNAME); QName qName = (QName)this.dbNodeService.getProperty(childRef, PROP_QNAME_ASSOC_QNAME);
boolean isPrimary = ((Boolean)this.dbNodeService.getProperty(childRef, PROP_QNAME_IS_PRIMARY)).booleanValue();
int nthSibling = ((Integer)this.dbNodeService.getProperty(childRef, PROP_QNAME_NTH_SIBLING)).intValue();
// Build a child assoc ref to add to the returned list if (qnamePattern.isMatch(qName) == true)
ChildAssociationRef newChildAssocRef = new ChildAssociationRef( {
assocType, // Retrieve the isPrimary and nthSibling values of the forzen child association
nodeRef, QName assocType = (QName)this.dbNodeService.getProperty(childRef, PROP_QNAME_ASSOC_TYPE_QNAME);
qName, boolean isPrimary = ((Boolean)this.dbNodeService.getProperty(childRef, PROP_QNAME_IS_PRIMARY)).booleanValue();
referencedNode, int nthSibling = ((Integer)this.dbNodeService.getProperty(childRef, PROP_QNAME_NTH_SIBLING)).intValue();
isPrimary,
nthSibling); // Build a child assoc ref to add to the returned list
result.add(newChildAssocRef); ChildAssociationRef newChildAssocRef = new ChildAssociationRef(
assocType,
nodeRef,
qName,
referencedNode,
isPrimary,
nthSibling);
result.add(newChildAssocRef);
}
} }
} }
@@ -506,13 +509,16 @@ public class NodeServiceImpl implements NodeService, VersionModel
NodeRef childRef = childAssocRef.getChildRef(); NodeRef childRef = childAssocRef.getChildRef();
NodeRef referencedNode = (NodeRef)this.dbNodeService.getProperty(childRef, ContentModel.PROP_REFERENCE); NodeRef referencedNode = (NodeRef)this.dbNodeService.getProperty(childRef, ContentModel.PROP_REFERENCE);
// get the qualified type name of the frozen child association and filter out unwanted names if (this.dbNodeService.exists(referencedNode) == true)
QName qName = (QName)this.dbNodeService.getProperty(childRef, PROP_QNAME_ASSOC_TYPE_QNAME);
if (qnamePattern.isMatch(qName) == true)
{ {
AssociationRef newAssocRef = new AssociationRef(sourceRef, qName, referencedNode); // get the qualified type name of the frozen child association and filter out unwanted names
result.add(newAssocRef); QName qName = (QName)this.dbNodeService.getProperty(childRef, PROP_QNAME_ASSOC_TYPE_QNAME);
if (qnamePattern.isMatch(qName) == true)
{
AssociationRef newAssocRef = new AssociationRef(sourceRef, qName, referencedNode);
result.add(newAssocRef);
}
} }
} }