{
ImportPropertyData propertyData;
String sName = propertyInfo.getValues().get(0).toString();
InternalQName primaryTypeName = locationFactory.parseJCRName(sName).getInternalName();
ImportNodeData nodeData = (ImportNodeData)tree.pop();
if (!Constants.ROOT_UUID.equals(nodeData.getIdentifier()))
{
NodeData parentNodeData = getParent();
// nodeTypeDataManager.findChildNodeDefinition(primaryTypeName,)
if (!nodeTypeDataManager.isChildNodePrimaryTypeAllowed(primaryTypeName, parentNodeData.getPrimaryTypeName(),
parentNodeData.getMixinTypeNames()))
{
throw new ConstraintViolationException("Can't add node " + nodeData.getQName().getAsString() + " to "
+ parentNodeData.getQPath().getAsString() + " node type " + sName
+ " is not allowed as child's node type for parent node type "
+ parentNodeData.getPrimaryTypeName().getAsString());
}
}
//
nodeData.addNodeType((nodeTypeDataManager.getNodeType(primaryTypeName)));
nodeData.setPrimaryTypeName(primaryTypeName);
propertyData =
new ImportPropertyData(QPath.makeChildPath(nodeData.getQPath(), propertyInfo.getName()), propertyInfo
.getIndentifer(), 0, propertyInfo.getType(), nodeData.getIdentifier(), false);
propertyData.setValues(parseValues());
tree.push(nodeData);
return propertyData;
}