/** {@inheritDoc} */ public String[] getRequiredPrimaryTypeNames() throws RemoteException { return def.getRequiredPrimaryTypeNames(); }
private boolean isReqTypesContainsNodeType(NodeDefinition nd, String s1) { //Also check NTBase Cannot Be Added for (String name : nd.getRequiredPrimaryTypeNames()) { if ((!"nt:base".equals(s1)) && ("nt:unstructured".equals(s1) || name.equals(s1))) { return true; } } return false; }
private boolean hasRequiredPrimaryNodeType(final NodeDefinition definition) { for (String primaryNodeTypeName : definition.getRequiredPrimaryTypeNames()) { if (!nodeType.isNodeType(primaryNodeTypeName)) { return false; } } return true; }
private void processChildNodeDefinition( Node nodeTypeNode, NodeDefinition childNodeDefinition ) throws RepositoryException { Node childNode = nodeTypeNode.addNode(CHILD_NODE_DEFINITION, CHILD_NODE_DEFINITION); if (!RESIDUAL_ITEM_NAME.equals(childNodeDefinition.getName())) { childNode.setProperty(NAME, childNodeDefinition.getName()); } childNode.setProperty(AUTO_CREATED, childNodeDefinition.isAutoCreated()); childNode.setProperty(MANDATORY, childNodeDefinition.isMandatory()); childNode.setProperty(ON_PARENT_VERSION, OnParentVersionAction.nameFromValue(childNodeDefinition.getOnParentVersion())); childNode.setProperty(PROTECTED, childNodeDefinition.isProtected()); String[] requiredPrimaryTypeNames = childNodeDefinition.getRequiredPrimaryTypeNames(); childNode.setProperty(REQUIRED_PRIMARY_TYPES, requiredPrimaryTypeNames != null ? requiredPrimaryTypeNames : new String[0]); childNode.setProperty(SAME_NAME_SIBLINGS, childNodeDefinition.allowsSameNameSiblings()); childNode.setProperty(DEFAULT_PRIMARY_TYPE, childNodeDefinition.getDefaultPrimaryTypeName()); }
private void processChildNodeDefinition( Node nodeTypeNode, NodeDefinition childNodeDefinition ) throws RepositoryException { Node childNode = nodeTypeNode.addNode(CHILD_NODE_DEFINITION, CHILD_NODE_DEFINITION); if (!RESIDUAL_ITEM_NAME.equals(childNodeDefinition.getName())) { childNode.setProperty(NAME, childNodeDefinition.getName()); } childNode.setProperty(AUTO_CREATED, childNodeDefinition.isAutoCreated()); childNode.setProperty(MANDATORY, childNodeDefinition.isMandatory()); childNode.setProperty(ON_PARENT_VERSION, OnParentVersionAction.nameFromValue(childNodeDefinition.getOnParentVersion())); childNode.setProperty(PROTECTED, childNodeDefinition.isProtected()); String[] requiredPrimaryTypeNames = childNodeDefinition.getRequiredPrimaryTypeNames(); childNode.setProperty(REQUIRED_PRIMARY_TYPES, requiredPrimaryTypeNames != null ? requiredPrimaryTypeNames : new String[0]); childNode.setProperty(SAME_NAME_SIBLINGS, childNodeDefinition.allowsSameNameSiblings()); childNode.setProperty(DEFAULT_PRIMARY_TYPE, childNodeDefinition.getDefaultPrimaryTypeName()); }
for (NodeDefinition def : getNamedNodeDefinitions(childName)) { boolean match = true; if (childEffective != null && !childEffective.includesNodeTypes(def.getRequiredPrimaryTypeNames())) { match = false; if (childEffective != null && !childEffective.includesNodeTypes(def.getRequiredPrimaryTypeNames())) { match = false;
writeRequiredTypes(nd.getRequiredPrimaryTypeNames()); writeDefaultType(nd.getDefaultPrimaryTypeName()); if (nd.isMandatory()) {
writeRequiredTypes(nd.getRequiredPrimaryTypeNames()); writeDefaultType(nd.getDefaultPrimaryTypeName()); if (nd.isMandatory()) {
/** * Tests that the information from getRequiredPrimaryTypeNames() * matches getRequiredPrimaryTypes(). * * @since JCR 2.0 */ public void testGetRequiredPrimaryTypeNames() throws RepositoryException { // loop all node types for (NodeTypeIterator types = manager.getAllNodeTypes(); types.hasNext(); ) { NodeType type = types.nextNodeType(); NodeDefinition defs[] = type.getChildNodeDefinitions(); for (int i = 0; i < defs.length; i++) { NodeType requiredPrimaryTypes[] = defs[i].getRequiredPrimaryTypes(); Set<String> rptnames = new HashSet<String>(); for (int j = 0; j < requiredPrimaryTypes.length; j++) { rptnames.add(requiredPrimaryTypes[j].getName()); } Set<String> rptnames2 = new HashSet<String>(Arrays.asList(defs[i].getRequiredPrimaryTypeNames())); assertEquals("names returned from getRequiredPrimaryTypeNames should match types returned from getRequiredPrimaryTypes", rptnames, rptnames2); } } }
public NodeDefinitionTemplateImpl( NameMapper mapper, NodeDefinition definition) throws ConstraintViolationException { super(mapper, definition); setSameNameSiblings(definition.allowsSameNameSiblings()); setDefaultPrimaryTypeName(definition.getDefaultPrimaryTypeName()); setRequiredPrimaryTypeNames(definition.getRequiredPrimaryTypeNames()); }
public NodeDefinitionTemplateImpl( NameMapper mapper, NodeDefinition definition) throws ConstraintViolationException { super(mapper, definition); setSameNameSiblings(definition.allowsSameNameSiblings()); setDefaultPrimaryTypeName(definition.getDefaultPrimaryTypeName()); setRequiredPrimaryTypeNames(definition.getRequiredPrimaryTypeNames()); }
public NodeDefinitionTemplateImpl( NameMapper mapper, NodeDefinition definition) throws ConstraintViolationException { super(mapper, definition); setSameNameSiblings(definition.allowsSameNameSiblings()); setDefaultPrimaryTypeName(definition.getDefaultPrimaryTypeName()); setRequiredPrimaryTypeNames(definition.getRequiredPrimaryTypeNames()); }
private JcrNodeDefinition childNodeDefinitionFrom( NodeDefinition childNodeDefn ) { Name childNodeName = nameFactory.create(childNodeDefn.getName()); Name defaultPrimaryTypeName = nameFactory.create(childNodeDefn.getDefaultPrimaryTypeName()); int onParentVersion = childNodeDefn.getOnParentVersion(); boolean mandatory = childNodeDefn.isMandatory(); boolean allowsSns = childNodeDefn.allowsSameNameSiblings(); boolean autoCreated = childNodeDefn.isAutoCreated(); boolean isProtected = childNodeDefn.isProtected(); Name[] requiredTypes; String[] requiredTypeNames = childNodeDefn.getRequiredPrimaryTypeNames(); if (requiredTypeNames != null) { List<Name> names = new ArrayList<Name>(requiredTypeNames.length); for (String typeName : requiredTypeNames) { names.add(nameFactory.create(typeName)); } requiredTypes = names.toArray(new Name[names.size()]); } else { requiredTypes = new Name[0]; } NodeKey prototypeKey = repository.repositoryCache().getSystemKey(); return new JcrNodeDefinition(this.context, null, prototypeKey, childNodeName, onParentVersion, autoCreated, mandatory, isProtected, allowsSns, defaultPrimaryTypeName, requiredTypes); }
@Override public boolean canAddChildNode(String childNodeName, String nodeTypeName) { NodeType type; try { type = getManager().getNodeType(nodeTypeName); if (type.isAbstract()) { return false; } } catch (NoSuchNodeTypeException e) { return false; } catch (RepositoryException e) { log.warn("Unable to access node type " + nodeTypeName, e); return false; } // FIXME: properly calculate matching definition for (NodeDefinition definition : getChildNodeDefinitions()) { String name = definition.getName(); if (matches(childNodeName, name) || RESIDUAL_NAME.equals(name)) { if (definition.isProtected()) { return false; } for (String required : definition.getRequiredPrimaryTypeNames()) { if (type.isNodeType(required)) { return true; } } } } return false; }
@Override public boolean canAddChildNode(String childNodeName, String nodeTypeName) { NodeType type; try { type = getManager().getNodeType(nodeTypeName); if (type.isAbstract()) { return false; } } catch (NoSuchNodeTypeException e) { return false; } catch (RepositoryException e) { log.warn("Unable to access node type " + nodeTypeName, e); return false; } // FIXME: properly calculate matching definition for (NodeDefinition definition : getChildNodeDefinitions()) { String name = definition.getName(); if (matches(childNodeName, name) || RESIDUAL_NAME.equals(name)) { if (definition.isProtected()) { return false; } for (String required : definition.getRequiredPrimaryTypeNames()) { if (type.isNodeType(required)) { return true; } } } } return false; }
@Override public boolean canAddChildNode(String childNodeName, String nodeTypeName) { NodeType type; try { type = getManager().getNodeType(nodeTypeName); if (type.isAbstract()) { return false; } } catch (NoSuchNodeTypeException e) { return false; } catch (RepositoryException e) { log.warn("Unable to access node type " + nodeTypeName, e); return false; } // FIXME: properly calculate matching definition for (NodeDefinition definition : getChildNodeDefinitions()) { String name = definition.getName(); if (matches(childNodeName, name) || RESIDUAL_NAME.equals(name)) { if (definition.isProtected()) { return false; } for (String required : definition.getRequiredPrimaryTypeNames()) { if (type.isNodeType(required)) { return true; } } } } return false; }
private JcrNodeDefinition childNodeDefinitionFrom( NodeDefinition childNodeDefn ) { Name childNodeName = nameFactory.create(childNodeDefn.getName()); Name defaultPrimaryTypeName = nameFactory.create(childNodeDefn.getDefaultPrimaryTypeName()); int onParentVersion = childNodeDefn.getOnParentVersion(); boolean mandatory = childNodeDefn.isMandatory(); boolean allowsSns = childNodeDefn.allowsSameNameSiblings(); boolean autoCreated = childNodeDefn.isAutoCreated(); boolean isProtected = childNodeDefn.isProtected(); Name[] requiredTypes; String[] requiredTypeNames = childNodeDefn.getRequiredPrimaryTypeNames(); if (requiredTypeNames != null) { List<Name> names = new ArrayList<Name>(requiredTypeNames.length); for (String typeName : requiredTypeNames) { names.add(nameFactory.create(typeName)); } requiredTypes = names.toArray(new Name[names.size()]); } else { requiredTypes = new Name[0]; } NodeKey prototypeKey = repository.repositoryCache().getSystemKey(); return new JcrNodeDefinition(this.context, null, prototypeKey, childNodeName, onParentVersion, autoCreated, mandatory, isProtected, allowsSns, defaultPrimaryTypeName, requiredTypes); }
/** * Package private constructor * * @param def * @param resolver * @throws javax.jcr.nodetype.ConstraintViolationException */ NodeDefinitionTemplateImpl(NodeDefinition def, NamePathResolver resolver) throws ConstraintViolationException { super(def, resolver); requiredPrimaryTypes = def.getRequiredPrimaryTypes(); allowSameNameSiblings = def.allowsSameNameSiblings(); if (def instanceof NodeDefinitionImpl) { QNodeDefinition qDef = (QNodeDefinition) ((NodeDefinitionImpl) def).itemDef; requiredPrimaryTypeNames = qDef.getRequiredPrimaryTypes(); defaultPrimaryTypeName = qDef.getDefaultPrimaryType(); } else { setRequiredPrimaryTypeNames(def.getRequiredPrimaryTypeNames()); setDefaultPrimaryTypeName(def.getDefaultPrimaryTypeName()); } }
/** * Package private constructor * * @param def * @param resolver * @throws javax.jcr.nodetype.ConstraintViolationException */ NodeDefinitionTemplateImpl(NodeDefinition def, NamePathResolver resolver) throws ConstraintViolationException { super(def, resolver); requiredPrimaryTypes = def.getRequiredPrimaryTypes(); allowSameNameSiblings = def.allowsSameNameSiblings(); if (def instanceof NodeDefinitionImpl) { QNodeDefinition qDef = (QNodeDefinition) ((NodeDefinitionImpl) def).itemDef; requiredPrimaryTypeNames = qDef.getRequiredPrimaryTypes(); defaultPrimaryTypeName = qDef.getDefaultPrimaryType(); } else { setRequiredPrimaryTypeNames(def.getRequiredPrimaryTypeNames()); setDefaultPrimaryTypeName(def.getDefaultPrimaryTypeName()); } }
protected void assertChild( String nodeTypeName, String childName, String[] requiredTypes, String defaultPrimaryType, ChildOptions[] childOptions, OnParentVersion onParentVersioning ) { Set<ChildOptions> options = new HashSet<ChildOptions>(); for (ChildOptions option : childOptions) options.add(option); NodeTypeDefinition defn = defn(nodeTypeName); NodeDefinition childDefn = childDefn(defn, childName); assertThat(childDefn.getName(), is(childName)); assertThat(childDefn.getDefaultPrimaryTypeName(), is(defaultPrimaryType)); assertThat(childDefn.isMandatory(), is(options.contains(ChildOptions.Mandatory))); assertThat(childDefn.isAutoCreated(), is(options.contains(ChildOptions.Autocreated))); assertThat(childDefn.isProtected(), is(options.contains(ChildOptions.Protected))); assertThat(childDefn.allowsSameNameSiblings(), is(options.contains(ChildOptions.Sns))); assertThat(childDefn.getOnParentVersion(), is(opv(onParentVersioning))); assertThat(childDefn.getRequiredPrimaryTypeNames(), is(requiredTypes)); } }