Examples of EasyBeansEjbJarClassMetadata


Examples of org.ow2.easybeans.deployment.metadata.ejbjar.EasyBeansEjbJarClassMetadata

        // And then, set business method found in the createXXX() methods in
        // home interfaces
        for (String itf : interfacesList) {
            // Get metadata of this interface
            EasyBeansEjbJarClassMetadata interfaceUsed = bean.getLinkedClassMetadata(itf);
            if (interfaceUsed == null) {
                throw new IllegalStateException("Cannot find the metadata for the class '" + itf
                        + "' referenced in the home/localhome of the bean '" + bean.getClassName() + "'.");
            }

            // Get all methods
            for (EasyBeansEjbJarMethodMetadata methodData : interfaceUsed.getMethodMetadataCollection()) {
                JMethod itfMethod = methodData.getJMethod();

                // Ignore class init method
                if (itfMethod.getName().equals(BusinessMethodResolver.CLASS_INIT)
                        || itfMethod.getName().equals(BusinessMethodResolver.CONST_INIT)) {
View Full Code Here

Examples of org.ow2.easybeans.deployment.metadata.ejbjar.EasyBeansEjbJarClassMetadata

            final EjbJarArchiveMetadata ejbJarAnnotationMetadata) {

        String encodedname = home.replace(".", "/");

        // Get metadata of the given home interface
        EasyBeansEjbJarClassMetadata homeMetadata = ejbJarAnnotationMetadata.getScannedClassMetadata(encodedname);
        if (homeMetadata == null) {
            throw new IllegalStateException("Cannot find the class '" + home
                    + "' referenced as an home/localhome interface");
        }

        // Get methods
        for (EasyBeansEjbJarMethodMetadata method : homeMetadata.getMethodMetadataCollection()) {
            // if method name begins with "create", it's matching
            if (method.getMethodName().startsWith("create")) {
                // Get return type
                JMethod jMethod = method.getJMethod();
                Type returnType = Type.getReturnType(jMethod.getDescriptor());
                String returnTypeClassname = returnType.getClassName();
                // Not yet present in the list ? add it
                if (!interfacesList.contains(returnTypeClassname)) {
                    interfacesList.add(returnTypeClassname.replace(".", "/"));
                }
            }
        }

        // Parent is not EJBHome or EJBLocalHome then loop again on the super
        // name
        String[] interfaces = homeMetadata.getInterfaces();
        if (interfaces != null) {
            for (String itf : interfaces) {
                if (!"javax/ejb/EJBHome".equals(itf) && !"javax/ejb/EJBLocalHome".equals(itf)) {
                    getInterfacesFromHome(itf, interfacesList, ejbJarAnnotationMetadata);
                }
View Full Code Here

Examples of org.ow2.easybeans.deployment.metadata.ejbjar.EasyBeansEjbJarClassMetadata

        mv.visitCode();

        // call super method (if any)
        String superNameClass = this.classAnnotationMetadata.getSuperName();
        if (superNameClass != null && !superNameClass.equals(JAVA_LANG_OBJECT)) {
            EasyBeansEjbJarClassMetadata superMetadata = this.classAnnotationMetadata.getLinkedClassMetadata(superNameClass);
            if (superMetadata != null) {
                mv.visitMethodInsn(INVOKESTATIC, superMetadata.getClassName(), "easyBeansLifeCyclePostConstruct", "()V");
            }
        }

        // call each method annotated
        for (EasyBeansEjbJarMethodMetadata method : this.classAnnotationMetadata.getPostConstructMethodsMetadata()) {
View Full Code Here

Examples of org.ow2.easybeans.deployment.metadata.ejbjar.EasyBeansEjbJarClassMetadata

    /**
     * Test the pool annotation (ezb specific).
     */
    @Test
    public void testPool() {
        EasyBeansEjbJarClassMetadata classMetadata = this.ejbJarAnnotationMetadata.getScannedClassMetadata(MyEjb.class.getName()
                .replace('.', '/'));
        Assert.assertTrue(classMetadata.isStateful());
        IPoolConfiguration poolConfiguration = classMetadata.getPoolConfiguration();
        Assert.assertNotNull(poolConfiguration);
        Assert.assertEquals(poolConfiguration.getMax(), MyEjb.MAX);
    }
View Full Code Here

Examples of org.ow2.easybeans.deployment.metadata.ejbjar.EasyBeansEjbJarClassMetadata

    /**
     * Test the easybeans.xml parsing for WS add-ons
     */
    @Test
    public void testWebservicesValuesFromEasyBeansXML() {
        EasyBeansEjbJarClassMetadata classMetadata = this.ejbJarAnnotationMetadata.getEjbJarClassMetadataForEjbName("WebserviceSLSB");
        Assert.assertTrue(classMetadata.isStateless());

        String contextRoot = classMetadata.getWebServiceContextRoot();
        String endpointAddress = classMetadata.getWebServiceEndpointAddress();
        String realmName = classMetadata.getWebServiceRealmName();
        String transportGuarantee = classMetadata.getWebServiceTransportGuarantee();
        String authMethod = classMetadata.getWebServiceAuthMethod();
        List<String> httpMethods = classMetadata.getWebServiceHttpMethods();

        Assert.assertEquals(contextRoot, "/mine");
        Assert.assertEquals(endpointAddress, "/ping");
        Assert.assertEquals(realmName, "myRealm");
        Assert.assertEquals(transportGuarantee, "CONFIDENTIAL");
View Full Code Here

Examples of org.ow2.easybeans.deployment.metadata.ejbjar.EasyBeansEjbJarClassMetadata

            // Analyze interfaces and check that there are no methods with
            // @AroundInvoke or @PostConstruct
            String[] interfaces = bean.getInterfaces();
            if (interfaces != null) {
                for (String itf : interfaces) {
                    EasyBeansEjbJarClassMetadata interfaceMetaData = bean.getLinkedClassMetadata(itf);
                    if (interfaceMetaData != null) {
                        for (EasyBeansEjbJarMethodMetadata method : interfaceMetaData
                                .getMethodMetadataCollection()) {
                            // no AroundInvoke or PostConstruct
                            if (method.isAroundInvoke()) {
                                throw new InterceptorsValidationException("The method '" + method
                                        + "' in the bean class '" + bean.getClassName()
View Full Code Here

Examples of org.ow2.easybeans.deployment.metadata.ejbjar.EasyBeansEjbJarClassMetadata

            final EasyBeansEjbJarClassMetadata beanClassMetadata) throws EnhancerException {
        // First, enhance all super classes of the bean. (if any)
        // And do this only one time.
        String superClass = classAnnotationMetadata.getSuperName();
        if (!superClass.equals(JAVA_LANG_OBJECT)) {
            EasyBeansEjbJarClassMetadata superMetaData = classAnnotationMetadata.getLinkedClassMetadata(superClass);
            if (superMetaData != null && !superMetaData.wasModified()) {
                ClassReader cr = getClassReader(superMetaData);
                ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS);
                InterceptorClassAdapter itcpClassAdapter = new InterceptorClassAdapter(superMetaData, cw);
                InjectionClassAdapter cv = new InjectionClassAdapter(superMetaData, itcpClassAdapter, this.map,
                        beanClassMetadata, false);
                cr.accept(cv, 0);
                superMetaData.setModified();
                defineClass(this.loader, superMetaData.getClassName().replace("/", "."), cw.toByteArray());
                enhanceSuperClass(superMetaData, beanClassMetadata);
            }
        }

    }
View Full Code Here

Examples of org.ow2.easybeans.deployment.metadata.ejbjar.EasyBeansEjbJarClassMetadata

        // For each bean class
        List<String> beanNames = ejbJarAnnotationMetadata.getBeanNames();
        for (String beanName : beanNames) {
            List<String> keys = ejbJarAnnotationMetadata.getClassesnameForBean(beanName);
            for (String key : keys) {
                EasyBeansEjbJarClassMetadata classMetaData =  ejbJarAnnotationMetadata.getClassForBean(beanName, key);

                if (classMetaData.isBean()) {

                    // Inheritance on interfaces
                    InheritanceInterfacesHelper.resolve(classMetaData);
                    InterfaceAnnotatedHelper.resolve(classMetaData);
                    InheritanceMethodResolver.resolve(classMetaData);

                    // Analyze EJB 2.1x home/localhome for finding interface used
                    EJB21Finder.resolve(classMetaData);

                    // Find business method
                    if (classMetaData.isSession()) {
                        BusinessMethodResolver.resolve(classMetaData);
                    } else if (classMetaData.isMdb()) {
                        MDBListenerBusinessMethodResolver.resolve(classMetaData);
                    }

                    // Security
                    SecurityResolver.resolve(classMetaData);

                    // Transaction
                    TransactionResolver.resolve(classMetaData);

                    // Interceptors
                    InterceptorsClassResolver.resolve(classMetaData, server);

                    // Check the timer methods (only one by bean) and if the signature is valid
                    TimedObjectInterface.resolve(classMetaData);
                    TimerBeanValidator.validate(classMetaData);

                }

                // for each bean, call sub helper
                if (classMetaData.isSession()) {
                    SessionBeanHelper.resolve(classMetaData);
                } else if (classMetaData.isMdb()) {
                    MDBBeanHelper.resolve(classMetaData);
                }
            }
        }
    }
View Full Code Here

Examples of org.ow2.easybeans.deployment.metadata.ejbjar.EasyBeansEjbJarClassMetadata

        // gets the correct method on the correct level. (not the inherited method) if we don't want the inherited method.
        if (method.isInherited() && !inherited) {
            String superClassName = bean.getSuperName();
            // loop while class is not java.lang.Object
            while (!JAVA_LANG_OBJECT.equals(superClassName)) {
                EasyBeansEjbJarClassMetadata superMetaData = bean.getLinkedClassMetadata(superClassName);
                // If the method is found in the super class and is not inherited, use this one
                if (superMetaData != null) {
                    EasyBeansEjbJarMethodMetadata superMethod = superMetaData.getMethodMetadata(jMethod);
                    if (superMethod != null && !superMethod.isInherited()) {
                        return superMethod;
                    }
                    superClassName = superMetaData.getSuperName();
                } else {
                    // break the loop
                    superClassName = JAVA_LANG_OBJECT;
                }
            }
View Full Code Here

Examples of org.ow2.easybeans.deployment.metadata.ejbjar.EasyBeansEjbJarClassMetadata

        // Class to analyze
        String className = sessionBean.getClassName();

        // loop while class is not java.lang.Object
        while (!JAVA_LANG_OBJECT.equals(className)) {
            EasyBeansEjbJarClassMetadata metaData = sessionBean.getLinkedClassMetadata(className);
            // find metadata, all interfaces found
            if (metaData != null) {
                String[] interfaces = metaData.getInterfaces();
                if (interfaces != null) {
                    for (String itf : interfaces) {
                        allInterfaces.add(itf);
                    }
                }
                className = metaData.getSuperName();
            } else {
                // break the loop
                className = JAVA_LANG_OBJECT;
            }
        }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.