Package org.apache.felix.ipojo.metadata

Examples of org.apache.felix.ipojo.metadata.Element


                            // The provides annotation is already computed.
                            context.getReporter().warn("The component does not provide services, skip ServiceProperty for {}", name);
                            return null;
                        } else {
                            // Get the provides element
                            Element provides = workbench.getIds().get("provides");
                            return new FieldPropertyVisitor(name, provides);
                        }

                    }
                });

        bind(ServiceController.class)
                .to(new AnnotationVisitorFactory() {
                    public AnnotationVisitor newAnnotationVisitor(BindingContext context) {
                        String name = context.getFieldNode().name;
                        ComponentWorkbench workbench = context.getWorkbench();

                        if (!workbench.getIds().containsKey("provides")) { // The provides annotation is already computed.
                            context.getReporter().warn("The component does not provide services, skip @ServiceController for {}", name);
                            return null;
                        } else {
                            // Get the provides element
                            Element provides = workbench.getIds().get("provides");
                            return new ServiceControllerVisitor(name, provides);
                        }

                    }
                });

        bind(Property.class)
                .when(on(ElementType.FIELD))
                .to(new AnnotationVisitorFactory() {
                    public AnnotationVisitor newAnnotationVisitor(BindingContext context) {

                        ComponentWorkbench workbench = context.getWorkbench();
                        Element properties = Elements.getPropertiesElement(workbench);
                        String name = context.getFieldNode().name;
                        return new FieldPropertyVisitor(name, properties);
                    }

                })
                .when(on(ElementType.METHOD))
                .to(new AnnotationVisitorFactory() {
                    public AnnotationVisitor newAnnotationVisitor(BindingContext context) {

                        ComponentWorkbench workbench = context.getWorkbench();
                        // @Property on method parameter
                        Element properties = Elements.getPropertiesElement(workbench);
                        String name = context.getMethodNode().name;
                        return new MethodPropertyVisitor(properties, name);
                    }
                })
                .when(on(ElementType.PARAMETER))
                .to(new AnnotationVisitorFactory() {
                    public AnnotationVisitor newAnnotationVisitor(BindingContext context) {

                        ComponentWorkbench workbench = context.getWorkbench();
                        // @Property on method parameter
                        Element properties = Elements.getPropertiesElement(workbench);
                        MethodNode method = context.getMethodNode();
                        return new ParameterPropertyVisitor(properties, method, context.getParameterIndex());
                    }
                });
View Full Code Here


        );
    }

    @Test
    public void annotations() {
        Element elem = IPOJOHelper.getMetadata(getBundle(), "org.apache.felix.ipojo.handler.transaction.components.ComponentUsingAnnotations");
        Assert.assertNotNull(elem);

        Element tr = elem.getElements("transaction", "org.apache.felix.ipojo.transaction")[0];
        Assert.assertEquals("transaction", tr.getAttribute("field"));

        Assert.assertNull(tr.getAttribute("oncommit"));
        Assert.assertNull(tr.getAttribute("onrollback"));

        Element[] methods = tr.getElements();
        Assert.assertEquals(4, methods.length);

        Element m1 = getElementByMethod(methods, "doSomethingBad");
        Assert.assertNotNull(m1);

        Element m2 = getElementByMethod(methods, "doSomethingBad2");
        Assert.assertNotNull(m2);
        Assert.assertEquals("required", m2.getAttribute("propagation"));

        Element m3 = getElementByMethod(methods, "doSomethingGood");
        Assert.assertNotNull(m3);
        Assert.assertEquals("supported", m3.getAttribute("propagation"));
        Assert.assertEquals("{java.lang.Exception}", m3.getAttribute("norollbackfor"));

        Element m4 = getElementByMethod(methods, "doSomethingLong");
        Assert.assertNotNull(m4);
        Assert.assertEquals("1000", m4.getAttribute("timeout"));
        Assert.assertEquals("true", m4.getAttribute("exceptiononrollback"));
    }
View Full Code Here

        helper = new IPOJOHelper(this);
    }
   
   
    public void testArch() {
        Element meta = helper.getMetadata("org.apache.felix.ipojo.test.scenarios.component.Arch");
        String arch = meta.getAttribute("architecture");
        assertNotNull("Architecture exists ", arch);
        assertEquals("Architecture value", "true", arch);
    }
View Full Code Here

        assertNotNull("Architecture exists ", arch);
        assertEquals("Architecture value", "true", arch);
    }
   
    public void testNoArch() {
        Element meta = helper.getMetadata("org.apache.felix.ipojo.test.scenarios.component.NoArch");
        String arch = meta.getAttribute("architecture");
        assertNotNull("Architecture exists ", arch);
        assertEquals("Architecture value", "false", arch);
    }
View Full Code Here

    public void setUp() {
        helper = new IPOJOHelper(this);
    }

    public void testArchDeprecated() {
        Element meta = helper.getMetadata("org.apache.felix.ipojo.test.scenarios.component.FactoryDeprecated");
        String fact = meta.getAttribute("public");
        String name = meta.getAttribute("name");
        assertNotNull("Factory exists ", fact);
        assertEquals("Factory value", "true", fact);
        assertNotNull("Name exists ", name);
        assertEquals("Name value", "org.apache.felix.ipojo.test.scenarios.component.FactoryDeprecated", name);
    }
View Full Code Here

        assertNotNull("Name exists ", name);
        assertEquals("Name value", "org.apache.felix.ipojo.test.scenarios.component.FactoryDeprecated", name);
    }

    public void testArch() {
        Element meta = helper.getMetadata("org.apache.felix.ipojo.test.scenarios.component.Factory");
        String fact = meta.getAttribute("public");
        String name = meta.getAttribute("name");
        assertNotNull("Factory exists ", fact);
        assertEquals("Factory value", "true", fact);
        assertNotNull("Name exists ", name);
        assertEquals("Name value", "factory", name);
    }
View Full Code Here

        assertNotNull("Name exists ", name);
        assertEquals("Name value", "factory", name);
    }

    public void testNoArch() {
        Element meta = helper.getMetadata("org.apache.felix.ipojo.test.scenarios.component.NoFactory");
        String fact = meta.getAttribute("public");
        String name = meta.getAttribute("name");
        assertNotNull("Factory exists ", fact);
        assertEquals("Factory value", "false", fact);
        assertNotNull("Name exists ", name);
        assertEquals("Name value", "nofactory", name);
    }
View Full Code Here

        assertNotNull("Name exists ", name);
        assertEquals("Name value", "nofactory", name);
    }

    public void testFactoryMethod() {
        Element meta = helper.getMetadata("org.apache.felix.ipojo.test.scenarios.component.FactoryMethod");
        String method = meta.getAttribute("factory-method");
        assertNotNull("Method exists ", method);
        assertEquals("Method value", "create", method);
    }
View Full Code Here

        assertNotNull("Method exists ", method);
        assertEquals("Method value", "create", method);
    }

    public void testFactoryMethodDeprecated() {
        Element meta = helper.getMetadata("org.apache.felix.ipojo.test.scenarios.component.FactoryMethodDeprecated");
        String method = meta.getAttribute("factory-method");
        assertNotNull("Method exists ", method);
        assertEquals("Method value", "create", method);
    }
View Full Code Here

        assertNotNull("Method exists ", method);
        assertEquals("Method value", "create", method);
    }

    public void testVersion() {
        Element meta = helper.getMetadata("org.apache.felix.ipojo.test.scenarios.component.ComponentTypeVersion");
        String version = meta.getAttribute("version");
        assertNotNull("Version exist", version);
        assertEquals("Version value", "1.0.0", version);
    }
View Full Code Here

TOP

Related Classes of org.apache.felix.ipojo.metadata.Element

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.