You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2020/12/06 06:59:47 UTC

[karaf] branch master updated: Improve CDI example with API bundle

This is an automated email from the ASF dual-hosted git repository.

jbonofre pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/karaf.git


The following commit(s) were added to refs/heads/master by this push:
     new c373315  Improve CDI example with API bundle
c373315 is described below

commit c373315a5b53fa15ccb5322f7d40eda235d2a4c8
Author: jbonofre <jb...@apache.org>
AuthorDate: Sun Dec 6 07:59:27 2020 +0100

    Improve CDI example with API bundle
---
 .../{ => karaf-cdi-example-api}/pom.xml            | 23 ++++++++++++----------
 .../apache/karaf/examples/cdi/api/MyService.java}  | 14 +++----------
 .../karaf-cdi-example-consumer/pom.xml             |  2 +-
 .../examples/cdi/consumer/MyConsumerBean.java      |  4 ++--
 .../src/main/feature/feature.xml                   |  1 +
 .../karaf-cdi-example-provider/pom.xml             |  5 +++++
 .../karaf/examples/cdi/provider/MyServiceBean.java |  4 +++-
 examples/karaf-cdi-example/pom.xml                 |  1 +
 .../karaf/itests/examples/CdiExampleTest.java      |  2 +-
 9 files changed, 30 insertions(+), 26 deletions(-)

diff --git a/examples/karaf-cdi-example/pom.xml b/examples/karaf-cdi-example/karaf-cdi-example-api/pom.xml
similarity index 75%
copy from examples/karaf-cdi-example/pom.xml
copy to examples/karaf-cdi-example/karaf-cdi-example-api/pom.xml
index 741d298..d8f03d6 100644
--- a/examples/karaf-cdi-example/pom.xml
+++ b/examples/karaf-cdi-example/karaf-cdi-example-api/pom.xml
@@ -23,19 +23,22 @@
 
     <parent>
         <groupId>org.apache.karaf.examples</groupId>
-        <artifactId>apache-karaf-examples</artifactId>
+        <artifactId>karaf-cdi-example</artifactId>
         <version>4.3.1-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
-    <artifactId>karaf-cdi-example</artifactId>
-    <name>Apache Karaf :: Examples :: CDI</name>
-    <packaging>pom</packaging>
-
-    <modules>
-        <module>karaf-cdi-example-provider</module>
-        <module>karaf-cdi-example-consumer</module>
-        <module>karaf-cdi-example-features</module>
-    </modules>
+    <artifactId>karaf-cdi-example-api</artifactId>
+    <name>Apache Karaf :: Examples :: CDI :: API</name>
+    <packaging>bundle</packaging>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
 
 </project>
\ No newline at end of file
diff --git a/examples/karaf-cdi-example/karaf-cdi-example-provider/src/main/java/org/apache/karaf/examples/cdi/provider/MyServiceBean.java b/examples/karaf-cdi-example/karaf-cdi-example-api/src/main/java/org/apache/karaf/examples/cdi/api/MyService.java
similarity index 73%
copy from examples/karaf-cdi-example/karaf-cdi-example-provider/src/main/java/org/apache/karaf/examples/cdi/provider/MyServiceBean.java
copy to examples/karaf-cdi-example/karaf-cdi-example-api/src/main/java/org/apache/karaf/examples/cdi/api/MyService.java
index 8a5b141..50f9bdb 100644
--- a/examples/karaf-cdi-example/karaf-cdi-example-provider/src/main/java/org/apache/karaf/examples/cdi/provider/MyServiceBean.java
+++ b/examples/karaf-cdi-example/karaf-cdi-example-api/src/main/java/org/apache/karaf/examples/cdi/api/MyService.java
@@ -13,18 +13,10 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.karaf.examples.cdi.provider;
+package org.apache.karaf.examples.cdi.api;
 
-import org.osgi.service.cdi.annotations.Service;
+public interface MyService {
 
-import javax.enterprise.context.ApplicationScoped;
-
-@Service
-@ApplicationScoped
-public class MyServiceBean {
-
-    public String greeting(String message) {
-        return "Hello " + message;
-    }
+    String greeting(String message);
 
 }
diff --git a/examples/karaf-cdi-example/karaf-cdi-example-consumer/pom.xml b/examples/karaf-cdi-example/karaf-cdi-example-consumer/pom.xml
index 3c1638c..375ba5b 100644
--- a/examples/karaf-cdi-example/karaf-cdi-example-consumer/pom.xml
+++ b/examples/karaf-cdi-example/karaf-cdi-example-consumer/pom.xml
@@ -35,7 +35,7 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.karaf.examples</groupId>
-            <artifactId>karaf-cdi-example-provider</artifactId>
+            <artifactId>karaf-cdi-example-api</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
diff --git a/examples/karaf-cdi-example/karaf-cdi-example-consumer/src/main/java/org/apache/karaf/examples/cdi/consumer/MyConsumerBean.java b/examples/karaf-cdi-example/karaf-cdi-example-consumer/src/main/java/org/apache/karaf/examples/cdi/consumer/MyConsumerBean.java
index c8ef478..09483ee 100644
--- a/examples/karaf-cdi-example/karaf-cdi-example-consumer/src/main/java/org/apache/karaf/examples/cdi/consumer/MyConsumerBean.java
+++ b/examples/karaf-cdi-example/karaf-cdi-example-consumer/src/main/java/org/apache/karaf/examples/cdi/consumer/MyConsumerBean.java
@@ -15,7 +15,7 @@
  */
 package org.apache.karaf.examples.cdi.consumer;
 
-import org.apache.karaf.examples.cdi.provider.MyServiceBean;
+import org.apache.karaf.examples.cdi.api.MyService;
 import org.osgi.service.cdi.annotations.Reference;
 
 import javax.enterprise.context.ApplicationScoped;
@@ -28,7 +28,7 @@ public class MyConsumerBean {
 
     @Reference
     @Inject
-    private MyServiceBean service;
+    private MyService service;
 
     public void onStart(@Observes @Initialized(ApplicationScoped.class) Object start) {
         System.out.println(service.greeting("world"));
diff --git a/examples/karaf-cdi-example/karaf-cdi-example-features/src/main/feature/feature.xml b/examples/karaf-cdi-example/karaf-cdi-example-features/src/main/feature/feature.xml
index e7fbbbb..00305c1 100644
--- a/examples/karaf-cdi-example/karaf-cdi-example-features/src/main/feature/feature.xml
+++ b/examples/karaf-cdi-example/karaf-cdi-example-features/src/main/feature/feature.xml
@@ -22,6 +22,7 @@
 
     <feature name="karaf-cdi-example-provider" version="${project.version}">
         <feature prerequisite="true">osgi-cdi-owb</feature>
+        <bundle>mvn:org.apache.karaf.examples/karaf-cdi-example-api/${project.version}</bundle>
         <bundle>mvn:org.apache.karaf.examples/karaf-cdi-example-provider/${project.version}</bundle>
     </feature>
 
diff --git a/examples/karaf-cdi-example/karaf-cdi-example-provider/pom.xml b/examples/karaf-cdi-example/karaf-cdi-example-provider/pom.xml
index 5810e75..e04f3a4 100644
--- a/examples/karaf-cdi-example/karaf-cdi-example-provider/pom.xml
+++ b/examples/karaf-cdi-example/karaf-cdi-example-provider/pom.xml
@@ -34,6 +34,11 @@
 
     <dependencies>
         <dependency>
+            <groupId>org.apache.karaf.examples</groupId>
+            <artifactId>karaf-cdi-example-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.service.cdi</artifactId>
             <version>1.0.0</version>
diff --git a/examples/karaf-cdi-example/karaf-cdi-example-provider/src/main/java/org/apache/karaf/examples/cdi/provider/MyServiceBean.java b/examples/karaf-cdi-example/karaf-cdi-example-provider/src/main/java/org/apache/karaf/examples/cdi/provider/MyServiceBean.java
index 8a5b141..f404dc5 100644
--- a/examples/karaf-cdi-example/karaf-cdi-example-provider/src/main/java/org/apache/karaf/examples/cdi/provider/MyServiceBean.java
+++ b/examples/karaf-cdi-example/karaf-cdi-example-provider/src/main/java/org/apache/karaf/examples/cdi/provider/MyServiceBean.java
@@ -15,14 +15,16 @@
  */
 package org.apache.karaf.examples.cdi.provider;
 
+import org.apache.karaf.examples.cdi.api.MyService;
 import org.osgi.service.cdi.annotations.Service;
 
 import javax.enterprise.context.ApplicationScoped;
 
 @Service
 @ApplicationScoped
-public class MyServiceBean {
+public class MyServiceBean implements MyService {
 
+    @Override
     public String greeting(String message) {
         return "Hello " + message;
     }
diff --git a/examples/karaf-cdi-example/pom.xml b/examples/karaf-cdi-example/pom.xml
index 741d298..3743fb9 100644
--- a/examples/karaf-cdi-example/pom.xml
+++ b/examples/karaf-cdi-example/pom.xml
@@ -33,6 +33,7 @@
     <packaging>pom</packaging>
 
     <modules>
+        <module>karaf-cdi-example-api</module>
         <module>karaf-cdi-example-provider</module>
         <module>karaf-cdi-example-consumer</module>
         <module>karaf-cdi-example-features</module>
diff --git a/itests/test/src/test/java/org/apache/karaf/itests/examples/CdiExampleTest.java b/itests/test/src/test/java/org/apache/karaf/itests/examples/CdiExampleTest.java
index 9493b0b..7425f7d 100644
--- a/itests/test/src/test/java/org/apache/karaf/itests/examples/CdiExampleTest.java
+++ b/itests/test/src/test/java/org/apache/karaf/itests/examples/CdiExampleTest.java
@@ -31,7 +31,7 @@ public class CdiExampleTest extends BaseTest {
 
         installAndAssertFeature("karaf-cdi-example-provider");
 
-        Object object = getOsgiService("org.apache.karaf.examples.cdi.provider.MyServiceBean");
+        Object object = getOsgiService("org.apache.karaf.examples.cdi.api.MyService");
 
         Assert.assertNotNull(object);