Refine search
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; } }
private PropertyDefinitionTemplate getLockedNodeRefProperty( final NodeTypeManager ntMgr, final ValueFactory vFac ) throws RepositoryException { PropertyDefinitionTemplate t = ntMgr.createPropertyDefinitionTemplate(); t.setName( PHO + "lockedNodeRef" ); //$NON-NLS-1$ t.setRequiredType( PropertyType.REFERENCE ); t.setOnParentVersion( OnParentVersionAction.IGNORE ); t.setMultiple( false ); return t; }
public static PropertyDefinitionTemplate createJCRPrimaryTypeProperty(NodeTypeManager nodeTypeManager, String name) throws RepositoryException { PropertyDefinitionTemplate propertyDefinitionTemplate1 = nodeTypeManager.createPropertyDefinitionTemplate(); propertyDefinitionTemplate1.setName("jcr:primaryType"); propertyDefinitionTemplate1.setRequiredType(PropertyType.NAME); propertyDefinitionTemplate1.setDefaultValues(null); propertyDefinitionTemplate1.setAutoCreated(true); propertyDefinitionTemplate1.setMandatory(true); propertyDefinitionTemplate1.setOnParentVersion(OnParentVersionAction.COMPUTE); propertyDefinitionTemplate1.setProtected(true); propertyDefinitionTemplate1.setMultiple(false); ((RegistryPropertyDefinitionTemplate) propertyDefinitionTemplate1).setDeclaringNodeTypeName(name); return propertyDefinitionTemplate1; }
@SuppressWarnings( {"unchecked"} ) private NodeTypeTemplate createMixinC( NodeTypeManager mgr ) throws RepositoryException { NodeTypeTemplate mixinTypeC = mgr.createNodeTypeTemplate(); mixinTypeC.setName(MIXIN_TYPE_C); mixinTypeC.setMixin(true); PropertyDefinitionTemplate propertyB = mgr.createPropertyDefinitionTemplate(); propertyB.setName(PROPERTY_B); propertyB.setOnParentVersion(OnParentVersionAction.IGNORE); propertyB.setRequiredType(PropertyType.STRING); mixinTypeC.getPropertyDefinitionTemplates().add(propertyB); return mixinTypeC; }
public void testRegisterNodeType() throws Exception { NodeTypeTemplate ntt = ntm.createNodeTypeTemplate(); ntt.setName("mix:foo"); ntt.setAbstract(false); ntt.setMixin(true); ntt.setOrderableChildNodes(false); ntt.setQueryable(false); PropertyDefinitionTemplate pdt = ntm.createPropertyDefinitionTemplate(); pdt.setAutoCreated(false); pdt.setName("foo"); pdt.setMultiple(false); pdt.setRequiredType(PropertyType.STRING); List pdefs = ntt.getPropertyDefinitionTemplates(); pdefs.add(pdt); ntm.registerNodeType(ntt, true); try { ntm.registerNodeType(ntt, false); fail("NodeTypeExistsException expected."); } catch (NodeTypeExistsException e) { // success } }
try { if (NODE_TYPE.equals(localName)) { currentNodeType = nodeTypeManager.createNodeTypeTemplate(); if ((value = atts.getValue("name")) != null) currentNodeType.setName(value); if ((value = atts.getValue("isMixin")) != null) currentNodeType.setMixin(bool(value)); if ((value = atts.getValue("hasOrderableChildNodes")) != null) currentNodeType.setOrderableChildNodes(bool(value)); if ((value = atts.getValue("primaryItemName")) != null) currentNodeType.setPrimaryItemName(value); } else if (PROPERTY_DEFINITION.equals(localName)) { currentPropDefn = nodeTypeManager.createPropertyDefinitionTemplate(); currentChildDefn = null; if ((value = atts.getValue("name")) != null) currentPropDefn.setName(value); if ((value = atts.getValue("requiredType")) != null) currentPropDefn.setRequiredType(type(value)); if ((value = atts.getValue("autoCreated")) != null) currentPropDefn.setAutoCreated(bool(value)); if ((value = atts.getValue("mandatory")) != null) currentPropDefn.setMandatory(bool(value)); if ((value = atts.getValue("onParentVersion")) != null) currentPropDefn.setOnParentVersion(opv(value)); if ((value = atts.getValue("protected")) != null) currentPropDefn.setProtected(bool(value)); if ((value = atts.getValue("multiple")) != null) currentPropDefn.setMultiple(bool(value)); } else if (CHILD_NODE_DEFINITION.equals(localName)) { currentChildDefn = nodeTypeManager.createNodeDefinitionTemplate(); currentPropDefn = null; if ((value = atts.getValue("name")) != null) currentChildDefn.setName(value);
mixin = ntMgr.createNodeTypeTemplate(); mixin.setMixin(true); mixin.setName(mixinName); final List<PropertyDefinitionTemplate> propDefns = mixin.getPropertyDefinitionTemplates(); final Node medGroupNode = this.writer.getModelNode().getNode(CoreLexicon.JcrId.MODEL_EXTENSION_DEFINITIONS_GROUP_NODE); final Node medNode = medGroupNode.getNode(medPrefix); final PropertyDefinitionTemplate propDefn = ntMgr.createPropertyDefinitionTemplate(); propDefn.setName(metaclassChild.getName()); final String defaultValue = metaclassChild.getProperty(JcrId.Property.DEFAULT_VALUE).getString(); final Value value = this.writer.getContext().valueFactory().createValue(defaultValue); propDefn.setDefaultValues(new Value[] {value}); propDefn.setAutoCreated(true); propDefn.setMandatory(mandatory); propDefn.setRequiredType(msType); LOGGER.debug("added property '{0}' to mixin '{1}'", propDefn.getName(), mixinName); ntMgr.registerNodeType(mixin, true); this.mixinMap.put(mixinName, mixin); LOGGER.debug("added mixin '{0}' to registry", mixinName);
nodeTypeTemplate.setName(nodeType.getProperty("name")); nodeTypeTemplate.setDeclaredSuperTypeNames(nodeType.getPropertyValues("declaredSuperTypes").toArray(new String[0])); Resource propdDef = registrySession.getUserRegistry().get(propPath); PropertyDefinitionTemplate propertyDefinitionTemplate = registryNodeTypeManager.createPropertyDefinitionTemplate(); propertyDefinitionTemplate.setName(propdDef.getProperty("name")); propertyDefinitionTemplate.setAutoCreated(Boolean.valueOf(propdDef.getProperty("autoCreated"))); propertyDefinitionTemplate.setMandatory(Boolean.valueOf(propdDef.getProperty("mandatory"))); propertyDefinitionTemplate.setProtected(Boolean.valueOf(propdDef.getProperty("protected"))); propertyDefinitionTemplate.setMultiple(Boolean.valueOf(propdDef.getProperty("multiple"))); propertyDefinitionTemplate.setFullTextSearchable(Boolean.valueOf(propdDef.getProperty("isFullTextSearchable"))); propertyDefinitionTemplate.setQueryOrderable(Boolean.valueOf(propdDef.getProperty("isQueryOrderable"))); propertyDefinitionTemplate.setAvailableQueryOperators(propdDef. getPropertyValues("availableQueryOperators").toArray(new String[0])); propertyDefinitionTemplate.setOnParentVersion(Integer.valueOf(propdDef.getProperty("onParentVersion"))); propertyDefinitionTemplate.setOnParentVersion(Integer.valueOf(propdDef.getProperty("requiredType"))); propertyDefinitionTemplate.setValueConstraints(propdDef. getPropertyValues("valueConstraints").toArray(new String[0])); propertyDefinitionTemplate.setValueConstraints(propdDef. getPropertyValues("defaultValues").toArray(new String[0]));
type.setName("cmis:repository"); type.setAbstract(false); type.setMixin(false); type.setOrderableChildNodes(true); type.setQueryable(true); vendorName.setAutoCreated(false); vendorName.setName("cmis:vendorName"); vendorName.setMandatory(false); type.getPropertyDefinitionTemplates().add(vendorName); productName.setAutoCreated(false); productName.setName("cmis:productName"); productName.setMandatory(false); type.getPropertyDefinitionTemplates().add(productName); productVersion.setAutoCreated(false); productVersion.setName("cmis:productVersion"); productVersion.setMandatory(false); type.getPropertyDefinitionTemplates().add(productVersion);
PropertyDefinitionTemplate path = nodeTypeManager.createPropertyDefinitionTemplate(); path.setName("jcr:path"); path.setRequiredType(PropertyType.PATH); path.setQueryOrderable(false); path.setFullTextSearchable(false); PropertyDefinitionTemplate nom = nodeTypeManager.createPropertyDefinitionTemplate(); nom.setName("jcr:nom"); nom.setRequiredType(PropertyType.STRING); nom.setQueryOrderable(true); nom.setFullTextSearchable(true); description.setName("jcr:description"); description.setRequiredType(PropertyType.STRING); description.setQueryOrderable(true); description.setFullTextSearchable(true); motsCles.setName("jcr:motsCles"); motsCles.setRequiredType(PropertyType.STRING); motsCles.setQueryOrderable(true); motsCles.setFullTextSearchable(true); size.setName("jcr:size"); size.setRequiredType(PropertyType.STRING); size.setQueryOrderable(true); size.setFullTextSearchable(false); users.setName("jcr:users"); users.setRequiredType(PropertyType.STRING);
@SuppressWarnings( {"unchecked"} ) private NodeTypeTemplate createMixinWithAutoProperty( NodeTypeManager mgr ) throws RepositoryException { NodeTypeTemplate mixinTypeWithAutoProperty = mgr.createNodeTypeTemplate(); mixinTypeWithAutoProperty.setName("mixinTypeWithAutoCreatedProperty"); mixinTypeWithAutoProperty.setMixin(true); PropertyDefinitionTemplate propertyB = mgr.createPropertyDefinitionTemplate(); propertyB.setName(PROPERTY_B); propertyB.setMandatory(true); propertyB.setAutoCreated(true); propertyB.setOnParentVersion(OnParentVersionAction.IGNORE); propertyB.setRequiredType(PropertyType.LONG); propertyB.setDefaultValues(new Value[] {session.getValueFactory().createValue("10")}); mixinTypeWithAutoProperty.getPropertyDefinitionTemplates().add(propertyB); return mixinTypeWithAutoProperty; }
manager.registerNodeTypes(ntt.toArray(new NodeTypeTemplate[0]), false); NodeTypeDefinition ntd = manager.getNodeType(t); PropertyDefinitionTemplate opt = manager.createPropertyDefinitionTemplate(); opt.setMandatory(false); opt.setName("optional"); opt.setRequiredType(PropertyType.STRING); PropertyDefinitionTemplate opts = manager.createPropertyDefinitionTemplate(); opts.setMandatory(false); opts.setMultiple(true); opts.setName("optionals"); opts.setRequiredType(PropertyType.STRING); List pdt = nt.getPropertyDefinitionTemplates(); pdt.add(opt); pdt.add(opts); opt.setMandatory("trivial2".equals(t)); opt.setName("optional"); opt.setRequiredType(PropertyType.STRING); PropertyDefinitionTemplate opts = manager.createPropertyDefinitionTemplate(); opts.setMandatory("trivial2".equals(t)); opts.setMultiple(true); opts.setName("optionals"); opts.setRequiredType(PropertyType.STRING);
final NodeTypeTemplate nodeTemplate = typeMgr.createNodeTypeTemplate(); nodeTemplate.setName(builder.name); nodeTemplate.setDeclaredSuperTypeNames(new String[]{ExtensionsConstants.EXTENSIBLE_ENTITY_TYPE, supername}); } else { nodeTemplate.setDeclaredSuperTypeNames(new String[]{ExtensionsConstants.EXTENSIBLE_ENTITY_TYPE}); PropertyDefinitionTemplate propDef = typeMgr.createPropertyDefinitionTemplate(); propDef.setName(bldr.name); propDef.setRequiredType(asCode(bldr.type)); propDef.setMandatory(bldr.required); propDef.setMultiple(bldr.collection); propertyDefinitionTemplates.add(propDef); NodeType nodeType = typeMgr.registerNodeType(nodeTemplate, true); return new JcrExtensibleType(typeNode, nodeType); } catch (RepositoryException e) {
protected PropertyDefinition readPropertyDefinition( CachedNode propDefn ) throws ConstraintViolationException { PropertyDefinitionTemplate defn = new JcrPropertyDefinitionTemplate(context()); defn.setName(strings.create(first(propDefn, JcrLexicon.NAME, JcrNodeType.RESIDUAL_ITEM_NAME))); defn.setAutoCreated(booleans.create(first(propDefn, JcrLexicon.AUTO_CREATED))); defn.setMandatory(booleans.create(first(propDefn, JcrLexicon.MANDATORY))); defn.setMultiple(booleans.create(first(propDefn, JcrLexicon.MULTIPLE))); defn.setProtected(booleans.create(first(propDefn, JcrLexicon.PROTECTED))); defn.setOnParentVersion(OnParentVersionAction.valueFromName(strings.create(first(propDefn, JcrLexicon.ON_PARENT_VERSION)))); defn.setRequiredType(propertyType(first(propDefn, JcrLexicon.REQUIRED_TYPE))); queryOperators[i++] = strings.create(op); defn.setAvailableQueryOperators(queryOperators); defn.setDefaultValues(values); values[i++] = strings.create(value); defn.setValueConstraints(values);
@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 } }
PropertyDefinitionTemplate propBinary = mgr.createPropertyDefinitionTemplate(); propBinary.setName("modetest:constrainedBinary"); propBinary.setRequiredType(PropertyType.BINARY); propBinary.setValueConstraints(EXPECTED_BINARY_CONSTRAINTS); constrainedType.getPropertyDefinitionTemplates().add(propBinary); PropertyDefinitionTemplate propDate = mgr.createPropertyDefinitionTemplate(); 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); propLong.setName("modetest:constrainedLong"); propLong.setRequiredType(PropertyType.LONG); propLong.setValueConstraints(EXPECTED_LONG_CONSTRAINTS); propName.setName("modetest:constrainedName"); propName.setRequiredType(PropertyType.NAME); propName.setValueConstraints(EXPECTED_NAME_CONSTRAINTS); propPath.setName("modetest:constrainedPath"); propPath.setRequiredType(PropertyType.PATH); propPath.setValueConstraints(EXPECTED_PATH_CONSTRAINTS); propReference.setName("modetest:constrainedReference");
NodeTypeTemplate ntt = ntm.createNodeTypeTemplate(); try { ntt.setName(invalidName); fail("ConstraintViolationException expected. Nt-name is invalid"); } catch (ConstraintViolationException e) { ntt.setDeclaredSuperTypeNames(new String[] {"{" + NS_MIX_URI + "}" + "littlemixin", invalidName}); fail("ConstraintViolationException expected. One of the super type names is invalid"); } catch (ConstraintViolationException e) { ntt.setPrimaryItemName(invalidName); fail("ConstraintViolationException expected. Primary item name is invalid"); } catch (ConstraintViolationException e) { NodeDefinitionTemplate ndt = ntm.createNodeDefinitionTemplate(); try { ndt.setName(invalidName); PropertyDefinitionTemplate pdt = ntm.createPropertyDefinitionTemplate(); try { pdt.setName(invalidName); fail("ConstraintViolationException expected. Name is invalid"); } catch (ConstraintViolationException e) {
session.save(); NodeTypeDefinition ntd = manager.getNodeType("nt:query"); NodeTypeTemplate ntt = manager.createNodeTypeTemplate(ntd); manager.registerNodeType(ntt, true); List<PropertyDefinitionTemplate> pdts = ntt.getPropertyDefinitionTemplates(); for (PropertyDefinitionTemplate pdt : pdts) { if ("jcr:language".equals(pdt.getName())) { pdt.setMandatory(true);
/** * 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; }
@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(); }