You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by ro...@apache.org on 2017/09/07 19:22:24 UTC
svn commit: r1807639 - in /aries/trunk/cdi: cdi-extender/
cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/
cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/
cdi-extender/src/main/java/org/apa...
Author: rotty3000
Date: Thu Sep 7 19:22:23 2017
New Revision: 1807639
URL: http://svn.apache.org/viewvc?rev=1807639&view=rev
Log:
[CDI] update to weld 3.0/CDI 2.0
Signed-off-by: Raymond Augé <ro...@apache.org>
Modified:
aries/trunk/cdi/cdi-extender/pom.xml
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/ComponentRuntimeExtension.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationBean.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerBootstrap.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerState.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/model/ObserverMethodAnnotated.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/phase/Phase_Publish.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/reference/ReferenceBean.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/reference/ReferenceModel.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/model/EventsTest.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockCdiContainer.java
aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockInjectionPoint.java
aries/trunk/cdi/cdi-extension-http/pom.xml
aries/trunk/cdi/cdi-extension-http/src/main/java/org/apache/aries/cdi/extension/http/HttpExtension.java
aries/trunk/cdi/cdi-itests/cdi-executable.bndrun
aries/trunk/cdi/cdi-itests/itest.bndrun
aries/trunk/cdi/javax.cdi-api/bnd.bnd
aries/trunk/cdi/javax.cdi-api/pom.xml
aries/trunk/cdi/javax.el-api/pom.xml
aries/trunk/cdi/javax.inject-api/pom.xml
aries/trunk/cdi/javax.interceptor-api/pom.xml
Modified: aries/trunk/cdi/cdi-extender/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/pom.xml?rev=1807639&r1=1807638&r2=1807639&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/pom.xml (original)
+++ aries/trunk/cdi/cdi-extender/pom.xml Thu Sep 7 19:22:23 2017
@@ -85,7 +85,7 @@
<dependency>
<groupId>org.jboss.weld</groupId>
<artifactId>weld-osgi-bundle</artifactId>
- <version>2.4.3.Final</version>
+ <version>3.0.1.Final</version>
<exclusions>
<exclusion>
<groupId>javax.enterprise</groupId>
@@ -100,6 +100,10 @@
<artifactId>jboss-annotations-api_1.2_spec</artifactId>
</exclusion>
<exclusion>
+ <groupId>org.jboss.spec.javax.ejb</groupId>
+ <artifactId>jboss-ejb-api_3.2_spec</artifactId>
+ </exclusion>
+ <exclusion>
<groupId>org.jboss.spec.javax.el</groupId>
<artifactId>jboss-el-api_3.0_spec</artifactId>
</exclusion>
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/ComponentRuntimeExtension.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/ComponentRuntimeExtension.java?rev=1807639&r1=1807638&r2=1807639&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/ComponentRuntimeExtension.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/ComponentRuntimeExtension.java Thu Sep 7 19:22:23 2017
@@ -16,15 +16,16 @@ package org.apache.aries.cdi.container.i
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
-import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.atomic.AtomicInteger;
import javax.enterprise.context.Dependent;
import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.AfterBeanDiscovery;
import javax.enterprise.inject.spi.Annotated;
import javax.enterprise.inject.spi.AnnotatedConstructor;
import javax.enterprise.inject.spi.AnnotatedField;
@@ -52,13 +53,10 @@ import org.apache.aries.cdi.container.in
import org.apache.aries.cdi.container.internal.service.ServiceDeclaration;
import org.apache.aries.cdi.container.internal.util.Sets;
import org.apache.aries.cdi.container.internal.util.Types;
-import org.jboss.weld.bean.builtin.BeanManagerProxy;
-import org.jboss.weld.manager.BeanManagerImpl;
import org.osgi.service.cdi.annotations.Component;
import org.osgi.service.cdi.annotations.Configuration;
import org.osgi.service.cdi.annotations.Reference;
import org.osgi.service.cdi.annotations.ReferencePolicy;
-import org.osgi.service.cdi.annotations.ReferenceScope;
import org.osgi.service.cdi.annotations.ServiceEvent;
import org.osgi.service.cdi.annotations.ServiceScope;
import org.slf4j.Logger;
@@ -70,6 +68,10 @@ public class ComponentRuntimeExtension i
_containerState = containerState;
}
+ void afterBeanDiscovery(@Observes AfterBeanDiscovery abd) {
+ _beans.stream().forEach(bean -> abd.addBean(bean));
+ }
+
ConfigurationModel matchConfiguration(ComponentModel componentModel, ProcessInjectionPoint<?, ?> pip) {
InjectionPoint injectionPoint = pip.getInjectionPoint();
@@ -316,12 +318,7 @@ public class ComponentRuntimeExtension i
_containerState, componentModel, bean, beanManager.createCreationalContext(bean)));
}
- /*
- *
- */
void processInjectionPoint(@Observes ProcessInjectionPoint<?, ?> pip, BeanManager beanManager) {
- BeanManagerImpl beanManagerImpl = ((BeanManagerProxy)beanManager).delegate();
-
InjectionPoint injectionPoint = pip.getInjectionPoint();
Bean<?> bean = injectionPoint.getBean();
@@ -345,11 +342,10 @@ public class ComponentRuntimeExtension i
_containerState,
matchingReference,
componentModel,
- pip.getInjectionPoint().getAnnotated(),
- pip.getInjectionPoint().getQualifiers(),
- beanManagerImpl);
+ pip.getInjectionPoint(),
+ beanManager);
- beanManagerImpl.addBean(referenceBean);
+ _beans.add(referenceBean);
return;
}
@@ -358,9 +354,13 @@ public class ComponentRuntimeExtension i
if (matchingConfiguration != null) {
ConfigurationBean configurationBean = new ConfigurationBean(
- _containerState, matchingConfiguration, componentModel, pip.getInjectionPoint(), beanManagerImpl);
+ _containerState,
+ matchingConfiguration,
+ componentModel,
+ pip.getInjectionPoint(),
+ beanManager);
- beanManagerImpl.addBean(configurationBean);
+ _beans.add(configurationBean);
}
}
@@ -395,5 +395,6 @@ public class ComponentRuntimeExtension i
private final AtomicInteger _mark = new AtomicInteger();
private final ContainerState _containerState;
+ private final List<Bean<?>> _beans = new CopyOnWriteArrayList<>();
}
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationBean.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationBean.java?rev=1807639&r1=1807638&r2=1807639&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationBean.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/configuration/ConfigurationBean.java Thu Sep 7 19:22:23 2017
@@ -27,6 +27,7 @@ import java.util.Set;
import javax.enterprise.context.Dependent;
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
import javax.enterprise.inject.spi.Decorator;
import javax.enterprise.inject.spi.InjectionPoint;
@@ -34,10 +35,6 @@ import org.apache.aries.cdi.container.in
import org.apache.aries.cdi.container.internal.component.ComponentProperties;
import org.apache.aries.cdi.container.internal.container.ContainerState;
import org.apache.aries.cdi.container.internal.util.Conversions;
-import org.jboss.weld.injection.CurrentInjectionPoint;
-import org.jboss.weld.injection.EmptyInjectionPoint;
-import org.jboss.weld.manager.BeanManagerImpl;
-import org.jboss.weld.util.Decorators;
public class ConfigurationBean implements Bean<Object> {
@@ -46,13 +43,13 @@ public class ConfigurationBean implement
ConfigurationModel configurationModel,
ComponentModel componentModel,
InjectionPoint injectionPoint,
- BeanManagerImpl beanManagerImpl) {
+ BeanManager beanManager) {
_containerState = containerState;
_configurationModel = configurationModel;
_componentModel = componentModel;
_injectionPoint = injectionPoint;
- _beanManagerImpl = beanManagerImpl;
+ _beanManager = beanManager;
Type type = _injectionPoint.getType();
@@ -68,13 +65,14 @@ public class ConfigurationBean implement
@Override
public Object create(CreationalContext<Object> creationalContext) {
Object instance = _getInjectedInstance();
- InjectionPoint ip = _getInjectionPoint();
- List<Decorator<?>> decorators = _getDecorators(ip);
+ List<Decorator<?>> decorators = _getDecorators(_injectionPoint);
if (decorators.isEmpty()) {
return instance;
}
- return Decorators.getOuterDelegate(
- this, instance, creationalContext, cast(_beanClass), ip, _beanManagerImpl, decorators);
+ return instance;
+ // TODO
+// return Decorators.getOuterDelegate(
+// this, instance, creationalContext, cast(_beanClass), _injectionPoint, _beanManager, decorators);
}
@Override
@@ -136,7 +134,9 @@ public class ConfigurationBean implement
}
private List<Decorator<?>> _getDecorators(InjectionPoint ip) {
- return _beanManagerImpl.resolveDecorators(Collections.singleton(ip.getType()), getQualifiers());
+ return _beanManager.resolveDecorators(
+ Collections.singleton(ip.getType()),
+ _injectionPoint.getQualifiers().toArray(new Annotation[0]));
}
private Object _getInjectedInstance() {
@@ -153,14 +153,8 @@ public class ConfigurationBean implement
return Conversions.convert(dictionary).to(_injectionPoint.getType());
}
- private InjectionPoint _getInjectionPoint() {
- CurrentInjectionPoint currentInjectionPoint = _beanManagerImpl.getServices().get(CurrentInjectionPoint.class);
- InjectionPoint ip = currentInjectionPoint.peek();
- return EmptyInjectionPoint.INSTANCE.equals(ip) ? null : ip;
- }
-
private final Class<?> _beanClass;
- private final BeanManagerImpl _beanManagerImpl;
+ private final BeanManager _beanManager;
private final ComponentModel _componentModel;
private final ConfigurationModel _configurationModel;
private final ContainerState _containerState;
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerBootstrap.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerBootstrap.java?rev=1807639&r1=1807638&r2=1807639&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerBootstrap.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerBootstrap.java Thu Sep 7 19:22:23 2017
@@ -18,6 +18,7 @@ import java.util.Collection;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
+import javax.enterprise.inject.spi.BeanManager;
import javax.enterprise.inject.spi.Extension;
import org.apache.aries.cdi.container.internal.component.ComponentRuntimeExtension;
@@ -75,15 +76,15 @@ public class ContainerBootstrap {
_bootstrap.startExtensions(extensions);
_bootstrap.startContainer(_containerState.id(), new ContainerEnvironment(), deployment);
- _beanManagerImpl = _bootstrap.getManager(beanDeploymentArchive);
- _containerState.setBeanManager(_beanManagerImpl);
+ _beanManager = _bootstrap.getManager(beanDeploymentArchive);
+ _containerState.setBeanManager(_beanManager);
_bootstrap.startInitialization();
_bootstrap.deployBeans();
}
- public BeanManagerImpl getBeanManagerImpl() {
- return _beanManagerImpl;
+ public BeanManager getBeanManager() {
+ return _beanManager;
}
public WeldBootstrap getBootstrap() {
@@ -94,7 +95,7 @@ public class ContainerBootstrap {
_bootstrap.shutdown();
}
- private final BeanManagerImpl _beanManagerImpl;
+ private final BeanManager _beanManager;
private final WeldBootstrap _bootstrap;
private final ContainerState _containerState;
private final Collection<Metadata<Extension>> _externalExtensions;
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerState.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerState.java?rev=1807639&r1=1807638&r2=1807639&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerState.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/container/ContainerState.java Thu Sep 7 19:22:23 2017
@@ -37,7 +37,6 @@ import org.apache.aries.cdi.container.in
import org.apache.aries.cdi.container.internal.model.Tracker;
import org.apache.aries.cdi.container.internal.reference.ReferenceCallback;
import org.apache.aries.cdi.container.internal.service.ServiceDeclaration;
-import org.jboss.weld.manager.BeanManagerImpl;
import org.jboss.weld.resources.spi.ResourceLoader;
import org.jboss.weld.serialization.spi.ProxyServices;
import org.osgi.framework.Bundle;
@@ -219,8 +218,8 @@ public class ContainerState implements C
updateState(event);
- if (_beanManagerImpl != null) {
- _beanManagerImpl.fireEvent(event);
+ if (_beanManager != null) {
+ _beanManager.fireEvent(event);
}
}
@@ -237,8 +236,8 @@ public class ContainerState implements C
}
@Override
- public BeanManagerImpl getBeanManager() {
- return _beanManagerImpl;
+ public BeanManager getBeanManager() {
+ return _beanManager;
}
public String id() {
@@ -274,8 +273,8 @@ public class ContainerState implements C
return _serviceRegistrator;
}
- public void setBeanManager(BeanManagerImpl beanManagerImpl) {
- _beanManagerImpl = beanManagerImpl;
+ public void setBeanManager(BeanManager beanManager) {
+ _beanManager = beanManager;
}
public void setBeansModel(BeansModel beansModel) {
@@ -318,7 +317,7 @@ public class ContainerState implements C
private static final Logger _log = LoggerFactory.getLogger(ContainerState.class);
- private volatile BeanManagerImpl _beanManagerImpl;
+ private volatile BeanManager _beanManager;
private BeansModel _beansModel;
private final Registrator<BeanManager> _bmRegistrator;
private final Optional<Bundle> _bundle;
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/model/ObserverMethodAnnotated.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/model/ObserverMethodAnnotated.java?rev=1807639&r1=1807638&r2=1807639&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/model/ObserverMethodAnnotated.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/model/ObserverMethodAnnotated.java Thu Sep 7 19:22:23 2017
@@ -2,6 +2,7 @@ package org.apache.aries.cdi.container.i
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
+import java.util.HashSet;
import java.util.Set;
import javax.enterprise.inject.spi.Annotated;
@@ -43,6 +44,20 @@ public class ObserverMethodAnnotated imp
}
@Override
+ @SuppressWarnings("unchecked")
+ public <T extends Annotation> Set<T> getAnnotations(Class<T> annotationType) {
+ Set<T> annotations = new HashSet<>();
+
+ for (Annotation annotation : _qualifiers) {
+ if (annotationType.isInstance(annotation)) {
+ annotations.add((T)annotation);
+ }
+ }
+ return annotations;
+ }
+
+ @Override
+ @SuppressWarnings("unchecked")
public <T extends Annotation> T getAnnotation(Class<T> annotationType) {
for (Annotation annotation : _qualifiers) {
if (annotationType.isInstance(annotation)) {
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/phase/Phase_Publish.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/phase/Phase_Publish.java?rev=1807639&r1=1807638&r2=1807639&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/phase/Phase_Publish.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/phase/Phase_Publish.java Thu Sep 7 19:22:23 2017
@@ -22,7 +22,6 @@ import org.apache.aries.cdi.container.in
import org.apache.aries.cdi.container.internal.container.ContainerState;
import org.jboss.weld.bootstrap.WeldBootstrap;
import org.jboss.weld.bootstrap.spi.Metadata;
-import org.jboss.weld.manager.BeanManagerImpl;
import org.osgi.service.cdi.CdiEvent;
import org.osgi.service.cdi.annotations.ServiceScope;
import org.slf4j.Logger;
@@ -53,7 +52,6 @@ public class Phase_Publish implements Ph
try {
_cb = new ContainerBootstrap(_containerState, _extensions);
- BeanManagerImpl beanManagerImpl = _cb.getBeanManagerImpl();
WeldBootstrap bootstrap = _cb.getBootstrap();
bootstrap.validateBeans();
@@ -65,9 +63,9 @@ public class Phase_Publish implements Ph
callback -> callback.flush()
);
- processServices(beanManagerImpl);
+ processServices();
- _containerState.beanManagerRegistrator().registerService(beanManagerImpl);
+ _containerState.beanManagerRegistrator().registerService(_cb.getBeanManager());
_containerState.fire(CdiEvent.Type.CREATED);
}
@@ -76,7 +74,7 @@ public class Phase_Publish implements Ph
}
}
- private void processServices(BeanManagerImpl beanManagerImpl) {
+ private void processServices() {
_containerState.serviceComponents().values().stream().filter(
serviceDeclaration ->
serviceDeclaration.getScope() == ServiceScope.BUNDLE ||
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/reference/ReferenceBean.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/reference/ReferenceBean.java?rev=1807639&r1=1807638&r2=1807639&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/reference/ReferenceBean.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/reference/ReferenceBean.java Thu Sep 7 19:22:23 2017
@@ -14,8 +14,6 @@
package org.apache.aries.cdi.container.internal.reference;
-import static org.apache.aries.cdi.container.internal.util.Reflection.cast;
-
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
import java.util.Collections;
@@ -25,18 +23,14 @@ import java.util.Set;
import javax.enterprise.context.Dependent;
import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.Annotated;
import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
import javax.enterprise.inject.spi.Decorator;
import javax.enterprise.inject.spi.InjectionPoint;
import javax.inject.Named;
import org.apache.aries.cdi.container.internal.component.ComponentModel;
import org.apache.aries.cdi.container.internal.container.ContainerState;
-import org.jboss.weld.injection.CurrentInjectionPoint;
-import org.jboss.weld.injection.EmptyInjectionPoint;
-import org.jboss.weld.manager.BeanManagerImpl;
-import org.jboss.weld.util.Decorators;
import org.osgi.service.cdi.annotations.ReferenceCardinality;
public class ReferenceBean implements Bean<Object> {
@@ -45,17 +39,16 @@ public class ReferenceBean implements Be
ContainerState containerState,
ReferenceModel referenceModel,
ComponentModel componentModel,
- Annotated annotated,
- Set<Annotation> qualifiers,
- BeanManagerImpl beanManagerImpl) {
+ InjectionPoint injectionPoint,
+ BeanManager beanManager) {
_containerState = containerState;
_referenceModel = referenceModel;
_componentModel = componentModel;
- _qualifiers = qualifiers;
- _beanManagerImpl = beanManagerImpl;
+ _injectionPoint = injectionPoint;
+ _beanManager = beanManager;
- Named named = annotated.getAnnotation(Named.class);
+ Named named = _injectionPoint.getAnnotated().getAnnotation(Named.class);
_name = named != null ? named.value() : null;
}
@@ -63,16 +56,14 @@ public class ReferenceBean implements Be
@Override
public Object create(CreationalContext<Object> creationalContext) {
Object instance = _getInjectedInstance();
- InjectionPoint ip = _getInjectionPoint();
- if (ip == null) {
- return instance;
- }
- List<Decorator<?>> decorators = _getDecorators(ip);
+ List<Decorator<?>> decorators = _getDecorators(_injectionPoint);
if (decorators.isEmpty()) {
return instance;
}
- return Decorators.getOuterDelegate(
- cast(this), instance, creationalContext, cast(getBeanClass()), ip, _beanManagerImpl, decorators);
+ return instance;
+ // TODO
+// return Decorators.getOuterDelegate(
+// cast(this), instance, creationalContext, cast(getBeanClass()), _injectionPoint, _beanManager, decorators);
}
@Override
@@ -91,12 +82,12 @@ public class ReferenceBean implements Be
@Override
public String getName() {
- return _name; //_referenceModel.getName();
+ return _name;
}
@Override
public Set<Annotation> getQualifiers() {
- return _qualifiers;
+ return _injectionPoint.getQualifiers();
}
@Override
@@ -130,7 +121,9 @@ public class ReferenceBean implements Be
}
private List<Decorator<?>> _getDecorators(InjectionPoint ip) {
- return _beanManagerImpl.resolveDecorators(Collections.singleton(ip.getType()), getQualifiers());
+ return _beanManager.resolveDecorators(
+ Collections.singleton(ip.getType()),
+ _injectionPoint.getQualifiers().toArray(new Annotation[0]));
}
private Object _getInjectedInstance() {
@@ -140,8 +133,6 @@ public class ReferenceBean implements Be
ReferenceCallback referenceCallback = map.get(_referenceModel.getName());
- Type injectionPointType = _referenceModel.getInjectionPointType();
-
switch (_referenceModel.getCollectionType()) {
case PROPERTIES:
instance = referenceCallback.tracked().values().iterator().next();
@@ -163,17 +154,11 @@ public class ReferenceBean implements Be
return instance;
}
- private InjectionPoint _getInjectionPoint() {
- CurrentInjectionPoint currentInjectionPoint = _beanManagerImpl.getServices().get(CurrentInjectionPoint.class);
- InjectionPoint ip = currentInjectionPoint.peek();
- return EmptyInjectionPoint.INSTANCE.equals(ip) ? null : ip;
- }
-
- private final BeanManagerImpl _beanManagerImpl;
+ private final BeanManager _beanManager;
private final ComponentModel _componentModel;
private final ContainerState _containerState;
+ private final InjectionPoint _injectionPoint;
private final String _name;
- private final Set<Annotation> _qualifiers;
private final ReferenceModel _referenceModel;
}
\ No newline at end of file
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/reference/ReferenceModel.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/reference/ReferenceModel.java?rev=1807639&r1=1807638&r2=1807639&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/reference/ReferenceModel.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/reference/ReferenceModel.java Thu Sep 7 19:22:23 2017
@@ -33,6 +33,7 @@ import java.lang.reflect.Type;
import java.lang.reflect.WildcardType;
import java.util.Collection;
import java.util.Collections;
+import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
@@ -843,6 +844,11 @@ public class ReferenceModel {
}
@Override
+ public <T extends Annotation> Set<T> getAnnotations(Class<T> annotationType) {
+ return null;
+ }
+
+ @Override
public Type getBaseType() {
return _service;
}
Modified: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/model/EventsTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/model/EventsTest.java?rev=1807639&r1=1807638&r2=1807639&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/model/EventsTest.java (original)
+++ aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/internal/model/EventsTest.java Thu Sep 7 19:22:23 2017
@@ -23,8 +23,8 @@ import java.util.Map;
import java.util.Set;
import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
-import org.jboss.weld.manager.BeanManagerImpl;
import org.apache.aries.cdi.container.internal.component.ComponentModel;
import org.apache.aries.cdi.container.internal.container.ContainerState;
import org.apache.aries.cdi.container.internal.literal.AnyLiteral;
@@ -35,9 +35,7 @@ import org.apache.aries.cdi.container.te
import org.apache.aries.cdi.container.test.beans.Foo;
import org.apache.aries.cdi.container.test.beans.ObserverFoo;
import org.junit.Test;
-import org.osgi.framework.Bundle;
import org.osgi.framework.Constants;
-import org.osgi.framework.ServiceReference;
import org.osgi.service.cdi.CdiEvent;
public class EventsTest {
@@ -57,7 +55,7 @@ public class EventsTest {
assertEquals(CdiEvent.Type.CREATED, containerState.lastState());
- BeanManagerImpl beanManager = containerState.getBeanManager();
+ BeanManager beanManager = containerState.getBeanManager();
Set<Bean<?>> beans = beanManager.getBeans(ObserverFoo.class, AnyLiteral.INSTANCE);
@SuppressWarnings("rawtypes")
Bean bean = beanManager.resolve(beans);
Modified: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockCdiContainer.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockCdiContainer.java?rev=1807639&r1=1807638&r2=1807639&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockCdiContainer.java (original)
+++ aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockCdiContainer.java Thu Sep 7 19:22:23 2017
@@ -19,6 +19,7 @@ import java.util.List;
import java.util.Set;
import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
import javax.enterprise.inject.spi.Extension;
import org.apache.aries.cdi.container.internal.container.ContainerDeployment;
@@ -28,7 +29,6 @@ import org.jboss.weld.bootstrap.WeldBoot
import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
import org.jboss.weld.bootstrap.spi.Deployment;
import org.jboss.weld.bootstrap.spi.Metadata;
-import org.jboss.weld.manager.BeanManagerImpl;
import org.junit.Assert;
public class MockCdiContainer implements AutoCloseable {
@@ -60,7 +60,7 @@ public class MockCdiContainer implements
}
public Bean<?> getBean(Class<?> clazz) {
- final BeanManagerImpl managerImpl = getBeanManager();
+ final BeanManager managerImpl = getBeanManager();
Set<javax.enterprise.inject.spi.Bean<?>> beans =
managerImpl.getBeans(clazz, AnyLiteral.INSTANCE);
@@ -70,12 +70,12 @@ public class MockCdiContainer implements
return managerImpl.resolve(beans);
}
- public BeanManagerImpl getBeanManager() {
- if (_beanManagerImpl != null) {
- return _beanManagerImpl;
+ public BeanManager getBeanManager() {
+ if (_beanManager != null) {
+ return _beanManager;
}
- return _beanManagerImpl = _bootstrap.getManager(_bda);
+ return _beanManager = _bootstrap.getManager(_bda);
}
public WeldBootstrap getBootstrap() {
@@ -83,7 +83,7 @@ public class MockCdiContainer implements
}
private final BeanDeploymentArchive _bda;
- private BeanManagerImpl _beanManagerImpl;
+ private BeanManager _beanManager;
private final WeldBootstrap _bootstrap;
}
\ No newline at end of file
Modified: aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockInjectionPoint.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockInjectionPoint.java?rev=1807639&r1=1807638&r2=1807639&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockInjectionPoint.java (original)
+++ aries/trunk/cdi/cdi-extender/src/test/java/org/apache/aries/cdi/container/test/MockInjectionPoint.java Thu Sep 7 19:22:23 2017
@@ -24,13 +24,13 @@ import javax.enterprise.inject.spi.Annot
import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.InjectionPoint;
-import org.jboss.weld.annotated.slim.unbacked.UnbackedAnnotated;
+import org.apache.aries.cdi.container.internal.util.Sets;
public class MockInjectionPoint implements InjectionPoint {
public MockInjectionPoint(Type type) {
_type = type;
- _annotated = new UnbackedAnnotated(_type, Collections.emptySet(), Collections.emptySet());
+ _annotated = new MockAnnotated(_type);
}
@Override
@@ -76,4 +76,44 @@ public class MockInjectionPoint implemen
private final Type _type;
private final Annotated _annotated;
+ private static class MockAnnotated implements Annotated {
+
+ public MockAnnotated(Type service) {
+ _service = service;
+ }
+
+ @Override
+ public <T extends Annotation> T getAnnotation(Class<T> annotationType) {
+ return null;
+ }
+
+ @Override
+ public Set<Annotation> getAnnotations() {
+ return Collections.emptySet();
+ }
+
+ @Override
+ public <T extends Annotation> Set<T> getAnnotations(Class<T> annotationType) {
+ return null;
+ }
+
+ @Override
+ public Type getBaseType() {
+ return _service;
+ }
+
+ @Override
+ public Set<Type> getTypeClosure() {
+ return Sets.hashSet(_service);
+ }
+
+ @Override
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotationType) {
+ return false;
+ }
+
+ private final Type _service;
+
+ }
+
}
Modified: aries/trunk/cdi/cdi-extension-http/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extension-http/pom.xml?rev=1807639&r1=1807638&r2=1807639&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extension-http/pom.xml (original)
+++ aries/trunk/cdi/cdi-extension-http/pom.xml Thu Sep 7 19:22:23 2017
@@ -58,7 +58,7 @@
<dependency>
<groupId>org.jboss.weld</groupId>
<artifactId>weld-osgi-bundle</artifactId>
- <version>2.4.2.Final</version>
+ <version>3.0.1.Final</version>
<exclusions>
<exclusion>
<groupId>javax.enterprise</groupId>
Modified: aries/trunk/cdi/cdi-extension-http/src/main/java/org/apache/aries/cdi/extension/http/HttpExtension.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extension-http/src/main/java/org/apache/aries/cdi/extension/http/HttpExtension.java?rev=1807639&r1=1807638&r2=1807639&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extension-http/src/main/java/org/apache/aries/cdi/extension/http/HttpExtension.java (original)
+++ aries/trunk/cdi/cdi-extension-http/src/main/java/org/apache/aries/cdi/extension/http/HttpExtension.java Thu Sep 7 19:22:23 2017
@@ -25,16 +25,17 @@ import java.util.Map;
import javax.enterprise.event.Observes;
import javax.enterprise.inject.spi.AfterDeploymentValidation;
+import javax.enterprise.inject.spi.AnnotatedType;
+import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.BeanManager;
import javax.enterprise.inject.spi.BeforeShutdown;
import javax.enterprise.inject.spi.Extension;
+import javax.enterprise.inject.spi.InjectionTargetFactory;
import javax.servlet.ServletContextListener;
import javax.servlet.ServletRequestListener;
import javax.servlet.http.HttpSessionListener;
-import org.jboss.weld.bean.builtin.BeanManagerProxy;
-import org.jboss.weld.manager.BeanManagerImpl;
-import org.jboss.weld.servlet.WeldInitialListener;
+import org.jboss.weld.module.web.servlet.WeldInitialListener;
import org.osgi.framework.Bundle;
import org.osgi.framework.Constants;
import org.osgi.framework.ServiceRegistration;
@@ -51,8 +52,6 @@ public class HttpExtension implements Ex
}
void afterDeploymentValidation(@Observes AfterDeploymentValidation adv, BeanManager beanManager) {
- BeanManagerImpl beanManagerImpl = ((BeanManagerProxy)beanManager).delegate();
-
Dictionary<String, Object> properties = new Hashtable<>();
properties.put(
@@ -60,8 +59,14 @@ public class HttpExtension implements Ex
properties.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_LISTENER, Boolean.TRUE.toString());
properties.put(Constants.SERVICE_RANKING, Integer.MAX_VALUE - 100);
+ AnnotatedType<WeldInitialListener> annotatedType = beanManager.createAnnotatedType(WeldInitialListener.class);
+ InjectionTargetFactory<WeldInitialListener> injectionTargetFactory = beanManager.getInjectionTargetFactory(annotatedType);
+ Bean<WeldInitialListener> bean = beanManager.createBean(beanManager.createBeanAttributes(annotatedType), WeldInitialListener.class, injectionTargetFactory);
+
+ WeldInitialListener initialListener = bean.create(beanManager.createCreationalContext(bean));
+
_listenerRegistration = _bundle.getBundleContext().registerService(
- LISTENER_CLASSES, new WeldInitialListener(beanManagerImpl), properties);
+ LISTENER_CLASSES, initialListener, properties);
}
void beforeShutdown(@Observes BeforeShutdown bs) {
Modified: aries/trunk/cdi/cdi-itests/cdi-executable.bndrun
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/cdi-executable.bndrun?rev=1807639&r1=1807638&r2=1807639&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/cdi-executable.bndrun (original)
+++ aries/trunk/cdi/cdi-itests/cdi-executable.bndrun Thu Sep 7 19:22:23 2017
@@ -16,6 +16,7 @@
-runbundles: \
ch.qos.logback.classic;version='[1.2.3,1.2.4)',\
ch.qos.logback.core;version='[1.2.3,1.2.4)',\
+ javax.annotation-api;version='[1.3.0,1.3.1)',\
jboss-classfilewriter;version='[1.1.2,1.1.3)',\
org.apache.aries.cdi.extender;version='[0.0.1,0.0.2)',\
org.apache.aries.cdi.extension.http;version='[0.0.1,0.0.2)',\
@@ -33,10 +34,9 @@
org.apache.felix.gogo.runtime;version='[1.0.2,1.0.3)',\
org.apache.felix.http.jetty;version='[3.4.2,3.4.3)',\
org.apache.felix.http.servlet-api;version='[1.1.2,1.1.3)',\
- org.apache.geronimo.specs.geronimo-annotation_1.2_spec;version='[1.0.0,1.0.1)',\
org.apache.logging.log4j.api;version='[2.7.0,2.7.1)',\
org.jboss.logging.jboss-logging;version='[3.2.1,3.2.2)',\
- org.jboss.weld.osgi-bundle;version='[2.4.3,2.4.4)',\
+ org.jboss.weld.osgi-bundle;version='[3.0.1,3.0.2)',\
org.jline;version='[3.0.0,3.0.1)',\
org.osgi.service.cdi;version='[1.0.0,1.0.1)',\
org.osgi.service.event;version='[1.3.1,1.3.2)',\
@@ -44,6 +44,7 @@
-resolve.effective: resolve, active
-runee: JavaSE-1.8
+-runsystemcapabilities.dflt: ${native_capability}
-runfw: org.eclipse.osgi;version='[3.10.0,4.0.0)'
-runproperties: \
logback.configurationFile=file:${.}/logback.xml,\
@@ -51,4 +52,4 @@
org.osgi.service.http.port=8080,\
osgi.console.enable.builtin=false, \
osgi.console=
--runsystemcapabilities.dflt: ${native_capability}
+-runsystempackages: javax.ejb;version=3.2.0
\ No newline at end of file
Modified: aries/trunk/cdi/cdi-itests/itest.bndrun
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/itest.bndrun?rev=1807639&r1=1807638&r2=1807639&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/itest.bndrun (original)
+++ aries/trunk/cdi/cdi-itests/itest.bndrun Thu Sep 7 19:22:23 2017
@@ -14,6 +14,7 @@
-runbundles: \
ch.qos.logback.classic;version='[1.2.3,1.2.4)',\
ch.qos.logback.core;version='[1.2.3,1.2.4)',\
+ javax.annotation-api;version='[1.3.0,1.3.1)',\
jboss-classfilewriter;version='[1.1.2,1.1.3)',\
org.apache.aries.cdi.extender;version='[0.0.1,0.0.2)',\
org.apache.aries.cdi.extension.http;version='[0.0.1,0.0.2)',\
@@ -34,12 +35,11 @@
org.apache.felix.http.jetty;version='[3.4.2,3.4.3)',\
org.apache.felix.http.servlet-api;version='[1.1.2,1.1.3)',\
org.apache.felix.scr;version='[2.0.8,2.0.9)',\
- org.apache.geronimo.specs.geronimo-annotation_1.2_spec;version='[1.0.0,1.0.1)',\
org.apache.httpcomponents.httpclient;version='[4.5.3,4.5.4)',\
org.apache.httpcomponents.httpcore;version='[4.4.6,4.4.7)',\
org.apache.logging.log4j.api;version='[2.7.0,2.7.1)',\
org.jboss.logging.jboss-logging;version='[3.2.1,3.2.2)',\
- org.jboss.weld.osgi-bundle;version='[2.4.3,2.4.4)',\
+ org.jboss.weld.osgi-bundle;version='[3.0.1,3.0.2)',\
org.osgi.service.cdi;version='[1.0.0,1.0.1)',\
org.osgi.service.event;version='[1.3.1,1.3.2)',\
osgi.enroute.hamcrest.wrapper;version='[1.3.0,1.3.1)',\
@@ -56,3 +56,4 @@
org.osgi.service.http.port=8080,\
osgi.console.enable.builtin=false, \
osgi.console=
+-runsystempackages: javax.ejb;version=3.2.0
\ No newline at end of file
Modified: aries/trunk/cdi/javax.cdi-api/bnd.bnd
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/javax.cdi-api/bnd.bnd?rev=1807639&r1=1807638&r2=1807639&view=diff
==============================================================================
--- aries/trunk/cdi/javax.cdi-api/bnd.bnd (original)
+++ aries/trunk/cdi/javax.cdi-api/bnd.bnd Thu Sep 7 19:22:23 2017
@@ -6,6 +6,6 @@ Provide-Capability: \
osgi.contract; \
osgi.contract=JavaCDI; \
uses:="javax.decorator,javax.enterprise.context,javax.enterprise.context.spi,javax.enterprise.event,javax.enterprise.inject,javax.enterprise.inject.spi,javax.enterprise.util"; \
- version:List<Version>='1.0,1.1,1.2'
+ version:List<Version>='1.0,1.1,1.2,2.0'
-contract: JavaEL, JavaInject, JavaInterceptor
--includeresource: META-INF/=LICENSE, META-INF/=NOTICE
\ No newline at end of file
+-includeresource: META-INF/=LICENSE, META-INF/=NOTICE
Modified: aries/trunk/cdi/javax.cdi-api/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/javax.cdi-api/pom.xml?rev=1807639&r1=1807638&r2=1807639&view=diff
==============================================================================
--- aries/trunk/cdi/javax.cdi-api/pom.xml (original)
+++ aries/trunk/cdi/javax.cdi-api/pom.xml Thu Sep 7 19:22:23 2017
@@ -30,7 +30,6 @@
</parent>
<artifactId>org.apache.aries.javax.cdi-api</artifactId>
- <version>0.0.1-SNAPSHOT</version>
<name>Javax CDI API Bundle</name>
<description>Javax CDI API Bundle</description>
@@ -42,7 +41,6 @@
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
- <version>2.10.4</version>
<executions>
<execution>
<id>javadoc-jar</id>
@@ -67,7 +65,7 @@
<dependency>
<groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId>
- <version>1.2</version>
+ <version>2.0</version>
<scope>provided</scope>
<exclusions>
<exclusion>
Modified: aries/trunk/cdi/javax.el-api/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/javax.el-api/pom.xml?rev=1807639&r1=1807638&r2=1807639&view=diff
==============================================================================
--- aries/trunk/cdi/javax.el-api/pom.xml (original)
+++ aries/trunk/cdi/javax.el-api/pom.xml Thu Sep 7 19:22:23 2017
@@ -30,7 +30,6 @@
</parent>
<artifactId>org.apache.aries.javax.el-api</artifactId>
- <version>0.0.1-SNAPSHOT</version>
<name>Javax EL API Bundle</name>
<description>Javax EL API Bundle</description>
@@ -42,7 +41,6 @@
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
- <version>2.10.4</version>
<executions>
<execution>
<id>javadoc-jar</id>
@@ -67,7 +65,7 @@
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-el-api</artifactId>
- <version>8.0.41</version>
+ <version>8.0.46</version>
<scope>provided</scope>
</dependency>
</dependencies>
Modified: aries/trunk/cdi/javax.inject-api/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/javax.inject-api/pom.xml?rev=1807639&r1=1807638&r2=1807639&view=diff
==============================================================================
--- aries/trunk/cdi/javax.inject-api/pom.xml (original)
+++ aries/trunk/cdi/javax.inject-api/pom.xml Thu Sep 7 19:22:23 2017
@@ -30,7 +30,6 @@
</parent>
<artifactId>org.apache.aries.javax.inject-api</artifactId>
- <version>0.0.1-SNAPSHOT</version>
<name>Javax Inject API Bundle</name>
<description>Javax Inject API Bundle</description>
@@ -42,7 +41,6 @@
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
- <version>2.10.4</version>
<executions>
<execution>
<id>javadoc-jar</id>
Modified: aries/trunk/cdi/javax.interceptor-api/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/javax.interceptor-api/pom.xml?rev=1807639&r1=1807638&r2=1807639&view=diff
==============================================================================
--- aries/trunk/cdi/javax.interceptor-api/pom.xml (original)
+++ aries/trunk/cdi/javax.interceptor-api/pom.xml Thu Sep 7 19:22:23 2017
@@ -30,7 +30,6 @@
</parent>
<artifactId>org.apache.aries.javax.interceptor-api</artifactId>
- <version>0.0.1-SNAPSHOT</version>
<name>Javax Interceptor API Bundle</name>
<description>Javax Interceptor API Bundle</description>
@@ -42,7 +41,6 @@
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
- <version>2.10.4</version>
<executions>
<execution>
<id>javadoc-jar</id>