Package org.apache.jackrabbit.core.nodetype

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


                true, def.isProtected());
    }

    /** Test for node type property definitions. */
    public void testPropertyNodeType() {
        NodeTypeDef def = getNodeType("propertyNodeType");
        assertEquals("propertyNodeType propertyDefs",
                13, 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

    /**
     * convertComplexTypeDef
     */
    private QName convertComplexTypeDef(XSComplexTypeDefinition ctDef, String namespace, String nameHint) throws SchemaConversionException {
        NodeTypeDef ntd;

        // Check if this ComplexTypeDef has already been converted
        // if so, return the name of the corresponding NodeTypeDef
        if (nodeTypeDefs.containsKey(ctDef)) {
            ntd = (NodeTypeDef) nodeTypeDefs.get(ctDef);
            return ntd.getName();
        }

        // Otherwise create a new NodeTypeDef and add it to the map
        // keyed by the CTDef from which it was converted
        NodeTypeDef ntDef = new NodeTypeDef();
        nodeTypeDefs.put(ctDef, ntDef);

        // Make name for the node type, inventing names for anonymous CTDefs
        // and avoiding repetitions.
        QName ntName;
        if (ctDef.getAnonymous()) {
            if (nameHint == null) {
                throw new SchemaConversionException("Anonymous complex type definition encountered without name hint");
            }
            namespace = noNull(namespace);
            QName baseName = new QName(namespace, nameHint + "Type");
            Integer count = (Integer) nodeTypeBaseNames.get(baseName);
            if (count == null) {
                nodeTypeBaseNames.put(baseName, new Integer(0));
                ntName = baseName;
            } else {
                int newCount = count.intValue() + 1;
                ntName = new QName(namespace, nameHint + "Type_" + Integer.toString(newCount));
                nodeTypeBaseNames.put(baseName, new Integer(newCount));
            }
        } else {
            ntName = new QName(noNull(ctDef.getNamespace()), ctDef.getName());
        }

        // set the name of the node type
        ntDef.setName(ntName);

        // Fill in the rest of the node type def
        buildNodeTypeDef(ntDef, ctDef);
        return ntName;
    }
View Full Code Here

        if (nodeTypeDefs.containsKey(XML_TEXT_NODETYPE_NAME)) {
            return;
        }

        // Otherwise create a new node type def and set its attributes
        NodeTypeDef ntd = new NodeTypeDef();
        ntd.setName(XML_TEXT_NODETYPE_NAME);
        ntd.setSupertypes(new QName[] { QName.NT_BASE });
        ntd.setPrimaryItemName(null);
        ntd.setMixin(false);
        ntd.setOrderableChildNodes(false);
        ntd.setChildNodeDefs(new NodeDef[] {});

        // The XML text node type defines a single property called jcr:xmlcharacters
        // Create the property def for this property
        PropDefImpl pd = new PropDefImpl();
        pd.setName(QName.JCR_XMLCHARACTERS);
        pd.setDeclaringNodeType(XML_TEXT_NODETYPE_NAME);
        pd.setAutoCreated(false);
        pd.setDefaultValues(new InternalValue[] {});
        pd.setMandatory(false);
        pd.setMultiple(false);
        pd.setOnParentVersion(OnParentVersionAction.COPY);
        pd.setProtected(false);
        pd.setRequiredType(PropertyType.STRING);
        pd.setValueConstraints(new ValueConstraint[] {});

        // Add the jcr:xmlcharacters properyt def to the node type def
        ntd.setPropertyDefs(new PropDef[] { pd });

        // Add the node type def to the set of node type defs
        nodeTypeDefs.put(ntd.getName(), ntd);
    }
View Full Code Here

    return nodeDefs;
  }

  private NodeTypeDef getRootElementNodeTypeDef() {
    NodeTypeDef ntDef = new NodeTypeDef();
    ntDef.setChildNodeDefs(getRootElementNodeDefs());
    ntDef.setMixin(false);
    ntDef.setName(new QName(this.namespace, this.rootElementName));
    ntDef.setOrderableChildNodes(true);
    ntDef.setPrimaryItemName(null);
    ntDef.setPropertyDefs(PropDef.EMPTY_ARRAY);
    ntDef.setSupertypes(new QName[] { new QName("http://www.jcp.org/jcr/nt/1.0", "base"),
        new QName("http://www.jcp.org/jcr/mix/1.0", "versionable"), new QName("http://www.jcp.org/jcr/mix/1.0", "lockable") });

    return ntDef;
  }
View Full Code Here

        return new NodeDef[]{metadataRootElementNodeDef};
    }
 
    private NodeTypeDef getMetadataNodeTypeDef() {
        NodeTypeDef ntDef = new NodeTypeDef();
        ntDef.setChildNodeDefs(getMetadataNodeDefs());
        ntDef.setMixin(false);   
        ntDef.setName(new QName(this.namespace, this.metadataName));  
        ntDef.setOrderableChildNodes(false); //TODO Classer par date
        ntDef.setPrimaryItemName(null);
        ntDef.setPropertyDefs(PropDef.EMPTY_ARRAY);           
        ntDef.setSupertypes(new QName[] {
                new QName(NodesTypes.NAMESPACE, MetadataDao.NAME)
        });
  
        return ntDef;
    }
View Full Code Here

        groupsNodeDef.setRequiredPrimaryTypes(new QName[]{new QName(NAMESPACE,CollectionDao.GROUPS_NODE_NAME)});

        return new NodeDef[]{collectionsNodeDef, foldersNodeDef, groupsNodeDef};
    }
    private static NodeTypeDef getCollectionNodeTypeDef() throws InvalidConstraintException{
        NodeTypeDef ntDef = new NodeTypeDef();
        ntDef.setChildNodeDefs(getCollectionNodeDefs());
        ntDef.setMixin(false);   
        ntDef.setName(new QName(NAMESPACE, CollectionDao.NAME));  
        ntDef.setOrderableChildNodes(false); //TODO Classer par date
        ntDef.setPrimaryItemName(new QName(NAMESPACE, CollectionDao.FOLDERS_NODE_NAME));
        ntDef.setPropertyDefs(getCollectionPropertyDefs());           
        ntDef.setSupertypes(new QName[] {
                new QName("http://www.jcp.org/jcr/nt/1.0","base"),
                new QName("http://www.jcp.org/jcr/mix/1.0","versionable"),
                new QName("http://www.jcp.org/jcr/mix/1.0","lockable"),
                new QName(NAMESPACE, ContentDao.NAME)
        });
View Full Code Here

        valueProp.setValueConstraints(new ValueConstraint[0]);
               
        return new PropDef[]{valueProp};
    }
    private static NodeTypeDef getValueElementNodeTypeDef() throws InvalidConstraintException{
        NodeTypeDef ntDef = new NodeTypeDef();
        ntDef.setChildNodeDefs(NodeDef.EMPTY_ARRAY);
        ntDef.setMixin(false);   
        ntDef.setName(new QName(NAMESPACE, MetadataDao.VALUE_ELEMENT_NAME));  
        ntDef.setOrderableChildNodes(false); //TODO Classer par date
        ntDef.setPrimaryItemName(new QName(NAMESPACE, MetadataDao.VALUE_ELEMENT_NAME));
        ntDef.setPropertyDefs(getValueElementPropertyDefs());           
        ntDef.setSupertypes(new QName[] {
                new QName("http://www.jcp.org/jcr/nt/1.0","base"),
                new QName("http://www.jcp.org/jcr/mix/1.0","versionable"),
                new QName("http://www.jcp.org/jcr/mix/1.0","lockable")
        });
  
View Full Code Here

        foldersNodeDef.setRequiredPrimaryTypes(new QName[]{new QName(NAMESPACE, FolderDao.NAME)});

        return new NodeDef[]{foldersNodeDef};
    }
    private static NodeTypeDef getFoldersNodeTypeDef() {
        NodeTypeDef ntDef = new NodeTypeDef();
        ntDef.setChildNodeDefs(getFoldersNodeDefs());
        ntDef.setMixin(false);   
        ntDef.setName(new QName(NAMESPACE, CollectionDao.FOLDERS_NODE_NAME));  
        ntDef.setOrderableChildNodes(false); //TODO Classer par date
        ntDef.setPrimaryItemName(null);
        ntDef.setPropertyDefs(PropDef.EMPTY_ARRAY);           
        ntDef.setSupertypes(new QName[] {
                new QName("http://www.jcp.org/jcr/nt/1.0", "base"),
                new QName("http://www.jcp.org/jcr/mix/1.0", "versionable")
        });
  
        return ntDef;
View Full Code Here

        groupsNodeDef.setRequiredPrimaryTypes(new QName[]{new QName(NAMESPACE, GroupDao.NAME)});

        return new NodeDef[]{groupsNodeDef};
    }
    private static NodeTypeDef getGroupsNodeTypeDef() {
        NodeTypeDef ntDef = new NodeTypeDef();
        ntDef.setChildNodeDefs(getGroupsNodeDefs());
        ntDef.setMixin(false);   
        ntDef.setName(new QName(NAMESPACE, CollectionDao.GROUPS_NODE_NAME));  
        ntDef.setOrderableChildNodes(false); //TODO Classer par date
        ntDef.setPrimaryItemName(null);
        ntDef.setPropertyDefs(PropDef.EMPTY_ARRAY);           
        ntDef.setSupertypes(new QName[] {
                new QName("http://www.jcp.org/jcr/nt/1.0","base"),
                new QName("http://www.jcp.org/jcr/mix/1.0","versionable")
        });
  
        return ntDef;
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.