@Override protected void doFinish() { currentPropDefn.setValueConstraints(getStringValues()); } }
@Override protected void doFinish() { currentPropDefn.setValueConstraints(getStringValues()); } }
/** * Creates the property definition template. * * @param ntm the ntm * @param prop the prop * @return the property definition template * @throws RepositoryException the repository exception */ private static PropertyDefinitionTemplate createPropertyDefTemplate(NodeTypeManager ntm, String prop, int type) throws RepositoryException { PropertyDefinitionTemplate pdt = ntm.createPropertyDefinitionTemplate(); pdt.setName(prop); pdt.setOnParentVersion(OnParentVersionAction.IGNORE); pdt.setRequiredType(type); pdt.setValueConstraints(null); pdt.setDefaultValues(null); pdt.setFullTextSearchable(true); pdt.setValueConstraints(new String[0]); return pdt; }
@Override public void build() throws IllegalStateException { template.setAutoCreated(super.autocreate); template.setMandatory(super.isMandatory); template.setOnParentVersion(super.onParent); template.setProtected(super.isProtected); template.setRequiredType(super.requiredType); template.setValueConstraints(constraints.toArray(new String[constraints.size()])); template.setDefaultValues(values.toArray(new Value[values.size()])); template.setMultiple(super.isMultiple); template.setAvailableQueryOperators(super.queryOperators); template.setFullTextSearchable(super.fullTextSearchable); template.setQueryOrderable(super.queryOrderable); @SuppressWarnings("unchecked") List<PropertyDefinitionTemplate> templates = ntd.template.getPropertyDefinitionTemplates(); templates.add(template); }
@Override public void build() throws IllegalStateException { template.setAutoCreated(super.autocreate); template.setMandatory(super.isMandatory); template.setOnParentVersion(super.onParent); template.setProtected(super.isProtected); template.setRequiredType(super.requiredType); template.setValueConstraints(constraints.toArray(new String[constraints.size()])); template.setDefaultValues(values.toArray(new Value[values.size()])); template.setMultiple(super.isMultiple); template.setAvailableQueryOperators(super.queryOperators); template.setFullTextSearchable(super.fullTextSearchable); template.setQueryOrderable(super.queryOrderable); @SuppressWarnings("unchecked") List<PropertyDefinitionTemplate> templates = ntd.template.getPropertyDefinitionTemplates(); templates.add(template); }
@Override public void build() throws IllegalStateException { template.setAutoCreated(super.autocreate); template.setMandatory(super.isMandatory); template.setOnParentVersion(super.onParent); template.setProtected(super.isProtected); template.setRequiredType(super.requiredType); template.setValueConstraints(constraints.toArray(new String[constraints.size()])); template.setDefaultValues(values.toArray(new Value[values.size()])); template.setMultiple(super.isMultiple); template.setAvailableQueryOperators(super.queryOperators); template.setFullTextSearchable(super.fullTextSearchable); template.setQueryOrderable(super.queryOrderable); @SuppressWarnings("unchecked") List<PropertyDefinitionTemplate> templates = ntd.template.getPropertyDefinitionTemplates(); templates.add(template); }
propertyDefinition.setValueConstraints(valueConstraints);
@FixFor( "MODE-720" ) @SuppressWarnings( "unchecked" ) public void testShouldBeAbleToReferToUnsavedReferenceNode() throws Exception { session = getHelper().getSuperuserSession(); JcrNodeTypeManager nodeTypes = (JcrNodeTypeManager)session.getWorkspace().getNodeTypeManager(); /* * Register a one-off node type with a reference property that has a constraint on it */ NodeTypeTemplate ntt = nodeTypes.createNodeTypeTemplate(); ntt.setName("modetest:constrainedPropType"); PropertyDefinitionTemplate pdt = nodeTypes.createPropertyDefinitionTemplate(); pdt.setName("modetest:constrainedProp"); pdt.setRequiredType(PropertyType.REFERENCE); pdt.setValueConstraints(new String[] {"nt:unstructured"}); ntt.getPropertyDefinitionTemplates().add(pdt); nodeTypes.registerNodeType(ntt, false); /* * Add a node that would satisfy the constraint */ Node root = session.getRootNode(); Node parentNode = root.addNode("constrainedNodeTest", "nt:unstructured"); Node targetNode = parentNode.addNode("target", "nt:unstructured"); targetNode.addMixin("mix:referenceable"); /* * Now add a node with the one-off type. */ Node referringNode = parentNode.addNode("referer", "modetest:constrainedPropType"); referringNode.setProperty("modetest:constrainedProp", targetNode); session.save(); }
pdt.setName("modetest:weakRefProp"); pdt.setRequiredType(PropertyType.WEAKREFERENCE); pdt.setValueConstraints(new String[] {"nt:unstructured"}); ntt.getPropertyDefinitionTemplates().add(pdt);
propBinary.setName("modetest:constrainedBinary"); propBinary.setRequiredType(PropertyType.BINARY); propBinary.setValueConstraints(EXPECTED_BINARY_CONSTRAINTS); constrainedType.getPropertyDefinitionTemplates().add(propBinary); propDate.setName("modetest:constrainedDate"); propDate.setRequiredType(PropertyType.DATE); propDate.setValueConstraints(EXPECTED_DATE_CONSTRAINTS); constrainedType.getPropertyDefinitionTemplates().add(propDate); propDouble.setName("modetest:constrainedDouble"); propDouble.setRequiredType(PropertyType.DOUBLE); propDouble.setValueConstraints(EXPECTED_DOUBLE_CONSTRAINTS); constrainedType.getPropertyDefinitionTemplates().add(propDouble); propLong.setName("modetest:constrainedLong"); propLong.setRequiredType(PropertyType.LONG); propLong.setValueConstraints(EXPECTED_LONG_CONSTRAINTS); constrainedType.getPropertyDefinitionTemplates().add(propLong); propName.setName("modetest:constrainedName"); propName.setRequiredType(PropertyType.NAME); propName.setValueConstraints(EXPECTED_NAME_CONSTRAINTS); constrainedType.getPropertyDefinitionTemplates().add(propName); propPath.setName("modetest:constrainedPath"); propPath.setRequiredType(PropertyType.PATH); propPath.setValueConstraints(EXPECTED_PATH_CONSTRAINTS); constrainedType.getPropertyDefinitionTemplates().add(propPath);
private PropertyDefinitionTemplate createBooleanPropTemplate() throws RepositoryException { PropertyDefinitionTemplate pdt = ntm.createPropertyDefinitionTemplate(); pdt.setName(expandedPropName); pdt.setAutoCreated(false); pdt.setMandatory(false); pdt.setOnParentVersion(OnParentVersionAction.IGNORE); pdt.setProtected(false); pdt.setRequiredType(PropertyType.BOOLEAN); pdt.setValueConstraints(null); pdt.setDefaultValues(null); pdt.setMultiple(false); pdt.setAvailableQueryOperators(new String[] { QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO }); pdt.setFullTextSearchable(false); pdt.setQueryOrderable(false); return pdt; } }
@Test @FixFor( "MODE-2149" ) @SuppressWarnings("unchecked") public void shouldValidateConstraintValue() throws Exception { String namespaceName = "admb"; String namespaceUri = "http://www.admb.be/modeshape/admb/1.0"; String nodeTypeName = "test"; session.getWorkspace().getNamespaceRegistry().registerNamespace(namespaceName, namespaceUri); NodeTypeTemplate nodeTypeTemplate = nodeTypeMgr.createNodeTypeTemplate(); nodeTypeTemplate.setPrimaryItemName("test"); String primaryType = namespaceName.concat(":").concat(nodeTypeName); nodeTypeTemplate.setName(primaryType); PropertyDefinitionTemplate propertyDefinition = nodeTypeMgr.createPropertyDefinitionTemplate(); propertyDefinition.setName("test"); propertyDefinition.setRequiredType(PropertyType.LONG); propertyDefinition.setMandatory(true); propertyDefinition.setValueConstraints(new String[] { "test" }); nodeTypeTemplate.getPropertyDefinitionTemplates().add(propertyDefinition); try { nodeTypeMgr.registerNodeType(nodeTypeTemplate, false); fail("Should not allow the registration of a node type with invalid constraint"); } catch (ValueFormatException e) { //expected } }
propertyDefinition.setRequiredType(PropertyType.BOOLEAN); propertyDefinition.setMandatory(true); propertyDefinition.setValueConstraints(new String[] { "true" }); nodeTypeTemplate.getPropertyDefinitionTemplates().add(propertyDefinition);
pdt.setValueConstraints(f.getJcrValueConstraints());
/** * Create a new JCR property definition from the given <code>QPropertyDefinition</code>. * * @param qPd A SPI property definition. * @return the corresponding JCR property definition. * @throws RepositoryException if an error occurs. */ public PropertyDefinition create(QPropertyDefinition qPd) throws RepositoryException { PropertyDefinitionTemplate pt = ntMgr.createPropertyDefinitionTemplate(); pt.setName(getJCRName(qPd.getName())); pt.setAutoCreated(qPd.isAutoCreated()); pt.setMandatory(qPd.isMandatory()); pt.setOnParentVersion(qPd.getOnParentVersion()); pt.setProtected(qPd.isProtected()); pt.setRequiredType(qPd.getRequiredType()); pt.setMultiple(qPd.isMultiple()); pt.setFullTextSearchable(qPd.isFullTextSearchable()); pt.setValueConstraints(createValueConstraints(qPd.getRequiredType(), qPd.getValueConstraints())); pt.setAvailableQueryOperators(qPd.getAvailableQueryOperators()); pt.setQueryOrderable(qPd.isQueryOrderable()); pt.setDefaultValues(createValues(qPd.getDefaultValues())); return pt; }
/** * Create a new JCR property definition from the given <code>QPropertyDefinition</code>. * * @param qPd A SPI property definition. * @return the corresponding JCR property definition. * @throws RepositoryException if an error occurs. */ public PropertyDefinition create(QPropertyDefinition qPd) throws RepositoryException { PropertyDefinitionTemplate pt = ntMgr.createPropertyDefinitionTemplate(); pt.setName(getJCRName(qPd.getName())); pt.setAutoCreated(qPd.isAutoCreated()); pt.setMandatory(qPd.isMandatory()); pt.setOnParentVersion(qPd.getOnParentVersion()); pt.setProtected(qPd.isProtected()); pt.setRequiredType(qPd.getRequiredType()); pt.setMultiple(qPd.isMultiple()); pt.setFullTextSearchable(qPd.isFullTextSearchable()); pt.setValueConstraints(createValueConstraints(qPd.getRequiredType(), qPd.getValueConstraints())); pt.setAvailableQueryOperators(qPd.getAvailableQueryOperators()); pt.setQueryOrderable(qPd.isQueryOrderable()); pt.setDefaultValues(createValues(qPd.getDefaultValues())); return pt; }
constraints[i] = qConstraints[i].getString(); tmpl.setValueConstraints(constraints);
constraints[i] = qConstraints[i].getString(); tmpl.setValueConstraints(constraints);
values[i++] = strings.create(value); defn.setValueConstraints(values);
values[i++] = strings.create(value); defn.setValueConstraints(values);