You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by cs...@apache.org on 2016/05/09 14:48:27 UTC
[08/35] karaf-boot git commit: Add karaf-boot-sample-config sample
Add karaf-boot-sample-config sample
Project: http://git-wip-us.apache.org/repos/asf/karaf-boot/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf-boot/commit/1ea096cd
Tree: http://git-wip-us.apache.org/repos/asf/karaf-boot/tree/1ea096cd
Diff: http://git-wip-us.apache.org/repos/asf/karaf-boot/diff/1ea096cd
Branch: refs/heads/master
Commit: 1ea096cd69df985efc1c5b596ea4a0846c78cdd3
Parents: 1683f3c
Author: Jean-Baptiste Onofr� <jb...@apache.org>
Authored: Wed Oct 14 16:07:22 2015 +0200
Committer: Jean-Baptiste Onofr� <jb...@apache.org>
Committed: Wed Oct 14 16:07:22 2015 +0200
----------------------------------------------------------------------
.../karaf-boot-sample-config/README.md | 31 +++++++++++++
.../karaf-boot-sample-config/pom.xml | 47 ++++++++++++++++++++
.../java/sample/config/ConfigComponent.java | 43 ++++++++++++++++++
.../karaf-boot-starter-ds/pom.xml | 4 +-
.../apache/karaf/boot/maven/GenerateMojo.java | 1 +
pom.xml | 10 ++++-
6 files changed, 133 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf-boot/blob/1ea096cd/karaf-boot-samples/karaf-boot-sample-config/README.md
----------------------------------------------------------------------
diff --git a/karaf-boot-samples/karaf-boot-sample-config/README.md b/karaf-boot-samples/karaf-boot-sample-config/README.md
new file mode 100644
index 0000000..6f571d5
--- /dev/null
+++ b/karaf-boot-samples/karaf-boot-sample-config/README.md
@@ -0,0 +1,31 @@
+== karaf-boot-sample-config ==
+
+This sample shows how to use a configuration provided in the etc folder of Karaf, and directly use the
+properties values in your code.
+
+= Design
+
+The ConfigComponent use a SampleConfig configuration. The SampleConfig configuration is "injected" at activation
+time of the component.
+
+The component just displays the values of the properties.
+
+= Build
+
+To build, simply do:
+
+ mvn clean install
+
+= Deploy
+
+To deploy in Karaf, you have to enable the DS support first. For that, you have to install the scr feature:
+
+ feature:install scr
+
+Once scr feature installed:
+
+* you can drop the generated jar file (target/karaf-boot-sample-config-1.0.jar) in the
+Karaf deploy folder
+* in the Karaf shell console, do:
+
+ bundle:install -s mvn:karaf-boot-samples/karaf-boot-sample-config/1.0
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/karaf-boot/blob/1ea096cd/karaf-boot-samples/karaf-boot-sample-config/pom.xml
----------------------------------------------------------------------
diff --git a/karaf-boot-samples/karaf-boot-sample-config/pom.xml b/karaf-boot-samples/karaf-boot-sample-config/pom.xml
new file mode 100644
index 0000000..688150b
--- /dev/null
+++ b/karaf-boot-samples/karaf-boot-sample-config/pom.xml
@@ -0,0 +1,47 @@
+<?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/xsd/maven-4.0.0.xsd">
+
+ <!--
+
+ 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.
+ -->
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.karaf.boot</groupId>
+ <artifactId>karaf-boot-sample-config</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.karaf.boot</groupId>
+ <artifactId>karaf-boot-starter-ds</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.karaf.boot</groupId>
+ <artifactId>karaf-boot-maven-plugin</artifactId>
+ <version>${project.version}</version>
+ <extensions>true</extensions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
http://git-wip-us.apache.org/repos/asf/karaf-boot/blob/1ea096cd/karaf-boot-samples/karaf-boot-sample-config/src/main/java/sample/config/ConfigComponent.java
----------------------------------------------------------------------
diff --git a/karaf-boot-samples/karaf-boot-sample-config/src/main/java/sample/config/ConfigComponent.java b/karaf-boot-samples/karaf-boot-sample-config/src/main/java/sample/config/ConfigComponent.java
new file mode 100644
index 0000000..52cf369
--- /dev/null
+++ b/karaf-boot-samples/karaf-boot-sample-config/src/main/java/sample/config/ConfigComponent.java
@@ -0,0 +1,43 @@
+/**
+ * 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.
+ */
+package sample.config;
+
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.metatype.annotations.Designate;
+import org.osgi.service.metatype.annotations.ObjectClassDefinition;
+
+@ObjectClassDefinition(name = "Sample Configuration", pid = "org.apache.karaf.boot.sample.config")
+@interface SampleConfig {
+ String stringProperty() default "default";
+ int intProperty() default 0;
+ boolean booleanProperty() default false;
+}
+
+@Component
+@Designate(ocd = SampleConfig.class)
+public class ConfigComponent {
+
+ @Activate
+ public void activate(SampleConfig sampleConfig) {
+ System.out.println("We use the property there");
+ System.out.println("stringProperty:" + sampleConfig.stringProperty());
+ System.out.println("intProperty: " + sampleConfig.intProperty());
+ System.out.println("booleanProperty: " + sampleConfig.booleanProperty());
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/karaf-boot/blob/1ea096cd/karaf-boot-starters/karaf-boot-starter-ds/pom.xml
----------------------------------------------------------------------
diff --git a/karaf-boot-starters/karaf-boot-starter-ds/pom.xml b/karaf-boot-starters/karaf-boot-starter-ds/pom.xml
index 9add66a..09eb983 100644
--- a/karaf-boot-starters/karaf-boot-starter-ds/pom.xml
+++ b/karaf-boot-starters/karaf-boot-starter-ds/pom.xml
@@ -33,8 +33,8 @@
<dependencies>
<dependency>
<groupId>org.osgi</groupId>
- <artifactId>org.osgi.compendium</artifactId>
- <version>5.0.0</version>
+ <artifactId>osgi.cmpn</artifactId>
+ <version>${osgi.version}</version>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/karaf-boot/blob/1ea096cd/karaf-boot-tools/karaf-boot-maven-plugin/src/main/java/org/apache/karaf/boot/maven/GenerateMojo.java
----------------------------------------------------------------------
diff --git a/karaf-boot-tools/karaf-boot-maven-plugin/src/main/java/org/apache/karaf/boot/maven/GenerateMojo.java b/karaf-boot-tools/karaf-boot-maven-plugin/src/main/java/org/apache/karaf/boot/maven/GenerateMojo.java
index da9414d..f15dad3 100644
--- a/karaf-boot-tools/karaf-boot-maven-plugin/src/main/java/org/apache/karaf/boot/maven/GenerateMojo.java
+++ b/karaf-boot-tools/karaf-boot-maven-plugin/src/main/java/org/apache/karaf/boot/maven/GenerateMojo.java
@@ -58,6 +58,7 @@ public class GenerateMojo extends AbstractMojo {
felixBundlePlugin.setVersion("3.0.0");
felixBundlePlugin.setInherited(true);
felixBundlePlugin.setExtensions(true);
+ // TODO check if a osgi.bnd file is present in the project base directory
// TODO if jpa-start is provided as persistence.xml location
configuration = Xpp3DomBuilder.build(new ByteArrayInputStream(("<configuration>" +
"<finalName>${project.build.finalName}</finalName>" +
http://git-wip-us.apache.org/repos/asf/karaf-boot/blob/1ea096cd/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index cb5e826..b1bab33 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,7 +30,7 @@
</description>
<properties>
- <karaf.version>4.0.1</karaf.version>
+ <karaf.version>4.0.2</karaf.version>
<osgi.version>6.0.0</osgi.version>
</properties>
@@ -40,7 +40,10 @@
<!-- TODO reuse @Services & @Reference shell annotations for generic use cases -->
+ <!-- Archetypes -->
+
<!-- Samples -->
+ <!-- services -->
<module>karaf-boot-samples/karaf-boot-sample-service-provider-osgi</module>
<module>karaf-boot-samples/karaf-boot-sample-service-consumer-osgi</module>
<module>karaf-boot-samples/karaf-boot-sample-service-provider-ds</module>
@@ -50,11 +53,16 @@
<!-- shell -->
<module>karaf-boot-samples/karaf-boot-sample-shell</module>
<!-- config -->
+ <module>karaf-boot-samples/karaf-boot-sample-config</module>
<!-- jpa -->
<!-- servlet -->
+ <!-- webui / angular -->
<!-- test -->
<!-- rest & soap -->
<!-- camel -->
+
+ <!-- Demos -->
+ <!-- complete library demos -->
</modules>
</project>