You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tamaya.apache.org by an...@apache.org on 2016/11/27 21:02:54 UTC
[2/2] incubator-tamaya-sandbox git commit: TAMAYA-202: Added first
JUnit test case for OSGI tests with Karaf based on PaxExam for testing.
TAMAYA-202: Added first JUnit test case for OSGI tests with Karaf based on PaxExam for testing.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/commit/166b3a3d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/tree/166b3a3d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/diff/166b3a3d
Branch: refs/heads/master
Commit: 166b3a3dde8f26c9c2f29c4da2724cace511a13b
Parents: 3dab25f
Author: anatole <an...@apache.org>
Authored: Sun Nov 27 22:02:26 2016 +0100
Committer: anatole <an...@apache.org>
Committed: Sun Nov 27 22:02:26 2016 +0100
----------------------------------------------------------------------
apache-commons/pom.xml | 2 +-
camel/pom.xml | 2 +-
configured-sysprops/pom.xml | 2 +-
consul/pom.xml | 2 +-
etcd/pom.xml | 2 +-
hazelcast/pom.xml | 2 +-
jodatime/pom.xml | 2 +-
management/pom.xml | 2 +-
metamodel/pom.xml | 2 +-
osgi/pom.xml | 65 +++++-
.../java/org/apache/tamaya/osgi/Activator.java | 5 -
pom.xml | 233 ++++++++++++++++++-
propertysources/pom.xml | 4 +-
remote/pom.xml | 2 +-
server/pom.xml | 2 +-
.../tamaya/ui/components/LazyProvider.java | 81 -------
.../tamaya/ui/components/PageTitleUpdater.java | 47 ----
.../ui/components/VerticalSpacedLayout.java | 32 ---
.../org/apache/tamaya/ui/events/EventView.java | 181 --------------
.../tamaya/ui/internal/PageTitleUpdater.java | 47 ++++
.../ui/internal/VerticalSpacedLayout.java | 32 +++
.../tamaya/ui/services/MessageProvider.java | 43 ----
.../apache/tamaya/ui/services/UserService.java | 30 ---
.../org/apache/tamaya/ui/spi/LazyProvider.java | 81 +++++++
.../apache/tamaya/ui/spi/MessageProvider.java | 43 ++++
.../org/apache/tamaya/ui/spi/UserService.java | 30 +++
usagetracker/pom.xml | 2 +-
validation/pom.xml | 2 +-
28 files changed, 527 insertions(+), 453 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/apache-commons/pom.xml
----------------------------------------------------------------------
diff --git a/apache-commons/pom.xml b/apache-commons/pom.xml
index 47eea0b..4486b29 100644
--- a/apache-commons/pom.xml
+++ b/apache-commons/pom.xml
@@ -28,7 +28,7 @@ under the License.
</parent>
<artifactId>tamaya-commons-config</artifactId>
<name>Apache Tamaya Modules - Apache Commons</name>
- <packaging>bundle</packaging>
+ <packaging>jar</packaging>
<dependencies>
<dependency>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/camel/pom.xml
----------------------------------------------------------------------
diff --git a/camel/pom.xml b/camel/pom.xml
index d07de87..806508e 100644
--- a/camel/pom.xml
+++ b/camel/pom.xml
@@ -28,7 +28,7 @@ under the License.
<artifactId>tamaya-camel</artifactId>
<name>Apache Tamaya Modules - Apache Camel Support</name>
- <packaging>bundle</packaging>
+ <packaging>jar</packaging>
<properties>
<camel.version>2.17.0</camel.version>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/configured-sysprops/pom.xml
----------------------------------------------------------------------
diff --git a/configured-sysprops/pom.xml b/configured-sysprops/pom.xml
index 3ba0a45..780e8d8 100644
--- a/configured-sysprops/pom.xml
+++ b/configured-sysprops/pom.xml
@@ -28,7 +28,7 @@ under the License.
</parent>
<artifactId>tamaya-sysprops</artifactId>
<name>Apache Tamaya Modules - Configured System Properties</name>
- <packaging>bundle</packaging>
+ <packaging>jar</packaging>
<build>
<plugins>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/consul/pom.xml
----------------------------------------------------------------------
diff --git a/consul/pom.xml b/consul/pom.xml
index f3d8611..bbcecc8 100644
--- a/consul/pom.xml
+++ b/consul/pom.xml
@@ -28,7 +28,7 @@ under the License.
<artifactId>tamaya-consul</artifactId>
<name>Apache Tamaya Modules - Consul</name>
- <packaging>bundle</packaging>
+ <packaging>jar</packaging>
<build>
<plugins>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/etcd/pom.xml
----------------------------------------------------------------------
diff --git a/etcd/pom.xml b/etcd/pom.xml
index c687b6a..52da6a9 100644
--- a/etcd/pom.xml
+++ b/etcd/pom.xml
@@ -28,7 +28,7 @@ under the License.
<artifactId>tamaya-etcd</artifactId>
<name>Apache Tamaya Modules - etcd PropertySource</name>
- <packaging>bundle</packaging>
+ <packaging>jar</packaging>
<build>
<plugins>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/hazelcast/pom.xml
----------------------------------------------------------------------
diff --git a/hazelcast/pom.xml b/hazelcast/pom.xml
index 231f5e4..e9ce8a7 100644
--- a/hazelcast/pom.xml
+++ b/hazelcast/pom.xml
@@ -28,7 +28,7 @@
<artifactId>tamaya-hazelcast</artifactId>
<name>Apache Tamaya Modules - Hazelcast PropertySource</name>
- <packaging>bundle</packaging>
+ <packaging>jar</packaging>
<build>
<plugins>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/jodatime/pom.xml
----------------------------------------------------------------------
diff --git a/jodatime/pom.xml b/jodatime/pom.xml
index 0280212..3a89fc7 100644
--- a/jodatime/pom.xml
+++ b/jodatime/pom.xml
@@ -31,7 +31,7 @@ under the License.
<artifactId>tamaya-jodatime</artifactId>
<name>Apache Tamaya Modules - Joda-Time Support</name>
- <packaging>bundle</packaging>
+ <packaging>jar</packaging>
<inceptionYear>2015</inceptionYear>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/management/pom.xml
----------------------------------------------------------------------
diff --git a/management/pom.xml b/management/pom.xml
index 5af0cf2..b5dcc0b 100644
--- a/management/pom.xml
+++ b/management/pom.xml
@@ -28,7 +28,7 @@ under the License.
<artifactId>tamaya-management</artifactId>
<name>Apache Tamaya Modules - JMX Support</name>
- <packaging>bundle</packaging>
+ <packaging>jar</packaging>
<properties>
<jdkVersion>1.7</jdkVersion>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/metamodel/pom.xml
----------------------------------------------------------------------
diff --git a/metamodel/pom.xml b/metamodel/pom.xml
index 11301dd..13c5c47 100644
--- a/metamodel/pom.xml
+++ b/metamodel/pom.xml
@@ -31,7 +31,7 @@
<description>This extension module provides functionality to configure the
configuration system using meta-configuration.
</description>
- <packaging>bundle</packaging>
+ <packaging>jar</packaging>
<properties>
<jdkVersion>1.7</jdkVersion>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/osgi/pom.xml
----------------------------------------------------------------------
diff --git a/osgi/pom.xml b/osgi/pom.xml
index 5d3beb8..193abca 100644
--- a/osgi/pom.xml
+++ b/osgi/pom.xml
@@ -33,16 +33,32 @@
<name>Apache Tamaya Integration - OSGi Services :: Tamaya Config</name>
<description>Tamaya Based OSGI Implementation of ConfigAdmin and Config Injection</description>
+ <properties>
+ <karaf.version>4.0.7</karaf.version>
+ <osgi.version>6.0.0</osgi.version>
+ <pax.exam.version>4.5.0</pax.exam.version>
+ </properties>
+
<dependencies>
+ <!--<dependency>-->
+ <!--<groupId>org.apache.felix</groupId>-->
+ <!--<artifactId>org.apache.felix.configadmin</artifactId>-->
+ <!--<version>1.8.8</version>-->
+ <!--</dependency>-->
<dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.configadmin</artifactId>
- <version>1.8.8</version>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.service.cm</artifactId>
+ <version>1.5.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-atinject_1.0_spec</artifactId>
+ <version>1.0</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
- <version>6.0.0</version>
+ <version>${osgi.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tamaya</groupId>
@@ -59,11 +75,14 @@
<artifactId>tamaya-spisupport</artifactId>
<version>${project.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.tamaya.ext</groupId>
- <artifactId>tamaya-injection</artifactId>
- <version>${project.version}</version>
- </dependency>
+
+ <!-- Testing -->
+
+ <!--<dependency>-->
+ <!--<groupId>org.apache.tamaya.ext</groupId>-->
+ <!--<artifactId>tamaya-injection</artifactId>-->
+ <!--<version>${project.version}</version>-->
+ <!--</dependency>-->
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>java-hamcrest</artifactId>
@@ -72,6 +91,34 @@
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.ops4j.pax.exam</groupId>
+ <artifactId>pax-exam-container-karaf</artifactId>
+ <version>${pax.exam.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.ops4j.pax.exam</groupId>
+ <artifactId>pax-exam-junit4</artifactId>
+ <version>${pax.exam.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <!-- https://mvnrepository.com/artifact/org.ops4j.pax.url/pax-url-mvn -->
+ <dependency>
+ <groupId>org.ops4j.pax.url</groupId>
+ <artifactId>pax-url-mvn</artifactId>
+ <version>1.3.7</version>
+ </dependency>
+
+
+ <!--<dependency>-->
+ <!--<groupId>org.apache.karaf</groupId>-->
+ <!--<artifactId>apache-karaf</artifactId>-->
+ <!--<version>${karaf.version}</version>-->
+ <!--<type>zip</type>-->
+ <!--<scope>test</scope>-->
+ <!--</dependency>-->
+
</dependencies>
</project>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/osgi/src/main/java/org/apache/tamaya/osgi/Activator.java
----------------------------------------------------------------------
diff --git a/osgi/src/main/java/org/apache/tamaya/osgi/Activator.java b/osgi/src/main/java/org/apache/tamaya/osgi/Activator.java
index 4270324..73820f5 100644
--- a/osgi/src/main/java/org/apache/tamaya/osgi/Activator.java
+++ b/osgi/src/main/java/org/apache/tamaya/osgi/Activator.java
@@ -18,20 +18,15 @@
*/
package org.apache.tamaya.osgi;
-import org.apache.tamaya.Configuration;
-import org.apache.tamaya.ConfigurationProvider;
-import org.apache.tamaya.inject.ConfigurationInjection;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
-import org.osgi.framework.ServiceReference;
import org.osgi.framework.ServiceRegistration;
import org.osgi.service.cm.ConfigurationAdmin;
import org.osgi.util.tracker.ServiceTracker;
import java.util.Dictionary;
import java.util.Hashtable;
-import java.util.logging.Level;
import java.util.logging.Logger;
/**
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index de7161a..77e670a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,17 +20,30 @@ under the License.
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.apache.tamaya</groupId>
- <artifactId>tamaya-all</artifactId>
- <version>0.3-incubating-SNAPSHOT</version>
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>18</version>
+ <relativePath>org.apache:apache</relativePath>
</parent>
-
- <artifactId>tamaya-sandbox</artifactId>
<groupId>org.apache.tamaya.ext</groupId>
- <name>Apache Tamaya Extensions - Sandbox</name>
- <description>This project contains the several extensions that can be used with Tamaya, but that where not yet ready for production use or still under heavy discussion.</description>
+ <artifactId>tamaya-sandbox</artifactId>
+ <version>0.3-incubating-SNAPSHOT</version>
<packaging>pom</packaging>
+ <name>Apache Tamaya Sandbox</name>
+ <description>Extension modules for Apache Tamaya</description>
+ <url>https://tamaya.incubator.apache.org</url>
+ <inceptionYear>2016</inceptionYear>
+
+ <organization>
+ <name>Apache Software Foundation</name>
+ <url>https://apache.org</url>
+ </organization>
+
+ <prerequisites>
+ <maven>3.0.5</maven>
+ </prerequisites>
+
<properties>
<commons-io.version>2.5</commons-io.version>
<findbugs.skip>false</findbugs.skip>
@@ -44,10 +57,12 @@ under the License.
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<json.spec.version>1.0-alpha-1</json.spec.version>
+ <johnzon.version>0.9-incubating</johnzon.version>
<junit.version>4.12</junit.version>
<!-- Dependency and plugin relate version properties go here -->
- <johnzon.version>0.9-incubating</johnzon.version>
+ <arquillian.version>1.1.7.Final</arquillian.version>
+ <arquillian.deamon.version>1.0.0.Alpha1</arquillian.deamon.version>
<!-- Keep the JRuby version in sync with the one used by Asciidoctor -->
<asciidoctor.version>1.5.2</asciidoctor.version>
@@ -71,9 +86,181 @@ under the License.
<released_version>0.2-incubating</released_version>
</properties>
+ <licenses>
+ <license>
+ <name>Apache License</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+
+ <scm>
+ <connection>scm:git://git.apache.org/incubator-tamaya-extensions.git</connection>
+ <developerConnection>scm:git://git.apache.org/incubator-tamaya-extensions.git</developerConnection>
+ <url>https://git-wip-us.apache.org/repos/asf?p=incubator-tamaya-extensions.git</url>
+ </scm>
+
+ <issueManagement>
+ <system>jira</system>
+ <url>http://issues.apache.org/jira/browse/TAMAYA</url>
+ </issueManagement>
+
+ <mailingLists>
+ <mailingList>
+ <name>Tamaya Development List</name>
+ <post>dev@tamaya.incubator.apache.org</post>
+ <subscribe>dev-subscribe@tamaya.incubator.apache.org</subscribe>
+ <unsubscribe>dev-unsubscribe@tamaya.incubator.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/incubator-tamaya-dev/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Tamaya Commits List</name>
+ <post>commits@tamaya.incubator.apache.org</post>
+ <subscribe>commits-subscribe@tamaya.incubator.apache.org</subscribe>
+ <unsubscribe>commits-unsubscribe@tamaya.incubator.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/incubator-tamaya-commits/</archive>
+ </mailingList>
+ <mailingList>
+ <name>tamaya-private</name>
+ <subscribe>private-subscribe@tamaya.incubator.apache.org</subscribe>
+ <unsubscribe>private-unsubscribe@tamaya.incubator.apache.org</unsubscribe>
+ <post>private@tamaya.incubator.apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/tamaya-private/</archive>
+ </mailingList>
+ </mailingLists>
+
+ <distributionManagement>
+ </distributionManagement>
+
+ <ciManagement>
+ <system>Jenkins</system>
+ <url>https://builds.apache.org/view/Tamaya/</url>
+ </ciManagement>
+
+ <developers>
+ <developer>
+ <name>Anatole Tresch</name>
+ <id>anatole</id>
+ <email>anatole -at- apache.org</email>
+ <roles>
+ <role>PMC</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+
+ <developer>
+ <id>struberg</id>
+ <name>Mark Struberg</name>
+ <email>struberg at apache.org</email>
+ <roles>
+ <role>PMC</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+
+ <developer>
+ <id>gpetracek</id>
+ <name>Gerhard Petracek</name>
+ <email>gpetracek at apache.org</email>
+ <organization>IRIAN.at, Austria</organization>
+ <organizationUrl>http://www.irian.at/</organizationUrl>
+ <roles>
+ <role>PMC</role>
+ </roles>
+ <timezone>+1</timezone>
+ </developer>
+
+ <developer>
+ <id>johndament</id>
+ <name>John D. Ament</name>
+ <email>johndament at apache.org</email>
+ <roles>
+ <role>PMC</role>
+ </roles>
+ <timezone>-5</timezone>
+ </developer>
+
+ <developer>
+ <id>plexus</id>
+ <name>Oliver B. Fischer</name>
+ <roles>
+ <role>PMC</role>
+ </roles>
+ <email>plexus@apache.org</email>
+ <timezone>+1</timezone>
+ </developer>
+
+ <developer>
+ <id>pottlinger</id>
+ <name>Phil Ottlinger</name>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ <email>pottlinger at apache.org</email>
+ <timezone>+1</timezone>
+ </developer>
+ </developers>
+
<dependencyManagement>
<dependencies>
<dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <version>${mockito.version}</version>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>hamcrest-core</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>${commons-io.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junit.version}</version>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>hamcrest-core</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ <version>${findbugs.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>java-hamcrest</artifactId>
+ <version>${hamcrest.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>rubygems</groupId>
+ <artifactId>asciidoctor-diagram</artifactId>
+ <version>${asciidoctor-diagramm.version}</version>
+ <type>gem</type>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-json_1.0_spec</artifactId>
+ <version>${json.spec.version}</version>
+ </dependency>
+ <dependency>
<groupId>org.apache.johnzon</groupId>
<artifactId>johnzon-core</artifactId>
<version>${johnzon.version}</version>
@@ -81,11 +268,37 @@ under the License.
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
- <version>1.3</version>
+ <version>${hamcrest.version}</version>
+ <scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>biz.aQute.bnd</groupId>
+ <artifactId>bnd-maven-plugin</artifactId>
+ <version>3.3.0</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>bnd-process</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.7</source>
+ <target>1.7</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
<modules>
<module>hazelcast</module>
<module>apache-commons</module>
@@ -99,7 +312,7 @@ under the License.
<module>camel</module>
<module>propertysources</module>
<!--<module>ui</module>-->
- <!--<module>osgi</module>-->
+ <module>osgi</module>
<module>management</module>
<!--<module>metamodel</module>-->
</modules>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/propertysources/pom.xml
----------------------------------------------------------------------
diff --git a/propertysources/pom.xml b/propertysources/pom.xml
index 0398cf6..8271f61 100644
--- a/propertysources/pom.xml
+++ b/propertysources/pom.xml
@@ -29,7 +29,7 @@ under the License.
<artifactId>tamaya-propertysources</artifactId>
<name>Apache Tamaya Modules - PropertySources</name>
<description>A collection of simple property sources and property source providers.</description>
- <packaging>bundle</packaging>
+ <packaging>jar</packaging>
<dependencies>
<dependency>
@@ -49,7 +49,7 @@ under the License.
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
- <artifactId>hamcrest-library</artifactId>
+ <artifactId>java-hamcrest</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tamaya.ext</groupId>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/remote/pom.xml
----------------------------------------------------------------------
diff --git a/remote/pom.xml b/remote/pom.xml
index 92f428e..a9cb1a4 100644
--- a/remote/pom.xml
+++ b/remote/pom.xml
@@ -29,7 +29,7 @@ under the License.
<artifactId>tamaya-remote</artifactId>
<name>Apache Tamaya Modules - Remote PropertySource</name>
- <packaging>bundle</packaging>
+ <packaging>jar</packaging>
<properties>
<jdkVersion>1.7</jdkVersion>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/server/pom.xml
----------------------------------------------------------------------
diff --git a/server/pom.xml b/server/pom.xml
index d2abf18..baa2355 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -28,7 +28,7 @@ under the License.
<artifactId>tamaya-server</artifactId>
<name>Apache Tamaya Modules - Server Extension</name>
- <packaging>bundle</packaging>
+ <packaging>jar</packaging>
<properties>
<jdkVersion>1.7</jdkVersion>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/ui/base/src/main/java/org/apache/tamaya/ui/components/LazyProvider.java
----------------------------------------------------------------------
diff --git a/ui/base/src/main/java/org/apache/tamaya/ui/components/LazyProvider.java b/ui/base/src/main/java/org/apache/tamaya/ui/components/LazyProvider.java
deleted file mode 100644
index 2d1547f..0000000
--- a/ui/base/src/main/java/org/apache/tamaya/ui/components/LazyProvider.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * 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 org.apache.tamaya.ui.components;
-
-import com.vaadin.navigator.View;
-import org.apache.tamaya.spi.ServiceContextManager;
-import org.apache.tamaya.ui.ViewProvider;
-import org.apache.tamaya.ui.services.MessageProvider;
-
-import java.util.Objects;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * Lazily initializes a view when it's first accessed, then always returns the
- * same instance on subsequent calls.
- */
-public class LazyProvider implements ViewProvider {
- private static final Logger LOG = Logger.getLogger(
- LazyProvider.class.getName());
- private Class<? extends View> viewClass;
- private View view;
- private String urlPattern;
- private String name;
-
- public LazyProvider(String name, String urlPattern, Class<? extends View> viewClass) {
- this.viewClass = Objects.requireNonNull(viewClass);
- this.urlPattern = Objects.requireNonNull(urlPattern);
- this.name = Objects.requireNonNull(name);
- }
-
- @Override
- public String getUrlPattern() {
- return urlPattern;
- }
-
-
- @Override
- public ViewLifecycle getLifecycle() {
- return ViewLifecycle.LAZY;
- }
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public String getDisplayName() {
- return ServiceContextManager.getServiceContext().getService(MessageProvider.class)
- .getMessage(name);
- }
-
- @Override
- public View createView(Object... params) {
- if(view==null){
- try {
- view = viewClass.newInstance();
- } catch (Exception e) {
- LOG.log(Level.SEVERE, "Failed to create view: "+urlPattern, e);
- }
- }
- return view;
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/ui/base/src/main/java/org/apache/tamaya/ui/components/PageTitleUpdater.java
----------------------------------------------------------------------
diff --git a/ui/base/src/main/java/org/apache/tamaya/ui/components/PageTitleUpdater.java b/ui/base/src/main/java/org/apache/tamaya/ui/components/PageTitleUpdater.java
deleted file mode 100644
index 83a0105..0000000
--- a/ui/base/src/main/java/org/apache/tamaya/ui/components/PageTitleUpdater.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * 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 org.apache.tamaya.ui.components;
-
-import com.vaadin.navigator.View;
-import com.vaadin.navigator.ViewChangeListener;
-import com.vaadin.server.Page;
-import org.apache.tamaya.spi.ServiceContextManager;
-import org.apache.tamaya.ui.services.MessageProvider;
-
-/**
- * Listener that updates the page title when a new view is shown.
- */
-public class PageTitleUpdater implements ViewChangeListener {
-
- @Override
- public boolean beforeViewChange(ViewChangeEvent event) {
- return true;
- }
-
- @Override
- public void afterViewChange(ViewChangeEvent event) {
- View view = event.getNewView();
- String displayName = ServiceContextManager.getServiceContext().getService(MessageProvider.class)
- .getMessage("view."+view.getClass().getSimpleName()+".name");
- if (displayName != null) {
- Page.getCurrent().setTitle(displayName);
- }
-
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/ui/base/src/main/java/org/apache/tamaya/ui/components/VerticalSpacedLayout.java
----------------------------------------------------------------------
diff --git a/ui/base/src/main/java/org/apache/tamaya/ui/components/VerticalSpacedLayout.java b/ui/base/src/main/java/org/apache/tamaya/ui/components/VerticalSpacedLayout.java
deleted file mode 100644
index 94fc980..0000000
--- a/ui/base/src/main/java/org/apache/tamaya/ui/components/VerticalSpacedLayout.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * 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 org.apache.tamaya.ui.components;
-
-import com.vaadin.ui.VerticalLayout;
-
-/**
- * Vertical layout with spacing and margin on by default
- */
-public class VerticalSpacedLayout extends VerticalLayout {
-
- public VerticalSpacedLayout() {
- setMargin(true);
- setSpacing(true);
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/ui/base/src/main/java/org/apache/tamaya/ui/events/EventView.java
----------------------------------------------------------------------
diff --git a/ui/base/src/main/java/org/apache/tamaya/ui/events/EventView.java b/ui/base/src/main/java/org/apache/tamaya/ui/events/EventView.java
deleted file mode 100644
index ffb59cf..0000000
--- a/ui/base/src/main/java/org/apache/tamaya/ui/events/EventView.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * 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 org.apache.tamaya.ui.events;
-
-import com.vaadin.data.Item;
-import com.vaadin.data.Property;
-import com.vaadin.navigator.View;
-import com.vaadin.navigator.ViewChangeListener;
-import com.vaadin.shared.ui.label.ContentMode;
-import com.vaadin.ui.Button;
-import com.vaadin.ui.CheckBox;
-import com.vaadin.ui.HorizontalLayout;
-import com.vaadin.ui.Label;
-import com.vaadin.ui.Notification;
-import com.vaadin.ui.Table;
-import com.vaadin.ui.TextField;
-import org.apache.tamaya.events.ConfigEvent;
-import org.apache.tamaya.events.ConfigEventListener;
-import org.apache.tamaya.events.ConfigEventManager;
-import org.apache.tamaya.spi.ServiceContextManager;
-import org.apache.tamaya.ui.UIConstants;
-import org.apache.tamaya.ui.ViewProvider;
-import org.apache.tamaya.ui.components.VerticalSpacedLayout;
-import org.apache.tamaya.ui.services.MessageProvider;
-
-import javax.annotation.Priority;
-import java.util.Date;
-
-/**
- * Tamaya View for observing the current event stream.
- */
-public class EventView extends VerticalSpacedLayout implements View {
-
- /**
- * Provider used to register the view.
- */
- @Priority(20)
- public static final class Provider implements ViewProvider{
-
- @Override
- public ViewLifecycle getLifecycle() {
- return ViewLifecycle.EAGER;
- }
-
- @Override
- public String getName() {
- return "view.events.name";
- }
-
- @Override
- public String getUrlPattern() {
- return "/events";
- }
-
- @Override
- public String getDisplayName() {
- return getName();
- }
-
- @Override
- public View createView(Object... params){
- return new EventView();
- }
- }
-
- private CheckBox changeMonitorEnabled = new CheckBox(ServiceContextManager.getServiceContext()
- .getService(MessageProvider.class).getMessage("view.events.button.enableMonitoring"));
- private Button clearViewButton = new Button(ServiceContextManager.getServiceContext()
- .getService(MessageProvider.class).getMessage("view.events.button.clearView"));
- private TextField pollingInterval = new TextField(ServiceContextManager.getServiceContext()
- .getService(MessageProvider.class).getMessage("view.events.field.pollingInterval"));
- private Table eventsTable = new Table(ServiceContextManager.getServiceContext()
- .getService(MessageProvider.class).getMessage("view.events.table.name"));
-
-
- public EventView() {
- Label caption = new Label(ServiceContextManager.getServiceContext()
- .getService(MessageProvider.class).getMessage("view.events.name"));
- Label description = new Label(ServiceContextManager.getServiceContext()
- .getService(MessageProvider.class).getMessage("view.events.description"),
- ContentMode.HTML);
-
- ConfigEventManager.addListener(new ConfigEventListener() {
- @Override
- public void onConfigEvent(ConfigEvent<?> event) {
- addEvent(event);
- }
- });
- changeMonitorEnabled.addValueChangeListener(new Property.ValueChangeListener() {
- @Override
- public void valueChange(Property.ValueChangeEvent valueChangeEvent) {
- ConfigEventManager.enableChangeMonitoring(changeMonitorEnabled.getValue());
- if(changeMonitorEnabled.getValue()) {
- Notification.show("Event Monitoring (Polling) active.");
- }else{
- Notification.show("Event Monitoring (Polling) inactive.");
- }
- }
- });
- clearViewButton.addClickListener(new Button.ClickListener() {
- @Override
- public void buttonClick(Button.ClickEvent clickEvent) {
- eventsTable.removeAllItems();
- Notification.show("Events cleared.");
- }
- });
-
- HorizontalLayout eventSettings = new HorizontalLayout();
- eventSettings.addComponents(changeMonitorEnabled, new Label(" Polling Interval"), pollingInterval, clearViewButton);
- changeMonitorEnabled.setValue(ConfigEventManager.isChangeMonitoring());
- pollingInterval.setValue(String.valueOf(ConfigEventManager.getChangeMonitoringPeriod()));
- pollingInterval.setRequired(true);
- pollingInterval.addValueChangeListener(new Property.ValueChangeListener() {
- @Override
- public void valueChange(Property.ValueChangeEvent valueChangeEvent) {
- try{
- long millis = Long.parseLong((String)valueChangeEvent.getProperty().getValue());
- ConfigEventManager.setChangeMonitoringPeriod(millis);
- Notification.show("Updated Event Monitoring Poll Interval to " + millis + " milliseconds.");
- }catch(Exception e){
- Notification.show("Cannot update Event Monitoring Poll Interval to "
- + valueChangeEvent.getProperty().getValue(), Notification.Type.ERROR_MESSAGE);
- }
- }
- });
- eventsTable.addContainerProperty("Timestamp", Date.class, null);
- eventsTable.addContainerProperty("Type", String.class, "?");
- eventsTable.addContainerProperty("Payload", String.class, "<empty>");
- eventsTable.addContainerProperty("Version", String.class, "?");
- eventsTable.setPageLength(20);
- eventsTable.setWidth("100%");
- eventsTable.setResponsive(true);
-
-
- caption.addStyleName(UIConstants.LABEL_HUGE);
- description.addStyleName(UIConstants.LABEL_LARGE);
- addComponents(caption, description, eventSettings, eventsTable);
- }
-
- private void addEvent(ConfigEvent<?> evt){
- Object newItemId = eventsTable.addItem();
- Item row = eventsTable.getItem(newItemId);
- row.getItemProperty("Timestamp").setValue(new Date(evt.getTimestamp()));
- row.getItemProperty("Type").setValue(evt.getResourceType().getSimpleName());
- String value = String.valueOf(evt.getResource());
- String valueShort = value.length()<150?value:value.substring(0,147)+"...";
- row.getItemProperty("Payload").setValue(valueShort);
- row.getItemProperty("Version").setValue(evt.getVersion());
- }
-
-
- private String getCaption(String key, String value) {
- int index = key.lastIndexOf('.');
- if(index<0){
- return key + " = " + value;
- }else{
- return key.substring(index+1) + " = " + value;
- }
- }
-
- @Override
- public void enter(ViewChangeListener.ViewChangeEvent event) {
-
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/ui/base/src/main/java/org/apache/tamaya/ui/internal/PageTitleUpdater.java
----------------------------------------------------------------------
diff --git a/ui/base/src/main/java/org/apache/tamaya/ui/internal/PageTitleUpdater.java b/ui/base/src/main/java/org/apache/tamaya/ui/internal/PageTitleUpdater.java
new file mode 100644
index 0000000..83a0105
--- /dev/null
+++ b/ui/base/src/main/java/org/apache/tamaya/ui/internal/PageTitleUpdater.java
@@ -0,0 +1,47 @@
+/*
+ * 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 org.apache.tamaya.ui.components;
+
+import com.vaadin.navigator.View;
+import com.vaadin.navigator.ViewChangeListener;
+import com.vaadin.server.Page;
+import org.apache.tamaya.spi.ServiceContextManager;
+import org.apache.tamaya.ui.services.MessageProvider;
+
+/**
+ * Listener that updates the page title when a new view is shown.
+ */
+public class PageTitleUpdater implements ViewChangeListener {
+
+ @Override
+ public boolean beforeViewChange(ViewChangeEvent event) {
+ return true;
+ }
+
+ @Override
+ public void afterViewChange(ViewChangeEvent event) {
+ View view = event.getNewView();
+ String displayName = ServiceContextManager.getServiceContext().getService(MessageProvider.class)
+ .getMessage("view."+view.getClass().getSimpleName()+".name");
+ if (displayName != null) {
+ Page.getCurrent().setTitle(displayName);
+ }
+
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/ui/base/src/main/java/org/apache/tamaya/ui/internal/VerticalSpacedLayout.java
----------------------------------------------------------------------
diff --git a/ui/base/src/main/java/org/apache/tamaya/ui/internal/VerticalSpacedLayout.java b/ui/base/src/main/java/org/apache/tamaya/ui/internal/VerticalSpacedLayout.java
new file mode 100644
index 0000000..94fc980
--- /dev/null
+++ b/ui/base/src/main/java/org/apache/tamaya/ui/internal/VerticalSpacedLayout.java
@@ -0,0 +1,32 @@
+/*
+ * 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 org.apache.tamaya.ui.components;
+
+import com.vaadin.ui.VerticalLayout;
+
+/**
+ * Vertical layout with spacing and margin on by default
+ */
+public class VerticalSpacedLayout extends VerticalLayout {
+
+ public VerticalSpacedLayout() {
+ setMargin(true);
+ setSpacing(true);
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/ui/base/src/main/java/org/apache/tamaya/ui/services/MessageProvider.java
----------------------------------------------------------------------
diff --git a/ui/base/src/main/java/org/apache/tamaya/ui/services/MessageProvider.java b/ui/base/src/main/java/org/apache/tamaya/ui/services/MessageProvider.java
deleted file mode 100644
index a15ae46..0000000
--- a/ui/base/src/main/java/org/apache/tamaya/ui/services/MessageProvider.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * 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 org.apache.tamaya.ui.services;
-
-import java.util.Locale;
-
-/**
- * Component resolving messages for being shown in the UI.
- */
-public interface MessageProvider {
-
- /**
- * Get a message using the default locale.
- * @param key the message key, not null.
- * @return the resolved message, or the key, never null.
- */
- String getMessage(String key);
-
- /**
- * Get a message.
- * @param key the message key, not null.
- * @param locale the target locale, or null, for the default locale.
- * @return the resolved message, or the key, never null.
- */
- String getMessage(String key, Locale locale);
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/ui/base/src/main/java/org/apache/tamaya/ui/services/UserService.java
----------------------------------------------------------------------
diff --git a/ui/base/src/main/java/org/apache/tamaya/ui/services/UserService.java b/ui/base/src/main/java/org/apache/tamaya/ui/services/UserService.java
deleted file mode 100644
index 71a8a43..0000000
--- a/ui/base/src/main/java/org/apache/tamaya/ui/services/UserService.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * 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 org.apache.tamaya.ui.services;
-
-import org.apache.tamaya.ui.User;
-
-/**
- * Created by atsticks on 29.03.16.
- */
-public interface UserService {
-
- User login(String userId, String credentials);
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/ui/base/src/main/java/org/apache/tamaya/ui/spi/LazyProvider.java
----------------------------------------------------------------------
diff --git a/ui/base/src/main/java/org/apache/tamaya/ui/spi/LazyProvider.java b/ui/base/src/main/java/org/apache/tamaya/ui/spi/LazyProvider.java
new file mode 100644
index 0000000..2d1547f
--- /dev/null
+++ b/ui/base/src/main/java/org/apache/tamaya/ui/spi/LazyProvider.java
@@ -0,0 +1,81 @@
+/*
+ * 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 org.apache.tamaya.ui.components;
+
+import com.vaadin.navigator.View;
+import org.apache.tamaya.spi.ServiceContextManager;
+import org.apache.tamaya.ui.ViewProvider;
+import org.apache.tamaya.ui.services.MessageProvider;
+
+import java.util.Objects;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+/**
+ * Lazily initializes a view when it's first accessed, then always returns the
+ * same instance on subsequent calls.
+ */
+public class LazyProvider implements ViewProvider {
+ private static final Logger LOG = Logger.getLogger(
+ LazyProvider.class.getName());
+ private Class<? extends View> viewClass;
+ private View view;
+ private String urlPattern;
+ private String name;
+
+ public LazyProvider(String name, String urlPattern, Class<? extends View> viewClass) {
+ this.viewClass = Objects.requireNonNull(viewClass);
+ this.urlPattern = Objects.requireNonNull(urlPattern);
+ this.name = Objects.requireNonNull(name);
+ }
+
+ @Override
+ public String getUrlPattern() {
+ return urlPattern;
+ }
+
+
+ @Override
+ public ViewLifecycle getLifecycle() {
+ return ViewLifecycle.LAZY;
+ }
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public String getDisplayName() {
+ return ServiceContextManager.getServiceContext().getService(MessageProvider.class)
+ .getMessage(name);
+ }
+
+ @Override
+ public View createView(Object... params) {
+ if(view==null){
+ try {
+ view = viewClass.newInstance();
+ } catch (Exception e) {
+ LOG.log(Level.SEVERE, "Failed to create view: "+urlPattern, e);
+ }
+ }
+ return view;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/ui/base/src/main/java/org/apache/tamaya/ui/spi/MessageProvider.java
----------------------------------------------------------------------
diff --git a/ui/base/src/main/java/org/apache/tamaya/ui/spi/MessageProvider.java b/ui/base/src/main/java/org/apache/tamaya/ui/spi/MessageProvider.java
new file mode 100644
index 0000000..a15ae46
--- /dev/null
+++ b/ui/base/src/main/java/org/apache/tamaya/ui/spi/MessageProvider.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 org.apache.tamaya.ui.services;
+
+import java.util.Locale;
+
+/**
+ * Component resolving messages for being shown in the UI.
+ */
+public interface MessageProvider {
+
+ /**
+ * Get a message using the default locale.
+ * @param key the message key, not null.
+ * @return the resolved message, or the key, never null.
+ */
+ String getMessage(String key);
+
+ /**
+ * Get a message.
+ * @param key the message key, not null.
+ * @param locale the target locale, or null, for the default locale.
+ * @return the resolved message, or the key, never null.
+ */
+ String getMessage(String key, Locale locale);
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/ui/base/src/main/java/org/apache/tamaya/ui/spi/UserService.java
----------------------------------------------------------------------
diff --git a/ui/base/src/main/java/org/apache/tamaya/ui/spi/UserService.java b/ui/base/src/main/java/org/apache/tamaya/ui/spi/UserService.java
new file mode 100644
index 0000000..71a8a43
--- /dev/null
+++ b/ui/base/src/main/java/org/apache/tamaya/ui/spi/UserService.java
@@ -0,0 +1,30 @@
+/*
+ * 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 org.apache.tamaya.ui.services;
+
+import org.apache.tamaya.ui.User;
+
+/**
+ * Created by atsticks on 29.03.16.
+ */
+public interface UserService {
+
+ User login(String userId, String credentials);
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/usagetracker/pom.xml
----------------------------------------------------------------------
diff --git a/usagetracker/pom.xml b/usagetracker/pom.xml
index 371990c..226f280 100644
--- a/usagetracker/pom.xml
+++ b/usagetracker/pom.xml
@@ -31,7 +31,7 @@ under the License.
<description>This extension module provides functionality to measure configuration
usage during runtime.
</description>
- <packaging>bundle</packaging>
+ <packaging>jar</packaging>
<properties>
<jdkVersion>1.7</jdkVersion>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/166b3a3d/validation/pom.xml
----------------------------------------------------------------------
diff --git a/validation/pom.xml b/validation/pom.xml
index e190257..2f81395 100644
--- a/validation/pom.xml
+++ b/validation/pom.xml
@@ -30,7 +30,7 @@
<name>Apache Tamaya Modules - Validation</name>
<description>This extension module provides functionality to validate configuration.
</description>
- <packaging>bundle</packaging>
+ <packaging>jar</packaging>
<properties>
<jdkVersion>1.7</jdkVersion>