Package org.codehaus.aspectwerkz.expression

Examples of org.codehaus.aspectwerkz.expression.ExpressionContext


       
        List adviceIndexInfoList = new ArrayList();
        List cflowExpressionList = new ArrayList();
        Pointcut cflowPointcut = null;

        ExpressionContext ctx = new ExpressionContext(type, reflectInfo, withinInfo);//AVAJ null?
        AspectManager[] aspectManagers = system.getAspectManagers();
        for (int i = 0; i < aspectManagers.length; i++) {
            AspectManager aspectManager = aspectManagers[i];

            /// grab the first one found, one single cflow pointcut is enough per join point
View Full Code Here


    public void testWithinCodeType() throws Exception {
        MethodInfo method = JavaMethodInfo.getMethodInfo(Target.class.getDeclaredMethod("modifiers1", new Class[] {}));
        assertTrue(new ExpressionInfo(
            "execution(void test.expression.Target.modifiers1()) AND withincode(void test.expression.Target.modifiers1())",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.EXECUTION, method, method)));
        assertTrue(new ExpressionInfo(
            "call(void test.expression.Target.modifiers1()) AND withincode(void test.expression.Target.modifiers1())",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, method, method)));
        assertFalse(new ExpressionInfo(
            "call(void test.expression.Target.modifiers1()) AND NOT withincode(void test.expression.Target.modifiers1())",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, method, method)));
    }
View Full Code Here

            NAMESPACE));
        s_namespace.addExpressionInfo("pc2", new ExpressionInfo(
            "execution(void test.expression.Target.modifiers3())",
            NAMESPACE));
        assertTrue(new ExpressionInfo("execution(void test.expression.Target.modifiers1()) || pc1", NAMESPACE)
                .getExpression().match(new ExpressionContext(PointcutType.EXECUTION, modifiers1, null)));
        assertTrue(new ExpressionInfo("execution(void test.expression.Target.modifiers1()) || pc1", NAMESPACE)
                .getExpression().match(new ExpressionContext(PointcutType.EXECUTION, modifiers2, null)));
        assertTrue(new ExpressionInfo("execution(void test.expression.Target.modifiers1()) || pc2", NAMESPACE)
                .getExpression().match(new ExpressionContext(PointcutType.EXECUTION, modifiers3, null)));
        assertTrue(new ExpressionInfo("execution(void test.expression.Target.modifiers1()) || pc1 || pc2", NAMESPACE)
                .getExpression().match(new ExpressionContext(PointcutType.EXECUTION, modifiers1, null)));
        assertTrue(new ExpressionInfo("execution(void test.expression.Target.modifiers1()) || pc1 || pc2", NAMESPACE)
                .getExpression().match(new ExpressionContext(PointcutType.EXECUTION, modifiers2, null)));
        assertTrue(new ExpressionInfo("execution(void test.expression.Target.modifiers1()) || pc1 || pc2 ", NAMESPACE)
                .getExpression().match(new ExpressionContext(PointcutType.EXECUTION, modifiers3, null)));
        assertTrue(new ExpressionInfo("execution(void test.expression.Target.modifiers1()) || pc2 || pc1", NAMESPACE)
                .getExpression().match(new ExpressionContext(PointcutType.EXECUTION, modifiers1, null)));
        assertTrue(new ExpressionInfo("execution(void test.expression.Target.modifiers1()) || pc2 || pc1", NAMESPACE)
                .getExpression().match(new ExpressionContext(PointcutType.EXECUTION, modifiers2, null)));
        assertTrue(new ExpressionInfo("execution(void test.expression.Target.modifiers1()) || pc2 || pc1 ", NAMESPACE)
                .getExpression().match(new ExpressionContext(PointcutType.EXECUTION, modifiers3, null)));
        assertTrue(new ExpressionInfo("pc1 || pc2 || execution(void test.expression.Target.modifiers1())", NAMESPACE)
                .getExpression().match(new ExpressionContext(PointcutType.EXECUTION, modifiers1, null)));
        assertTrue(new ExpressionInfo("pc1 || pc2 || execution(void test.expression.Target.modifiers1())", NAMESPACE)
                .getExpression().match(new ExpressionContext(PointcutType.EXECUTION, modifiers2, null)));
        assertTrue(new ExpressionInfo("pc1 || pc2 || execution(void test.expression.Target.modifiers1())", NAMESPACE)
                .getExpression().match(new ExpressionContext(PointcutType.EXECUTION, modifiers3, null)));
        assertTrue(new ExpressionInfo(
            "(execution(void test.expression.Target.modifiers1()) || pc1 || pc2) AND within(test.expression.Target)",
            NAMESPACE).getExpression()
                .match(new ExpressionContext(PointcutType.EXECUTION, modifiers1, s_declaringType)));
        assertTrue(new ExpressionInfo(
            "(execution(void test.expression.Target.modifiers1()) || pc1 || pc2) AND within(test.expression.Target)",
            NAMESPACE).getExpression()
                .match(new ExpressionContext(PointcutType.EXECUTION, modifiers2, s_declaringType)));
        assertTrue(new ExpressionInfo(
            "(execution(void test.expression.Target.modifiers1()) || pc1 || pc2) AND within(test.expression.Target)",
            NAMESPACE).getExpression()
                .match(new ExpressionContext(PointcutType.EXECUTION, modifiers3, s_declaringType)));
        assertTrue(new ExpressionInfo(
            "within(test.expression.Target) && (pc1 || pc2 || execution(void test.expression.Target.modifiers1()))",
            NAMESPACE).getExpression()
                .match(new ExpressionContext(PointcutType.EXECUTION, modifiers1, s_declaringType)));
        assertTrue(new ExpressionInfo(
            "within(test.expression.Target) && (pc2 || pc1 || execution(void test.expression.Target.modifiers1()))",
            NAMESPACE).getExpression()
                .match(new ExpressionContext(PointcutType.EXECUTION, modifiers2, s_declaringType)));
        assertTrue(new ExpressionInfo(
            "within(test.expression.Target) && (pc1 || execution(void test.expression.Target.modifiers1()) || pc2)",
            NAMESPACE).getExpression()
                .match(new ExpressionContext(PointcutType.EXECUTION, modifiers3, s_declaringType)));
    }
View Full Code Here

            new ExpressionInfo("execution(void test.expression.Target.modifiers1())", namespace1));
        ExpressionNamespace.getNamespace(namespace2).addExpressionInfo(
            "pc2",
            new ExpressionInfo("execution(void test.expression.Target.modifiers2())", namespace2));
        assertTrue(new ExpressionInfo("execution(* foo.bar.*()) || Lib.pc1", NAMESPACE).getExpression().match(
            new ExpressionContext(PointcutType.EXECUTION, modifiers1, null)));
        assertTrue(new ExpressionInfo("Lib.pc1 || execution(* foo.bar.*())", NAMESPACE).getExpression().match(
            new ExpressionContext(PointcutType.EXECUTION, modifiers1, null)));
        assertTrue(new ExpressionInfo("org.moneymaker.Util.pc2 || Lib.pc1", NAMESPACE).getExpression().match(
            new ExpressionContext(PointcutType.EXECUTION, modifiers2, null)));
        assertTrue(new ExpressionInfo("Lib.pc1 || org.moneymaker.Util.pc2", NAMESPACE).getExpression().match(
            new ExpressionContext(PointcutType.EXECUTION, modifiers2, null)));
        assertFalse(new ExpressionInfo("execution(void test.expression.Target.modifiers1()) || Lib.pc1", NAMESPACE)
                .getExpression().match(new ExpressionContext(PointcutType.EXECUTION, modifiers2, null)));
    }
View Full Code Here

    // ============ and tests =============
    public void testAnd() throws Exception {
        assertTrue(new ExpressionInfo(
            "execution(void test.expression.Target.modifiers1()) AND within(test.expression.Target)",
            NAMESPACE).getExpression()
                .match(new ExpressionContext(PointcutType.EXECUTION, modifiers1, s_declaringType)));
        assertFalse(new ExpressionInfo(
            "execution(void test.expression.Target.modifiers1()) AND call(void test.expression.Target.modifiers1())",
            NAMESPACE).getExpression()
                .match(new ExpressionContext(PointcutType.EXECUTION, modifiers1, s_declaringType)));
        assertFalse(new ExpressionInfo(
            "call(void test.expression.Target.modifiers1()) AND set(int test.expression.Target.modifier1)",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, modifier1, null)));
        assertTrue(new ExpressionInfo(
            "execution(void test.expression.Target.modifiers1()) && within(test.expression.Target)",
            NAMESPACE).getExpression()
                .match(new ExpressionContext(PointcutType.EXECUTION, modifiers1, s_declaringType)));
        assertFalse(new ExpressionInfo(
            "execution(void test.expression.Target.modifiers1()) && call(void test.expression.Target.modifiers1())",
            NAMESPACE).getExpression()
                .match(new ExpressionContext(PointcutType.EXECUTION, modifiers1, s_declaringType)));
        assertFalse(new ExpressionInfo(
            "call(void test.expression.Target.modifiers1()) && set(int test.expression.Target.modifier1)",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, modifier1, null)));
    }
View Full Code Here

    // ============ or tests =============
    public void testOr() throws Exception {
        assertTrue(new ExpressionInfo(
            "execution(void test.expression.Target.modifiers1()) OR call(void test.expression.Target.modifiers1())",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.EXECUTION, modifiers1, null)));
        assertTrue(new ExpressionInfo(
            "execution(void test.expression.Target.modifiers1()) OR call(void test.expression.Target.modifiers1())",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, modifiers1, null)));
        assertTrue(new ExpressionInfo(
            "call(void test.expression.Target.modifiers1()) OR set(int test.expression.Target.modifiers)",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, modifiers1, null)));
        assertTrue(new ExpressionInfo(
            "set(int test.expression.Target.modifier1) OR call(void test.expression.Target.modifiers1())",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.SET, modifier1, null)));
        assertTrue(new ExpressionInfo(
            "call(void test.expression.Target.modifiers1()) OR set(int test.expression.Target.modifier1)",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.SET, modifier1, null)));
        assertTrue(new ExpressionInfo(
            "execution(void test.expression.Target.modifiers1()) || call(void test.expression.Target.modifiers1())",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.EXECUTION, modifiers1, null)));
        assertTrue(new ExpressionInfo(
            "execution(void test.expression.Target.modifiers1()) || call(void test.expression.Target.modifiers1())",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, modifiers1, null)));
        assertTrue(new ExpressionInfo(
            "call(void test.expression.Target.modifiers1()) || set(int test.expression.Target.modifier1)",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, modifiers1, null)));
        assertTrue(new ExpressionInfo(
            "call(void test.expression.Target.modifiers1()) || set(int test.expression.Target.modifier1)",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.SET, modifier1, null)));
    }
View Full Code Here

    // ============ not tests =============
    public void testNot() throws Exception {
        assertFalse(new ExpressionInfo(
            "execution(void test.expression.Target.modifiers1()) AND NOT within(test.expression.Target)",
            NAMESPACE).getExpression()
                .match(new ExpressionContext(PointcutType.EXECUTION, modifiers1, s_declaringType)));
        assertTrue(new ExpressionInfo(
            "execution(void test.expression.Target.modifiers1()) AND NOT call(void test.expression.Target.modifiers1())",
            NAMESPACE).getExpression()
                .match(new ExpressionContext(PointcutType.EXECUTION, modifiers1, s_declaringType)));
        assertFalse(new ExpressionInfo(
            "call(void test.expression.Target.modifiers1()) AND NOT set(int test.expression.Target.modifier1)",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, modifier1, null)));
        assertFalse(new ExpressionInfo(
            "execution(void test.expression.Target.modifiers1()) && !within(test.expression.Target)",
            NAMESPACE).getExpression()
                .match(new ExpressionContext(PointcutType.EXECUTION, modifiers1, s_declaringType)));
        assertTrue(new ExpressionInfo(
            "execution(void test.expression.Target.modifiers1()) && !call(void test.expression.Target.modifiers1())",
            NAMESPACE).getExpression()
                .match(new ExpressionContext(PointcutType.EXECUTION, modifiers1, s_declaringType)));
        ExpressionVisitor expression = new ExpressionInfo(
            "execution(void test.expression.Target.modifiers1()) && !call(void test.expression.Target.modifiers3()) && !(call(void test.expression.Target.modifiers1()) || call(void test.expression.Target.modifiers2()))",
            NAMESPACE).getExpression();
        assertTrue(expression.match(new ExpressionContext(PointcutType.EXECUTION, modifiers1, s_declaringType)));
        assertFalse(expression.match(new ExpressionContext(PointcutType.CALL, modifiers1, s_declaringType)));
        assertFalse(expression.match(new ExpressionContext(PointcutType.SET, modifier1, s_declaringType)));
        assertFalse(new ExpressionInfo(
            "call(void test.expression.Target.modifiers1()) && !set(int test.expression.Target.modifier1)",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, modifier1, null)));
    }
View Full Code Here

    }

    // ============ args() test =============
    public void testMethodArgs1() throws Exception {
        assertTrue(new ExpressionInfo("call(void test.expression.Target.parameters1(..)) && args(..)", NAMESPACE)
                .getExpression().match(new ExpressionContext(PointcutType.CALL, parameters1, null)));
        assertTrue(new ExpressionInfo("call(void test.expression.Target.parameters1(..)) && args()", NAMESPACE)
                .getExpression().match(new ExpressionContext(PointcutType.CALL, parameters1, null)));
        assertFalse(new ExpressionInfo("call(void test.expression.Target.parameters1(..)) && args(int)", NAMESPACE)
                .getExpression().match(new ExpressionContext(PointcutType.CALL, parameters1, null)));
        assertFalse(new ExpressionInfo(
            "execution(void test.expression.Target.parameters1(..)) && args(.., int)",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, parameters1, null)));
        assertFalse(new ExpressionInfo(
            "execution(void test.expression.Target.parameters1(..)) && args(.., int)",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, parameters1, null)));
    }
View Full Code Here

            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, parameters1, null)));
    }

    public void testMethodArgs2() throws Exception {
        assertTrue(new ExpressionInfo("call(void test.expression.Target.parameters2(..)) && args(..)", NAMESPACE)
                .getExpression().match(new ExpressionContext(PointcutType.CALL, parameters2, null)));
        assertFalse(new ExpressionInfo("call(void test.expression.Target.parameters2(..)) && args()", NAMESPACE)
                .getExpression().match(new ExpressionContext(PointcutType.CALL, parameters2, null)));
        assertFalse(new ExpressionInfo("call(void test.expression.Target.parameters2(..)) && args(int)", NAMESPACE)
                .getExpression().match(new ExpressionContext(PointcutType.CALL, parameters2, null)));
        assertTrue(new ExpressionInfo(
            "call(void test.expression.Target.parameters2(..)) && args(int, float, byte)",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, parameters2, null)));
        assertTrue(new ExpressionInfo(
            "call(void test.expression.Target.parameters2(..)) && args(.., float, byte)",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, parameters2, null)));
        assertTrue(new ExpressionInfo("call(void test.expression.Target.parameters2(..)) && args(.., byte)", NAMESPACE)
                .getExpression().match(new ExpressionContext(PointcutType.CALL, parameters2, null)));
        assertTrue(new ExpressionInfo(
            "call(void test.expression.Target.parameters2(..)) && args(int, float, ..)",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, parameters2, null)));
        assertTrue(new ExpressionInfo("call(void test.expression.Target.parameters2(..)) && args(int, ..)", NAMESPACE)
                .getExpression().match(new ExpressionContext(PointcutType.CALL, parameters2, null)));
        assertFalse(new ExpressionInfo(
            "call(void test.expression.Target.parameters2(..)) && args(WRONG, ..)",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, parameters2, null)));
        assertFalse(new ExpressionInfo(
            "call(void test.expression.Target.parameters2(..)) && args(.., WRONG)",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, parameters2, null)));
        assertFalse(new ExpressionInfo(
            "call(void test.expression.Target.parameters2(..)) && args(int, float, WRONG)",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, parameters2, null)));
        assertFalse(new ExpressionInfo(
            "call(void test.expression.Target.parameters2(..)) && args(int, float, byte, WRONG)",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, parameters2, null)));
    }
View Full Code Here

            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, parameters2, null)));
    }

    public void testMethodArgs3() throws Exception {
        assertFalse(new ExpressionInfo("call(void test.expression.Target.parameters3())", NAMESPACE).getExpression()
                .match(new ExpressionContext(PointcutType.CALL, parameters3, null)));
        assertTrue(new ExpressionInfo("call(void test.expression.Target.parameters3(..))", NAMESPACE).getExpression()
                .match(new ExpressionContext(PointcutType.CALL, parameters3, null)));
        assertFalse(new ExpressionInfo("call(void test.expression.Target.parameters3(int, ..))", NAMESPACE)
                .getExpression().match(new ExpressionContext(PointcutType.CALL, parameters3, null)));
        assertTrue(new ExpressionInfo("call(void test.expression.Target.parameters3(String, ..))", NAMESPACE)
                .getExpression().match(new ExpressionContext(PointcutType.CALL, parameters3, null)));
        assertFalse(new ExpressionInfo(
            "call(void test.expression.Target.parameters3(String, String, String))",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, parameters3, null)));
        assertTrue(new ExpressionInfo(
            "call(void test.expression.Target.parameters3(String, StringBuffer, String))",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, parameters3, null)));
        assertTrue(new ExpressionInfo(
            "call(void test.expression.Target.parameters3(String, java.io.Serializable+, String))",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, parameters3, null)));
        assertFalse(new ExpressionInfo(
            "call(void test.expression.Target.parameters3(String, StringBuffer, String, *))",
            NAMESPACE).getExpression().match(new ExpressionContext(PointcutType.CALL, parameters3, null)));
    }
View Full Code Here

TOP

Related Classes of org.codehaus.aspectwerkz.expression.ExpressionContext

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.