Package org.apache.jackrabbit.core.nodetype

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


    }

   
    // ************* Group ******************
    private static PropDef[] getGroupPropertyDefs() {   
        PropDefImpl descriptionProp = new PropDefImpl();
        descriptionProp.setAutoCreated(false);
        descriptionProp.setDeclaringNodeType(new QName(NAMESPACE, GroupDao.NAME));
        descriptionProp.setDefaultValues(InternalValue.EMPTY_ARRAY);     
        descriptionProp.setMandatory(false);
        descriptionProp.setMultiple(false);   
        descriptionProp.setName(new QName(NAMESPACE, GroupDao.DESCRIPTION_PROPERTY_NAME));
        descriptionProp.setOnParentVersion(OnParentVersionAction.VERSION);
        descriptionProp.setProtected(false); //Cannot edit this property
        descriptionProp.setRequiredType(PropertyType.STRING);
        descriptionProp.setValueConstraints(ValueConstraint.EMPTY_ARRAY);
       
        //Important : a group cannot have a REFERENCE to a user. It's not generic : for LDAP, etc..
        PropDefImpl usersRefsProp = new PropDefImpl();
        usersRefsProp.setAutoCreated(false);
        usersRefsProp.setDeclaringNodeType(new QName(NAMESPACE, GroupDao.NAME));
        usersRefsProp.setDefaultValues(InternalValue.EMPTY_ARRAY);     
        usersRefsProp.setMandatory(false);
        usersRefsProp.setMultiple(true);
        usersRefsProp.setName(new QName(NAMESPACE, GroupDao.USERS_PROPERTY_NAME));
        usersRefsProp.setOnParentVersion(OnParentVersionAction.COPY); //Same as VERSION
        usersRefsProp.setProtected(false);
        usersRefsProp.setRequiredType(PropertyType.STRING);
        usersRefsProp.setValueConstraints(ValueConstraint.EMPTY_ARRAY);
       
        return new PropDef[]{descriptionProp, usersRefsProp};
    }
View Full Code Here


    private void doItemDefs(NodeTypeDef ntd) throws ParseException {
        List propertyDefinitions = new ArrayList();
        List nodeDefinitions = new ArrayList();
        while (currentTokenEquals(Lexer.PROPERTY_DEFINITION) || currentTokenEquals(Lexer.CHILD_NODE_DEFINITION)) {
            if (currentTokenEquals(Lexer.PROPERTY_DEFINITION)) {
                PropDefImpl pdi = new PropDefImpl();

                pdi.setAutoCreated(false);
                pdi.setDeclaringNodeType(ntd.getName());
                pdi.setDefaultValues(null);
                pdi.setMandatory(false);
                pdi.setMultiple(false);
                pdi.setOnParentVersion(OnParentVersionAction.COPY);
                pdi.setProtected(false);
                pdi.setRequiredType(PropertyType.STRING);
                pdi.setValueConstraints(null);

                nextToken();
                doPropertyDefinition(pdi, ntd);
                propertyDefinitions.add(pdi);
View Full Code Here

        }

        // property definitions
        Vector properties = new Vector();
        while (walker.iterateElements(Constants.PROPERTYDEFINITION_ELEMENT)) {
            PropDefImpl def = getPropDef();
            def.setDeclaringNodeType(type.getName());
            properties.add(def);
        }
        type.setPropertyDefs((PropDef[])
                properties.toArray(new PropDef[properties.size()]));

        // child node definitions
        Vector nodes = new Vector();
        while (walker.iterateElements(Constants.CHILDNODEDEFINITION_ELEMENT)) {
            NodeDefImpl def = getChildNodeDef();
            def.setDeclaringNodeType(type.getName());
            nodes.add(def);
        }
        type.setChildNodeDefs((NodeDef[])
                nodes.toArray(new NodeDef[nodes.size()]));
View Full Code Here

     *                                     unknown namespace prefix
     */
    private PropDefImpl getPropDef()
            throws InvalidNodeTypeDefException, IllegalNameException,
            UnknownPrefixException {
        PropDefImpl def = new PropDefImpl();
        String name = walker.getAttribute(Constants.NAME_ATTRIBUTE);
        if (name.equals("*")) {
            def.setName(ItemDef.ANY_NAME);
        } else {
            def.setName(QName.fromJCRName(name, resolver));
        }

        // simple attributes
        def.setAutoCreated(Boolean.valueOf(
                walker.getAttribute(Constants.AUTOCREATED_ATTRIBUTE))
                .booleanValue());
        def.setMandatory(Boolean.valueOf(
                walker.getAttribute(Constants.MANDATORY_ATTRIBUTE))
                .booleanValue());
        def.setProtected(Boolean.valueOf(
                walker.getAttribute(Constants.PROTECTED_ATTRIBUTE))
                .booleanValue());
        def.setOnParentVersion(OnParentVersionAction.valueFromName(
                walker.getAttribute(Constants.ONPARENTVERSION_ATTRIBUTE)));
        def.setMultiple(Boolean.valueOf(
                walker.getAttribute(Constants.MULTIPLE_ATTRIBUTE))
                .booleanValue());
        def.setRequiredType(PropertyType.valueFromName(
                walker.getAttribute(Constants.REQUIREDTYPE_ATTRIBUTE)));

        // value constraints
        if (walker.enterElement(Constants.VALUECONSTRAINTS_ELEMENT)) {
            Vector constraints = new Vector();
            int type = def.getRequiredType();
            while (walker.iterateElements(Constants.VALUECONSTRAINT_ELEMENT)) {
                String constraint = walker.getContent();
                try {
                    constraints.add(ValueConstraint.create(
                            type, constraint.trim(), resolver));
                } catch (InvalidConstraintException e) {
                    throw new InvalidNodeTypeDefException(
                            "Invalid value constraint " + constraint, e);
                }
            }
            def.setValueConstraints((ValueConstraint[]) constraints.toArray(
                    new ValueConstraint[constraints.size()]));
            walker.leaveElement();
        }

        // default values
        if (walker.enterElement(Constants.DEFAULTVALUES_ELEMENT)) {
            Vector values = new Vector();
            int type = def.getRequiredType();
            if (type == PropertyType.UNDEFINED) {
                type = PropertyType.STRING;
            }
            while (walker.iterateElements(Constants.DEFAULTVALUE_ELEMENT)) {
                String value = walker.getContent();
                try {
                    values.add(InternalValue.create(value, type, resolver));
                } catch (RepositoryException e) {
                    throw new InvalidNodeTypeDefException(e);
                }
            }
            def.setDefaultValues((InternalValue[])
                    values.toArray(new InternalValue[values.size()]));
            walker.leaveElement();
        }

        return def;
View Full Code Here

     * @return property
     */
    public PropDefImpl getPropertyDefinition(String fieldName,
            PropertyDefDescriptor field, Name declaringNodeType)
    {
        PropDefImpl property = new PropDefImpl();

        if (field.getJcrName() != null)
        {
            property.setName(getNamespaceHelper().getName(field.getJcrName()));
         
        }
        else
        {
            property.setName(getNamespaceHelper().getName(fieldName));
        }

        if (field.getJcrType() != null)
        {
            property.setRequiredType(PropertyType.valueFromName(field.getJcrType()));
        }
        else
        {
            log.info("No property type set for " + property.getName() +
                    ". Setting 'String' type.");
            property.setRequiredType(PropertyType.valueFromName("String"));
        }

        property.setDeclaringNodeType(declaringNodeType);
        property.setAutoCreated(field.isJcrAutoCreated());
        property.setMandatory(field.isJcrMandatory());
        property.setMultiple(field.isJcrMultiple());

        if (field.getJcrOnParentVersion() != null &&
                field.getJcrOnParentVersion().length() > 0)
        {
            property.setOnParentVersion(OnParentVersionAction.valueFromName(field.getJcrOnParentVersion()));
        }

        property.setProtected(field.isJcrProtected());
        return property;
    }
View Full Code Here

        }

        // property definitions
        Vector properties = new Vector();
        while (walker.iterateElements(Constants.PROPERTYDEFINITION_ELEMENT)) {
            PropDefImpl def = getPropDef();
            def.setDeclaringNodeType(type.getName());
            properties.add(def);
        }
        type.setPropertyDefs((PropDef[])
                properties.toArray(new PropDef[properties.size()]));

        // child node definitions
        Vector nodes = new Vector();
        while (walker.iterateElements(Constants.CHILDNODEDEFINITION_ELEMENT)) {
            NodeDefImpl def = getChildNodeDef();
            def.setDeclaringNodeType(type.getName());
            nodes.add(def);
        }
        type.setChildNodeDefs((NodeDef[])
                nodes.toArray(new NodeDef[nodes.size()]));
View Full Code Here

     * @throws NameException               if the definition contains an
     *                                     illegal name
     */
    private PropDefImpl getPropDef()
            throws InvalidNodeTypeDefException, NameException, NamespaceException {
        PropDefImpl def = new PropDefImpl();
        String name = walker.getAttribute(Constants.NAME_ATTRIBUTE);
        if (name.equals("*")) {
            def.setName(ItemDef.ANY_NAME);
        } else {
            def.setName(resolver.getQName(name));
        }

        // simple attributes
        def.setAutoCreated(Boolean.valueOf(
                walker.getAttribute(Constants.AUTOCREATED_ATTRIBUTE))
                .booleanValue());
        def.setMandatory(Boolean.valueOf(
                walker.getAttribute(Constants.MANDATORY_ATTRIBUTE))
                .booleanValue());
        def.setProtected(Boolean.valueOf(
                walker.getAttribute(Constants.PROTECTED_ATTRIBUTE))
                .booleanValue());
        def.setOnParentVersion(OnParentVersionAction.valueFromName(
                walker.getAttribute(Constants.ONPARENTVERSION_ATTRIBUTE)));
        def.setMultiple(Boolean.valueOf(
                walker.getAttribute(Constants.MULTIPLE_ATTRIBUTE))
                .booleanValue());
        def.setRequiredType(PropertyType.valueFromName(
                walker.getAttribute(Constants.REQUIREDTYPE_ATTRIBUTE)));

        // value constraints
        if (walker.enterElement(Constants.VALUECONSTRAINTS_ELEMENT)) {
            Vector constraints = new Vector();
            int type = def.getRequiredType();
            while (walker.iterateElements(Constants.VALUECONSTRAINT_ELEMENT)) {
                String constraint = walker.getContent();
                try {
                    constraints.add(ValueConstraint.create(
                            type, constraint.trim(), resolver));
                } catch (InvalidConstraintException e) {
                    throw new InvalidNodeTypeDefException(
                            "Invalid value constraint " + constraint, e);
                }
            }
            def.setValueConstraints((ValueConstraint[]) constraints.toArray(
                    new ValueConstraint[constraints.size()]));
            walker.leaveElement();
        }

        // default values
        if (walker.enterElement(Constants.DEFAULTVALUES_ELEMENT)) {
            Vector values = new Vector();
            int type = def.getRequiredType();
            if (type == PropertyType.UNDEFINED) {
                type = PropertyType.STRING;
            }
            while (walker.iterateElements(Constants.DEFAULTVALUE_ELEMENT)) {
                String value = walker.getContent();
                try {
                    values.add(InternalValue.create(ValueHelper.convert(
                            value, type, ValueFactoryImpl.getInstance()), resolver));
                } catch (RepositoryException e) {
                    throw new InvalidNodeTypeDefException(
                            "Unable to create default value: " + value, e);
                }
            }
            def.setDefaultValues((InternalValue[])
                    values.toArray(new InternalValue[values.size()]));
            walker.leaveElement();
        }

        return def;
View Full Code Here

    private void doItemDefs(NodeTypeDef ntd) throws ParseException {
        List propertyDefinitions = new ArrayList();
        List nodeDefinitions = new ArrayList();
        while (currentTokenEquals(Lexer.PROPERTY_DEFINITION) || currentTokenEquals(Lexer.CHILD_NODE_DEFINITION)) {
            if (currentTokenEquals(Lexer.PROPERTY_DEFINITION)) {
                PropDefImpl pdi = new PropDefImpl();

                pdi.setAutoCreated(false);
                pdi.setDeclaringNodeType(ntd.getName());
                pdi.setDefaultValues(null);
                pdi.setMandatory(false);
                pdi.setMultiple(false);
                pdi.setOnParentVersion(OnParentVersionAction.COPY);
                pdi.setProtected(false);
                pdi.setRequiredType(PropertyType.STRING);
                pdi.setValueConstraints(null);

                nextToken();
                doPropertyDefinition(pdi, ntd);
                propertyDefinitions.add(pdi);
View Full Code Here

        NamePathResolver resolver = new DefaultNamePathResolver(namespaceMapping);
        ValueConstraint vc = ValueConstraint.create(PropertyType.LONG, VALUE_CONSTRAINT, resolver);
        InternalValue[] defaultValues = new InternalValue[]{dv1, dv2};
        ValueConstraint[] valueConstraints = new ValueConstraint[]{vc};

        PropDefImpl pd = new PropDefImpl();
        pd.setName(PROPERTY_NAME);
        pd.setRequiredType(PropertyType.LONG);
        pd.setMandatory(true);
        pd.setAutoCreated(true);
        pd.setProtected(true);
        pd.setMultiple(true);
        pd.setOnParentVersion(OnParentVersionAction.VERSION);
        pd.setDefaultValues(defaultValues);
        pd.setValueConstraints(valueConstraints);
        pd.setDeclaringNodeType(NODE_TYPE_NAME);

        NodeDefImpl nd = new NodeDefImpl();
        nd.setName(CHILD_NODE_NAME);
        nd.setRequiredPrimaryTypes(REQUIRED_NODE_TYPES);
        nd.setDefaultPrimaryType(REQUIRED_NODE_TYPE_1);
View Full Code Here

        }

        // property definitions
        Vector properties = new Vector();
        while (walker.iterateElements(Constants.PROPERTYDEFINITION_ELEMENT)) {
            PropDefImpl def = getPropDef();
            def.setDeclaringNodeType(type.getName());
            properties.add(def);
        }
        type.setPropertyDefs((PropDef[])
                properties.toArray(new PropDef[properties.size()]));

        // child node definitions
        Vector nodes = new Vector();
        while (walker.iterateElements(Constants.CHILDNODEDEFINITION_ELEMENT)) {
            NodeDefImpl def = getChildNodeDef();
            def.setDeclaringNodeType(type.getName());
            nodes.add(def);
        }
        type.setChildNodeDefs((NodeDef[])
                nodes.toArray(new NodeDef[nodes.size()]));
View Full Code Here

TOP

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

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.