Package com.volantis.xml.expression.sequence

Examples of com.volantis.xml.expression.sequence.Sequence


                " return the empty sequence",
                Sequence.EMPTY,
                unionFunction.invoke(expressionContextMock, new Value[] {
                        Sequence.EMPTY, Sequence.EMPTY
                }));
        final Sequence firstSequence =
                expressionContextMock.getFactory().createSequence(
                        new Item[] {
                                expressionContextMock.getFactory()
                                        .createStringValue("value1"),
                                expressionContextMock.getFactory()
                                        .createStringValue("value2"),
                                expressionContextMock.getFactory()
                                        .createStringValue("value2"),
                                expressionContextMock.getFactory()
                                        .createBooleanValue(true)});
        final Sequence secondSequence =
            expressionContextMock.getFactory().createSequence(
                    new Item[] {
                            expressionContextMock.getFactory()
                                    .createStringValue("value0"),
                            expressionContextMock.getFactory()
                                    .createStringValue("value0"),
                            expressionContextMock.getFactory()
                                    .createStringValue("value1"),
                            expressionContextMock.getFactory()
                                    .createBooleanValue(false)});
        final Sequence result = (Sequence) unionFunction.invoke(
                expressionContextMock, new Value[] {firstSequence,
                        secondSequence});
        assertEquals("number of elements in returned sequence is incorrect",
                5, result.getLength());
        assertEquals("incorrect element in returned sequence",
                "value1", result.getItem(1).stringValue().asJavaString());
        assertEquals("incorrect element in returned sequence",
                "value2", result.getItem(2).stringValue().asJavaString());
        assertEquals("incorrect element in returned sequence",
                "true", result.getItem(3).stringValue().asJavaString());
        assertEquals("incorrect element in returned sequence",
                "value0", result.getItem(4).stringValue().asJavaString());
        assertEquals("incorrect element in returned sequence",
                "false", result.getItem(5).stringValue().asJavaString());
    }
View Full Code Here


        // sequences.
        int itemCount = 0;
        if (values != null) {
            for (int i = 0; i < values.length; i++) {
                Value value = values[i];
                Sequence sequence = value.getSequence();
                itemCount += sequence.getLength();
            }
        }

        Item [] items;
        if (itemCount == 0) {
            // No items so create an empty sequence.
            items = null;
        } else {

            // Construct and populate an array of items from the values.
            items = new Item[itemCount];
            int index = 0;
            for (int i = 0; i < values.length; i++) {
                Value value = values[i];
                Sequence sequence = value.getSequence();
                for (int s = 1; s <= sequence.getLength(); s += 1) {
                    items[index] = sequence.getItem(s);
                    index += 1;
                }
            }
        }
View Full Code Here

                " return the empty sequence",
                Sequence.EMPTY,
                exceptFunction.invoke(expressionContextMock, new Value[] {
                        Sequence.EMPTY, Sequence.EMPTY
                }));
        final Sequence firstSequence =
                expressionContextMock.getFactory().createSequence(
                        new Item[] {
                                expressionContextMock.getFactory()
                                        .createStringValue("value0"),
                                expressionContextMock.getFactory()
                                        .createStringValue("value0"),
                                expressionContextMock.getFactory()
                                        .createStringValue("value2"),
                                expressionContextMock.getFactory()
                                        .createBooleanValue(true)});
        final Sequence secondSequence =
                expressionContextMock.getFactory().createSequence(
                        new Item[] {
                                expressionContextMock.getFactory()
                                        .createStringValue("value2"),
                                expressionContextMock.getFactory()
                                        .createStringValue("value3"),
                                expressionContextMock.getFactory()
                                        .createStringValue("value3"),
                                expressionContextMock.getFactory()
                                        .createBooleanValue(false)});
        final Sequence result = (Sequence) exceptFunction.invoke(
                expressionContextMock, new Value[] {firstSequence,
                        secondSequence});
        assertEquals("number of elements in returned sequence is incorrect",
                2, result.getLength());
        assertEquals("incorrect element in returned sequence",
                "value0", result.getItem(1).stringValue().asJavaString());
        assertEquals("incorrect element in returned sequence",
                "true", result.getItem(2).stringValue().asJavaString());
    }
View Full Code Here

      * Computes a list of expressions
      * @param context context to evaluate
      * @return sequence of expressions
      */    
     public Object compute(EvalContext context) {
       Sequence result = Sequence.EMPTY;
       if (expList != null) {
           ArrayList array = flattenExpressions(context);
           ListIterator it = array.listIterator();
           ArrayList itemsArray = new ArrayList(array.size()*2);
           while (it.hasNext()) {
        try {
            Sequence seq = JXPathExpression.asValue(factory, it.next()).
                  getSequence();
            for (int j=0; j<seq.getLength(); j++) {
          itemsArray.add(seq.getItem(j+1));
              }
        } catch (Exception e) {
            throw new JXPathException("Cannot evaluate nested expression " +
                                this.toString());
        }
View Full Code Here

        boolean result = false;

        try {
            ExpressionFactory factory = getExpressionFactory();

            Sequence lseq = JXPathExpression.asValue(factory, left).
                    getSequence();
            Sequence rseq = JXPathExpression.asValue(factory, right).
                    getSequence();

            result = PipelineExpressionHelper.compare(lseq, rseq, comparator);
        } catch (ExpressionException e) {
            // Tunnel the exception out in a JXPath runtime exception
View Full Code Here

        Value result;

        try {
            ExpressionFactory factory = getExpressionFactory();

            Sequence lseq = JXPathExpression.asValue(factory, left)
                    .getSequence();
            Sequence rseq = JXPathExpression.asValue(factory, right)
                    .getSequence();

            result = PipelineExpressionHelper.compute(lseq, rseq, operator);
        } catch (ExpressionException e) {
            // Tunnel the exception out in a JXPath runtime exception
View Full Code Here

        Value result;

        try {
            ExpressionFactory factory = getExpressionFactory();

            Sequence seq = JXPathExpression.asValue(factory, arg).getSequence();

            result = PipelineExpressionHelper.compute(seq, operator);
        } catch (ExpressionException e) {
            // Tunnel the exception out in a JXPath runtime exception
            throw new JXPathException("Illegal argument to operation: " + e);
View Full Code Here

     */
    public void testSearchPresent() throws Exception {
        ExpressionContext context = createExpressionContext();
        ExpressionFactory factory = context.getFactory();
        Function indexOf = new IndexOfFunction();
        Sequence sequence = createStringSequence(factory,
                new String[]{"a", "dog", "and", "a", "duck"});
        Value search = factory.createStringValue("a");
        Value retVal = indexOf.invoke(context, new Value[]{sequence, search});

        final Sequence retSeq = retVal.getSequence();

        // Should have returned (1, 4)
        assertTrue(retSeq.getLength() == 2);
        assertTrue(((IntValue) retSeq.getItem(1)).asJavaInt() == 1);
        assertTrue(((IntValue) retSeq.getItem(2)).asJavaInt() == 4);
    }
View Full Code Here

     */
    public void testSearchNotPresent() throws Exception {
        ExpressionContext context = createExpressionContext();
        ExpressionFactory factory = context.getFactory();
        Function indexOf = new IndexOfFunction();
        Sequence sequence = createStringSequence(factory,
                new String[]{"a", "dog", "and", "a", "duck"});
        Value search = factory.createStringValue("cat");
        Value retVal = indexOf.invoke(context, new Value[]{sequence, search});

        final Sequence retSeq = retVal.getSequence();

        // Should have returned ()
        assertSame(retSeq, Sequence.EMPTY);
    }
View Full Code Here

     */
    public void testAllItemsMatch() throws Exception {
        ExpressionContext context = createExpressionContext();
        ExpressionFactory factory = context.getFactory();
        Function indexOf = new IndexOfFunction();
        Sequence sequence = createStringSequence(factory,
                new String[]{"abc", "abc", "abc", "abc", "abc"});
        Value search = factory.createStringValue("abc");
        Value retVal = indexOf.invoke(context, new Value[]{sequence, search});

        final Sequence retSeq = retVal.getSequence();

        // Should have returned (1, 2, 3, 4, 5)
        assertTrue(retSeq.getLength() == 5);
        for (int i = 1; i <= 5; i++) {
            assertTrue(((IntValue) retSeq.getItem(i)).asJavaInt() == i);
        }
    }
View Full Code Here

TOP

Related Classes of com.volantis.xml.expression.sequence.Sequence

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.