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 2018/04/14 01:10:31 UTC
svn commit: r1829115 [11/12] - in /aries/trunk/cdi: ./ cdi-extender/
cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/
cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/bean/
cdi-extender/src/main/java/org/apache/arie...
Modified: aries/trunk/cdi/cdi-itests/cdi-executable.bndrun
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/cdi-executable.bndrun?rev=1829115&r1=1829114&r2=1829115&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/cdi-executable.bndrun (original)
+++ aries/trunk/cdi/cdi-itests/cdi-executable.bndrun Sat Apr 14 01:10:27 2018
@@ -6,29 +6,31 @@
-runrequires: \
osgi.identity;filter:='(osgi.identity=org.apache.aries.cdi.extension.http)',\
- osgi.identity;filter:='(osgi.identity=org.apache.aries.cdi.extension.jndi)',\
- osgi.identity;filter:='(osgi.identity=org.apache.aries.jndi.core)',\
- osgi.identity;filter:='(osgi.identity=org.apache.felix.configadmin)',\
osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.command)',\
- osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.jline)',\
- osgi.identity;filter:='(osgi.identity=ch.qos.logback.classic)'
+ osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.jline)'
--runbundles: \
+-runpath: \
ch.qos.logback.classic;version='[1.2.3,1.2.4)',\
ch.qos.logback.core;version='[1.2.3,1.2.4)',\
+ slf4j.api;version='[1.7.25,1.7.26)'
+
+-runsystempackages: \
+ org.slf4j;version=1.7.25,\
+ org.slf4j.helpers;version=1.7.25,\
+ org.slf4j.spi;version=1.7.25
+
+-runbundles: \
+ javax.ejb-api;version='[3.2.0,3.2.1)',\
+ javax.transaction-api;version='[1.2.0,1.2.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)',\
- org.apache.aries.cdi.extension.jndi;version='[0.0.1,0.0.2)',\
org.apache.aries.javax.annotation-api;version='[0.0.1,0.0.2)',\
org.apache.aries.javax.cdi-api;version='[0.0.1,0.0.2)',\
org.apache.aries.javax.el-api;version='[0.0.1,0.0.2)',\
org.apache.aries.javax.inject-api;version='[0.0.1,0.0.2)',\
org.apache.aries.javax.interceptor-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)',\
- org.apache.felix.configadmin;version='[1.8.12,1.8.13)',\
+ org.apache.felix.configadmin;version='[1.9.0,1.9.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)',\
@@ -36,20 +38,22 @@
org.apache.felix.http.servlet-api;version='[1.1.2,1.1.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.weld.osgi-bundle;version='[3.0.1,3.0.2)',\
+ org.jboss.weld.osgi-bundle;version='[3.0.2,3.0.3)',\
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)',\
- slf4j.api;version='[1.7.25,1.7.26)'
+ org.osgi.util.function;version='[1.1.0,1.1.1)',\
+ org.osgi.util.promise;version='[1.1.0,1.1.1)'
-resolve.effective: resolve, active
-runee: JavaSE-1.8
-runsystemcapabilities.dflt: ${native_capability}
--runfw: org.eclipse.osgi;version='[3.10.0,4.0.0)'
+-runfw: org.eclipse.osgi;version='[3.13.0,4.0.0)'
-runproperties: \
- logback.configurationFile=file:${.}/logback.xml,\
+ eclipse.log.enabled=false,\
org.jboss.logging.provider=slf4j,\
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
+
+# logback.configurationFile=file:${.}/logback.xml,\
\ 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=1829115&r1=1829114&r2=1829115&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/itest.bndrun (original)
+++ aries/trunk/cdi/cdi-itests/itest.bndrun Sat Apr 14 01:10:27 2018
@@ -5,19 +5,32 @@
-standalone: target/index.xml
-runrequires: \
+ osgi.identity;filter:='(osgi.identity=org.apache.aries.cdi.extender)',\
+ osgi.identity;filter:='(osgi.identity=org.apache.aries.cdi.extension.http)',\
+ osgi.identity;filter:='(osgi.identity=org.apache.aries.cdi.extension.jndi)',\
osgi.identity;filter:='(osgi.identity=org.apache.aries.cdi.itests)',\
osgi.identity;filter:='(osgi.identity=org.apache.aries.jndi.core)',\
osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.command)',\
- osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.shell)',\
- osgi.identity;filter:='(osgi.identity=ch.qos.logback.classic)'
+ osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.shell)'
--runbundles: \
+-runpath: \
ch.qos.logback.classic;version='[1.2.3,1.2.4)',\
ch.qos.logback.core;version='[1.2.3,1.2.4)',\
+ slf4j.api;version='[1.7.25,1.7.26)'
+
+-runsystempackages: \
+ org.slf4j;version=1.7.25,\
+ org.slf4j.helpers;version=1.7.25,\
+ org.slf4j.spi;version=1.7.25
+
+-runbundles: \
+ javax.ejb-api;version='[3.2.0,3.2.1)',\
+ javax.transaction-api;version='[1.2.0,1.2.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)',\
org.apache.aries.cdi.extension.jndi;version='[0.0.1,0.0.2)',\
+ org.apache.aries.cdi.extra;version='[0.0.1,0.0.2)',\
org.apache.aries.cdi.itests;version='[0.0.1,0.0.2)',\
org.apache.aries.javax.annotation-api;version='[0.0.1,0.0.2)',\
org.apache.aries.javax.cdi-api;version='[0.0.1,0.0.2)',\
@@ -28,7 +41,7 @@
org.apache.aries.jndi.core;version='[1.0.2,1.0.3)',\
org.apache.aries.util;version='[1.0.0,1.0.1)',\
org.apache.commons.logging;version='[1.2.0,1.2.1)',\
- org.apache.felix.configadmin;version='[1.8.12,1.8.13)',\
+ org.apache.felix.configadmin;version='[1.9.0,1.9.1)',\
org.apache.felix.gogo.command;version='[1.0.2,1.0.3)',\
org.apache.felix.gogo.runtime;version='[1.0.2,1.0.3)',\
org.apache.felix.gogo.shell;version='[1.0.0,1.0.1)',\
@@ -39,21 +52,22 @@
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='[3.0.1,3.0.2)',\
+ org.jboss.weld.osgi-bundle;version='[3.0.2,3.0.3)',\
org.osgi.service.cdi;version='[1.0.0,1.0.1)',\
org.osgi.service.event;version='[1.3.1,1.3.2)',\
+ org.osgi.util.function;version='[1.1.0,1.1.1)',\
+ org.osgi.util.promise;version='[1.1.0,1.1.1)',\
osgi.enroute.hamcrest.wrapper;version='[1.3.0,1.3.1)',\
- osgi.enroute.junit.wrapper;version='[4.12.0,4.12.1)',\
- slf4j.api;version='[1.7.25,1.7.26)'
+ osgi.enroute.junit.wrapper;version='[4.12.0,4.12.1)'
-resolve.effective: resolve, active
-runee: JavaSE-1.8
-runsystemcapabilities: ${native_capability}
--runfw: org.eclipse.osgi;version='[3.10.0,4.0.0)'
+-runfw: org.eclipse.osgi;version='[3.13.0,4.0.0)'
-runproperties: \
+ eclipse.log.enabled=false,\
logback.configurationFile=file:${.}/logback.xml,\
org.jboss.logging.provider=slf4j,\
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
+ osgi.console=
\ No newline at end of file
Added: aries/trunk/cdi/cdi-itests/local-repo/org/apache/felix/org.apache.felix.configadmin/1.9.0-SNAPSHOT/maven-metadata-local.xml
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/local-repo/org/apache/felix/org.apache.felix.configadmin/1.9.0-SNAPSHOT/maven-metadata-local.xml?rev=1829115&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-itests/local-repo/org/apache/felix/org.apache.felix.configadmin/1.9.0-SNAPSHOT/maven-metadata-local.xml (added)
+++ aries/trunk/cdi/cdi-itests/local-repo/org/apache/felix/org.apache.felix.configadmin/1.9.0-SNAPSHOT/maven-metadata-local.xml Sat Apr 14 01:10:27 2018
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata modelVersion="1.1.0">
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.configadmin</artifactId>
+ <version>1.9.0-SNAPSHOT</version>
+ <versioning>
+ <snapshot>
+ <localCopy>true</localCopy>
+ </snapshot>
+ <lastUpdated>20180407030954</lastUpdated>
+ <snapshotVersions>
+ <snapshotVersion>
+ <classifier>sources</classifier>
+ <extension>jar</extension>
+ <value>1.9.0-SNAPSHOT</value>
+ <updated>20180407030954</updated>
+ </snapshotVersion>
+ <snapshotVersion>
+ <extension>pom</extension>
+ <value>1.9.0-SNAPSHOT</value>
+ <updated>20180407030954</updated>
+ </snapshotVersion>
+ <snapshotVersion>
+ <extension>jar</extension>
+ <value>1.9.0-SNAPSHOT</value>
+ <updated>20180407030835</updated>
+ </snapshotVersion>
+ <snapshotVersion>
+ <extension>bundle</extension>
+ <value>1.9.0-SNAPSHOT</value>
+ <updated>20180407030645</updated>
+ </snapshotVersion>
+ </snapshotVersions>
+ </versioning>
+</metadata>
Added: aries/trunk/cdi/cdi-itests/local-repo/org/apache/felix/org.apache.felix.configadmin/1.9.0-SNAPSHOT/org.apache.felix.configadmin-1.9.0-SNAPSHOT-sources.jar
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/local-repo/org/apache/felix/org.apache.felix.configadmin/1.9.0-SNAPSHOT/org.apache.felix.configadmin-1.9.0-SNAPSHOT-sources.jar?rev=1829115&view=auto
==============================================================================
Binary files aries/trunk/cdi/cdi-itests/local-repo/org/apache/felix/org.apache.felix.configadmin/1.9.0-SNAPSHOT/org.apache.felix.configadmin-1.9.0-SNAPSHOT-sources.jar (added) and aries/trunk/cdi/cdi-itests/local-repo/org/apache/felix/org.apache.felix.configadmin/1.9.0-SNAPSHOT/org.apache.felix.configadmin-1.9.0-SNAPSHOT-sources.jar Sat Apr 14 01:10:27 2018 differ
Added: aries/trunk/cdi/cdi-itests/local-repo/org/apache/felix/org.apache.felix.configadmin/1.9.0-SNAPSHOT/org.apache.felix.configadmin-1.9.0-SNAPSHOT.bundle
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/local-repo/org/apache/felix/org.apache.felix.configadmin/1.9.0-SNAPSHOT/org.apache.felix.configadmin-1.9.0-SNAPSHOT.bundle?rev=1829115&view=auto
==============================================================================
Binary files aries/trunk/cdi/cdi-itests/local-repo/org/apache/felix/org.apache.felix.configadmin/1.9.0-SNAPSHOT/org.apache.felix.configadmin-1.9.0-SNAPSHOT.bundle (added) and aries/trunk/cdi/cdi-itests/local-repo/org/apache/felix/org.apache.felix.configadmin/1.9.0-SNAPSHOT/org.apache.felix.configadmin-1.9.0-SNAPSHOT.bundle Sat Apr 14 01:10:27 2018 differ
Added: aries/trunk/cdi/cdi-itests/local-repo/org/apache/felix/org.apache.felix.configadmin/1.9.0-SNAPSHOT/org.apache.felix.configadmin-1.9.0-SNAPSHOT.jar
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/local-repo/org/apache/felix/org.apache.felix.configadmin/1.9.0-SNAPSHOT/org.apache.felix.configadmin-1.9.0-SNAPSHOT.jar?rev=1829115&view=auto
==============================================================================
Binary files aries/trunk/cdi/cdi-itests/local-repo/org/apache/felix/org.apache.felix.configadmin/1.9.0-SNAPSHOT/org.apache.felix.configadmin-1.9.0-SNAPSHOT.jar (added) and aries/trunk/cdi/cdi-itests/local-repo/org/apache/felix/org.apache.felix.configadmin/1.9.0-SNAPSHOT/org.apache.felix.configadmin-1.9.0-SNAPSHOT.jar Sat Apr 14 01:10:27 2018 differ
Added: aries/trunk/cdi/cdi-itests/local-repo/org/apache/felix/org.apache.felix.configadmin/1.9.0-SNAPSHOT/org.apache.felix.configadmin-1.9.0-SNAPSHOT.pom
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/local-repo/org/apache/felix/org.apache.felix.configadmin/1.9.0-SNAPSHOT/org.apache.felix.configadmin-1.9.0-SNAPSHOT.pom?rev=1829115&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-itests/local-repo/org/apache/felix/org.apache.felix.configadmin/1.9.0-SNAPSHOT/org.apache.felix.configadmin-1.9.0-SNAPSHOT.pom (added)
+++ aries/trunk/cdi/cdi-itests/local-repo/org/apache/felix/org.apache.felix.configadmin/1.9.0-SNAPSHOT/org.apache.felix.configadmin-1.9.0-SNAPSHOT.pom Sat Apr 14 01:10:27 2018
@@ -0,0 +1,290 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+<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.felix</groupId>
+ <artifactId>felix-parent</artifactId>
+ <version>4</version>
+ <relativePath/>
+ </parent>
+
+ <artifactId>org.apache.felix.configadmin</artifactId>
+ <version>1.9.0-SNAPSHOT</version>
+ <packaging>bundle</packaging>
+
+ <name>Apache Felix Configuration Admin Service</name>
+ <description>
+ Implementation of the OSGi Configuration Admin Service Specification 1.6
+ </description>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/felix/trunk/osgi-r7/configadmin</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/felix/trunk/osgi-r7/configadmin</developerConnection>
+ <url>http://svn.apache.org/repos/asf/felix/osgi-r7/configadmin</url>
+ </scm>
+
+ <!--
+ A Note on Testing
+ =================
+
+ This project contains two kinds of tests: regular unit tests running
+ in the test phase and integration tests based on PAX Exam running
+ in the integration-test phase.
+
+ Basically the complete project is build using Java 1.3 source and target
+ compatibility (as inherited from the parent pom). The exception are the
+ unit tests in the "integration" packages. These have to be compiled with
+ Java 5 source and target compatibility because the employ annotations
+ and generics.
+
+ For running the integration tests from the console using Maven nothing
+ special has to be done as the tests run automatically. To run the tests
+ in your IDE, the project has to be built to the "package" phase with
+ the profile "ide" enabled:
+
+ $ mvn -Pide clean package
+
+ This creates the scr.jar file in the target folder, which is used by
+ the integration tests when run from the IDE. Alternatively the
+ "project.bundle.file" system property may be set to the bundle JAR
+ in the IDE launcher.
+ -->
+ <properties>
+ <felix.java.version>7</felix.java.version>
+ <bundle.build.name>
+ ${basedir}/target
+ </bundle.build.name>
+ <bundle.file.name>
+ ${bundle.build.name}/${project.build.finalName}.jar
+ </bundle.file.name>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>osgi.annotation</artifactId>
+ <version>6.0.1</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ <version>6.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.log</artifactId>
+ <version>1.3.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.coordinator</artifactId>
+ <version>1.0.2</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- Integration Testing with Pax Exam -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.ops4j.pax.exam</groupId>
+ <artifactId>pax-exam-junit4</artifactId>
+ <version>2.6.0</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.ops4j.pax.exam</groupId>
+ <artifactId>pax-exam-container-native</artifactId>
+ <version>2.6.0</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.ops4j.pax.exam</groupId>
+ <artifactId>pax-exam-link-mvn</artifactId>
+ <version>2.6.0</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.ops4j.pax.url</groupId>
+ <artifactId>pax-url-aether</artifactId>
+ <version>1.5.0</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.ops4j.pax.tinybundles</groupId>
+ <artifactId>tinybundles</artifactId>
+ <version>1.0.0</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-atinject_1.0_spec</artifactId>
+ <version>1.0</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.7.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.framework</artifactId>
+ <version>5.6.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <version>3.2.0</version>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <Bundle-Category>osgi</Bundle-Category>
+ <Bundle-SymbolicName>
+ ${project.artifactId}
+ </Bundle-SymbolicName>
+ <Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor>
+ <Bundle-DocURL>
+ http://felix.apache.org/site/apache-felix-config-admin.html
+ </Bundle-DocURL>
+ <Bundle-Activator>
+ org.apache.felix.cm.impl.Activator
+ </Bundle-Activator>
+ <Export-Package>
+ <!-- just list, version from package-info classes -->
+ <!-- when the spec version changes, update the service property that includes the spec version in ConfigurationManager -->
+ org.apache.felix.cm;
+ org.apache.felix.cm.file,
+ org.osgi.service.cm;provide:=true
+ </Export-Package>
+ <Import-Package>
+ org.osgi.service.cm,
+ org.osgi.service.coordinator;resolution:=optional,
+ org.osgi.service.log;resolution:=optional,
+ *
+ </Import-Package>
+ <DynamicImport-Package>
+ org.osgi.service.coordinator;version="[1.0,2)",
+ org.osgi.service.log;version="[1.3,2)"
+ </DynamicImport-Package>
+ <Provide-Capability><![CDATA[
+ osgi.service;objectClass:List<String>="org.osgi.service.cm.ConfigurationAdmin";uses:="org.osgi.service.cm,org.apache.felix.cm",
+ osgi.service;objectClass:List<String>="org.apache.felix.cm.PersistenceManager";uses:="org.osgi.service.cm,org.apache.felix.cm",
+ osgi.implementation;osgi.implementation="osgi.cm";uses:="org.osgi.service.cm,org.apache.felix.cm";version:Version="1.6"
+ ]]></Provide-Capability>
+ <Require-Capability><![CDATA[
+ osgi.service;filter:="(objectClass=org.osgi.service.log.LogService)";effective:=active;resolution:=optional
+ ]]></Require-Capability>
+ </instructions>
+ </configuration>
+ <executions>
+ <execution>
+ <id>baseline</id>
+ <goals>
+ <goal>baseline</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <!--
+ Exclude Integration tests in (default) unit tests and
+ conversely enable integration tests for integration testing
+ only. Helper classes are completely excluded from testing.
+ -->
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>surefire-it</id>
+ <phase>integration-test</phase>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <systemProperties>
+ <property>
+ <name>project.bundle.file</name>
+ <value>${bundle.file.name}</value>
+ </property>
+ </systemProperties>
+ <excludes>
+ <exclude>**/cm/*</exclude>
+ <exclude>**/cm/file/*</exclude>
+ <exclude>**/cm/impl/**</exclude>
+ </excludes>
+ <includes>
+ <include>**/integration/*</include>
+ </includes>
+ </configuration>
+ </execution>
+ </executions>
+ <configuration>
+ <excludes>
+ <exclude>**/integration/**</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <!--
+ copy the package such that IDEs may easily use it without
+ setting the system property
+ -->
+ <profile>
+ <id>ide</id>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>1.3</version>
+ <executions>
+ <execution>
+ <id>cm-file-create</id>
+ <phase>package</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <tasks>
+ <copy file="${project.build.directory}/${project.build.finalName}.jar" tofile="${project.build.directory}/configadmin.jar" />
+ </tasks>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+</project>
Added: aries/trunk/cdi/cdi-itests/local-repo/org/apache/felix/org.apache.felix.configadmin/maven-metadata-local.xml
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/local-repo/org/apache/felix/org.apache.felix.configadmin/maven-metadata-local.xml?rev=1829115&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-itests/local-repo/org/apache/felix/org.apache.felix.configadmin/maven-metadata-local.xml (added)
+++ aries/trunk/cdi/cdi-itests/local-repo/org/apache/felix/org.apache.felix.configadmin/maven-metadata-local.xml Sat Apr 14 01:10:27 2018
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.configadmin</artifactId>
+ <versioning>
+ <versions>
+ <version>1.9.0-SNAPSHOT</version>
+ </versions>
+ <lastUpdated>20180407030954</lastUpdated>
+ </versioning>
+</metadata>
Added: aries/trunk/cdi/cdi-itests/local-repo/org/eclipse/platform/org.eclipse.osgi/3.13.0/org.eclipse.osgi-3.13.0.jar
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/local-repo/org/eclipse/platform/org.eclipse.osgi/3.13.0/org.eclipse.osgi-3.13.0.jar?rev=1829115&view=auto
==============================================================================
Binary files aries/trunk/cdi/cdi-itests/local-repo/org/eclipse/platform/org.eclipse.osgi/3.13.0/org.eclipse.osgi-3.13.0.jar (added) and aries/trunk/cdi/cdi-itests/local-repo/org/eclipse/platform/org.eclipse.osgi/3.13.0/org.eclipse.osgi-3.13.0.jar Sat Apr 14 01:10:27 2018 differ
Added: aries/trunk/cdi/cdi-itests/local-repo/org/eclipse/platform/org.eclipse.osgi/3.13.0/org.eclipse.osgi-3.13.0.pom
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/local-repo/org/eclipse/platform/org.eclipse.osgi/3.13.0/org.eclipse.osgi-3.13.0.pom?rev=1829115&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-itests/local-repo/org/eclipse/platform/org.eclipse.osgi/3.13.0/org.eclipse.osgi-3.13.0.pom (added)
+++ aries/trunk/cdi/cdi-itests/local-repo/org/eclipse/platform/org.eclipse.osgi/3.13.0/org.eclipse.osgi-3.13.0.pom Sat Apr 14 01:10:27 2018
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.eclipse.platform</groupId>
+ <artifactId>org.eclipse.osgi</artifactId>
+ <version>3.13.0</version>
+ <description>POM was created from install:install-file</description>
+</project>
Added: aries/trunk/cdi/cdi-itests/local-repo/org/eclipse/platform/org.eclipse.osgi/maven-metadata-local.xml
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/local-repo/org/eclipse/platform/org.eclipse.osgi/maven-metadata-local.xml?rev=1829115&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-itests/local-repo/org/eclipse/platform/org.eclipse.osgi/maven-metadata-local.xml (added)
+++ aries/trunk/cdi/cdi-itests/local-repo/org/eclipse/platform/org.eclipse.osgi/maven-metadata-local.xml Sat Apr 14 01:10:27 2018
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>org.eclipse.platform</groupId>
+ <artifactId>org.eclipse.osgi</artifactId>
+ <versioning>
+ <release>3.13.0</release>
+ <versions>
+ <version>3.13.0</version>
+ </versions>
+ <lastUpdated>20180315235604</lastUpdated>
+ </versioning>
+</metadata>
Modified: aries/trunk/cdi/cdi-itests/logback.xml
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/logback.xml?rev=1829115&r1=1829114&r2=1829115&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/logback.xml (original)
+++ aries/trunk/cdi/cdi-itests/logback.xml Sat Apr 14 01:10:27 2018
@@ -1,15 +1,31 @@
<configuration>
+<!-- scan="true" scanPeriod="5 seconds" debug="true"> -->
<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
<resetJUL>true</resetJUL>
</contextListener>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
- <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
+ <pattern>%d{HH:mm:ss.SSS} [%.15thread] %-5level %logger{36}:%line - %msg%n</pattern>
</encoder>
</appender>
- <logger name="org.apache.aries.cdi.container" level="ERROR"/>
+ <logger name="Events.Bundle" level="ERROR"/>
+ <logger name="Events.Framework" level="ERROR"/>
+ <logger name="Events.Service" level="ERROR"/>
+ <logger name="LogService" level="ERROR"/>
+
+ <logger name="Events.Service.org" level="WARN"/>
+ <logger name="Events.Service.cdi-itests" level="INFO"/>
+ <logger name="Events.Service.org.apache.aries" level="INFO"/>
+
+ <logger name="LogService.org.apache.aries.cdi.itests" level="OFF"/>
+
+ <logger name="org.apache.aries.cdi" level="DEBUG"/>
+ <!-- <logger name="org.apache.aries.cdi.container.internal.container" level="ERROR"/> -->
+
+ <logger name="org.eclipse" level="ERROR"/>
+ <logger name="org.jboss" level="ERROR"/>
<root level="ERROR">
<appender-ref ref="STDOUT" />
Modified: aries/trunk/cdi/cdi-itests/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/pom.xml?rev=1829115&r1=1829114&r2=1829115&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/pom.xml (original)
+++ aries/trunk/cdi/cdi-itests/pom.xml Sat Apr 14 01:10:27 2018
@@ -104,19 +104,16 @@
<dependencies>
<dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.util.promise</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>log4j-over-slf4j</artifactId>
- <version>1.7.25</version>
- </dependency>
- <dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.ejb</groupId>
+ <artifactId>javax.ejb-api</artifactId>
+ <version>3.2</version>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.aries.cdi</groupId>
@@ -125,28 +122,38 @@
</dependency>
<dependency>
<groupId>org.apache.aries.cdi</groupId>
+ <artifactId>org.apache.aries.cdi.extra</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.aries.cdi</groupId>
<artifactId>org.apache.aries.cdi.extension.http</artifactId>
<version>${project.version}</version>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.aries.cdi</groupId>
<artifactId>org.apache.aries.cdi.extension.jndi</artifactId>
<version>${project.version}</version>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.aries.jndi</groupId>
<artifactId>org.apache.aries.jndi.core</artifactId>
<version>1.0.2</version>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.configadmin</artifactId>
- <version>1.8.12</version>
+ <version>1.9.0-SNAPSHOT</version>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.gogo.command</artifactId>
<version>1.0.2</version>
+ <scope>runtime</scope>
<exclusions>
<exclusion>
<groupId>org.osgi</groupId>
@@ -162,21 +169,25 @@
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.gogo.jline</artifactId>
<version>1.0.2</version>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.gogo.runtime</artifactId>
<version>1.0.2</version>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.gogo.shell</artifactId>
<version>1.0.0</version>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.http.jetty</artifactId>
<version>3.4.2</version>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
@@ -187,6 +198,7 @@
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.scr</artifactId>
<version>2.0.8</version>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
@@ -202,16 +214,13 @@
<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>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<artifactId>org.eclipse.osgi</artifactId>
- <version>3.11.3</version>
+ <version>3.13.0</version>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
@@ -225,20 +234,26 @@
</dependency>
<dependency>
<groupId>org.osgi</groupId>
+ <artifactId>org.osgi.annotation.bundle</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <scope>provided</scope>
+ </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>
+ <artifactId>org.osgi.namespace.service</artifactId>
+ <version>1.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
- <artifactId>org.osgi.service.event</artifactId>
- <version>1.3.1</version>
+ <artifactId>org.osgi.service.component.annotations</artifactId>
+ <version>1.3.0</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -249,13 +264,51 @@
</dependency>
<dependency>
<groupId>org.osgi</groupId>
- <artifactId>org.osgi.service.metatype</artifactId>
- <version>1.3.0</version>
+ <artifactId>org.osgi.service.event</artifactId>
+ <version>1.3.1</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.util.function</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.util.promise</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.util.pushstream</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.core</artifactId>
- <version>6.0.0</version>
+ <version>7.0.0-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>log4j-over-slf4j</artifactId>
+ <version>1.7.25</version>
+ <scope>runtime</scope>
</dependency>
</dependencies>
+
+ <repositories>
+ <repository>
+ <id>my-local-repo</id>
+ <url>file://${project.basedir}/local-repo/</url>
+ <releases>
+ <enabled>false</enabled>
+ <checksumPolicy>ignore</checksumPolicy>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ </repositories>
</project>
Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/BeanWithReference.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/BeanWithReference.java?rev=1829115&r1=1829114&r2=1829115&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/BeanWithReference.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/BeanWithReference.java Sat Apr 14 01:10:27 2018
@@ -14,48 +14,15 @@
package org.apache.aries.cdi.test.beans;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import javax.enterprise.inject.Default;
import javax.inject.Inject;
-import javax.inject.Qualifier;
import org.apache.aries.cdi.test.interfaces.BundleScoped;
import org.osgi.service.cdi.annotations.Reference;
public class BeanWithReference {
- @Qualifier
- @Retention(value = RetentionPolicy.RUNTIME)
- @Target(value = { ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.CONSTRUCTOR })
- public @interface ComplexEnoughKey {
- String complex_enough_key();
- }
-
- @Qualifier
- @Retention(value = RetentionPolicy.RUNTIME)
- @Target(value = { ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.CONSTRUCTOR })
- public @interface ComplexAnnotation {
- String fee_fi();
- int fo_fum();
- }
-
- @Qualifier
- @Retention(value = RetentionPolicy.RUNTIME)
- @Target(value = { ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.CONSTRUCTOR })
- public @interface SimpleAnnotation {
- String value();
- }
-
- @ComplexEnoughKey(complex_enough_key= "fum")
- @ComplexAnnotation(fee_fi = "fee", fo_fum = 23)
- @SimpleAnnotation("blah")
@Inject
@Reference
- @Default
BundleScoped bundleScoped;
}
Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/ConstructorInjectedService.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/ConstructorInjectedService.java?rev=1829115&r1=1829114&r2=1829115&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/ConstructorInjectedService.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/ConstructorInjectedService.java Sat Apr 14 01:10:27 2018
@@ -18,10 +18,8 @@ import javax.inject.Inject;
import org.apache.aries.cdi.test.interfaces.BeanService;
import org.apache.aries.cdi.test.interfaces.Pojo;
-import org.osgi.service.cdi.annotations.Component;
import org.osgi.service.cdi.annotations.Service;
-@Component
@Service({ConstructorInjectedService.class, BeanService.class})
public class ConstructorInjectedService implements BeanService<Pojo> {
Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedBundleScopedImpl.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedBundleScopedImpl.java?rev=1829115&r1=1829114&r2=1829115&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedBundleScopedImpl.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedBundleScopedImpl.java Sat Apr 14 01:10:27 2018
@@ -23,11 +23,11 @@ import javax.inject.Inject;
import org.apache.aries.cdi.test.interfaces.BundleScoped;
import org.apache.aries.cdi.test.interfaces.FieldInjectedReference;
import org.osgi.framework.ServiceReference;
-import org.osgi.service.cdi.annotations.Component;
import org.osgi.service.cdi.annotations.Reference;
import org.osgi.service.cdi.annotations.Service;
+import org.osgi.service.cdi.annotations.SingleComponent;
-@Component
+@SingleComponent
@Service({FieldInjectedBundleScopedImpl.class, FieldInjectedReference.class})
public class FieldInjectedBundleScopedImpl implements FieldInjectedReference<BundleScoped> {
Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedPrototypeScopedImpl.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedPrototypeScopedImpl.java?rev=1829115&r1=1829114&r2=1829115&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedPrototypeScopedImpl.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedPrototypeScopedImpl.java Sat Apr 14 01:10:27 2018
@@ -23,11 +23,11 @@ import javax.inject.Inject;
import org.apache.aries.cdi.test.interfaces.FieldInjectedReference;
import org.apache.aries.cdi.test.interfaces.PrototypeScoped;
import org.osgi.framework.ServiceReference;
-import org.osgi.service.cdi.annotations.Component;
import org.osgi.service.cdi.annotations.Reference;
import org.osgi.service.cdi.annotations.Service;
+import org.osgi.service.cdi.annotations.SingleComponent;
-@Component
+@SingleComponent
@Service({FieldInjectedPrototypeScopedImpl.class, FieldInjectedReference.class})
public class FieldInjectedPrototypeScopedImpl implements FieldInjectedReference<PrototypeScoped> {
Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedService.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedService.java?rev=1829115&r1=1829114&r2=1829115&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedService.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/FieldInjectedService.java Sat Apr 14 01:10:27 2018
@@ -18,10 +18,8 @@ import javax.inject.Inject;
import org.apache.aries.cdi.test.interfaces.BeanService;
import org.apache.aries.cdi.test.interfaces.Pojo;
-import org.osgi.service.cdi.annotations.Component;
import org.osgi.service.cdi.annotations.Service;
-@Component
@Service({FieldInjectedService.class, BeanService.class})
public class FieldInjectedService implements BeanService<Pojo> {
Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_Optional.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_Optional.java?rev=1829115&r1=1829114&r2=1829115&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_Optional.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_Optional.java Sat Apr 14 01:10:27 2018
@@ -15,41 +15,34 @@
package org.apache.aries.cdi.test.beans;
import java.util.Collection;
-import java.util.concurrent.Callable;
+import java.util.Iterator;
-import javax.enterprise.inject.Instance;
import javax.inject.Inject;
import org.apache.aries.cdi.test.interfaces.BeanService;
-import org.osgi.service.cdi.annotations.Component;
import org.osgi.service.cdi.annotations.Reference;
import org.osgi.service.cdi.annotations.Service;
+import org.osgi.service.cdi.annotations.SingleComponent;
-@Component
+@SingleComponent
@Service({BeanService.class, Instance_Optional.class})
-@SuppressWarnings("rawtypes")
-public class Instance_Optional implements BeanService<Callable<String>> {
+public class Instance_Optional implements BeanService<Integer> {
@Override
public String doSomething() {
- int count = 0;
- Collection<Callable> callables = _instance.get();
- for (Callable callable : callables) {
- System.out.println(callable);
- count++;
- }
- return String.valueOf(count);
+ return String.valueOf(_instance.size());
}
@Override
- @SuppressWarnings("unchecked")
- public Callable<String> get() {
- Collection<Callable> iterator = _instance.get();
- return iterator.iterator().next();
+ public Integer get() {
+ Iterator<Integer> iterator = _instance.iterator();
+ if (iterator.hasNext())
+ return iterator.next();
+ return null;
}
@Inject
- @Reference
- Instance<Collection<Callable>> _instance;
+ @Reference(target = "(foo=bar)")
+ Collection<Integer> _instance;
}
Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_ServiceProperties.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_ServiceProperties.java?rev=1829115&r1=1829114&r2=1829115&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_ServiceProperties.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_ServiceProperties.java Sat Apr 14 01:10:27 2018
@@ -15,37 +15,47 @@
package org.apache.aries.cdi.test.beans;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
-import javax.enterprise.inject.Instance;
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
import javax.inject.Inject;
import org.apache.aries.cdi.test.interfaces.BeanService;
-import org.osgi.service.cdi.annotations.Component;
import org.osgi.service.cdi.annotations.Reference;
import org.osgi.service.cdi.annotations.Service;
+import org.osgi.service.cdi.annotations.SingleComponent;
-@Component
+@SingleComponent
@Service({BeanService.class, Instance_ServiceProperties.class})
public class Instance_ServiceProperties implements BeanService<Map<String, Object>> {
@Override
public String doSomething() {
- int count = 0;
- for (Iterator<?> iterator = _instance.iterator();iterator.hasNext();) {
- iterator.next();
- count++;
- }
- return String.valueOf(count);
+ return String.valueOf(_instance.size());
}
@Override
public Map<String, Object> get() {
- return _instance.iterator().next();
+ Iterator<Map<String, Object>> iterator = _instance.iterator();
+ if (iterator.hasNext())
+ return iterator.next();
+ return null;
}
@Inject
- @Reference
- Instance<Map<String, Object>> _instance;
+ @Reference(Integer.class)
+ List<Map<String, Object>> _instance;
+
+ @PostConstruct
+ private void postConstructed() {
+ System.out.println("PostConstructed " + this);
+ }
+
+ @PreDestroy
+ private void preDestroyed() {
+ System.out.println("PreDestroyed " + this);
+ }
}
Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_ServiceReference.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_ServiceReference.java?rev=1829115&r1=1829114&r2=1829115&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_ServiceReference.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/Instance_ServiceReference.java Sat Apr 14 01:10:27 2018
@@ -15,39 +15,37 @@
package org.apache.aries.cdi.test.beans;
import java.util.Iterator;
+import java.util.List;
-import javax.enterprise.inject.Instance;
import javax.inject.Inject;
import org.apache.aries.cdi.test.interfaces.BeanService;
import org.apache.aries.cdi.test.interfaces.SingletonScoped;
import org.osgi.framework.ServiceReference;
-import org.osgi.service.cdi.annotations.Component;
import org.osgi.service.cdi.annotations.Reference;
import org.osgi.service.cdi.annotations.Service;
+import org.osgi.service.cdi.annotations.SingleComponent;
-@Component
+@SingleComponent
@Service({BeanService.class, Instance_ServiceReference.class})
@SuppressWarnings("rawtypes")
public class Instance_ServiceReference implements BeanService<ServiceReference> {
@Override
public String doSomething() {
- int count = 0;
- for (Iterator<?> iterator = _instance.iterator();iterator.hasNext();) {
- iterator.next();
- count++;
- }
- return String.valueOf(count);
+ return String.valueOf(_instance.size());
}
@Override
public ServiceReference get() {
- return _instance.iterator().next();
+ Iterator<ServiceReference> iterator = _instance.iterator();
+ if (iterator.hasNext())
+ return iterator.next();
+ return null;
}
@Inject
@Reference(SingletonScoped.class)
- Instance<ServiceReference> _instance;
+ List<ServiceReference> _instance;
}
Added: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/IntegerServiceProvider.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/IntegerServiceProvider.java?rev=1829115&view=auto
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/IntegerServiceProvider.java (added)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/IntegerServiceProvider.java Sat Apr 14 01:10:27 2018
@@ -0,0 +1,52 @@
+/**
+ * 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.test.beans;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.enterprise.inject.Produces;
+
+import org.apache.aries.cdi.extra.propertytypes.ServiceRanking;
+import org.osgi.service.cdi.annotations.Service;
+
+@ApplicationScoped
+public class IntegerServiceProvider {
+
+ @Produces
+ @Service(Integer.class)
+ @ServiceRanking(5000)
+ Integer int1() {
+ return new Integer(Double.valueOf(Math.random()).intValue());
+ }
+
+ @Produces
+ @Service(Integer.class)
+ @ServiceRanking(12000)
+ Integer int2() {
+ return new Integer(Double.valueOf(Math.random()).intValue());
+ }
+
+ @Produces
+ @Service(Integer.class)
+ @ServiceRanking(1000)
+ Integer int3() {
+ return new Integer(Double.valueOf(Math.random()).intValue());
+ }
+
+ @Produces
+ @Service(Integer.class)
+ @ServiceRanking(100000)
+ Integer int4 = new Integer(Double.valueOf(Math.random()).intValue());
+
+}
Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/MethodInjectedService.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/MethodInjectedService.java?rev=1829115&r1=1829114&r2=1829115&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/MethodInjectedService.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/MethodInjectedService.java Sat Apr 14 01:10:27 2018
@@ -18,10 +18,8 @@ import javax.inject.Inject;
import org.apache.aries.cdi.test.interfaces.BeanService;
import org.apache.aries.cdi.test.interfaces.Pojo;
-import org.osgi.service.cdi.annotations.Component;
import org.osgi.service.cdi.annotations.Service;
-@Component
@Service({MethodInjectedService.class, BeanService.class})
public class MethodInjectedService implements BeanService<Pojo> {
Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/ServiceWithProperties.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/ServiceWithProperties.java?rev=1829115&r1=1829114&r2=1829115&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/ServiceWithProperties.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/beans/ServiceWithProperties.java Sat Apr 14 01:10:27 2018
@@ -14,27 +14,30 @@
package org.apache.aries.cdi.test.beans;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.*;
+import static java.lang.annotation.RetentionPolicy.*;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
import javax.inject.Inject;
-import javax.inject.Qualifier;
import org.apache.aries.cdi.test.interfaces.BeanService;
import org.apache.aries.cdi.test.interfaces.Pojo;
-import org.osgi.service.cdi.annotations.Component;
+import org.osgi.service.cdi.annotations.ComponentPropertyType;
import org.osgi.service.cdi.annotations.Service;
+import org.osgi.service.cdi.annotations.SingleComponent;
-@Component
+@SingleComponent
@Service({ServiceWithProperties.class, BeanService.class})
@ServiceWithProperties.Props
@ServiceWithProperties.MoreProperties(glub_integer = 45, goo_string = "green")
public class ServiceWithProperties implements BeanService<Pojo> {
- @Qualifier @Retention(RUNTIME) @Target(TYPE)
+ @Retention(RUNTIME) @Target(TYPE)
+ @ComponentPropertyType
public @interface Props {
String test_key_b1() default "test.value.b1";
String test_key_b2() default "test.value.b2";
@@ -58,7 +61,8 @@ public class ServiceWithProperties imple
String[] p_String_array() default {"black", "green"};
}
- @Qualifier @Retention(RUNTIME) @Target(TYPE )
+ @Retention(RUNTIME) @Target(TYPE )
+ @ComponentPropertyType
public @interface MoreProperties {
String goo_string();
int glub_integer();
@@ -77,4 +81,14 @@ public class ServiceWithProperties imple
@Inject
private PojoImpl _pojo;
+ @PostConstruct
+ private void postConstructed() {
+ System.out.println("PostConstructed " + this);
+ }
+
+ @PreDestroy
+ private void preDestroyed() {
+ System.out.println("PreDestroyed " + this);
+ }
+
}
Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/AbstractTestCase.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/AbstractTestCase.java?rev=1829115&r1=1829114&r2=1829115&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/AbstractTestCase.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/AbstractTestCase.java Sat Apr 14 01:10:27 2018
@@ -14,54 +14,83 @@
package org.apache.aries.cdi.test.cases;
+import static org.junit.Assert.*;
+
import java.io.InputStream;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.Optional;
import java.util.Set;
-import java.util.concurrent.Callable;
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.Any;
import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.BeanManager;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.rules.TestName;
+import org.osgi.annotation.bundle.Requirement;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
+import org.osgi.framework.Constants;
import org.osgi.framework.Filter;
import org.osgi.framework.FrameworkUtil;
import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceReference;
import org.osgi.framework.wiring.BundleWire;
import org.osgi.framework.wiring.BundleWiring;
import org.osgi.namespace.extender.ExtenderNamespace;
-import org.osgi.service.cdi.CdiConstants;
-import org.osgi.service.cdi.runtime.CdiRuntime;
-import org.osgi.service.cdi.runtime.dto.ContainerDTO;
-import org.osgi.util.promise.Promise;
+import org.osgi.namespace.service.ServiceNamespace;
+import org.osgi.service.cdi.CDIConstants;
+import org.osgi.service.cdi.runtime.CDIComponentRuntime;
import org.osgi.util.promise.PromiseFactory;
import org.osgi.util.tracker.ServiceTracker;
-import junit.framework.TestCase;
+@Requirement(
+ effective = "active",
+ filter = "(objectClass=org.osgi.service.cm.ConfigurationAdmin)",
+ namespace = ServiceNamespace.SERVICE_NAMESPACE
+)
+public class AbstractTestCase {
+
+ @Rule public TestName testName = new TestName();
+
+ @BeforeClass
+ public static void beforeClass() throws Exception {
+ runtimeTracker = new ServiceTracker<>(
+ bundleContext, CDIComponentRuntime.class, null);
+ runtimeTracker.open();
+ servicesBundle = installBundle("services-one.jar");
+ servicesBundle.start();
+ }
+
+ @AfterClass
+ public static void afterClass() throws Exception {
+ runtimeTracker.close();
+ servicesBundle.uninstall();
+ }
-public class AbstractTestCase extends TestCase {
+ void testHeader() {
+ System.out.println("--------- TEST: " + getClass().getSimpleName() + "#" +testName.getMethodName());
+ }
- @Override
- protected void setUp() throws Exception {
- servicesBundle = bundleContext.installBundle("services-one.jar" , getBundle("services-one.jar"));
- servicesBundle.start();
- cdiBundle = bundleContext.installBundle("basic-beans.jar" , getBundle("basic-beans.jar"));
- cdiBundle.start();
+ @Before
+ public void setUp() throws Exception {
+ testHeader();
- runtimeTracker = new ServiceTracker<>(bundleContext, CdiRuntime.class, null);
- runtimeTracker.open();
cdiRuntime = runtimeTracker.waitForService(timeout);
+ cdiBundle = installBundle("basic-beans.jar");
+ cdiBundle.start();
}
- @Override
- protected void tearDown() throws Exception {
- runtimeTracker.close();
+ @After
+ public void tearDown() throws Exception {
cdiBundle.uninstall();
- servicesBundle.uninstall();
}
void assertBeanExists(Class<?> clazz, BeanManager beanManager) {
@@ -79,10 +108,8 @@ public class AbstractTestCase extends Te
assertNotNull(pojo);
}
- InputStream getBundle(String name) {
- Class<?> clazz = this.getClass();
-
- ClassLoader classLoader = clazz.getClassLoader();
+ static InputStream getBundle(String name) {
+ ClassLoader classLoader = AbstractTestCase.class.getClassLoader();
return classLoader.getResourceAsStream(name);
}
@@ -96,7 +123,7 @@ public class AbstractTestCase extends Te
Map<String, Object> attributes = wire.getCapability().getAttributes();
String extender = (String)attributes.get(ExtenderNamespace.EXTENDER_NAMESPACE);
- if (CdiConstants.CDI_CAPABILITY_NAME.equals(extender)) {
+ if (CDIConstants.CDI_CAPABILITY_NAME.equals(extender)) {
return wire.getProvider().getBundle();
}
}
@@ -104,11 +131,11 @@ public class AbstractTestCase extends Te
return null;
}
- public Bundle installBundle(String url) throws Exception {
+ public static Bundle installBundle(String url) throws Exception {
return installBundle(url, true);
}
- public Bundle installBundle(String bundleName, boolean start) throws Exception {
+ public static Bundle installBundle(String bundleName, boolean start) throws Exception {
Bundle b = bundleContext.installBundle(bundleName, getBundle(bundleName));
if (start) {
@@ -127,15 +154,25 @@ public class AbstractTestCase extends Te
}
}
+ public <S,T> ServiceTracker<S, T> track(Filter filter) {
+ ServiceTracker<S, T> tracker = new ServiceTracker<>(bundleContext, filter, null);
+ tracker.open();
+ return tracker;
+ }
+
+ public <S,T> ServiceTracker<S, T> track(String pattern, Object... objects) {
+ return track(filter(pattern, objects));
+ }
+
BeanManager getBeanManager(Bundle bundle) throws Exception {
return getServiceTracker(bundle).waitForService(timeout);
}
ServiceTracker<BeanManager, BeanManager> getServiceTracker(Bundle bundle) throws Exception {
ServiceTracker<BeanManager, BeanManager> serviceTracker = new ServiceTracker<>(
- bundleContext,
+ bundle.getBundleContext(),
filter(
- "(&(objectclass=%s)(bundle.id=%d))",
+ "(&(objectClass=%s)(service.bundleid=%d))",
BeanManager.class.getName(),
bundle.getBundleId()),
null);
@@ -143,40 +180,24 @@ public class AbstractTestCase extends Te
return serviceTracker;
}
- Promise<ContainerDTO> getContainerDTO() throws Exception {
- return getContainerDTO(bundle);
- }
-
- Promise<ContainerDTO> getContainerDTO(Bundle bundle) throws Exception {
- final PromiseFactory factory = new PromiseFactory(
- PromiseFactory.inlineExecutor());
-
- Promise<ContainerDTO> promise = factory.submit(new Callable<ContainerDTO>() {
- @Override
- public ContainerDTO call() throws Exception {
- while (!Thread.interrupted()) {
- ContainerDTO containerDTO = cdiRuntime.getContainerDTO(bundle);
- if (containerDTO == null) {
- Thread.sleep(10);
- continue;
- }
- return containerDTO;
- }
- return null;
- }
- });
-
- return promise.timeout(timeout);
+ long getChangeCount(ServiceReference<?> reference) {
+ return Optional.ofNullable(
+ reference.getProperty(Constants.SERVICE_CHANGECOUNT)
+ ).map(
+ v -> (Long)v
+ ).orElse(
+ new Long(-1l)
+ ).longValue();
}
static final Bundle bundle = FrameworkUtil.getBundle(CdiBeanTests.class);
static final BundleContext bundleContext = bundle.getBundleContext();
static final long timeout = 5000;
+ static Bundle servicesBundle;
+ static ServiceTracker<CDIComponentRuntime, CDIComponentRuntime> runtimeTracker;
Bundle cdiBundle;
- Bundle servicesBundle;
- CdiRuntime cdiRuntime;
- Promise<ContainerDTO> containerDTO;
- ServiceTracker<CdiRuntime, CdiRuntime> runtimeTracker;
+ CDIComponentRuntime cdiRuntime;
+ final PromiseFactory promiseFactory = new PromiseFactory(null);
}
\ No newline at end of file
Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiBeanTests.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiBeanTests.java?rev=1829115&r1=1829114&r2=1829115&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiBeanTests.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiBeanTests.java Sat Apr 14 01:10:27 2018
@@ -14,11 +14,10 @@
package org.apache.aries.cdi.test.cases;
-import java.util.Iterator;
-import java.util.List;
+import static org.junit.Assert.*;
+
import java.util.Map;
import java.util.Set;
-import java.util.concurrent.Callable;
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.spi.Bean;
@@ -28,47 +27,39 @@ import javax.enterprise.util.AnnotationL
import org.apache.aries.cdi.test.interfaces.BeanService;
import org.apache.aries.cdi.test.interfaces.BundleContextBeanQualifier;
import org.apache.aries.cdi.test.interfaces.FieldInjectedReference;
-import org.junit.Ignore;
+import org.junit.Test;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
+import org.osgi.service.cdi.ComponentType;
+import org.osgi.service.cdi.runtime.dto.ComponentDTO;
+import org.osgi.service.cdi.runtime.dto.ComponentInstanceDTO;
+import org.osgi.service.cdi.runtime.dto.ContainerDTO;
+import org.osgi.util.tracker.ServiceTracker;
@SuppressWarnings("rawtypes")
public class CdiBeanTests extends AbstractTestCase {
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- containerDTO = getContainerDTO(cdiBundle);
- }
-
+ @Test
public void testConstructorInjectedService() throws Exception {
- Iterator<ServiceReference<BeanService>> iterator = bundleContext.getServiceReferences(
- BeanService.class, String.format("(objectClass=*.%s)","ConstructorInjectedService")).iterator();
-
- assertTrue(iterator.hasNext());
+ ServiceTracker<BeanService, BeanService> tracker = track(
+ "(&(objectClass=%s)(objectClass=*.%s))",
+ BeanService.class.getName(),
+ "ConstructorInjectedService");
- ServiceReference<BeanService> serviceReference = iterator.next();
+ BeanService beanService = tracker.waitForService(timeout);
- assertNotNull(serviceReference);
-
- BeanService bean = bundleContext.getService(serviceReference);
-
- assertNotNull(bean);
- assertEquals("PREFIXCONSTRUCTOR", bean.doSomething());
+ assertNotNull(beanService);
+ assertEquals("PREFIXCONSTRUCTOR", beanService.doSomething());
}
+ @Test
public void testFieldInjectedReference_BundleScoped() throws Exception {
- Iterator<ServiceReference<FieldInjectedReference>> iterator = bundleContext.getServiceReferences(
- FieldInjectedReference.class, String.format("(objectClass=*.%s)","FieldInjectedBundleScopedImpl")).iterator();
-
- assertTrue(iterator.hasNext());
-
- ServiceReference<FieldInjectedReference> serviceReference = iterator.next();
+ ServiceTracker<FieldInjectedReference, FieldInjectedReference> tracker = track(
+ "(&(objectClass=%s)(objectClass=*.%s))",
+ FieldInjectedReference.class.getName(),
+ "FieldInjectedBundleScopedImpl");
- assertNotNull(serviceReference);
- assertNotNull(serviceReference.getBundle());
-
- FieldInjectedReference fieldInjectedReference = bundleContext.getService(serviceReference);
+ FieldInjectedReference fieldInjectedReference = tracker.waitForService(timeout);
assertNotNull(fieldInjectedReference);
assertNotNull(fieldInjectedReference.getProperties());
@@ -80,18 +71,14 @@ public class CdiBeanTests extends Abstra
assertEquals("value", fieldInjectedReference.getRawReference().getProperty("key"));
}
+ @Test
public void testFieldInjectedReference_PrototypeScoped() throws Exception {
- Iterator<ServiceReference<FieldInjectedReference>> iterator = bundleContext.getServiceReferences(
- FieldInjectedReference.class, String.format("(objectClass=*.%s)","FieldInjectedPrototypeScopedImpl")).iterator();
-
- assertTrue(iterator.hasNext());
-
- ServiceReference<FieldInjectedReference> serviceReference = iterator.next();
-
- assertNotNull(serviceReference);
- assertNotNull(serviceReference.getBundle());
+ ServiceTracker<FieldInjectedReference, FieldInjectedReference> tracker = track(
+ "(&(objectClass=%s)(objectClass=*.%s))",
+ FieldInjectedReference.class.getName(),
+ "FieldInjectedPrototypeScopedImpl");
- FieldInjectedReference fieldInjectedReference = bundleContext.getService(serviceReference);
+ FieldInjectedReference fieldInjectedReference = tracker.waitForService(timeout);
assertNotNull(fieldInjectedReference);
assertNotNull(fieldInjectedReference.getProperties());
@@ -103,134 +90,106 @@ public class CdiBeanTests extends Abstra
assertEquals("value", fieldInjectedReference.getRawReference().getProperty("key"));
}
+ @Test
public void testFieldInjectedService() throws Exception {
- Iterator<ServiceReference<BeanService>> iterator = bundleContext.getServiceReferences(
- BeanService.class, String.format("(objectClass=*.%s)","FieldInjectedService")).iterator();
-
- assertTrue(iterator.hasNext());
-
- ServiceReference<BeanService> serviceReference = iterator.next();
-
- assertNotNull(serviceReference);
+ ServiceTracker<BeanService, BeanService> tracker = track(
+ "(&(objectClass=%s)(objectClass=*.%s))",
+ BeanService.class.getName(),
+ "FieldInjectedService");
- BeanService bean = bundleContext.getService(serviceReference);
+ BeanService beanService = tracker.waitForService(timeout);
- assertNotNull(bean);
- assertEquals("PREFIXFIELD", bean.doSomething());
+ assertNotNull(beanService);
+ assertEquals("PREFIXFIELD", beanService.doSomething());
}
+ @Test
public void testMethodInjectedService() throws Exception {
- Iterator<ServiceReference<BeanService>> iterator = bundleContext.getServiceReferences(
- BeanService.class, String.format("(objectClass=*.%s)","MethodInjectedService")).iterator();
+ ServiceTracker<BeanService, BeanService> tracker = track(
+ "(&(objectClass=%s)(objectClass=*.%s))",
+ BeanService.class.getName(),
+ "MethodInjectedService");
- assertTrue(iterator.hasNext());
+ BeanService beanService = tracker.waitForService(timeout);
- ServiceReference<BeanService> serviceReference = iterator.next();
+ assertNotNull(beanService);
+ assertEquals("PREFIXMETHOD", beanService.doSomething());
- assertNotNull(serviceReference);
+ ContainerDTO containerDTO = cdiRuntime.getContainerDTO(cdiBundle);
+ assertNotNull(containerDTO);
- BeanService bean = bundleContext.getService(serviceReference);
+ ComponentDTO containerComponentDTO = containerDTO.components.stream().filter(
+ c -> c.template.type == ComponentType.CONTAINER).findFirst().orElse(null);
+ assertNotNull(containerComponentDTO);
+ assertEquals(8, containerComponentDTO.template.beans.size());
- assertNotNull(bean);
- assertEquals("PREFIXMETHOD", bean.doSomething());
+ // There's only one instance of the Container component
+ ComponentInstanceDTO componentInstanceDTO = containerComponentDTO.instances.get(0);
+ assertNotNull(componentInstanceDTO);
+
+ assertEquals(0, componentInstanceDTO.configurations.size());
+ assertNotNull("should have properties", componentInstanceDTO.properties);
}
- @SuppressWarnings("unchecked")
+ @Test
public void testBeanAsServiceWithProperties() throws Exception {
- Iterator<ServiceReference<BeanService>> iterator = bundleContext.getServiceReferences(
- BeanService.class, String.format("(objectClass=*.%s)","ServiceWithProperties")).iterator();
-
- assertTrue(iterator.hasNext());
+ ServiceTracker<BeanService, BeanService> tracker = track(
+ "(&(objectClass=%s)(objectClass=*.%s))",
+ BeanService.class.getName(),
+ "ServiceWithProperties");
- ServiceReference<BeanService> serviceReference = iterator.next();
+ BeanService beanService = tracker.waitForService(timeout);
- assertNotNull(serviceReference);
+ assertNotNull(beanService);
- BeanService bean = bundleContext.getService(serviceReference);
-
- assertNotNull(bean);
+ ServiceReference<BeanService> serviceReference = tracker.getServiceReference();
assertEquals("test.value.b2", serviceReference.getProperty("test.key.b2"));
assertTrue(serviceReference.getProperty("p.Boolean") instanceof Boolean);
- assertTrue(serviceReference.getProperty("p.Boolean.array") instanceof Boolean[]);
- assertEquals(2, ((Boolean[])serviceReference.getProperty("p.Boolean.array")).length);
- assertTrue(serviceReference.getProperty("p.Boolean.list") instanceof List);
- assertEquals(2, ((List<Boolean>)serviceReference.getProperty("p.Boolean.list")).size());
- assertTrue(serviceReference.getProperty("p.Boolean.set") instanceof Set);
- assertEquals(2, ((Set<Boolean>)serviceReference.getProperty("p.Boolean.set")).size());
+ assertTrue(serviceReference.getProperty("p.Boolean.array") instanceof boolean[]);
+ assertEquals(2, ((boolean[])serviceReference.getProperty("p.Boolean.array")).length);
assertTrue(serviceReference.getProperty("p.Byte") instanceof Byte);
- assertTrue(serviceReference.getProperty("p.Byte.array") instanceof Byte[]);
- assertEquals(2, ((Byte[])serviceReference.getProperty("p.Byte.array")).length);
- assertTrue(serviceReference.getProperty("p.Byte.list") instanceof List);
- assertEquals(2, ((List<Byte>)serviceReference.getProperty("p.Byte.list")).size());
- assertTrue(serviceReference.getProperty("p.Byte.set") instanceof Set);
- assertEquals(2, ((Set<Byte>)serviceReference.getProperty("p.Byte.set")).size());
+ assertTrue(serviceReference.getProperty("p.Byte.array") instanceof byte[]);
+ assertEquals(2, ((byte[])serviceReference.getProperty("p.Byte.array")).length);
assertTrue(serviceReference.getProperty("p.Character") instanceof Character);
- assertTrue(serviceReference.getProperty("p.Character.array") instanceof Character[]);
- assertEquals(2, ((Character[])serviceReference.getProperty("p.Character.array")).length);
- assertTrue(serviceReference.getProperty("p.Character.list") instanceof List);
- assertEquals(2, ((List<Character>)serviceReference.getProperty("p.Character.list")).size());
- assertTrue(serviceReference.getProperty("p.Character.set") instanceof Set);
- assertEquals(2, ((Set<Character>)serviceReference.getProperty("p.Character.set")).size());
+ assertTrue(serviceReference.getProperty("p.Character.array") instanceof char[]);
+ assertEquals(2, ((char[])serviceReference.getProperty("p.Character.array")).length);
assertTrue(serviceReference.getProperty("p.Double") instanceof Double);
- assertTrue(serviceReference.getProperty("p.Double.array") instanceof Double[]);
- assertEquals(2, ((Double[])serviceReference.getProperty("p.Double.array")).length);
- assertTrue(serviceReference.getProperty("p.Double.list") instanceof List);
- assertEquals(2, ((List<Double>)serviceReference.getProperty("p.Double.list")).size());
- assertTrue(serviceReference.getProperty("p.Double.set") instanceof Set);
- assertEquals(2, ((Set<Double>)serviceReference.getProperty("p.Double.set")).size());
+ assertTrue(serviceReference.getProperty("p.Double.array") instanceof double[]);
+ assertEquals(2, ((double[])serviceReference.getProperty("p.Double.array")).length);
assertTrue(serviceReference.getProperty("p.Float") instanceof Float);
- assertTrue(serviceReference.getProperty("p.Float.array") instanceof Float[]);
- assertEquals(2, ((Float[])serviceReference.getProperty("p.Float.array")).length);
- assertTrue(serviceReference.getProperty("p.Float.list") instanceof List);
- assertEquals(2, ((List<Float>)serviceReference.getProperty("p.Float.list")).size());
- assertTrue(serviceReference.getProperty("p.Float.set") instanceof Set);
- assertEquals(2, ((Set<Float>)serviceReference.getProperty("p.Float.set")).size());
+ assertTrue(serviceReference.getProperty("p.Float.array") instanceof float[]);
+ assertEquals(2, ((float[])serviceReference.getProperty("p.Float.array")).length);
assertTrue(serviceReference.getProperty("p.Integer") instanceof Integer);
- assertTrue(serviceReference.getProperty("p.Integer.array") instanceof Integer[]);
- assertEquals(2, ((Integer[])serviceReference.getProperty("p.Integer.array")).length);
- assertTrue(serviceReference.getProperty("p.Integer.list") instanceof List);
- assertEquals(2, ((List<Integer>)serviceReference.getProperty("p.Integer.list")).size());
- assertTrue(serviceReference.getProperty("p.Integer.set") instanceof Set);
- assertEquals(2, ((Set<Integer>)serviceReference.getProperty("p.Integer.set")).size());
+ assertTrue(serviceReference.getProperty("p.Integer.array") instanceof int[]);
+ assertEquals(2, ((int[])serviceReference.getProperty("p.Integer.array")).length);
assertTrue(serviceReference.getProperty("p.Long") instanceof Long);
- assertTrue(serviceReference.getProperty("p.Long.array") instanceof Long[]);
- assertEquals(2, ((Long[])serviceReference.getProperty("p.Long.array")).length);
- assertTrue(serviceReference.getProperty("p.Long.list") instanceof List);
- assertEquals(2, ((List<Long>)serviceReference.getProperty("p.Long.list")).size());
- assertTrue(serviceReference.getProperty("p.Long.set") instanceof Set);
- assertEquals(2, ((Set<Long>)serviceReference.getProperty("p.Long.set")).size());
+ assertTrue(serviceReference.getProperty("p.Long.array") instanceof long[]);
+ assertEquals(2, ((long[])serviceReference.getProperty("p.Long.array")).length);
assertTrue(serviceReference.getProperty("p.Short") instanceof Short);
- assertTrue(serviceReference.getProperty("p.Short.array") instanceof Short[]);
- assertEquals(2, ((Short[])serviceReference.getProperty("p.Short.array")).length);
- assertTrue(serviceReference.getProperty("p.Short.list") instanceof List);
- assertEquals(2, ((List<Short>)serviceReference.getProperty("p.Short.list")).size());
- assertTrue(serviceReference.getProperty("p.Short.set") instanceof Set);
- assertEquals(2, ((Set<Short>)serviceReference.getProperty("p.Short.set")).size());
+ assertTrue(serviceReference.getProperty("p.Short.array") instanceof short[]);
+ assertEquals(2, ((short[])serviceReference.getProperty("p.Short.array")).length);
assertTrue(serviceReference.getProperty("p.String") instanceof String);
assertTrue(serviceReference.getProperty("p.String.array") instanceof String[]);
assertEquals(2, ((String[])serviceReference.getProperty("p.String.array")).length);
- assertTrue(serviceReference.getProperty("p.String.list") instanceof List);
- assertEquals(2, ((List<String>)serviceReference.getProperty("p.String.list")).size());
- assertTrue(serviceReference.getProperty("p.String.set") instanceof Set);
- assertEquals(2, ((Set<String>)serviceReference.getProperty("p.String.set")).size());
// glubInteger = 45, gooString = "green"
assertTrue(serviceReference.getProperty("glub.integer") instanceof Integer);
assertEquals(45, ((Integer)serviceReference.getProperty("glub.integer")).intValue());
assertTrue(serviceReference.getProperty("goo.string") instanceof String);
- assertEquals("green", ((String)serviceReference.getProperty("goo.string")));
+ assertEquals("green", (serviceReference.getProperty("goo.string")));
}
+ @Test
public void testBundleContextInjection() throws Exception {
BeanManager beanManager = getBeanManager(cdiBundle);
@@ -248,63 +207,51 @@ public class CdiBeanTests extends Abstra
assertTrue(bti.get() instanceof BundleContext);
}
- @Ignore // This test doesn't make sense because there's only a single bean for the reference!!!
- public void _testInstanceProperties() throws Exception {
- Iterator<ServiceReference<BeanService>> iterator = bundleContext.getServiceReferences(
- BeanService.class, String.format("(objectClass=*.%s)","Instance_ServiceProperties")).iterator();
-
- assertTrue(iterator.hasNext());
+ @Test
+ public void testInstanceProperties() throws Exception {
+ ServiceTracker<BeanService, BeanService> tracker = track(
+ "(&(objectClass=%s)(objectClass=*.%s))",
+ BeanService.class.getName(),
+ "Instance_ServiceProperties");
- ServiceReference<BeanService> serviceReference = iterator.next();
-
- assertNotNull(serviceReference);
+ BeanService beanService = tracker.waitForService(timeout);
+ assertNotNull(beanService);
+ assertEquals(4, Integer.decode(beanService.doSomething()).intValue());
@SuppressWarnings("unchecked")
- BeanService<Map<String, Object>> bean = bundleContext.getService(serviceReference);
-
- assertNotNull(bean);
- assertEquals(3, Integer.decode(bean.doSomething()).intValue());
- Map<String, Object> map = bean.get();
+ Map<String, Object> map = (Map<String, Object>)beanService.get();
assertNotNull(map);
+ assertEquals(100000, (int)map.get("service.ranking"));
}
- @Ignore // This test doesn't make sense because there's only a single bean for the reference!!!
- public void _testInstanceServiceReference() throws Exception {
- Iterator<ServiceReference<BeanService>> iterator = bundleContext.getServiceReferences(
- BeanService.class, String.format("(objectClass=*.%s)","Instance_ServiceReference")).iterator();
-
- assertTrue(iterator.hasNext());
+ @Test
+ public void testInstanceServiceReference() throws Exception {
+ ServiceTracker<BeanService, BeanService> tracker = track(
+ "(&(objectClass=%s)(objectClass=*.%s))",
+ BeanService.class.getName(),
+ "Instance_ServiceReference");
- ServiceReference<BeanService> serviceReference = iterator.next();
+ BeanService beanService = tracker.waitForService(timeout);
- assertNotNull(serviceReference);
-
- @SuppressWarnings("unchecked")
- BeanService<ServiceReference<?>> bean = bundleContext.getService(serviceReference);
-
- assertNotNull(bean);
- assertEquals(3, Integer.decode(bean.doSomething()).intValue());
- ServiceReference<?> sr = bean.get();
+ assertNotNull(beanService);
+ assertEquals(4, Integer.decode(beanService.doSomething()).intValue());
+ ServiceReference<?> sr = (ServiceReference<?>)beanService.get();
assertNotNull(sr);
+ assertEquals(4, (int)sr.getProperty("service.ranking"));
}
- @Ignore // This test doesn't make sense because there's only a single bean for the reference!!!
- public void _testInstance_Optional() throws Exception {
- Iterator<ServiceReference<BeanService>> iterator = bundleContext.getServiceReferences(
- BeanService.class, String.format("(objectClass=*.%s)","Instance_Optional")).iterator();
-
- assertTrue(iterator.hasNext());
+ @Test
+ public void testInstance_Optional() throws Exception {
+ ServiceTracker<BeanService, BeanService> tracker = track(
+ "(&(objectClass=%s)(objectClass=*.%s))",
+ BeanService.class.getName(),
+ "Instance_Optional");
- ServiceReference<BeanService> serviceReference = iterator.next();
-
- assertNotNull(serviceReference);
-
- @SuppressWarnings("unchecked")
- BeanService<Callable<String>> bean = bundleContext.getService(serviceReference);
+ BeanService beanService = tracker.waitForService(timeout);
- assertNotNull(bean);
- assertEquals(0, Integer.decode(bean.doSomething()).intValue());
- assertNull(bean.get());
+ assertNotNull(beanService);
+ assertEquals(0, Integer.decode(beanService.doSomething()).intValue());
+ assertNull(beanService.get());
}
}
\ No newline at end of file
Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiContainerTests.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiContainerTests.java?rev=1829115&r1=1829114&r2=1829115&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiContainerTests.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiContainerTests.java Sat Apr 14 01:10:27 2018
@@ -14,20 +14,18 @@
package org.apache.aries.cdi.test.cases;
+import static org.junit.Assert.*;
+
import javax.enterprise.inject.spi.BeanManager;
import javax.enterprise.inject.spi.CDI;
import org.apache.aries.cdi.test.interfaces.Pojo;
+import org.junit.Test;
import org.osgi.framework.wiring.BundleWiring;
public class CdiContainerTests extends AbstractTestCase {
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- containerDTO = getContainerDTO(cdiBundle);
- }
-
+ @Test
public void testGetBeanFromCdiContainerService() throws Exception {
BeanManager beanManager = getBeanManager(cdiBundle);
@@ -35,6 +33,7 @@ public class CdiContainerTests extends A
assertBeanExists(Pojo.class, beanManager);
}
+ @Test
public void testGetBeanManagerFromCDI() throws Exception {
Thread currentThread = Thread.currentThread();
ClassLoader contextClassLoader = currentThread.getContextClassLoader();
Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiExtenderTests.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiExtenderTests.java?rev=1829115&r1=1829114&r2=1829115&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiExtenderTests.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/cases/CdiExtenderTests.java Sat Apr 14 01:10:27 2018
@@ -14,32 +14,49 @@
package org.apache.aries.cdi.test.cases;
+import static org.junit.Assert.*;
+
import javax.enterprise.inject.spi.BeanManager;
+import org.junit.Test;
import org.osgi.framework.Bundle;
import org.osgi.util.tracker.ServiceTracker;
public class CdiExtenderTests extends AbstractTestCase {
+ @Test
public void testStopExtender() throws Exception {
Bundle cdiExtenderBundle = getCdiExtenderBundle();
- ServiceTracker<BeanManager,BeanManager> serviceTracker = getServiceTracker(cdiBundle);
+ ServiceTracker<BeanManager, BeanManager> tracker = getServiceTracker(cdiBundle);
- try {
- assertNotNull(serviceTracker.waitForService(timeout));
+ BeanManager beanManager = tracker.waitForService(timeout);
- cdiExtenderBundle.stop();
+ assertNotNull(beanManager);
- assertTrue(serviceTracker.isEmpty());
+ int trackingCount = tracker.getTrackingCount();
- cdiExtenderBundle.start();
+ cdiExtenderBundle.stop();
- assertNotNull(serviceTracker.waitForService(timeout));
+ for (int i = 10; (i > 0) && (tracker.getTrackingCount() == trackingCount); i--) {
+ Thread.sleep(20);
}
- finally {
- serviceTracker.close();
+
+ beanManager = tracker.getService();
+
+ assertNull(beanManager);
+
+ trackingCount = tracker.getTrackingCount();
+
+ cdiExtenderBundle.start();
+
+ for (int i = 10; (i > 0) && (tracker.getTrackingCount() == trackingCount); i--) {
+ Thread.sleep(20);
}
+
+ beanManager = tracker.getService();
+
+ assertNotNull(beanManager);
}
}
\ No newline at end of file