Examples of QNodeDefinitionBuilder


Examples of org.apache.jackrabbit.spi.commons.nodetype.QNodeDefinitionBuilder

        final QNodeTypeDefinitionBuilder cmsObject = new QNodeTypeDefinitionBuilder();
        cmsObject.setName(nameFactory.create("", "CmsObject"));
        cmsObject.setSupertypes(new Name[]{NameConstants.NT_BASE});

        QNodeDefinitionBuilder parentFolder = new QNodeDefinitionBuilder();
        parentFolder.setRequiredPrimaryTypes(new Name[]{folder.getName()});
        parentFolder.setName(nameFactory.create("", "parentFolder"));
        parentFolder.setDeclaringNodeType(cmsObject.getName());
        cmsObject.setChildNodeDefs(new QNodeDefinition[]{parentFolder.build()});


        final QNodeTypeDefinitionBuilder document = new QNodeTypeDefinitionBuilder();
        document.setName(nameFactory.create("", "Document"));
        document.setSupertypes(new Name[]{cmsObject.getName()});
        QPropertyDefinitionBuilder sizeProp = new QPropertyDefinitionBuilder();
        sizeProp.setName(nameFactory.create("", "size"));
        sizeProp.setRequiredType(PropertyType.LONG);
        sizeProp.setDeclaringNodeType(document.getName());
        document.setPropertyDefs(new QPropertyDefinition[]{sizeProp.build()});


        folder.setSupertypes(new Name[]{cmsObject.getName()});

        QNodeDefinitionBuilder folders = new QNodeDefinitionBuilder();
        folders.setRequiredPrimaryTypes(new Name[]{folder.getName()});
        folders.setName(nameFactory.create("", "folders"));
        folders.setDeclaringNodeType(folder.getName());

        QNodeDefinitionBuilder documents = new QNodeDefinitionBuilder();
        documents.setRequiredPrimaryTypes(new Name[]{document.getName()});
        documents.setName(nameFactory.create("", "documents"));
        documents.setDeclaringNodeType(folder.getName());

        folder.setChildNodeDefs(new QNodeDefinition[]{
                folders.build(), documents.build()});
        ntDefCollection = new LinkedList<QNodeTypeDefinition>();
        ntDefCollection.add(folder.build());
        ntDefCollection.add(document.build());
        ntDefCollection.add(cmsObject.build());
View Full Code Here

Examples of org.apache.jackrabbit.spi.commons.nodetype.QNodeDefinitionBuilder

     * @param resolver
     * @return
     * @throws RepositoryException
     */
    static QNodeDefinition createQNodeDefinition(Name declaringNodeType, Element ndefElement, NamePathResolver resolver) throws RepositoryException {
        QNodeDefinitionBuilder builder = new QNodeDefinitionBuilder();

        buildQItemDefinition(declaringNodeType, ndefElement, resolver, builder);
       
        // TODO: webdav server sends jcr names -> nsResolver required. improve this.
        // NOTE: the server should send the namespace-mappings as addition ns-defininitions
        try {

            if (ndefElement.hasAttribute(DEFAULTPRIMARYTYPE_ATTRIBUTE)) {
                Name defaultPrimaryType = resolver.getQName(ndefElement.getAttribute(DEFAULTPRIMARYTYPE_ATTRIBUTE));
                builder.setDefaultPrimaryType(defaultPrimaryType);
            }

            Element reqPrimaryTypes = DomUtil.getChildElement(ndefElement, REQUIREDPRIMARYTYPES_ELEMENT, null);
            if (reqPrimaryTypes != null) {
                ElementIterator it = DomUtil.getChildren(reqPrimaryTypes, REQUIREDPRIMARYTYPE_ELEMENT, null);
                while (it.hasNext()) {
                    builder.addRequiredPrimaryType(resolver.getQName(DomUtil.getTextTrim(it.nextElement())));
                }
            } else {
                builder.addRequiredPrimaryType(NameConstants.NT_BASE);
            }

            if (ndefElement.hasAttribute(SAMENAMESIBLINGS_ATTRIBUTE)) {
                builder.setAllowsSameNameSiblings(Boolean.valueOf(ndefElement.getAttribute(SAMENAMESIBLINGS_ATTRIBUTE)));
            }
        } catch (NameException e) {
            throw new RepositoryException(e);
        }
        return builder.build();
    }
View Full Code Here

Examples of org.apache.jackrabbit.spi.commons.nodetype.QNodeDefinitionBuilder

        }
        return ent;
    }

    private static QNodeDefinition createRootNodeDef() {
        QNodeDefinitionBuilder def = new QNodeDefinitionBuilder();

        // FIXME need a fake declaring node type:
        // rep:root is not quite correct but better than a non-existing node type
        def.setDeclaringNodeType(NameConstants.REP_ROOT);
        def.setRequiredPrimaryTypes(new Name[]{NameConstants.REP_ROOT});
        def.setDefaultPrimaryType(NameConstants.REP_ROOT);
        def.setMandatory(true);
        def.setProtected(false);
        def.setOnParentVersion(OnParentVersionAction.VERSION);
        def.setAllowsSameNameSiblings(false);
        def.setAutoCreated(true);
        return def.build();
    }
View Full Code Here

Examples of org.apache.jackrabbit.spi.commons.nodetype.QNodeDefinitionBuilder

        }
        return ent;
    }

    private static QNodeDefinition createRootNodeDef() {
        QNodeDefinitionBuilder def = new QNodeDefinitionBuilder();

        // FIXME need a fake declaring node type:
        // rep:root is not quite correct but better than a non-existing node type
        def.setDeclaringNodeType(NameConstants.REP_ROOT);
        def.setRequiredPrimaryTypes(new Name[]{NameConstants.REP_ROOT});
        def.setDefaultPrimaryType(NameConstants.REP_ROOT);
        def.setMandatory(true);
        def.setProtected(false);
        def.setOnParentVersion(OnParentVersionAction.VERSION);
        def.setAllowsSameNameSiblings(false);
        def.setAutoCreated(true);
        return def.build();
    }
View Full Code Here

Examples of org.apache.jackrabbit.spi.commons.nodetype.QNodeDefinitionBuilder

        type.setPropertyDefs(properties.toArray(new QPropertyDefinition[properties.size()]));

        // child node definitions
        List<QNodeDefinition> nodes = new ArrayList<QNodeDefinition>();
        while (walker.iterateElements(Constants.CHILDNODEDEFINITION_ELEMENT)) {
            QNodeDefinitionBuilder def = getChildNodeDef();
            def.setDeclaringNodeType(type.getName());
            nodes.add(def.build());
        }
        type.setChildNodeDefs(nodes.toArray(new QNodeDefinition[nodes.size()]));

        return type.build();
    }
View Full Code Here

Examples of org.apache.jackrabbit.spi.commons.nodetype.QNodeDefinitionBuilder

     * @return child node definition
     * @throws NameException if the definition contains an illegal name
     * @throws NamespaceException if a namespace is not defined
     */
    private QNodeDefinitionBuilder getChildNodeDef() throws NameException, NamespaceException {
        QNodeDefinitionBuilder def = new QNodeDefinitionBuilder();
        String name = walker.getAttribute(Constants.NAME_ATTRIBUTE);
        if (name.equals("*")) {
            def.setName(NameConstants.ANY_NAME);
        } else {
            def.setName(resolver.getQName(name));
        }

        // simple attributes
        def.setAutoCreated(Boolean.valueOf(
                walker.getAttribute(Constants.AUTOCREATED_ATTRIBUTE)));
        def.setMandatory(Boolean.valueOf(
                walker.getAttribute(Constants.MANDATORY_ATTRIBUTE)));
        def.setProtected(Boolean.valueOf(
                walker.getAttribute(Constants.PROTECTED_ATTRIBUTE)));
        def.setOnParentVersion(OnParentVersionAction.valueFromName(
                walker.getAttribute(Constants.ONPARENTVERSION_ATTRIBUTE)));
        def.setAllowsSameNameSiblings(Boolean.valueOf(
                walker.getAttribute(Constants.SAMENAMESIBLINGS_ATTRIBUTE)));

        // default primary type
        String type =
            walker.getAttribute(Constants.DEFAULTPRIMARYTYPE_ATTRIBUTE);
        if (type != null && type.length() > 0) {
            def.setDefaultPrimaryType(resolver.getQName(type));
        }

        // required primary types
        if (walker.enterElement(Constants.REQUIREDPRIMARYTYPES_ELEMENT)) {
            List<Name> types = new ArrayList<Name>();
            while (walker.iterateElements(Constants.REQUIREDPRIMARYTYPE_ELEMENT)) {
                types.add(resolver.getQName(walker.getContent()));
            }
            def.setRequiredPrimaryTypes(types.toArray(new Name[types.size()]));
            walker.leaveElement();
        } else {
            /* Default to nt:base?
            throw new InvalidNodeTypeDefException(
                    "Required primary type(s) not defined for child node "
View Full Code Here

Examples of org.apache.jackrabbit.spi.commons.nodetype.QNodeDefinitionBuilder

        }
        return ent;
    }

    private static QNodeDefinition createRootNodeDef() {
        QNodeDefinitionBuilder def = new QNodeDefinitionBuilder();

        // FIXME need a fake declaring node type:
        // rep:root is not quite correct but better than a non-existing node type
        def.setDeclaringNodeType(NameConstants.REP_ROOT);
        def.setRequiredPrimaryTypes(new Name[]{NameConstants.REP_ROOT});
        def.setDefaultPrimaryType(NameConstants.REP_ROOT);
        def.setMandatory(true);
        def.setProtected(false);
        def.setOnParentVersion(OnParentVersionAction.VERSION);
        def.setAllowsSameNameSiblings(false);
        def.setAutoCreated(true);
        return def.build();
    }
View Full Code Here

Examples of org.apache.jackrabbit.spi.commons.nodetype.QNodeDefinitionBuilder

        }
        return ent;
    }

    private static QNodeDefinition createRootNodeDef() {
        QNodeDefinitionBuilder def = new QNodeDefinitionBuilder();

        // FIXME need a fake declaring node type:
        // rep:root is not quite correct but better than a non-existing node type
        def.setDeclaringNodeType(NameConstants.REP_ROOT);
        def.setRequiredPrimaryTypes(new Name[]{NameConstants.REP_ROOT});
        def.setDefaultPrimaryType(NameConstants.REP_ROOT);
        def.setMandatory(true);
        def.setProtected(false);
        def.setOnParentVersion(OnParentVersionAction.VERSION);
        def.setAllowsSameNameSiblings(false);
        def.setAutoCreated(true);
        return def.build();
    }
View Full Code Here

Examples of org.apache.jackrabbit.spi.commons.nodetype.QNodeDefinitionBuilder

        }
        return ent;
    }

    private static QNodeDefinition createRootNodeDef() {
        QNodeDefinitionBuilder def = new QNodeDefinitionBuilder();

        // FIXME need a fake declaring node type:
        // rep:root is not quite correct but better than a non-existing node type
        def.setDeclaringNodeType(NameConstants.REP_ROOT);
        def.setRequiredPrimaryTypes(new Name[]{NameConstants.REP_ROOT});
        def.setDefaultPrimaryType(NameConstants.REP_ROOT);
        def.setMandatory(true);
        def.setProtected(false);
        def.setOnParentVersion(OnParentVersionAction.VERSION);
        def.setAllowsSameNameSiblings(false);
        def.setAutoCreated(true);
        return def.build();
    }
View Full Code Here

Examples of org.apache.jackrabbit.spi.commons.nodetype.compact.QNodeTypeDefinitionsBuilder.QNodeDefinitionBuilder

                nextToken();
                doPropertyDefinition(pd, ntd);
                propertyDefinitions.add(pd.build());

            } else if (currentTokenEquals(Lexer.CHILD_NODE_DEFINITION)) {
                QNodeDefinitionBuilder nd = ntd.newQNodeDefinitionBuilder();

                nd.setAllowsSameNameSiblings(false);
                nd.setAutoCreated(false);
                nd.setDeclaringNodeType(ntd.getName());
                nd.setMandatory(false);
                nd.setOnParentVersion(OnParentVersionAction.COPY);
                nd.setProtected(false);
                nd.setDefaultPrimaryType(null);
                nd.setRequiredPrimaryTypes(new Name[]{NameConstants.NT_BASE});

                nextToken();
                doChildNodeDefinition(nd, ntd);
                nodeDefinitions.add(nd.build());
            }
        }

        ntd.setPropertyDefs((QPropertyDefinition[]) propertyDefinitions
                .toArray(new QPropertyDefinition[0]));
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.