in src/main/java/org/apache/jackrabbit/ocm/manager/objectconverter/impl/ObjectConverterImpl.java [567:589]
private void checkCompatiblePrimaryNodeTypes(Session session, Node node, ClassDescriptor classDescriptor,
boolean checkVersionNode) {
try {
NodeType nodeType = node.getPrimaryNodeType();
boolean compatible = checkCompatibleNodeTypes(nodeType, classDescriptor);
if (!compatible && checkVersionNode && ManagerConstant.FROZEN_NODE_TYPE.equals(nodeType.getName())) {
NodeTypeManager ntMgr = session.getWorkspace().getNodeTypeManager();
nodeType = ntMgr.getNodeType(node.getProperty(ManagerConstant.FROZEN_PRIMARY_TYPE_PROPERTY).getString());
compatible = checkCompatibleNodeTypes(nodeType, classDescriptor);
}
if (!compatible) {
throw new ObjectContentManagerException("Cannot map object of type '" + classDescriptor.getClassName() + "'. Node type '"
+ node.getPrimaryNodeType().getName() + "' does not match descriptor node type '"
+ classDescriptor.getJcrType() + "'");
}
} catch (RepositoryException re) {
throw new org.apache.jackrabbit.ocm.exception.RepositoryException(re);
}
}