Package org.apache.ivy.osgi.obr.xml

Examples of org.apache.ivy.osgi.obr.xml.RequirementFilter


        // default constructor
    }

    public MultiOperatorFilter(RequirementFilter[] filters) {
        for (int i = 0; i < filters.length; i++) {
            RequirementFilter filter = filters[i];
            add(filter);
        }
    }
View Full Code Here


    public void append(StringBuffer builder) {
        builder.append('(');
        builder.append(operator());
        Iterator itSubFilters = subFilters.iterator();
        while (itSubFilters.hasNext()) {
            RequirementFilter filter = (RequirementFilter) itSubFilters.next();
            filter.append(builder);
        }
        builder.append(')');
    }
View Full Code Here

    public int hashCode() {
        final int prime = 31;
        int result = 1;
        Iterator itSubFilters = subFilters.iterator();
        while (itSubFilters.hasNext()) {
            RequirementFilter subFilter = (RequirementFilter) itSubFilters.next();
            result = prime * result + ((subFilter == null) ? 0 : subFilter.hashCode());
        }
        return result;
    }
View Full Code Here

            skipWhiteSpace();
            readNext();
            if (c != '(') {
                throw new ParseException("Expecting '(' as the start of the filter", pos);
            }
            RequirementFilter filter;
            switch (readNext()) {
                case '&':
                    filter = parseAnd();
                    break;
                case '|':
View Full Code Here

    public void testParser() throws Exception {
        assertParseFail("c>2");
        assertParseFail("");
        assertParseFail(")");
        RequirementFilter cgt2 = new CompareFilter("c", Operator.GREATER_THAN, "2");
        checkParse(cgt2, "(c>2)");
        RequirementFilter twoeqd = new CompareFilter("2", Operator.EQUALS, "d");
        checkParse(twoeqd, "(2=d)");
        RequirementFilter foodotbarge0dot0 = new CompareFilter("foo.bar",
                Operator.GREATER_OR_EQUAL, "0.0");
        checkParse(foodotbarge0dot0, "(foo.bar>=0.0)");
        RequirementFilter and = new AndFilter(new RequirementFilter[] {foodotbarge0dot0});
        checkParse(and, "(&(foo.bar>=0.0))");
        RequirementFilter and2 = new AndFilter(new RequirementFilter[] {cgt2, twoeqd,
                foodotbarge0dot0});
        checkParse(and2, "(&(c>2)(2=d)(foo.bar>=0.0))");
        RequirementFilter spaceAfterAnd = new AndFilter(new RequirementFilter[] {twoeqd});
        checkParse(spaceAfterAnd, "(& (2=d))");

        RequirementFilter version350 = new CompareFilter("version", Operator.GREATER_OR_EQUAL,
                "3.5.0");
        RequirementFilter version400 = new CompareFilter("version", Operator.GREATER_OR_EQUAL,
                "4.0.0");
        RequirementFilter notVersion400 = new NotFilter(version400);
        RequirementFilter bundle = new CompareFilter("bundle", Operator.EQUALS,
                "org.eclipse.core.runtime");
        RequirementFilter andEverythingWithSpace = new AndFilter(new RequirementFilter[] {
                version350, notVersion400, bundle});
        checkParse(andEverythingWithSpace,
            "(&     (version>=3.5.0)     (!(version>=4.0.0))     (bundle=org.eclipse.core.runtime)    )");
    }
View Full Code Here

            // OK
        }
    }

    private void checkParse(RequirementFilter expected, String toParse) throws ParseException {
        RequirementFilter parsed = RequirementFilterParser.parse(toParse);
        Assert.assertEquals(expected, parsed);
    }
View Full Code Here

TOP

Related Classes of org.apache.ivy.osgi.obr.xml.RequirementFilter

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.