/** * {@inheritDoc} */ public String getPrimaryItemName() { try { Name piName = ntd.getPrimaryItemName(); if (piName != null) { return resolver.getJCRName(piName); } else { return null; } } catch (NamespaceException e) { // should never get here log.error("encountered unregistered namespace in name of primary item", e); return ntd.getName().toString(); } }
/** * @see javax.jcr.nodetype.NodeTypeDefinition#getPrimaryItemName() */ public String getPrimaryItemName() { try { Name piName = ntd.getPrimaryItemName(); if (piName != null) { return resolver.getJCRName(piName); } else { return null; } } catch (NamespaceException e) { // should never get here log.error("encountered unregistered namespace in name of primary item", e); return ntd.getName().toString(); } }
/** * {@inheritDoc} */ public String getPrimaryItemName() { // TODO JCR-1947: JSR 283: Node Type Attribute Subtyping Rules try { Name piName = ntd.getPrimaryItemName(); if (piName != null) { return resolver.getJCRName(piName); } else { return null; } } catch (NamespaceException e) { // should never get here log.error("encountered unregistered namespace in name of primary item", e); return ntd.getName().toString(); } }
/** * @see javax.jcr.nodetype.NodeTypeDefinition#getPrimaryItemName() */ public String getPrimaryItemName() { try { Name piName = ntd.getPrimaryItemName(); if (piName != null) { return resolver.getJCRName(piName); } else { return null; } } catch (NamespaceException e) { // should never get here log.error("encountered unregistered namespace in name of primary item", e); return ntd.getName().toString(); } }
/** * {@inheritDoc} */ public String getPrimaryItemName() { try { Name piName = ntd.getPrimaryItemName(); if (piName != null) { return resolver.getJCRName(piName); } else { return null; } } catch (NamespaceException e) { // should never get here log.error("encountered unregistered namespace in name of primary item", e); return ntd.getName().toString(); } }
/** * {@inheritDoc} */ public String getPrimaryItemName() { // TODO JCR-1947: JSR 283: Node Type Attribute Subtyping Rules try { Name piName = ntd.getPrimaryItemName(); if (piName != null) { return resolver.getJCRName(piName); } else { return null; } } catch (NamespaceException e) { // should never get here log.error("encountered unregistered namespace in name of primary item", e); return ntd.getName().toString(); } }
/** * Determine if a type definition itself is trivial: adding no additional type constraints other than its 'marker' name. * * Note: this ignores 'inherited' constraints from its supertypes because the check is done against all added supertype * already, including those inherited. * * @param def the type definition to check * @return true if the type definition (itself) is trivial */ protected boolean isTrivialTypeDef(QNodeTypeDefinition def) { return !def.hasOrderableChildNodes() && def.getPrimaryItemName() == null && def.getPropertyDefs().length == 0 && def.getChildNodeDefs().length == 0; } }
/** * Copy constructor. * * @param nt the qualified node type definition. */ public QNodeTypeDefinitionImpl(QNodeTypeDefinition nt) { this(nt.getName(), nt.getSupertypes(), nt.isMixin(), nt.hasOrderableChildNodes(), nt.getPrimaryItemName(), nt.getPropertyDefs(), nt.getChildNodeDefs()); }
/** * Copy constructor. * * @param nt the node type definition. */ public QNodeTypeDefinitionImpl(QNodeTypeDefinition nt) { this(nt.getName(), nt.getSupertypes(), nt.getSupportedMixinTypes(), nt.isMixin(), nt.isAbstract(), nt.isQueryable(), nt.hasOrderableChildNodes(), nt.getPrimaryItemName(), nt.getPropertyDefs(), nt.getChildNodeDefs()); }
tmpl.setQueryable(def.isQueryable()); Name primaryItemName = def.getPrimaryItemName(); if (primaryItemName != null) { tmpl.setPrimaryItemName(getOakName(primaryItemName));
/** * Copy constructor. * * @param nt the node type definition. */ public QNodeTypeDefinitionImpl(QNodeTypeDefinition nt) { this(nt.getName(), nt.getSupertypes(), nt.getSupportedMixinTypes(), nt.isMixin(), nt.isAbstract(), nt.isQueryable(), nt.hasOrderableChildNodes(), nt.getPrimaryItemName(), nt.getPropertyDefs(), nt.getChildNodeDefs()); }
tmpl.setQueryable(def.isQueryable()); Name primaryItemName = def.getPrimaryItemName(); if (primaryItemName != null) { tmpl.setPrimaryItemName(getOakName(primaryItemName));
name = qDef.getName(); superTypeNames = qDef.getSupertypes(); primaryItemName = qDef.getPrimaryItemName(); } else { setName(def.getName());
name = qDef.getName(); superTypeNames = qDef.getSupertypes(); primaryItemName = qDef.getPrimaryItemName(); } else { setName(def.getName());
/** Test for node type item definitions. */ public void testItemNodeType() { QNodeTypeDefinition def = getNodeType("itemNodeType"); assertEquals("itemNodeType primaryItemName", FACTORY.create(TEST_NAMESPACE, "emptyItem"), def.getPrimaryItemName()); assertEquals("itemNodeType propertyDefs", 10, def.getPropertyDefs().length); QPropertyDefinition pdef = getPropDef("itemNodeType", null); assertTrue("itemNodeType wildcard property", pdef.definesResidual()); }
/** * Create a new JCR node type definition from the given * <code>QNodeTypeDefinition</code>. * * @param qNtd A SPI node type definition. * @return the corresponding JCR node type definition. * @throws RepositoryException if an error occurs. */ @SuppressWarnings("unchecked") public NodeTypeDefinition create(QNodeTypeDefinition qNtd) throws RepositoryException { NodeTypeTemplate nt = ntMgr.createNodeTypeTemplate(); nt.setName(getJCRName(qNtd.getName())); nt.setDeclaredSuperTypeNames(getJCRNames(qNtd.getSupertypes())); nt.setAbstract(qNtd.isAbstract()); nt.setMixin(qNtd.isMixin()); nt.setOrderableChildNodes(qNtd.hasOrderableChildNodes()); nt.setPrimaryItemName(getJCRName(qNtd.getPrimaryItemName())); nt.setQueryable(qNtd.isQueryable()); List nodeDefs = nt.getNodeDefinitionTemplates(); for (QNodeDefinition qNd: qNtd.getChildNodeDefs()) { nodeDefs.add(create(qNd)); } List propDefs = nt.getPropertyDefinitionTemplates(); for (QPropertyDefinition qPd: qNtd.getPropertyDefs()) { propDefs.add(create(qPd)); } return nt; }
ntState.setPropertyValue(NameConstants.JCR_ISMIXIN, InternalValue.create(ntDef.isMixin())); ntState.setPropertyValue(NameConstants.JCR_HASORDERABLECHILDNODES, InternalValue.create(ntDef.hasOrderableChildNodes())); if (ntDef.getPrimaryItemName() != null) { ntState.setPropertyValue(NameConstants.JCR_PRIMARYITEMNAME, InternalValue.create(ntDef.getPrimaryItemName()));
/** * Create a new JCR node type definition from the given * <code>QNodeTypeDefinition</code>. * * @param qNtd A SPI node type definition. * @return the corresponding JCR node type definition. * @throws RepositoryException if an error occurs. */ @SuppressWarnings("unchecked") public NodeTypeDefinition create(QNodeTypeDefinition qNtd) throws RepositoryException { NodeTypeTemplate nt = ntMgr.createNodeTypeTemplate(); nt.setName(getJCRName(qNtd.getName())); nt.setDeclaredSuperTypeNames(getJCRNames(qNtd.getSupertypes())); nt.setAbstract(qNtd.isAbstract()); nt.setMixin(qNtd.isMixin()); nt.setOrderableChildNodes(qNtd.hasOrderableChildNodes()); nt.setPrimaryItemName(getJCRName(qNtd.getPrimaryItemName())); nt.setQueryable(qNtd.isQueryable()); List nodeDefs = nt.getNodeDefinitionTemplates(); for (QNodeDefinition qNd: qNtd.getChildNodeDefs()) { nodeDefs.add(create(qNd)); } List propDefs = nt.getPropertyDefinitionTemplates(); for (QPropertyDefinition qPd: qNtd.getPropertyDefs()) { propDefs.add(create(qPd)); } return nt; }
ntState.setPropertyValue(NameConstants.JCR_ISMIXIN, InternalValue.create(ntDef.isMixin())); ntState.setPropertyValue(NameConstants.JCR_HASORDERABLECHILDNODES, InternalValue.create(ntDef.hasOrderableChildNodes())); if (ntDef.getPrimaryItemName() != null) { ntState.setPropertyValue(NameConstants.JCR_PRIMARYITEMNAME, InternalValue.create(ntDef.getPrimaryItemName()));
/** Test for the empty node type. */ public void testEmptyNodeType() { QNodeTypeDefinition def = getNodeType("emptyNodeType"); assertNotNull("emptyNodeType exists", def); assertEquals("emptyNodeType mixin", false, def.isMixin()); assertEquals("emptyNodeType hasOrderableChildNodes", false, def.hasOrderableChildNodes()); assertEquals("emptyNodeType primaryItemName", null, def.getPrimaryItemName()); assertEquals("emptyNodeType childNodeDefs", 0, def.getChildNodeDefs().length); assertEquals("emptyNodeType propertyDefs", 0, def.getPropertyDefs().length); }