/** * Sets the on-parent-version status of the child item. * * @param opv an <code>int</code> constant member of <code>OnParentVersionAction</code>. * @throws IllegalArgumentException If the given <code>opv</code> flag isn't valid. */ public void setOnParentVersion(int opv) { // validate the given opv-action OnParentVersionAction.nameFromValue(opv); this.opv = opv; }
/** * Sets the on-parent-version status of the child item. * * @param opv an <code>int</code> constant member of <code>OnParentVersionAction</code>. * @throws IllegalArgumentException If the given <code>opv</code> flag isn't valid. */ public void setOnParentVersion(int opv) { // validate the given opv-action OnParentVersionAction.nameFromValue(opv); this.opv = opv; }
public void setOnParentVersion(int onParentVersion) { OnParentVersionAction.nameFromValue(onParentVersion); // validate this.onParentVersion = onParentVersion; }
public void setOnParentVersion(int onParentVersion) { OnParentVersionAction.nameFromValue(onParentVersion); // validate this.onParentVersion = onParentVersion; }
public void setOnParentVersion(int onParentVersion) { OnParentVersionAction.nameFromValue(onParentVersion); // validate this.onParentVersion = onParentVersion; }
/** * Add a child node to the versionable node created in the setup with the * name and nodetype name defined in the corresponding configuration. After * creation of the child node, an assertion is made for the proper onParentVersion * behaviour. * <p> * NOTE: the child node is removed together with the versionable node after * each test. * * @param requiredOpvBehaviour * @return * @throws RepositoryException */ protected Node addChildNode(int requiredOpvBehaviour) throws RepositoryException { if (childNodeTypeName == null) { fail("Undefined node type for the child node with OnParentVersion "+OnParentVersionAction.nameFromValue(requiredOpvBehaviour)); } Node childNode = versionableNode.addNode(nodeName4, childNodeTypeName); if (childNode.getDefinition().getOnParentVersion() != requiredOpvBehaviour) { fail("The childnode "+childNode.getPath()+" does not provide the required OnParentVersion behaviour "+OnParentVersionAction.nameFromValue(requiredOpvBehaviour)); } return childNode; } }
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()); }
/** * Returns the Xml representation of a {@link ItemDefinition} object. * * @return Xml representation of the specified {@link ItemDefinition def}. * @param document */ public Element toXml(Document document) { Element elem = document.createElement(getElementName()); NodeType dnt = getDeclaringNodeType(); if (dnt != null) { elem.setAttribute(DECLARINGNODETYPE_ATTRIBUTE, dnt.getName()); } elem.setAttribute(NAME_ATTRIBUTE, getName()); elem.setAttribute(AUTOCREATED_ATTRIBUTE, Boolean.toString(isAutoCreated())); elem.setAttribute(MANDATORY_ATTRIBUTE, Boolean.toString(isMandatory())); elem.setAttribute(ONPARENTVERSION_ATTRIBUTE, OnParentVersionAction.nameFromValue(getOnParentVersion())); elem.setAttribute(PROTECTED_ATTRIBUTE, Boolean.toString(isProtected())); return elem; }
@Override public String toString() { StringBuilder builder = new StringBuilder("+ "); if (getOakName() == null) { builder.append(RESIDUAL_NAME); } else { builder.append(getOakName()); } if (defaultPrimaryTypeOakName != null) { builder.append(" ("); builder.append(defaultPrimaryTypeOakName); builder.append(")"); } if (isAutoCreated()) { builder.append(" a"); } if (isProtected()) { builder.append(" p"); } if (isMandatory()) { builder.append(" m"); } if (getOnParentVersion() != OnParentVersionAction.COPY) { builder.append(" "); builder.append(OnParentVersionAction.nameFromValue(getOnParentVersion())); } return builder.toString(); }
@Override public String toString() { StringBuilder builder = new StringBuilder("+ "); if (getOakName() == null) { builder.append(RESIDUAL_NAME); } else { builder.append(getOakName()); } if (defaultPrimaryTypeOakName != null) { builder.append(" ("); builder.append(defaultPrimaryTypeOakName); builder.append(")"); } if (isAutoCreated()) { builder.append(" a"); } if (isProtected()) { builder.append(" p"); } if (isMandatory()) { builder.append(" m"); } if (getOnParentVersion() != OnParentVersionAction.COPY) { builder.append(" "); builder.append(OnParentVersionAction.nameFromValue(getOnParentVersion())); } return builder.toString(); }
protected void setUp() throws Exception { super.setUp(); childNodeTypeName = getProperty("nodetype"); // set the property p = versionableNode.setProperty(propertyName1, initialPropValue); // assert that property has the proper opv-behaviour PropertyDefinition pd = p.getDefinition(); if (pd.getOnParentVersion() != OPVAction) { fail("JCR Property at '"+p.getPath()+"' does not have the required OnParentVersion "+OnParentVersionAction.nameFromValue(OPVAction)+" definition."); } testRootNode.getSession().save(); }
private void processPropertyDefinition( Node nodeTypeNode, PropertyDefinition propertyDefinition ) throws RepositoryException { Node propertyDefinitionNode = nodeTypeNode.addNode(PROPERTY_DEFINITION, PROPERTY_DEFINITION); if (!RESIDUAL_ITEM_NAME.equals(propertyDefinition.getName())) { propertyDefinitionNode.setProperty(NAME, propertyDefinition.getName()); } propertyDefinitionNode.setProperty(AUTO_CREATED, propertyDefinition.isAutoCreated()); propertyDefinitionNode.setProperty(MANDATORY, propertyDefinition.isMandatory()); propertyDefinitionNode.setProperty(MULTIPLE, propertyDefinition.isMultiple()); propertyDefinitionNode.setProperty(PROTECTED, propertyDefinition.isProtected()); propertyDefinitionNode.setProperty(ON_PARENT_VERSION, OnParentVersionAction.nameFromValue(propertyDefinition.getOnParentVersion())); propertyDefinitionNode.setProperty(REQUIRED_TYPE, org.modeshape.jcr.api.PropertyType.nameFromValue(propertyDefinition.getRequiredType()) .toUpperCase()); String[] availableQueryOperators = propertyDefinition.getAvailableQueryOperators(); propertyDefinitionNode.setProperty(AVAILABLE_QUERY_OPERATORS, availableQueryOperators != null ? availableQueryOperators : new String[0]); Value[] defaultValues = propertyDefinition.getDefaultValues(); propertyDefinitionNode.setProperty(DEFAULT_VALUES, defaultValues != null ? defaultValues : new Value[0]); String[] valueConstraints = propertyDefinition.getValueConstraints(); propertyDefinitionNode.setProperty(VALUE_CONSTRAINTS, valueConstraints != null ? valueConstraints : new String[0]); propertyDefinitionNode.setProperty(IS_FULL_TEXT_SEARCHABLE, propertyDefinition.isFullTextSearchable()); propertyDefinitionNode.setProperty(IS_QUERY_ORDERABLE, propertyDefinition.isQueryOrderable()); }
private void processPropertyDefinition( Node nodeTypeNode, PropertyDefinition propertyDefinition ) throws RepositoryException { Node propertyDefinitionNode = nodeTypeNode.addNode(PROPERTY_DEFINITION, PROPERTY_DEFINITION); if (!RESIDUAL_ITEM_NAME.equals(propertyDefinition.getName())) { propertyDefinitionNode.setProperty(NAME, propertyDefinition.getName()); } propertyDefinitionNode.setProperty(AUTO_CREATED, propertyDefinition.isAutoCreated()); propertyDefinitionNode.setProperty(MANDATORY, propertyDefinition.isMandatory()); propertyDefinitionNode.setProperty(MULTIPLE, propertyDefinition.isMultiple()); propertyDefinitionNode.setProperty(PROTECTED, propertyDefinition.isProtected()); propertyDefinitionNode.setProperty(ON_PARENT_VERSION, OnParentVersionAction.nameFromValue(propertyDefinition.getOnParentVersion())); propertyDefinitionNode.setProperty(REQUIRED_TYPE, org.modeshape.jcr.api.PropertyType.nameFromValue(propertyDefinition.getRequiredType()) .toUpperCase()); String[] availableQueryOperators = propertyDefinition.getAvailableQueryOperators(); propertyDefinitionNode.setProperty(AVAILABLE_QUERY_OPERATORS, availableQueryOperators != null ? availableQueryOperators : new String[0]); Value[] defaultValues = propertyDefinition.getDefaultValues(); propertyDefinitionNode.setProperty(DEFAULT_VALUES, defaultValues != null ? defaultValues : new Value[0]); String[] valueConstraints = propertyDefinition.getValueConstraints(); propertyDefinitionNode.setProperty(VALUE_CONSTRAINTS, valueConstraints != null ? valueConstraints : new String[0]); propertyDefinitionNode.setProperty(IS_FULL_TEXT_SEARCHABLE, propertyDefinition.isFullTextSearchable()); propertyDefinitionNode.setProperty(IS_QUERY_ORDERABLE, propertyDefinition.isQueryOrderable()); }
public static String serializeType(int propertyType) { String r = OnParentVersionAction.ACTIONNAME_IGNORE; // default try { r = OnParentVersionAction.nameFromValue(propertyType); } catch (IllegalArgumentException e) { // r = PropertyType.TYPENAME_UNDEFINED; if (LOG.isTraceEnabled()) { LOG.trace("An exception occurred: " + e.getMessage()); } } catch (Exception e) { // r = PropertyType.TYPENAME_UNDEFINED; if (LOG.isTraceEnabled()) { LOG.trace("An exception occurred: " + e.getMessage()); } } return r; }
/** * Create a {@link NodeDefinitionTemplate} set as 'childNodeDefinition' on a 'nodeType'.<br> * * @param name if blank, set '*' as value. * @param onParentVersion if not a valid {@link OnParentVersionAction} constant, set {@link OnParentVersionAction#IGNORE} as value. */ public static NodeDefinitionTemplate createChildNodeDefinition(NodeTypeManager nodeTypeManager, boolean isAutoCreated, boolean isMandatory, boolean isProtected, boolean allowSameNameSiblings, String defaultPrimaryTypeName, String name, int onParentVersion, String[] requiredPrimaryTypeNames) throws RepositoryException { // Create child node NodeDefinitionTemplate childNodeType = nodeTypeManager.createNodeDefinitionTemplate(); if (StringUtils.isNotBlank(defaultPrimaryTypeName)) { childNodeType.setDefaultPrimaryTypeName(defaultPrimaryTypeName); } childNodeType.setName(StringUtils.isBlank(name) ? "*" : name); childNodeType.setMandatory(isMandatory); childNodeType.setSameNameSiblings(allowSameNameSiblings); childNodeType.setAutoCreated(isAutoCreated); childNodeType.setProtected(isProtected); // Set OnParentVersionAction try { OnParentVersionAction.nameFromValue(onParentVersion); } catch (IllegalArgumentException ie) { log.warn("OnParentVersionAction constant definition '{}' is not valid. IGNORE will be set", onParentVersion); onParentVersion = OnParentVersionAction.IGNORE; } childNodeType.setOnParentVersion(onParentVersion); childNodeType.setRequiredPrimaryTypeNames(requiredPrimaryTypeNames); return childNodeType; }
/** * Writes the contents of this item definition to the given tree node. * Used when registering new node types. * * @param tree an {@code nt:propertyDefinition} or * {@code nt:childNodeDefinition} node * @throws RepositoryException if this definition could not be written */ void writeTo(Tree tree) throws RepositoryException { if (!residual) { String oakName = getOakName(); if (oakName == null) { throw new RepositoryException("Unnamed item definition"); } tree.setProperty(JCR_NAME, oakName, Type.NAME); } else { tree.removeProperty(JCR_NAME); } // TODO avoid (in validator?) unbounded recursive auto creation. // See 3.7.2.3.5 Chained Auto-creation (OAK-411) tree.setProperty(JCR_AUTOCREATED, isAutoCreated); tree.setProperty(JCR_MANDATORY, isMandatory); tree.setProperty(JCR_PROTECTED, isProtected); tree.setProperty( JCR_ONPARENTVERSION, OnParentVersionAction.nameFromValue(onParentVersion)); }
/** * Writes the contents of this item definition to the given tree node. * Used when registering new node types. * * @param tree an {@code nt:propertyDefinition} or * {@code nt:childNodeDefinition} node * @throws RepositoryException if this definition could not be written */ void writeTo(Tree tree) throws RepositoryException { if (!residual) { String oakName = getOakName(); if (oakName == null) { throw new RepositoryException("Unnamed item definition"); } tree.setProperty(JCR_NAME, oakName, Type.NAME); } else { tree.removeProperty(JCR_NAME); } // TODO avoid (in validator?) unbounded recursive auto creation. // See 3.7.2.3.5 Chained Auto-creation (OAK-411) tree.setProperty(JCR_AUTOCREATED, isAutoCreated); tree.setProperty(JCR_MANDATORY, isMandatory); tree.setProperty(JCR_PROTECTED, isProtected); tree.setProperty( JCR_ONPARENTVERSION, OnParentVersionAction.nameFromValue(onParentVersion)); }
protected void writeItemDefinition(PlainChangesLog changesLog, NodeData itemDefinition, ItemDefinitionData nodeDefinitionData) { if (nodeDefinitionData.getName() != null) { // Mandatory false writeName(changesLog, itemDefinition, Constants.JCR_NAME, nodeDefinitionData.getName()); } writeBoolean(changesLog, itemDefinition, Constants.JCR_PROTECTED, nodeDefinitionData.isProtected()); writeBoolean(changesLog, itemDefinition, Constants.JCR_AUTOCREATED, nodeDefinitionData.isAutoCreated()); writeBoolean(changesLog, itemDefinition, Constants.JCR_MANDATORY, nodeDefinitionData.isMandatory()); writeString(changesLog, itemDefinition, Constants.JCR_ONPARENTVERSION, OnParentVersionAction.nameFromValue(nodeDefinitionData.getOnParentVersion())); }
/** * Creates a new property definition. * * @param definition a {@code non-null} {@link PropertyDefinition} */ public RestPropertyType( PropertyDefinition definition ) { this.name = definition.getName(); this.requiredType = org.modeshape.jcr.api.PropertyType.nameFromValue(definition.getRequiredType()); NodeType declaringNodeType = definition.getDeclaringNodeType(); this.declaringNodeTypeName = declaringNodeType == null ? null : declaringNodeType.getName(); this.isAutoCreated = definition.isAutoCreated(); this.isMandatory = definition.isMandatory(); this.isProtected = definition.isProtected(); this.isFullTextSearchable = definition.isFullTextSearchable(); this.onParentVersion = OnParentVersionAction.nameFromValue(definition.getOnParentVersion()); this.isMultiple = definition.isMultiple(); }