Package org.apache.jackrabbit.core.nodetype

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


        }

        // 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(NameFormat.parse(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(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

    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);

                pdi.setFullTextSearchable(true);
                pdi.setQueryOrderable(true);
                pdi.setAvailableQueryOperators(Operator.getAllQueryOperators());

                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.setFullTextSearchable(false);
        pd.setQueryOrderable(false);
        pd.setAvailableQueryOperators(new String[]{QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO, QueryObjectModelConstants.JCR_OPERATOR_NOT_EQUAL_TO});
        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
        List properties = new ArrayList();
        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
        List nodes = new ArrayList();
        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.setFullTextSearchable(Boolean.valueOf(
                walker.getAttribute(Constants.ISFULLTEXTSEARCHABLE_ATTRIBUTE))
                .booleanValue());
        def.setQueryOrderable(Boolean.valueOf(
                walker.getAttribute(Constants.ISQUERYORDERABLE_ATTRIBUTE))
                .booleanValue());
        String s = walker.getAttribute(Constants.AVAILABLEQUERYOPERATORS_ATTRIBUTE);
        if (s != null && s.length() > 0) {
            String[] ops = s.split(" ");
            List queryOps = new ArrayList();
            for (int i = 0; i < ops.length; i++) {
                String op = ops[i].trim();
                if (op.equals(Constants.EQ_ENTITY)) {
                    queryOps.add(QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO);
                } else if (op.equals(Constants.NE_ENTITY)) {
                    queryOps.add(QueryObjectModelConstants.JCR_OPERATOR_NOT_EQUAL_TO);
                } else if (op.equals(Constants.LT_ENTITY)) {
                    queryOps.add(QueryObjectModelConstants.JCR_OPERATOR_LESS_THAN);
                } else if (op.equals(Constants.LE_ENTITY)) {
                    queryOps.add(QueryObjectModelConstants.JCR_OPERATOR_LESS_THAN_OR_EQUAL_TO);
                } else if (op.equals(Constants.GT_ENTITY)) {
                    queryOps.add(QueryObjectModelConstants.JCR_OPERATOR_GREATER_THAN);
                } else if (op.equals(Constants.GE_ENTITY)) {
                    queryOps.add(QueryObjectModelConstants.JCR_OPERATOR_GREATER_THAN_OR_EQUAL_TO);
                } else if (op.equals(Constants.LIKE_ENTITY)) {
                    queryOps.add(QueryObjectModelConstants.JCR_OPERATOR_LIKE);
                } else {
                    throw new InvalidNodeTypeDefException("'" + op + "' is not a valid query operator");
                }
            }
            def.setAvailableQueryOperators((String[]) queryOps.toArray(new String[queryOps.size()]));

        }
        def.setRequiredType(PropertyType.valueFromName(
                walker.getAttribute(Constants.REQUIREDTYPE_ATTRIBUTE)));

        // value constraints
        if (walker.enterElement(Constants.VALUECONSTRAINTS_ELEMENT)) {
            List constraints = new ArrayList();
            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)) {
            List<InternalValue> values = new ArrayList();
            int type = def.getRequiredType();
            if (type == PropertyType.UNDEFINED) {
                type = PropertyType.STRING;
            }
            while (walker.iterateElements(Constants.DEFAULTVALUE_ELEMENT)) {
                String value = walker.getContent();
                try {
                    Value v = ValueHelper.convert(value, type, valueFactory);
                    values.add((InternalValue) ValueFormat.getQValue(v, resolver, qValueFactory));
                } 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);

                pdi.setFullTextSearchable(true);
                pdi.setQueryOrderable(true);
                pdi.setAvailableQueryOperators(Operator.getAllQueryOperators());

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

        }

        // property definitions
        List properties = new ArrayList();
        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
        List nodes = new ArrayList();
        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.setFullTextSearchable(Boolean.valueOf(
                walker.getAttribute(Constants.ISFULLTEXTSEARCHABLE_ATTRIBUTE))
                .booleanValue());
        def.setQueryOrderable(Boolean.valueOf(
                walker.getAttribute(Constants.ISQUERYORDERABLE_ATTRIBUTE))
                .booleanValue());
        String s = walker.getAttribute(Constants.AVAILABLEQUERYOPERATORS_ATTRIBUTE);
        if (s != null && s.length() > 0) {
            String[] ops = s.split(" ");
            List queryOps = new ArrayList();
            for (int i = 0; i < ops.length; i++) {
                String op = ops[i].trim();
                if (op.equals(Constants.EQ_ENTITY)) {
                    queryOps.add(QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO);
                } else if (op.equals(Constants.NE_ENTITY)) {
                    queryOps.add(QueryObjectModelConstants.JCR_OPERATOR_NOT_EQUAL_TO);
                } else if (op.equals(Constants.LT_ENTITY)) {
                    queryOps.add(QueryObjectModelConstants.JCR_OPERATOR_LESS_THAN);
                } else if (op.equals(Constants.LE_ENTITY)) {
                    queryOps.add(QueryObjectModelConstants.JCR_OPERATOR_LESS_THAN_OR_EQUAL_TO);
                } else if (op.equals(Constants.GT_ENTITY)) {
                    queryOps.add(QueryObjectModelConstants.JCR_OPERATOR_GREATER_THAN);
                } else if (op.equals(Constants.GE_ENTITY)) {
                    queryOps.add(QueryObjectModelConstants.JCR_OPERATOR_GREATER_THAN_OR_EQUAL_TO);
                } else if (op.equals(Constants.LIKE_ENTITY)) {
                    queryOps.add(QueryObjectModelConstants.JCR_OPERATOR_LIKE);
                } else {
                    throw new InvalidNodeTypeDefException("'" + op + "' is not a valid query operator");
                }
            }
            def.setAvailableQueryOperators((String[]) queryOps.toArray(new String[queryOps.size()]));

        }
        def.setRequiredType(PropertyType.valueFromName(
                walker.getAttribute(Constants.REQUIREDTYPE_ATTRIBUTE)));

        // value constraints
        if (walker.enterElement(Constants.VALUECONSTRAINTS_ELEMENT)) {
            List constraints = new ArrayList();
            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)) {
            List values = new ArrayList();
            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

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.