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/11/29 14:54:46 UTC
svn commit: r1816631 - in /aries/trunk/cdi/cdi-extender: ./
src/main/java/org/apache/aries/cdi/container/internal/
src/main/java/org/apache/aries/cdi/container/internal/command/
src/main/java/org/apache/aries/cdi/container/internal/component/ src/main/...
Author: rotty3000
Date: Wed Nov 29 14:54:46 2017
New Revision: 1816631
URL: http://svn.apache.org/viewvc?rev=1816631&view=rev
Log:
[CDI] start cleaning up, won't run for a while yet...
Modified:
aries/trunk/cdi/cdi-extender/pom.xml
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/CdiBundle.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/command/CdiCommand.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/ComponentModel.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/service/ServiceDeclaration.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Conversions.java
aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Types.java
Modified: aries/trunk/cdi/cdi-extender/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/pom.xml?rev=1816631&r1=1816630&r2=1816631&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/pom.xml (original)
+++ aries/trunk/cdi/cdi-extender/pom.xml Wed Nov 29 14:54:46 2017
@@ -50,12 +50,12 @@
<dependencies>
<dependency>
- <groupId>org.apache.aries.cdi</groupId>
+ <groupId>org.apache.aries.spec</groupId>
<artifactId>org.apache.aries.javax.annotation-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>org.apache.aries.cdi</groupId>
+ <groupId>org.apache.aries.spec</groupId>
<artifactId>org.apache.aries.javax.cdi-api</artifactId>
<version>${project.version}</version>
</dependency>
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/CdiBundle.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/CdiBundle.java?rev=1816631&r1=1816630&r2=1816631&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/CdiBundle.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/CdiBundle.java Wed Nov 29 14:54:46 2017
@@ -24,7 +24,6 @@ import org.apache.aries.cdi.container.in
import org.apache.aries.cdi.container.internal.phase.Phase_Init;
import org.apache.felix.utils.extender.Extension;
import org.osgi.framework.Bundle;
-import org.osgi.service.cdi.CdiEvent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -61,15 +60,11 @@ public class CdiBundle implements Extens
_command.add(_bundle, _containerState);
try {
- _containerState.fire(CdiEvent.Type.CREATING);
-
_nextPhase = new Phase_Init(_bundle, _containerState);
_nextPhase.open();
}
catch (Throwable t) {
- _containerState.fire(CdiEvent.Type.FAILURE, t);
-
if (_nextPhase != null) {
_nextPhase.close();
}
@@ -106,14 +101,10 @@ public class CdiBundle implements Extens
_command.remove(_bundle);
- _containerState.fire(CdiEvent.Type.DESTROYING);
-
_nextPhase.close();
_nextPhase = null;
- _containerState.fire(CdiEvent.Type.DESTROYED);
-
_containerState.close();
_containerState = null;
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/command/CdiCommand.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/command/CdiCommand.java?rev=1816631&r1=1816630&r2=1816631&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/command/CdiCommand.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/command/CdiCommand.java Wed Nov 29 14:54:46 2017
@@ -40,7 +40,7 @@ public class CdiCommand {
public String list() {
try (Formatter f = new Formatter()) {
for (ContainerState cdiContainerState : _states.values()) {
- f.format("[%s] %s%n", cdiContainerState.id(), cdiContainerState.lastState());
+ f.format("[%s]%n", cdiContainerState.id());
}
return f.toString();
}
@@ -56,7 +56,7 @@ public class CdiCommand {
return f.toString();
}
- f.format("[%s] %s%n", containerState.id(), containerState.lastState());
+ f.format("[%s]%n", containerState.id());
List<ExtensionDependency> extensionDependencies = containerState.extensionDependencies();
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/ComponentModel.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/ComponentModel.java?rev=1816631&r1=1816630&r2=1816631&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/ComponentModel.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/component/ComponentModel.java Wed Nov 29 14:54:46 2017
@@ -169,8 +169,8 @@ public class ComponentModel {
return _references;
}
- public ServiceScope getServiceScope() {
- return _scope;
+ public boolean isService() {
+ return false;
}
@Override
@@ -196,7 +196,6 @@ public class ComponentModel {
private final List<String> _provides;
private final List<ConfigurationModel> _configurations;
private final List<ReferenceModel> _references;
- private ServiceScope _scope;
private volatile String _string;
}
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=1816631&r1=1816630&r2=1816631&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 Wed Nov 29 14:54:46 2017
@@ -15,7 +15,6 @@
package org.apache.aries.cdi.container.internal.container;
import java.util.Dictionary;
-import java.util.Hashtable;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -45,19 +44,14 @@ import org.osgi.framework.Filter;
import org.osgi.framework.InvalidSyntaxException;
import org.osgi.framework.ServiceObjects;
import org.osgi.framework.ServiceReference;
-import org.osgi.framework.ServiceRegistration;
import org.osgi.framework.wiring.BundleWiring;
-import org.osgi.service.cdi.CdiConstants;
-import org.osgi.service.cdi.CdiContainer;
-import org.osgi.service.cdi.CdiEvent;
-import org.osgi.service.cdi.CdiEvent.Type;
-import org.osgi.service.cdi.annotations.ServiceEvent;
+import org.osgi.service.cdi.reference.ReferenceEvent;
import org.osgi.service.cm.ManagedService;
import org.osgi.util.tracker.ServiceTracker;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class ContainerState implements CdiContainer {
+public class ContainerState {
public static final AnnotationLiteral<Any> ANY = new AnnotationLiteral<Any>() {
private static final long serialVersionUID = 1L;
@@ -69,15 +63,10 @@ public class ContainerState implements C
_bundle = Optional.ofNullable(bundle);
_extenderBundle = extenderBundle;
- Hashtable<String, Object> properties = new Hashtable<>();
-
- properties.put(CdiConstants.CDI_CONTAINER_STATE, CdiEvent.Type.CREATING);
-
_bundle.ifPresent(
b -> {
_classLoader = new BundleClassLoader(
BundleResourcesLoader.getBundles(bundle, extenderBundle));
- _registration = b.getBundleContext().registerService(CdiContainer.class, this, properties);
}
);
@@ -170,16 +159,7 @@ public class ContainerState implements C
}
public synchronized void close() {
- try {
- if (_registration != null) {
- _registration.unregister();
- }
- }
- catch (Exception e) {
- if (_log.isTraceEnabled()) {
- _log.trace("Service already unregistered {}", _registration);
- }
- }
+ // no op
}
public Map<ComponentModel, Map<String, ConfigurationCallback>> configurationCallbacks() {
@@ -198,56 +178,10 @@ public class ContainerState implements C
return _extensionDependencies;
}
- public synchronized void fire(CdiEvent event) {
- Type type = event.getType();
-
- if ((_lastState == CdiEvent.Type.DESTROYING) &&
- ((type == CdiEvent.Type.WAITING_FOR_CONFIGURATIONS) ||
- (type == CdiEvent.Type.WAITING_FOR_EXTENSIONS) ||
- (type == CdiEvent.Type.WAITING_FOR_SERVICES))) {
-
- return;
- }
-
- if (_log.isErrorEnabled() && (event.getCause() != null)) {
- _log.error("CDIe - Event {}", event, event.getCause());
- }
- else if (_log.isDebugEnabled()) {
- _log.debug("CDIe - Event {}", event);
- }
-
- updateState(event);
-
- if (_beanManager != null) {
- _beanManager.fireEvent(event);
- }
- }
-
- public void fire(CdiEvent.Type state) {
- fire(new CdiEvent(state, _bundle.orElse(null), _extenderBundle));
- }
-
- public void fire(CdiEvent.Type state, String payload) {
- fire(new CdiEvent(state, _bundle.orElse(null), _extenderBundle, payload, null));
- }
-
- public void fire(CdiEvent.Type state, Throwable cause) {
- fire(new CdiEvent(state, _bundle.orElse(null), _extenderBundle, null, cause));
- }
-
- @Override
- public BeanManager getBeanManager() {
- return _beanManager;
- }
-
public String id() {
return _bundle.map(b -> b.getSymbolicName() + ":" + b.getBundleId()).orElse("null");
}
- public CdiEvent.Type lastState() {
- return _lastState;
- }
-
@SuppressWarnings("unchecked")
public <T extends ResourceLoader & ProxyServices> T loader() {
return (T)_bundle.map(b -> new BundleResourcesLoader(b, _extenderBundle)).orElse(null);
@@ -261,7 +195,7 @@ public class ContainerState implements C
return _referenceCallbacksMap;
}
- public Map<ComponentModel, Map<String, ObserverMethod<ServiceEvent<?>>>> referenceObservers() {
+ public Map<ComponentModel, Map<String, ObserverMethod<ReferenceEvent<?>>>> referenceObservers() {
return _referenceObserversMap;
}
@@ -273,10 +207,6 @@ public class ContainerState implements C
return _serviceRegistrator;
}
- public void setBeanManager(BeanManager beanManager) {
- _beanManager = beanManager;
- }
-
public void setBeansModel(BeansModel beansModel) {
_beansModel = beansModel;
}
@@ -289,35 +219,8 @@ public class ContainerState implements C
return _tracker;
}
- private synchronized void updateState(CdiEvent event) {
- Type type = event.getType();
-
- _lastState = type;
-
- if (_registration == null) {
- return;
- }
-
- ServiceReference<CdiContainer> reference = _registration.getReference();
-
- if (type == reference.getProperty(CdiConstants.CDI_CONTAINER_STATE)) {
- return;
- }
-
- Hashtable<String, Object> properties = new Hashtable<>();
-
- for (String key : reference.getPropertyKeys()) {
- properties.put(key, reference.getProperty(key));
- }
-
- properties.put(CdiConstants.CDI_CONTAINER_STATE, type);
-
- _registration.setProperties(properties);
- }
-
private static final Logger _log = LoggerFactory.getLogger(ContainerState.class);
- private volatile BeanManager _beanManager;
private BeansModel _beansModel;
private final Registrator<BeanManager> _bmRegistrator;
private final Optional<Bundle> _bundle;
@@ -326,11 +229,9 @@ public class ContainerState implements C
private final Context _context;
private final Bundle _extenderBundle;
private List<ExtensionDependency> _extensionDependencies;
- private CdiEvent.Type _lastState = CdiEvent.Type.CREATING;
private final Registrator<ManagedService> _msRegistrator;
private final Map<ComponentModel, Map<String, ReferenceCallback>> _referenceCallbacksMap = new ConcurrentHashMap<>();
- private final Map<ComponentModel, Map<String, ObserverMethod<ServiceEvent<?>>>> _referenceObserversMap = new ConcurrentHashMap<>();
- private ServiceRegistration<CdiContainer> _registration;
+ private final Map<ComponentModel, Map<String, ObserverMethod<ReferenceEvent<?>>>> _referenceObserversMap = new ConcurrentHashMap<>();
private final Map<ComponentModel, ServiceDeclaration> _serviceComponents = new ConcurrentHashMap<>();
private final Registrator<Object> _serviceRegistrator;
private final Tracker _tracker;
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/service/ServiceDeclaration.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/service/ServiceDeclaration.java?rev=1816631&r1=1816630&r2=1816631&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/service/ServiceDeclaration.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/service/ServiceDeclaration.java Wed Nov 29 14:54:46 2017
@@ -31,7 +31,6 @@ import org.osgi.framework.Bundle;
import org.osgi.framework.PrototypeServiceFactory;
import org.osgi.framework.ServiceFactory;
import org.osgi.framework.ServiceRegistration;
-import org.osgi.service.cdi.annotations.ServiceScope;
public class ServiceDeclaration {
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Conversions.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Conversions.java?rev=1816631&r1=1816630&r2=1816631&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Conversions.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Conversions.java Wed Nov 29 14:54:46 2017
@@ -18,8 +18,8 @@ import java.util.Arrays;
import org.osgi.util.converter.Converter;
import org.osgi.util.converter.ConverterBuilder;
+import org.osgi.util.converter.Converters;
import org.osgi.util.converter.Converting;
-import org.osgi.util.converter.StandardConverter;
import org.osgi.util.converter.TypeRule;
public class Conversions {
@@ -33,7 +33,7 @@ public class Conversions {
}
private Conversions() {
- ConverterBuilder builder = new StandardConverter().newConverterBuilder();
+ ConverterBuilder builder = Converters.newConverterBuilder();
builder
.rule(new TypeRule<>(String[].class, String.class, i -> Arrays.toString((String[])i)))
Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Types.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Types.java?rev=1816631&r1=1816630&r2=1816631&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Types.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Types.java Wed Nov 29 14:54:46 2017
@@ -23,7 +23,6 @@ import java.util.List;
import javax.enterprise.inject.spi.InjectionPoint;
import org.apache.aries.cdi.container.internal.component.ComponentModel;
-import org.osgi.service.cdi.annotations.ServiceScope;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -94,9 +93,7 @@ public class Types {
List<Class<?>> classes = new ArrayList<>();
- if ((componentModel.getServiceScope() == ServiceScope.DEFAULT) ||
- (componentModel.getServiceScope() == ServiceScope.NONE)) {
-
+ if (!componentModel.isService()) {
return new Class<?>[0];
}
else if (!componentModel.getProvides().isEmpty()) {