Skip to content

Commit

Permalink
WELD-1909 Remove EJBApiAbstraction
Browse files Browse the repository at this point in the history
  • Loading branch information
jharting committed Apr 8, 2015
1 parent 7832cea commit 0737095
Show file tree
Hide file tree
Showing 7 changed files with 39 additions and 57 deletions.
Expand Up @@ -51,7 +51,6 @@
import org.jboss.weld.bootstrap.spi.Filter;
import org.jboss.weld.bootstrap.spi.Metadata;
import org.jboss.weld.config.WeldConfiguration;
import org.jboss.weld.ejb.EJBApiAbstraction;
import org.jboss.weld.ejb.EjbDescriptors;
import org.jboss.weld.ejb.spi.EjbServices;
import org.jboss.weld.injection.producer.InjectionTargetService;
Expand Down Expand Up @@ -105,7 +104,6 @@ public BeanDeployment(BeanDeploymentArchive beanDeploymentArchive, BeanManagerIm
services.addAll(deploymentServices.entrySet());
services.addAll(registry.entrySet());

services.add(EJBApiAbstraction.class, new EJBApiAbstraction(resourceLoader));
services.add(PersistenceApiAbstraction.class, new PersistenceApiAbstraction(resourceLoader));
services.add(WSApiAbstraction.class, new WSApiAbstraction(resourceLoader));
services.add(JtaApiAbstraction.class, new JtaApiAbstraction(resourceLoader));
Expand Down
44 changes: 0 additions & 44 deletions impl/src/main/java/org/jboss/weld/ejb/EJBApiAbstraction.java

This file was deleted.

Expand Up @@ -31,7 +31,6 @@

import org.jboss.weld.annotated.enhanced.EnhancedAnnotatedType;
import org.jboss.weld.bootstrap.api.Service;
import org.jboss.weld.ejb.EJBApiAbstraction;
import org.jboss.weld.injection.spi.JaxwsInjectionServices;
import org.jboss.weld.injection.spi.JpaInjectionServices;
import org.jboss.weld.injection.spi.ResourceInjectionServices;
Expand Down Expand Up @@ -186,23 +185,23 @@ protected JpaInjectionServices getInjectionServices(BeanManagerImpl manager) {
* Resource injection processor.
*/
private class ResourceResourceInjectionProcessor extends
ResourceInjectionProcessor<ResourceInjectionServices, EJBApiAbstraction> {
ResourceInjectionProcessor<ResourceInjectionServices, Object> {

@Override
protected <T> ResourceReferenceFactory<T> getResourceReferenceFactory(InjectionPoint injectionPoint,
ResourceInjectionServices injectionServices, EJBApiAbstraction apiAbstraction) {
ResourceInjectionServices injectionServices, Object processorContext) {
return Reflections.<ResourceReferenceFactory<T>> cast(injectionServices
.registerResourceInjectionPoint(injectionPoint));
}

@Override
protected Class<? extends Annotation> getMarkerAnnotation(EJBApiAbstraction apiAbstraction) {
protected Class<? extends Annotation> getMarkerAnnotation(Object processorContext) {
return Resource.class;
}

@Override
protected EJBApiAbstraction getProcessorContext(BeanManagerImpl manager) {
return manager.getServices().get(EJBApiAbstraction.class);
protected Object getProcessorContext(BeanManagerImpl manager) {
return null;
}

@Override
Expand Down
Expand Up @@ -39,7 +39,6 @@
import org.jboss.weld.annotated.enhanced.EnhancedAnnotatedConstructor;
import org.jboss.weld.annotated.enhanced.EnhancedAnnotatedMethod;
import org.jboss.weld.annotated.enhanced.EnhancedAnnotatedType;
import org.jboss.weld.ejb.EJBApiAbstraction;
import org.jboss.weld.exceptions.DeploymentException;
import org.jboss.weld.interceptor.builder.InterceptionModelBuilder;
import org.jboss.weld.interceptor.builder.InterceptorsApiAbstraction;
Expand All @@ -50,6 +49,7 @@
import org.jboss.weld.logging.BeanLogger;
import org.jboss.weld.logging.ValidatorLogger;
import org.jboss.weld.manager.BeanManagerImpl;
import org.jboss.weld.module.EjbSupport;
import org.jboss.weld.util.Beans;
import org.jboss.weld.util.collections.Multimap;
import org.jboss.weld.util.collections.SetMultimap;
Expand All @@ -76,7 +76,7 @@ public static <T> InterceptionModelInitializer<T> of(BeanManagerImpl manager, En
private final EnhancedAnnotatedConstructor<T> constructor;

private final InterceptorsApiAbstraction interceptorsApi;
private final EJBApiAbstraction ejbApi;
private final Class<? extends Annotation> timeoutAnnotation;

private List<EnhancedAnnotatedMethod<?, ?>> businessMethods;
private final InterceptionModelBuilder builder;
Expand All @@ -94,7 +94,7 @@ public InterceptionModelInitializer(BeanManagerImpl manager, EnhancedAnnotatedTy
stereotypes = bean.getStereotypes();
}
this.interceptorsApi = manager.getServices().get(InterceptorsApiAbstraction.class);
this.ejbApi = manager.getServices().get(EJBApiAbstraction.class);
this.timeoutAnnotation = manager.getServices().get(EjbSupport.class).getTimeoutAnnotation();
}

public void init() {
Expand Down Expand Up @@ -296,7 +296,7 @@ private List<InterceptorClassMetadata<?>> getMethodDeclaredInterceptorMetadatas(
}

private boolean isTimeoutAnnotationPresentOn(AnnotatedMethod<?> method) {
return method.isAnnotationPresent(ejbApi.TIMEOUT_ANNOTATION_CLASS);
return timeoutAnnotation != null && method.isAnnotationPresent(timeoutAnnotation);
}

/**
Expand Down
22 changes: 21 additions & 1 deletion impl/src/main/java/org/jboss/weld/module/EjbSupport.java
Expand Up @@ -16,6 +16,9 @@
*/
package org.jboss.weld.module;

import java.lang.annotation.Annotation;

import javax.enterprise.inject.New;
import javax.enterprise.inject.spi.BeanAttributes;
import javax.enterprise.inject.spi.InjectionTarget;

Expand Down Expand Up @@ -65,15 +68,27 @@ public interface EjbSupport extends Service {
<T> BasicInjectionTarget<T> createMessageDrivenInjectionTarget(EnhancedAnnotatedType<T> type, InternalEjbDescriptor<T> descriptor, BeanManagerImpl manager);

/**
* Creates Session
* Creates session beans and registers them within the given environment.
* @param environment
* @param classes
* @param manager
*/
void createSessionBeans(BeanDeployerEnvironment environment, SetMultimap<Class<?>, SlimAnnotatedType<?>> classes, BeanManagerImpl manager);

/**
* Creates {@link New} session beans and registers them within the given environment.
* @param environment
* @param classes
* @param manager
*/
void createNewSessionBeans(BeanDeployerEnvironment environment, BeanManagerImpl manager);

/**
* Returns the class object for the {@link javax.ejb.Timeout} annotation
* @return the class object for the Timeout annotation or null if the annotation is not present
*/
Class<? extends Annotation> getTimeoutAnnotation();

EjbSupport NOOP_IMPLEMENTATION = new EjbSupport() {

@Override
Expand Down Expand Up @@ -107,5 +122,10 @@ public void createSessionBeans(BeanDeployerEnvironment environment, SetMultimap<
@Override
public void createNewSessionBeans(BeanDeployerEnvironment environment, BeanManagerImpl manager) {
}

@Override
public Class<? extends Annotation> getTimeoutAnnotation() {
return null;
}
};
}
Expand Up @@ -16,9 +16,11 @@
*/
package org.jboss.weld.ejb;

import java.lang.annotation.Annotation;
import java.util.Map.Entry;
import java.util.Set;

import javax.ejb.Timeout;
import javax.enterprise.inject.spi.BeanAttributes;

import org.jboss.weld.annotated.enhanced.EnhancedAnnotatedType;
Expand Down Expand Up @@ -117,4 +119,9 @@ private <T> SessionBean<T> createNewSessionBean(EnhancedAnnotatedType<?> type, I
final BeanAttributes<T> attributes = Reflections.cast(SessionBeans.createBeanAttributesForNew(type, ejbDescriptor, beanManager, type.getJavaClass()));
return NewSessionBean.of(attributes, ejbDescriptor, beanManager);
}

@Override
public Class<? extends Annotation> getTimeoutAnnotation() {
return Timeout.class;
}
}
Expand Up @@ -45,6 +45,7 @@
import org.jboss.weld.manager.BeanManagerImpl;
import org.jboss.weld.metadata.TypeStore;
import org.jboss.weld.metadata.cache.MetaAnnotationStore;
import org.jboss.weld.module.EjbSupport;
import org.jboss.weld.module.ExpressionLanguageService;
import org.jboss.weld.module.ObserverNotifierFactory;
import org.jboss.weld.resources.ClassTransformer;
Expand Down Expand Up @@ -85,6 +86,7 @@ public void beforeMethod() {
this.services.add(InterceptorsApiAbstraction.class, new InterceptorsApiAbstraction(DefaultResourceLoader.INSTANCE));
this.services.add(ProxyInstantiator.class, DefaultProxyInstantiator.INSTANCE);
this.services.add(ResourceInjectionFactory.class, new ResourceInjectionFactory());
this.services.add(EjbSupport.class, EjbSupport.NOOP_IMPLEMENTATION);
}

private <T> void addBean(BeanManagerImpl manager, Class<T> c) {
Expand Down

0 comments on commit 0737095

Please sign in to comment.