Package org.apache.jackrabbit.core.nodetype

Examples of org.apache.jackrabbit.core.nodetype.NodeTypeDef


     * @return child node definition
     */
    private NodeDef getChildNode(String typeName, String nodeName) {
        QName name = new QName(TEST_NAMESPACE, nodeName);

        NodeTypeDef def = getNodeType(typeName);
        NodeDef[] defs = def.getChildNodeDefs();
        for (int i = 0; i < defs.length; i++) {
            if (name.equals(defs[i].getName())) {
                return defs[i];
            }
        }
View Full Code Here


        assertEquals("number of node types", 6, types.length);
    }

    /** Test for the empty node type. */
    public void testEmptyNodeType() {
        NodeTypeDef 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);
    }
View Full Code Here

                0, def.getPropertyDefs().length);
    }

    /** Test for the <code>mixin</code> node type attribute. */
    public void testMixinNodeType() {
        NodeTypeDef def = getNodeType("mixinNodeType");
        assertEquals("mixinNodeType mixin",
                true, def.isMixin());
    }
View Full Code Here

                true, def.isMixin());
    }

    /** Test for the <code>hasOrderableChildNodes</code> node type attribute. */
    public void testOrderedNodeType() {
        NodeTypeDef def = getNodeType("orderedNodeType");
        assertEquals("orderedNodeType hasOrderableChildNodes",
                true, def.hasOrderableChildNodes());
    }
View Full Code Here

                true, def.hasOrderableChildNodes());
    }

    /** Test for node type item definitions. */
    public void testItemNodeType() {
        NodeTypeDef def = getNodeType("itemNodeType");
        assertEquals("itemNodeType primaryItemName",
                new QName(TEST_NAMESPACE, "emptyItem"),
                def.getPrimaryItemName());
        assertEquals("itemNodeType propertyDefs",
                10, def.getPropertyDefs().length);
        PropDef[] defs = def.getPropertyDefs();
        assertTrue("itemNodeType wildcard property", defs[0].definesResidual());
    }
View Full Code Here

                true, def.isProtected());
    }

    /** Test for node type property definitions. */
    public void testPropertyNodeType() {
        NodeTypeDef def = getNodeType("propertyNodeType");
        assertEquals("propertyNodeType propertyDefs",
                11, def.getPropertyDefs().length);
    }
View Full Code Here

                true, def.isMultiple());
    }

    /** Test for node type child node definitions. */
    public void testChildNodeType() {
        NodeTypeDef def = getNodeType("childNodeType");
        assertEquals("childNodeType childNodeDefs",
                4, def.getChildNodeDefs().length);
    }
View Full Code Here

            }

            if (checkSuperTypes(session.getWorkspace().getNodeTypeManager(),
                    classDescriptor.getJcrSuperTypes()))
            {
                NodeTypeDef nodeTypeDef = getNodeTypeDef(classDescriptor.getJcrType(),
                        classDescriptor.getJcrSuperTypes(),
                        classDescriptor.getClassName());

                List propDefs = new ArrayList();
                List nodeDefs = new ArrayList();
                if (classDescriptor.getFieldDescriptors() != null)
                {
                    Iterator fieldIterator = classDescriptor.getFieldDescriptors().iterator();
                    while (fieldIterator.hasNext())
                    {
                        FieldDescriptor field = (FieldDescriptor) fieldIterator.next();
                        if (!field.isPath()) {
                            propDefs.add(getPropertyDefinition(field.getFieldName(), field, nodeTypeDef.getName()));
                        }
                    }
                }

                if (classDescriptor.getBeanDescriptors() != null) {
                    Iterator beanIterator = classDescriptor.getBeanDescriptors().iterator();
                    while (beanIterator.hasNext()) {
                        BeanDescriptor field = (BeanDescriptor) beanIterator.next();
                        if (this.isPropertyType(field.getJcrType())) {
                            propDefs.add(getPropertyDefinition(field.getFieldName(), field, nodeTypeDef.getName()));
                        } else {
                            nodeDefs.add(getNodeDefinition(field.getFieldName(), field, nodeTypeDef.getName()));
                        }
                    }
                }

                if (classDescriptor.getCollectionDescriptors() != null) {
                    Iterator collectionIterator = classDescriptor.getCollectionDescriptors().iterator();
                    while (collectionIterator.hasNext()) {
                        CollectionDescriptor field = (CollectionDescriptor) collectionIterator.next();
                        if (this.isPropertyType(field.getJcrType())) {
                            propDefs.add(getPropertyDefinition(field.getFieldName(), field, nodeTypeDef.getName()));
                        } else {
                            nodeDefs.add(getNodeDefinition(field.getFieldName(), field, nodeTypeDef.getName()));
                        }
                    }
                }

                nodeTypeDef.setPropertyDefs((PropDef[]) propDefs.toArray(new PropDef[propDefs.size()]));
                nodeTypeDef.setChildNodeDefs((NodeDef[]) nodeDefs.toArray(new NodeDef[nodeDefs.size()]));

                list.add(nodeTypeDef);
                createNodeTypesFromList(session, list);
                log.info("Registered JCR node type '" + nodeTypeDef.getName() +
                        "' for class '" + classDescriptor.getClassName() + "'");
            }
            else
            {
                throw new NodeTypeCreationException("JCR supertypes could not be resolved.");
View Full Code Here

     * @return type
     */
    public NodeTypeDef getNodeTypeDef(String jcrNodeType, String jcrSuperTypes,
            String className)
    {
        NodeTypeDef type = new NodeTypeDef();
        type.setMixin(false);

        if (jcrNodeType != null && (! jcrNodeType.equals("")))
        {
            type.setName(getNamespaceHelper().getName(jcrNodeType));
        }
        else
        {
            type.setName(getNamespaceHelper().getName(className));
        }

        type.setSupertypes(getJcrSuperTypes(jcrSuperTypes));
        type.setPrimaryItemName(getNamespaceHelper().getName(jcrNodeType));
        return type;
    }
View Full Code Here

    private void removeNodeTypesFromList(Session session, List nodeTypes)
    throws NodeTypeRemovalException
    {
        for (Iterator nodeTypeIterator = nodeTypes.iterator(); nodeTypeIterator.hasNext();)
        {
      NodeTypeDef nodeTypeDef = (NodeTypeDef) nodeTypeIterator.next();
      this.removeSingleNodeType(session, nodeTypeDef.getName());
     
    }
     
    }
View Full Code Here

TOP

Related Classes of org.apache.jackrabbit.core.nodetype.NodeTypeDef

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.