You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by cs...@apache.org on 2017/03/01 10:06:54 UTC

svn commit: r1784898 - in /aries/trunk/cdi: ./ cdi-executable/ cdi-extender/ cdi-extension-jndi/ cdi-extension-jndi/src/main/java/org/apache/aries/cdi/extension/jndi/ cdi-itests/ el-api/

Author: csierra
Date: Wed Mar  1 10:06:53 2017
New Revision: 1784898

URL: http://svn.apache.org/viewvc?rev=1784898&view=rev
Log:
[ARIES-CDI] fix dependencies

Signed-off-by: Raymond Aug� <ro...@apache.org>

Added:
    aries/trunk/cdi/cdi-extension-jndi/src/main/java/org/apache/aries/cdi/extension/jndi/Activator.java
    aries/trunk/cdi/cdi-extension-jndi/src/main/java/org/apache/aries/cdi/extension/jndi/JndiExtensionFactory.java
    aries/trunk/cdi/el-api/
    aries/trunk/cdi/el-api/bnd.bnd
    aries/trunk/cdi/el-api/pom.xml
Modified:
    aries/trunk/cdi/cdi-executable/cdi-executable.bndrun
    aries/trunk/cdi/cdi-executable/pom.xml
    aries/trunk/cdi/cdi-extender/bnd.bnd
    aries/trunk/cdi/cdi-extender/pom.xml
    aries/trunk/cdi/cdi-extension-jndi/bnd.bnd
    aries/trunk/cdi/cdi-extension-jndi/pom.xml
    aries/trunk/cdi/cdi-extension-jndi/src/main/java/org/apache/aries/cdi/extension/jndi/JndiExtension.java
    aries/trunk/cdi/cdi-extension-jndi/src/main/java/org/apache/aries/cdi/extension/jndi/JndiObjectFactory.java
    aries/trunk/cdi/cdi-itests/itest.bndrun
    aries/trunk/cdi/cdi-itests/pom.xml
    aries/trunk/cdi/pom.xml

Modified: aries/trunk/cdi/cdi-executable/cdi-executable.bndrun
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-executable/cdi-executable.bndrun?rev=1784898&r1=1784897&r2=1784898&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-executable/cdi-executable.bndrun (original)
+++ aries/trunk/cdi/cdi-executable/cdi-executable.bndrun Wed Mar  1 10:06:53 2017
@@ -15,11 +15,11 @@
 	jboss-classfilewriter;version='[1.1.2,1.1.3)',\
 	log4j;version='[1.2.17,1.2.18)',\
 	org.apache.aries.cdi.extender;version='[0.0.1,0.0.2)',\
-	org.apache.felix.bundlerepository;version='[1.6.0,1.6.1)',\
+	org.apache.aries.el-api;version='[0.0.1,0.0.2)',\
 	org.apache.felix.configadmin;version='[1.8.12,1.8.13)',\
-	org.apache.felix.gogo.command;version='[1.0.0,1.0.1)',\
-	org.apache.felix.gogo.jline;version='[1.0.0,1.0.1)',\
-	org.apache.felix.gogo.runtime;version='[1.0.0,1.0.1)',\
+	org.apache.felix.gogo.command;version='[1.0.2,1.0.3)',\
+	org.apache.felix.gogo.jline;version='[1.0.2,1.0.3)',\
+	org.apache.felix.gogo.runtime;version='[1.0.2,1.0.3)',\
 	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.spec.javax.annotation.jboss-annotations-api_1.2_spec;version='[1.0.0,1.0.1)',\

Modified: aries/trunk/cdi/cdi-executable/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-executable/pom.xml?rev=1784898&r1=1784897&r2=1784898&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-executable/pom.xml (original)
+++ aries/trunk/cdi/cdi-executable/pom.xml Wed Mar  1 10:06:53 2017
@@ -55,37 +55,11 @@
 			<version>1.2.17</version>
 		</dependency>
 		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>slf4j-api</artifactId>
-			<version>1.7.21</version>
-		</dependency>
-		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>slf4j-log4j12</artifactId>
-			<version>1.6.1</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.logging.log4j</groupId>
-			<artifactId>log4j-api</artifactId>
-			<version>2.7</version>
-		</dependency>
-
-		<dependency>
 			<groupId>org.apache.aries.cdi</groupId>
 			<artifactId>org.apache.aries.cdi.extender</artifactId>
 			<version>0.0.1-SNAPSHOT</version>
 		</dependency>
 		<dependency>
-			<groupId>org.apache.aries.jndi</groupId>
-			<artifactId>org.apache.aries.jndi.api</artifactId>
-			<version>1.1.0</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.aries.jndi</groupId>
-			<artifactId>org.apache.aries.jndi.core</artifactId>
-			<version>1.0.2</version>
-		</dependency>
-		<dependency>
 			<groupId>org.apache.felix</groupId>
 			<artifactId>org.apache.felix.configadmin</artifactId>
 			<version>1.8.12</version>
@@ -93,22 +67,22 @@
 		<dependency>
 			<groupId>org.apache.felix</groupId>
 			<artifactId>org.apache.felix.gogo.command</artifactId>
-			<version>1.0.0</version>
+			<version>1.0.2</version>
 		</dependency>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
 			<artifactId>org.apache.felix.gogo.jline</artifactId>
-			<version>1.0.0</version>
+			<version>1.0.2</version>
 		</dependency>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.scr</artifactId>
-			<version>2.0.2</version>
+			<artifactId>org.apache.felix.gogo.runtime</artifactId>
+			<version>1.0.2</version>
 		</dependency>
 		<dependency>
-			<groupId>org.osgi</groupId>
-			<artifactId>org.eclipse.equinox.metatype</artifactId>
-			<version>1.4.100.v20150408-1437</version>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-api</artifactId>
+			<version>2.7</version>
 		</dependency>
 		<dependency>
 			<groupId>org.osgi</groupId>
@@ -116,36 +90,14 @@
 			<version>3.10.100.v20150529-1857</version>
 		</dependency>
 		<dependency>
-			<groupId>org.osgi</groupId>
-			<artifactId>osgi.enroute.junit.wrapper</artifactId>
-			<version>4.12.0</version>
-		</dependency>
-		<dependency>
-			<groupId>org.osgi</groupId>
-			<artifactId>osgi.enroute.hamcrest.wrapper</artifactId>
-			<version>1.3.0</version>
-		</dependency>
-		<dependency>
-			<groupId>org.osgi</groupId>
-			<artifactId>org.osgi.namespace.extender</artifactId>
-			<version>1.0.1</version>
-			<scope>provided</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.osgi</groupId>
-			<artifactId>org.osgi.service.component.annotations</artifactId>
-			<version>1.3.0</version>
-			<scope>provided</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.osgi</groupId>
-			<artifactId>org.osgi.service.metatype</artifactId>
-			<version>1.3.0</version>
+			<groupId>org.slf4j</groupId>
+			<artifactId>slf4j-api</artifactId>
+			<version>1.7.21</version>
 		</dependency>
 		<dependency>
-			<groupId>org.osgi</groupId>
-			<artifactId>osgi.core</artifactId>
-			<version>6.0.0</version>
+			<groupId>org.slf4j</groupId>
+			<artifactId>slf4j-log4j12</artifactId>
+			<version>1.6.1</version>
 		</dependency>
 	</dependencies>
 

Modified: aries/trunk/cdi/cdi-extender/bnd.bnd
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/bnd.bnd?rev=1784898&r1=1784897&r2=1784898&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/bnd.bnd (original)
+++ aries/trunk/cdi/cdi-extender/bnd.bnd Wed Mar  1 10:06:53 2017
@@ -6,10 +6,18 @@ Conditional-Package: \
 	org.osgi.util.function
 Export-Package: \
 	javax.decorator,\
-	javax.el,\
 	javax.enterprise.*,\
-	javax.inject;version='1.0.0'
+	javax.inject;version='1.0.0',\
+	org.apache.aries.cdi.provider
 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', \
+	osgi.contract; \
+		osgi.contract=JavaInject; \
+		uses:="javax.inject"; \
+		version:Version='1', \
 	osgi.extender; \
 		osgi.extender='osgi.cdi'; \
 		uses:="org.osgi.service.cdi,org.osgi.service.cdi.annotations,javax.enterprise.inject.spi"; \

Modified: aries/trunk/cdi/cdi-extender/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/pom.xml?rev=1784898&r1=1784897&r2=1784898&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/pom.xml (original)
+++ aries/trunk/cdi/cdi-extender/pom.xml Wed Mar  1 10:06:53 2017
@@ -34,38 +34,61 @@
 	</build>
 
 	<dependencies>
-		<!-- Keep org.osgi:org.osgi.core:6.0.0 before the other Aries ones because otherwise we get an older version. -->
-		<dependency>
-			<groupId>org.osgi</groupId>
-			<artifactId>osgi.core</artifactId>
-			<version>6.0.0</version>
-			<scope>provided</scope>
-		</dependency>
-
 		<dependency>
 			<groupId>javax.enterprise</groupId>
 			<artifactId>cdi-api</artifactId>
 			<version>1.2</version>
+			<scope>provided</scope>
+			<exclusions>
+				<exclusion>
+					<groupId>javax.el</groupId>
+					<artifactId>javax.el-api</artifactId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 		<dependency>
 			<groupId>javax.inject</groupId>
 			<artifactId>javax.inject</artifactId>
 			<version>1</version>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.aries.cdi</groupId>
+			<artifactId>org.apache.aries.el-api</artifactId>
+			<version>0.0.1-SNAPSHOT</version>
 		</dependency>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
 			<artifactId>org.apache.felix.converter</artifactId>
 			<version>0.1.0-SNAPSHOT</version>
+			<scope>provided</scope>
 		</dependency>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
 			<artifactId>org.apache.felix.utils</artifactId>
 			<version>1.8.6</version>
+			<scope>provided</scope>
+			<exclusions>
+				<exclusion>
+					<groupId>org.osgi</groupId>
+					<artifactId>org.osgi.core</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>org.osgi</groupId>
+					<artifactId>org.osgi.compendium</artifactId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 		<dependency>
 			<groupId>org.jboss.weld</groupId>
 			<artifactId>weld-osgi-bundle</artifactId>
 			<version>2.4.0.Final</version>
+			<exclusions>
+				<exclusion>
+					<groupId>org.jboss.spec.javax.el</groupId>
+					<artifactId>jboss-el-api_3.0_spec</artifactId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 		<dependency>
 			<groupId>org.osgi</groupId>
@@ -84,6 +107,11 @@
 			<version>1.5.0</version>
 		</dependency>
 		<dependency>
+			<groupId>org.osgi</groupId>
+			<artifactId>osgi.core</artifactId>
+			<version>6.0.0</version>
+		</dependency>
+		<dependency>
 			<groupId>org.slf4j</groupId>
 			<artifactId>slf4j-api</artifactId>
 			<version>1.7.0</version>

Modified: aries/trunk/cdi/cdi-extension-jndi/bnd.bnd
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extension-jndi/bnd.bnd?rev=1784898&r1=1784897&r2=1784898&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extension-jndi/bnd.bnd (original)
+++ aries/trunk/cdi/cdi-extension-jndi/bnd.bnd Wed Mar  1 10:06:53 2017
@@ -1,2 +1,5 @@
-Provide-Capability: osgi.cdi.extension;osgi.cdi.extension=jndi;version:Version="0.0.1"
+Bundle-Activator: org.apache.aries.cdi.extension.jndi.Activator
+Provide-Capability: osgi.cdi.extension;osgi.cdi.extension=jndi;version:Version="${Bundle-Version}"
+Require-Capability: osgi.contract;filter:="(&(osgi.contract=JavaCDI)(version=1.2))"
+
 -includeresource: META-INF/=LICENSE, META-INF/=NOTICE
\ No newline at end of file

Modified: aries/trunk/cdi/cdi-extension-jndi/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extension-jndi/pom.xml?rev=1784898&r1=1784897&r2=1784898&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extension-jndi/pom.xml (original)
+++ aries/trunk/cdi/cdi-extension-jndi/pom.xml Wed Mar  1 10:06:53 2017
@@ -24,32 +24,13 @@
 				<groupId>biz.aQute.bnd</groupId>
 				<artifactId>bnd-maven-plugin</artifactId>
 			</plugin>
-			<!--
-			<plugin>
-				<groupId>biz.aQute.bnd</groupId>
-				<artifactId>bnd-baseline-maven-plugin</artifactId>
-			</plugin>
-			-->
 		</plugins>
 	</build>
 
 	<dependencies>
-		<!-- Keep org.osgi:osgi.core:6.0.0 before the other Aries ones because otherwise we get an older version. -->
-		<dependency>
-			<groupId>org.osgi</groupId>
-			<artifactId>osgi.core</artifactId>
-			<version>6.0.0</version>
-			<scope>provided</scope>
-		</dependency>
-
-		<dependency>
-			<groupId>javax.enterprise</groupId>
-			<artifactId>cdi-api</artifactId>
-			<version>1.2</version>
-		</dependency>
 		<dependency>
 			<groupId>org.apache.aries.cdi</groupId>
-			<artifactId>org.apache.aries.cdi.osgi.api</artifactId>
+			<artifactId>org.apache.aries.cdi.extender</artifactId>
 			<version>0.0.1-SNAPSHOT</version>
 		</dependency>
 		<dependency>
@@ -58,20 +39,9 @@
 			<version>1.1.0</version>
 		</dependency>
 		<dependency>
-			<groupId>org.apache.aries.jndi</groupId>
-			<artifactId>org.apache.aries.jndi.core</artifactId>
-			<version>1.0.2</version>
-		</dependency>
-		<dependency>
 			<groupId>org.osgi</groupId>
-			<artifactId>org.osgi.service.component.annotations</artifactId>
-			<version>1.3.0</version>
-			<scope>provided</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>slf4j-api</artifactId>
-			<version>1.7.0</version>
+			<artifactId>org.osgi.service.cdi</artifactId>
+			<version>1.0.0-SNAPSHOT</version>
 		</dependency>
 	</dependencies>
 

Added: aries/trunk/cdi/cdi-extension-jndi/src/main/java/org/apache/aries/cdi/extension/jndi/Activator.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extension-jndi/src/main/java/org/apache/aries/cdi/extension/jndi/Activator.java?rev=1784898&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-extension-jndi/src/main/java/org/apache/aries/cdi/extension/jndi/Activator.java (added)
+++ aries/trunk/cdi/cdi-extension-jndi/src/main/java/org/apache/aries/cdi/extension/jndi/Activator.java Wed Mar  1 10:06:53 2017
@@ -0,0 +1,57 @@
+/**
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.aries.cdi.extension.jndi;
+
+import java.util.Dictionary;
+import java.util.Hashtable;
+
+import javax.enterprise.inject.spi.Extension;
+import javax.naming.spi.ObjectFactory;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceRegistration;
+import org.osgi.service.cdi.CdiExtenderConstants;
+import org.osgi.service.jndi.JNDIConstants;
+
+public class Activator implements BundleActivator {
+
+	@Override
+	public void start(BundleContext bundleContext) throws Exception {
+		Dictionary<String, Object> properties = new Hashtable<>();
+		properties.put(CdiExtenderConstants.CDI_EXTENSION, "jndi");
+
+		JndiExtensionFactory jndiExtensionFactory = new JndiExtensionFactory();
+
+		_jndiExtensionFactoryRegistration = bundleContext.registerService(
+			Extension.class, jndiExtensionFactory, properties);
+
+		properties = new Hashtable<>();
+		properties.put(JNDIConstants.JNDI_URLSCHEME, "java");
+
+		_objectFactoryRegistration = bundleContext.registerService(
+			ObjectFactory.class, new JndiObjectFactory(jndiExtensionFactory), properties);
+	}
+
+	@Override
+	public void stop(BundleContext bundleContext) throws Exception {
+		_objectFactoryRegistration.unregister();
+		_jndiExtensionFactoryRegistration.unregister();
+	}
+
+	private ServiceRegistration<?> _jndiExtensionFactoryRegistration;
+	private ServiceRegistration<?> _objectFactoryRegistration;
+
+}

Modified: aries/trunk/cdi/cdi-extension-jndi/src/main/java/org/apache/aries/cdi/extension/jndi/JndiExtension.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extension-jndi/src/main/java/org/apache/aries/cdi/extension/jndi/JndiExtension.java?rev=1784898&r1=1784897&r2=1784898&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extension-jndi/src/main/java/org/apache/aries/cdi/extension/jndi/JndiExtension.java (original)
+++ aries/trunk/cdi/cdi-extension-jndi/src/main/java/org/apache/aries/cdi/extension/jndi/JndiExtension.java Wed Mar  1 10:06:53 2017
@@ -1,58 +1,20 @@
 package org.apache.aries.cdi.extension.jndi;
 
-import java.util.Dictionary;
-import java.util.Hashtable;
-import java.util.Set;
-
-import javax.enterprise.context.spi.CreationalContext;
 import javax.enterprise.event.Observes;
-import javax.enterprise.inject.Any;
 import javax.enterprise.inject.spi.AfterDeploymentValidation;
-import javax.enterprise.inject.spi.Bean;
 import javax.enterprise.inject.spi.BeanManager;
 import javax.enterprise.inject.spi.Extension;
-import javax.enterprise.util.AnnotationLiteral;
-import javax.naming.spi.ObjectFactory;
-
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceRegistration;
-import org.osgi.service.cdi.CdiExtenderConstants;
-import org.osgi.service.component.annotations.Activate;
-import org.osgi.service.component.annotations.Component;
-import org.osgi.service.component.annotations.Deactivate;
-import org.osgi.service.jndi.JNDIConstants;
 
-@Component(property = {CdiExtenderConstants.CDI_EXTENSION + "=jndi"})
 public class JndiExtension implements Extension {
 
-	@Activate
-	void activate(BundleContext bundleContext) {
-		Dictionary<String, Object> properties = new Hashtable<>();
-		properties.put(JNDIConstants.JNDI_URLSCHEME, "java");
-
-		_jndiObjectFactory = new JndiObjectFactory();
-		_objectFactoryRegistration = bundleContext.registerService(
-			ObjectFactory.class, _jndiObjectFactory, properties);
-	}
-
-	@Deactivate
-	void deactivate() {
-		_objectFactoryRegistration.unregister();
-		_objectFactoryRegistration = null;
-		_jndiObjectFactory = null;
+	public BeanManager getBeanManager() {
+		return _beanManager;
 	}
 
 	void afterDeploymentValidation(@Observes AfterDeploymentValidation adv, BeanManager beanManager) {
-		@SuppressWarnings("serial")
-		Set<Bean<?>> beans = beanManager.getBeans(BundleContext.class, new AnnotationLiteral<Any>() {});
-		Bean<?> bean = beanManager.resolve(beans);
-		CreationalContext<?> ctx = beanManager.createCreationalContext(bean);
-		BundleContext bundleContext = (BundleContext)beanManager.getReference(bean, BundleContext.class, ctx);
-
-		_jndiObjectFactory.put(bundleContext, beanManager);
+		_beanManager = beanManager;
 	}
 
-	private JndiObjectFactory _jndiObjectFactory;
-	private ServiceRegistration<ObjectFactory> _objectFactoryRegistration;
+	private BeanManager _beanManager;
 
 }

Added: aries/trunk/cdi/cdi-extension-jndi/src/main/java/org/apache/aries/cdi/extension/jndi/JndiExtensionFactory.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extension-jndi/src/main/java/org/apache/aries/cdi/extension/jndi/JndiExtensionFactory.java?rev=1784898&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-extension-jndi/src/main/java/org/apache/aries/cdi/extension/jndi/JndiExtensionFactory.java (added)
+++ aries/trunk/cdi/cdi-extension-jndi/src/main/java/org/apache/aries/cdi/extension/jndi/JndiExtensionFactory.java Wed Mar  1 10:06:53 2017
@@ -0,0 +1,65 @@
+package org.apache.aries.cdi.extension.jndi;
+
+import java.util.Hashtable;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import javax.enterprise.inject.spi.Extension;
+import javax.naming.Name;
+import javax.naming.spi.ObjectFactory;
+
+import org.osgi.framework.Bundle;
+import org.osgi.framework.ServiceFactory;
+import org.osgi.framework.ServiceRegistration;
+
+public class JndiExtensionFactory implements ServiceFactory<Extension> {
+
+	@Override
+	public Extension getService(Bundle bundle, ServiceRegistration<Extension> registration) {
+		JndiExtension jndiExtension = new JndiExtension();
+		_map.put(bundle, jndiExtension);
+		return jndiExtension;
+	}
+
+	@Override
+	public void ungetService(
+		Bundle bundle, ServiceRegistration<Extension> registration, Extension extension) {
+
+		_map.remove(bundle);
+	}
+
+	ObjectFactory getObjectFactory(Bundle bundle) {
+		JndiExtension jndiExtension = _map.get(bundle);
+
+		if (jndiExtension == null) {
+			return null;
+		}
+
+		return new InnerObjectFactory(new JndiContext(jndiExtension.getBeanManager()));
+	}
+
+	private final Map<Bundle, JndiExtension> _map = new ConcurrentHashMap<>();
+
+	private class InnerObjectFactory implements ObjectFactory {
+
+		public InnerObjectFactory(JndiContext jndiContext) {
+			_jndiContext = jndiContext;
+		}
+
+		@Override
+		public Object getObjectInstance(
+				Object obj, Name name, javax.naming.Context context, Hashtable<?, ?> environment)
+			throws Exception {
+
+			if (obj == null) {
+				return _jndiContext;
+			}
+
+			return null;
+		}
+
+		private final JndiContext _jndiContext;
+
+	}
+
+}

Modified: aries/trunk/cdi/cdi-extension-jndi/src/main/java/org/apache/aries/cdi/extension/jndi/JndiObjectFactory.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extension-jndi/src/main/java/org/apache/aries/cdi/extension/jndi/JndiObjectFactory.java?rev=1784898&r1=1784897&r2=1784898&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extension-jndi/src/main/java/org/apache/aries/cdi/extension/jndi/JndiObjectFactory.java (original)
+++ aries/trunk/cdi/cdi-extension-jndi/src/main/java/org/apache/aries/cdi/extension/jndi/JndiObjectFactory.java Wed Mar  1 10:06:53 2017
@@ -14,61 +14,27 @@
 
 package org.apache.aries.cdi.extension.jndi;
 
-import java.util.Hashtable;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-
-import javax.enterprise.inject.spi.BeanManager;
-import javax.naming.Name;
 import javax.naming.spi.ObjectFactory;
 
 import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceFactory;
 import org.osgi.framework.ServiceRegistration;
 
 public class JndiObjectFactory implements ServiceFactory<ObjectFactory> {
 
+	public JndiObjectFactory(JndiExtensionFactory jndiExtensionFactory) {
+		_jndiExtensionFactory = jndiExtensionFactory;
+	}
+
 	@Override
 	public ObjectFactory getService(Bundle bundle, ServiceRegistration<ObjectFactory> registration) {
-		if (!_contexts.containsKey(bundle.getBundleContext())) {
-			return null;
-		}
-
-		return _contexts.get(bundle.getBundleContext());
+		return _jndiExtensionFactory.getObjectFactory(bundle);
 	}
 
 	@Override
 	public void ungetService(Bundle bundle, ServiceRegistration<ObjectFactory> registration, ObjectFactory service) {
-		_contexts.remove(bundle.getBundleContext());
 	}
 
-	public void put(BundleContext bundleContext, BeanManager beanManager) {
-		_contexts.putIfAbsent(bundleContext, new InnerObjectFactory(new JndiContext(beanManager)));
-	}
-
-	private final ConcurrentMap<BundleContext, ObjectFactory> _contexts = new ConcurrentHashMap<>();
-
-	private class InnerObjectFactory implements ObjectFactory {
-
-		public InnerObjectFactory(JndiContext jndiContext) {
-			_jndiContext = jndiContext;
-		}
-
-		@Override
-		public Object getObjectInstance(
-				Object obj, Name name, javax.naming.Context context, Hashtable<?, ?> environment)
-			throws Exception {
-
-			if (obj == null) {
-				return _jndiContext;
-			}
-
-			return null;
-		}
-
-		private final JndiContext _jndiContext;
-
-	}
+	private final JndiExtensionFactory _jndiExtensionFactory;
 
 }
\ 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=1784898&r1=1784897&r2=1784898&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/itest.bndrun (original)
+++ aries/trunk/cdi/cdi-itests/itest.bndrun Wed Mar  1 10:06:53 2017
@@ -20,6 +20,7 @@
 	org.apache.aries.cdi.extender;version='[0.0.1,0.0.2)',\
 	org.apache.aries.cdi.extension.jndi;version='[0.0.1,0.0.2)',\
 	org.apache.aries.cdi.itests;version='[0.0.1,0.0.2)',\
+	org.apache.aries.el-api;version='[0.0.1,0.0.2)',\
 	org.apache.aries.jndi.api;version='[1.1.0,1.1.1)',\
 	org.apache.aries.jndi.core;version='[1.0.2,1.0.3)',\
 	org.apache.aries.util;version='[1.0.0,1.0.1)',\

Modified: aries/trunk/cdi/cdi-itests/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/pom.xml?rev=1784898&r1=1784897&r2=1784898&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/pom.xml (original)
+++ aries/trunk/cdi/cdi-itests/pom.xml Wed Mar  1 10:06:53 2017
@@ -73,36 +73,15 @@
 			<version>1.2.17</version>
 		</dependency>
 		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>slf4j-api</artifactId>
-			<version>1.7.21</version>
-		</dependency>
-		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>slf4j-log4j12</artifactId>
-			<version>1.6.1</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.logging.log4j</groupId>
-			<artifactId>log4j-api</artifactId>
-			<version>2.7</version>
-		</dependency>
-		<dependency>
-			<groupId>org.osgi</groupId>
-			<artifactId>org.osgi.service.component.annotations</artifactId>
-			<version>1.3.0</version>
-			<scope>provided</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.osgi</groupId>
-			<artifactId>osgi.core</artifactId>
-			<version>6.0.0</version>
-		</dependency>
-
-		<dependency>
 			<groupId>org.apache.aries.cdi</groupId>
 			<artifactId>org.apache.aries.cdi.extender</artifactId>
 			<version>0.0.1-SNAPSHOT</version>
+			<exclusions>
+				<exclusion>
+					<groupId>javax.enterprise</groupId>
+					<artifactId>cdi-api</artifactId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 		<dependency>
 			<groupId>org.apache.aries.cdi</groupId>
@@ -111,7 +90,7 @@
 		</dependency>
 		<dependency>
 			<groupId>org.apache.aries.cdi</groupId>
-			<artifactId>org.apache.aries.cdi.log4j.configuration.fragment</artifactId>
+			<artifactId>org.apache.aries.el-api</artifactId>
 			<version>0.0.1-SNAPSHOT</version>
 		</dependency>
 		<dependency>
@@ -133,6 +112,16 @@
 			<groupId>org.apache.felix</groupId>
 			<artifactId>org.apache.felix.gogo.command</artifactId>
 			<version>1.0.2</version>
+			<exclusions>
+				<exclusion>
+					<groupId>org.osgi</groupId>
+					<artifactId>org.osgi.core</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>org.osgi</groupId>
+					<artifactId>org.osgi.compendium</artifactId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
@@ -150,6 +139,11 @@
 			<version>2.0.6</version>
 		</dependency>
 		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-api</artifactId>
+			<version>2.7</version>
+		</dependency>
+		<dependency>
 			<groupId>org.osgi</groupId>
 			<artifactId>org.eclipse.equinox.metatype</artifactId>
 			<version>1.4.100.v20150408-1437</version>
@@ -177,6 +171,12 @@
 		</dependency>
 		<dependency>
 			<groupId>org.osgi</groupId>
+			<artifactId>org.osgi.service.component.annotations</artifactId>
+			<version>1.3.0</version>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.osgi</groupId>
 			<artifactId>org.osgi.service.http.whiteboard</artifactId>
 			<version>1.0.0</version>
 			<scope>provided</scope>
@@ -186,5 +186,20 @@
 			<artifactId>org.osgi.service.metatype</artifactId>
 			<version>1.3.0</version>
 		</dependency>
+		<dependency>
+			<groupId>org.osgi</groupId>
+			<artifactId>osgi.core</artifactId>
+			<version>6.0.0</version>
+		</dependency>
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>slf4j-api</artifactId>
+			<version>1.7.21</version>
+		</dependency>
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>slf4j-log4j12</artifactId>
+			<version>1.6.1</version>
+		</dependency>
 	</dependencies>
 </project>

Added: aries/trunk/cdi/el-api/bnd.bnd
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/el-api/bnd.bnd?rev=1784898&view=auto
==============================================================================
--- aries/trunk/cdi/el-api/bnd.bnd (added)
+++ aries/trunk/cdi/el-api/bnd.bnd Wed Mar  1 10:06:53 2017
@@ -0,0 +1,8 @@
+Export-Package: \
+	javax.el;version='1.0.0'
+Provide-Capability: \
+	osgi.contract; \
+		osgi.contract=JavaEL; \
+		uses:="javax.el"; \
+		version:List<Version>='2.1,2.2,3.0'
+-includeresource: @tomcat-el-api-*.jar!/META-INF/LICENSE, @tomcat-el-api-*.jar!/META-INF/NOTICE
\ No newline at end of file

Added: aries/trunk/cdi/el-api/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/el-api/pom.xml?rev=1784898&view=auto
==============================================================================
--- aries/trunk/cdi/el-api/pom.xml (added)
+++ aries/trunk/cdi/el-api/pom.xml Wed Mar  1 10:06:53 2017
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+	xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.apache.aries.cdi</groupId>
+		<artifactId>org.apache.aries.cdi</artifactId>
+		<version>0.0.1-SNAPSHOT</version>
+		<relativePath>..</relativePath>
+	</parent>
+
+	<artifactId>org.apache.aries.el-api</artifactId>
+	<version>0.0.1-SNAPSHOT</version>
+	<name>EL API Bundle</name>
+	<description>EL API Bundle</description>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>biz.aQute.bnd</groupId>
+				<artifactId>bnd-maven-plugin</artifactId>
+			</plugin>
+		</plugins>
+	</build>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.apache.tomcat</groupId>
+			<artifactId>tomcat-el-api</artifactId>
+			<version>8.0.41</version>
+			<scope>provided</scope>
+		</dependency>
+	</dependencies>
+
+</project>

Modified: aries/trunk/cdi/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/pom.xml?rev=1784898&r1=1784897&r2=1784898&view=diff
==============================================================================
--- aries/trunk/cdi/pom.xml (original)
+++ aries/trunk/cdi/pom.xml Wed Mar  1 10:06:53 2017
@@ -24,6 +24,7 @@
 	</licenses>
 
 	<modules>
+		<module>el-api</module>
 		<module>cdi-extender</module>
 		<module>cdi-extension-jndi</module>
 		<module>cdi-itests</module>