Package org.jboss.as.ee.component

Examples of org.jboss.as.ee.component.BindingDescription


        return configurations;
    }

    private BindingDescription getWebServiceConfiguration(final AnnotationInstance annotation, final UnifiedVirtualFile vfs, final Module module, final CompositeIndex index) {
        final AnnotationTarget annotationTarget = annotation.target();
        final BindingDescription resourceConfiguration;
        if (annotationTarget instanceof FieldInfo) {
            resourceConfiguration = processField(annotation, FieldInfo.class.cast(annotationTarget), vfs, module, index);
        } else if (annotationTarget instanceof MethodInfo) {
            resourceConfiguration = processMethod(annotation, MethodInfo.class.cast(annotationTarget), vfs, module, index);
        } else if (annotationTarget instanceof ClassInfo) {
View Full Code Here


            referenceable = serviceRefHandler.createReferenceable(ref);
        } finally {
            Thread.currentThread().setContextClassLoader(contextClassLoader);
        }
        // setup binding description
        BindingDescription bindingDescription = new BindingDescription();
        bindingDescription.setBindingName(processor.getName(annotated));
        bindingDescription.setDependency(true);
        bindingDescription.setBindingType(ref.getServiceRefType());
        bindingDescription.setReferenceSourceDescription(new WebServiceRefSourceDescription(referenceable, duModule));
        //setup injection target description
        final InjectionTargetDescription targetDescription = new InjectionTargetDescription();
        targetDescription.setName(name);
        targetDescription.setClassName(className);
        targetDescription.setType(processor.getInjectionType());
        targetDescription.setValueClassName(ref.getServiceRefType());
        bindingDescription.getInjectionTargetDescriptions().add(targetDescription);

        return bindingDescription;
    }
View Full Code Here

    protected void processComponentConfig(final DeploymentUnit deploymentUnit, final DeploymentPhaseContext phaseContext, final CompositeIndex index, final AbstractComponentDescription componentDescription) throws DeploymentUnitProcessingException {
        if (!EjbDeploymentMarker.isEjbDeployment(deploymentUnit) || !(componentDescription instanceof EJBComponentDescription)) {
            return// Only process EJB deployments
        }

        final BindingDescription ejbContextBinding = new BindingDescription("java:comp/EJBContext");
        ejbContextBinding.setBindingType(EJBContext.class.getName());
        ejbContextBinding.setReferenceSourceDescription(directEjbContextReferenceSourceDescription);
        componentDescription.addBinding(ejbContextBinding);
    }
View Full Code Here

                if(!name.startsWith("java:")) {
                    name = environment.getDefaultContext() + name;
                }

                BindingDescription bindingDescription = new BindingDescription(name);
                bindingDescriptions.add(bindingDescription);


                //add any injection targets
                localInterfaceType = processInjectionTargets(classLoader,deploymentReflectionIndex,ejbRef,bindingDescription,localInterfaceType);

                if(localInterfaceType == null) {
                    throw new DeploymentUnitProcessingException("Could not determine type of ejb-local-ref " + name + " for component " + componentDescription);
                }
                bindingDescription.setBindingType(localInterfaceType.getName());

                if (!isEmpty(lookup)) {
                    if(componentDescription != null ) {
                        bindingDescription.setReferenceSourceDescription(new LookupBindingSourceDescription(lookup,componentDescription));
                    } else {
                        bindingDescription.setReferenceSourceDescription(new LookupBindingSourceDescription(lookup,moduleDescription));
                    }
                } else if (!isEmpty(ejbName)) {
                    //TODO: implement cross deployment references
                    final ServiceName beanServiceName = deploymentUnit.getServiceName()
                        .append("component").append(ejbName).append("VIEW").append(bindingDescription.getBindingType());
                    bindingDescription.setReferenceSourceDescription(new ServiceBindingSourceDescription(beanServiceName));
                } else {
                    bindingDescription.setReferenceSourceDescription(new LazyBindingSourceDescription());
                }
            }
        }
        return bindingDescriptions;
    }
View Full Code Here

        ServiceName baseServiceName = deploymentUnit.getServiceName().append("component").append(sessionBean.getComponentName());

        // now create the bindings for each view under the java:global, java:app and java:module namespaces
        for (String viewClassName : views) {
            String globalJNDIName = globalJNDIBaseName + "!" + viewClassName;
            final BindingDescription globalBinding = new BindingDescription(globalJNDIName);
            globalBinding.setBindingType(viewClassName);
            globalBinding.setReferenceSourceDescription(new ServiceBindingSourceDescription(baseServiceName.append("VIEW").append(viewClassName)));
            // add the binding to the component description
            sessionBean.addBinding(globalBinding);
            logger.debug("Added java:global jndi binding at " + globalJNDIName + " for view: " + viewClassName + " of session bean: " + sessionBean.getEJBName());

            // java:app bindings
            String appJNDIName = appJNDIBaseName + "!" + viewClassName;
            final BindingDescription appBinding = new BindingDescription(appJNDIName);
            appBinding.setBindingType(viewClassName);
            appBinding.setReferenceSourceDescription(new ServiceBindingSourceDescription(baseServiceName.append("VIEW").append(viewClassName)));
            // add the binding to the component description
            sessionBean.addBinding(appBinding);
            logger.debug("Added java:app jndi binding at " + appJNDIName + " for view: " + viewClassName + " of session bean: " + sessionBean.getEJBName());

            // java:module bindings
            String moduleJNDIName = moduleJNDIBaseName + "!" + viewClassName;
            final BindingDescription moduleBinding = new BindingDescription(moduleJNDIName);
            moduleBinding.setBindingType(viewClassName);
            moduleBinding.setReferenceSourceDescription(new ServiceBindingSourceDescription(baseServiceName.append("VIEW").append(viewClassName)));
            // add the binding to the component description
            sessionBean.addBinding(moduleBinding);
            logger.debug("Added java:module jndi binding at " + moduleJNDIName + " for view: " + viewClassName + " of session bean: " + sessionBean.getEJBName());

        }

        // EJB3.1 spec, section 4.4.1 Global JNDI Access states:
        // In addition to the previous requirements, if the bean exposes only one of the
        // applicable client interfaces(or alternatively has only a no-interface view), the container
        // registers an entry for that view with the following syntax :
        //
        // java:global[/<app-name>]/<module-name>/<bean-name>
        //
        // Note that this also applies to java:app and java:module bindings
        // as can be seen by the examples in 4.4.2.1
        if (views.size() == 1) {
            final BindingDescription globalBinding = new BindingDescription(globalJNDIBaseName);
            String viewClassName = views.iterator().next();
            globalBinding.setBindingType(viewClassName);
            globalBinding.setReferenceSourceDescription(new ServiceBindingSourceDescription(baseServiceName.append("VIEW").append(viewClassName)));
            // add the binding to the component description
            sessionBean.addBinding(globalBinding);
            logger.debug("Added java:global jndi binding at " + globalJNDIBaseName + " for view: " + viewClassName + " of session bean: " + sessionBean.getEJBName());

            // java:app bindings
            final BindingDescription appBinding = new BindingDescription(appJNDIBaseName);
            appBinding.setBindingType(viewClassName);
            appBinding.setReferenceSourceDescription(new ServiceBindingSourceDescription(baseServiceName.append("VIEW").append(viewClassName)));
            // add the binding to the component description
            sessionBean.addBinding(appBinding);
            logger.debug("Added java:app jndi binding at " + appJNDIBaseName + " for view: " + viewClassName + " of session bean: " + sessionBean.getEJBName());

            // java:module bindings
            final BindingDescription moduleBinding = new BindingDescription(moduleJNDIBaseName);
            moduleBinding.setBindingType(viewClassName);
            moduleBinding.setReferenceSourceDescription(new ServiceBindingSourceDescription(baseServiceName.append("VIEW").append(viewClassName)));
            // add the binding to the component description
            sessionBean.addBinding(moduleBinding);
            logger.debug("Added java:module jndi binding at " + moduleJNDIBaseName + " for view: " + viewClassName + " of session bean: " + sessionBean.getEJBName());
        }
View Full Code Here

        if (!isEmpty(lookup) && !isEmpty(beanName)) {
            throw new IllegalArgumentException("@EJB annotations may have either 'beanName' or 'lookup' specified, but not both");
        }

        final BindingDescription bindingDescription;
        if (annotationTarget instanceof FieldInfo) {
            bindingDescription = processFieldInjection(FieldInfo.class.cast(annotationTarget), name, beanInterface, componentDescription);
        } else if (annotationTarget instanceof MethodInfo) {
            bindingDescription = processMethodInjection(MethodInfo.class.cast(annotationTarget), name, beanInterface, componentDescription);
        } else if (annotationTarget instanceof ClassInfo) {
            bindingDescription = processClassInjection(name, beanInterface, componentDescription);
        } else {
            bindingDescription = null;
        }
        if (bindingDescription != null) {
            if (!isEmpty(description)) {
                bindingDescription.setDescription(description);
            }
            if (!isEmpty(lookup)) {
                bindingDescription.setReferenceSourceDescription(new LookupBindingSourceDescription(lookup,componentDescription));
            } else if (!isEmpty(beanName)) {
                final ServiceName beanServiceName = deploymentUnit.getServiceName()
                        .append("component").append(beanName).append("VIEW").append(bindingDescription.getBindingType());
                bindingDescription.setReferenceSourceDescription(new ServiceBindingSourceDescription(beanServiceName));
            } else {
                bindingDescription.setReferenceSourceDescription(new LazyBindingSourceDescription());
            }
        }
        return bindingDescription;
    }
View Full Code Here

        if (isEmpty(name)) {
            localContextName = fieldInfo.declaringClass().name().toString() + "/" + fieldName;
        } else {
            localContextName = name;
        }
        final BindingDescription bindingDescription = createBindingDescription(localContextName, injectionType, componentDescription);

        final InjectionTargetDescription targetDescription = new InjectionTargetDescription();
        targetDescription.setName(fieldName);
        targetDescription.setClassName(fieldInfo.declaringClass().name().toString());
        targetDescription.setType(InjectionTargetDescription.Type.FIELD);
        targetDescription.setValueClassName(injectionType);
        bindingDescription.getInjectionTargetDescriptions().add(targetDescription);
        return bindingDescription;
    }
View Full Code Here

            localContextName = methodInfo.declaringClass().name().toString() + "/" + contextNameSuffix;
        } else {
            localContextName = name;
        }
        final String injectionType = isEmpty(beanInterface) || beanInterface.equals(Object.class.getName()) ? methodInfo.args()[0].name().toString() : beanInterface;
        final BindingDescription bindingDescription = createBindingDescription(localContextName, injectionType, componentDescription);

        final InjectionTargetDescription targetDescription = new InjectionTargetDescription();
        targetDescription.setName(methodName);
        targetDescription.setClassName(methodInfo.declaringClass().name().toString());
        targetDescription.setType(InjectionTargetDescription.Type.METHOD);
        targetDescription.setValueClassName(injectionType);
        bindingDescription.getInjectionTargetDescriptions().add(targetDescription);
        return bindingDescription;
    }
View Full Code Here

        }
        return createBindingDescription(name, beanInterface, componentDescription);
    }

    private BindingDescription createBindingDescription(final String name, final String beanInterface,final AbstractComponentDescription componentDescription) {
        final BindingDescription bindingDescription = new BindingDescription(name,componentDescription);
        bindingDescription.setDependency(true);
        bindingDescription.setBindingType(beanInterface);
        return bindingDescription;
    }
View Full Code Here

        desc.setTransactional(asBool(annotation, TRANSACTIONAL_PROP));
        desc.setUrl(asString(annotation, URL_PROP));
        desc.setUser(asString(annotation, USER_PROP));


        final BindingDescription bindingDescription = new BindingDescription(name);
        bindingDescription.setDependency(true);
        bindingDescription.setBindingType(type);
        bindingDescription.setReferenceSourceDescription(desc);
        return bindingDescription;
    }
View Full Code Here

TOP

Related Classes of org.jboss.as.ee.component.BindingDescription

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.