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 2017/10/16 23:03:12 UTC

[3/6] incubator-tamaya-sandbox git commit: TAMAYA-300 Added tests to improve mutation coverage. Movewd OSGI and MP to extensions.

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/common/src/test/java/org/apache/tamaya/osgi/commands/ConfigCommandsTest.java
----------------------------------------------------------------------
diff --git a/osgi/common/src/test/java/org/apache/tamaya/osgi/commands/ConfigCommandsTest.java b/osgi/common/src/test/java/org/apache/tamaya/osgi/commands/ConfigCommandsTest.java
deleted file mode 100644
index a2c273b..0000000
--- a/osgi/common/src/test/java/org/apache/tamaya/osgi/commands/ConfigCommandsTest.java
+++ /dev/null
@@ -1,204 +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.osgi.commands;
-
-import org.apache.tamaya.osgi.AbstractOSGITest;
-import org.apache.tamaya.osgi.Policy;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
-
-import static org.junit.Assert.*;
-
-/**
- * Created by atsti on 30.09.2017.
- */
-@RunWith(MockitoJUnitRunner.class)
-public class ConfigCommandsTest extends AbstractOSGITest{
-    @Test
-    public void getInfo() throws Exception {
-        String result = ConfigCommands.getInfo(tamayaConfigPlugin);
-        assertNotNull(result);
-        System.out.println(result);
-        assertTrue(result.contains("Property Sources"));
-        assertTrue(result.contains("Property Converter"));
-        assertTrue(result.contains("Property Filter"));
-        assertTrue(result.contains("ConfigurationContext"));
-        assertTrue(result.contains("Configuration"));
-    }
-
-    @Test
-    public void readTamayaConfig() throws Exception {
-        String result = ConfigCommands.readTamayaConfig("java", null);
-        assertNotNull(result);
-        System.out.println(result);
-        assertTrue(result.contains(".version"));
-        assertTrue(result.contains("Section"));
-        assertTrue(result.contains("java"));
-        result = ConfigCommands.readTamayaConfig("java", "version");
-        assertNotNull(result);
-        assertFalse(result.contains(".version"));
-        assertTrue(result.contains("Section"));
-        assertTrue(result.contains("java"));
-        assertTrue(result.contains("Filter"));
-        assertTrue(result.contains("version"));
-        assertFalse(result.contains("java.vendor"));
-        System.out.println("readTamayaConfig: " + result);
-    }
-
-    @Test
-    public void readTamayaConfig4PID() throws Exception {
-        String result = ConfigCommands.readTamayaConfig4PID("test", null);
-        assertNotNull(result);
-        System.out.println(result);
-        assertTrue(result.contains("Configuration"));
-        assertTrue(result.contains("test"));
-    }
-
-    @Test
-    public void applyTamayaConfiguration() throws Exception {
-        String result = ConfigCommands.applyTamayaConfiguration(tamayaConfigPlugin, "applyTamayaConfiguration", Policy.OVERRIDE.toString(), true);
-        assertNotNull(result);
-        System.out.println(result);
-        assertTrue(result.contains("OSGI Configuration for PID"));
-        assertTrue(result.contains("applyTamayaConfiguration"));
-        assertTrue(result.contains("OVERRIDE"));
-        assertTrue(result.contains("Applied"));
-        assertTrue(result.contains("false"));
-    }
-
-    @Test
-    public void readOSGIConfiguration() throws Exception {
-        String result = ConfigCommands.readOSGIConfiguration(tamayaConfigPlugin, "readOSGIConfiguration", "java");
-        assertNotNull(result);
-        System.out.println(result);
-        assertTrue(result.contains("OSGI Configuration for PID"));
-        assertTrue(result.contains("readOSGIConfiguration"));
-        assertTrue(result.contains("java.home"));
-    }
-
-    @Test
-    public void getDefaultOpPolicy() throws Exception {
-        Policy mode = tamayaConfigPlugin.getDefaultPolicy();
-        String result = ConfigCommands.getDefaultOpPolicy(tamayaConfigPlugin);
-        assertNotNull(result);
-        assertTrue(result.contains(mode.toString()));
-    }
-
-    @Test
-    public void setDefaultOpPolicy() throws Exception {
-        String result = ConfigCommands.setDefaultOpPolicy(tamayaConfigPlugin, Policy.EXTEND.toString());
-        assertNotNull(result);
-        assertTrue(result.contains("EXTEND"));
-        assertEquals(tamayaConfigPlugin.getDefaultPolicy(), Policy.EXTEND);
-        result = ConfigCommands.setDefaultOpPolicy(tamayaConfigPlugin, Policy.UPDATE_ONLY.toString());
-        assertNotNull(result);
-        assertTrue(result.contains("UPDATE_ONLY"));
-        assertEquals(tamayaConfigPlugin.getDefaultPolicy(), Policy.UPDATE_ONLY);
-    }
-
-    @Test
-    public void getProperty() throws Exception {
-        String result = ConfigCommands.getProperty("system-properties", "java.version", false);
-        assertNotNull(result);
-        System.out.println(result);
-        assertEquals(result, System.getProperty("java.version"));
-        result = ConfigCommands.getProperty("system-properties", "java.version", true);
-        assertNotNull(result);
-    }
-
-    @Test
-    public void getPropertySource() throws Exception {
-        String result = ConfigCommands.getPropertySource("system-properties");
-        assertNotNull(result);
-        System.out.println(result);
-        assertTrue(result.contains("Property Source"));
-        assertTrue(result.contains("ID"));
-        assertTrue(result.contains("system-properties"));
-        assertTrue(result.contains("Ordinal"));
-        assertTrue(result.contains("java.version"));
-    }
-
-    @Test
-    public void getPropertySourceOverview() throws Exception {
-        String result = ConfigCommands.getPropertySourceOverview();
-        assertNotNull(result);
-        System.out.println(result);
-        assertTrue(result.contains("Ordinal"));
-        assertTrue(result.contains("Class"));
-        assertTrue(result.contains("Ordinal"));
-        assertTrue(result.contains("ID"));
-        assertTrue(result.contains("Ordinal"));
-        assertTrue(result.contains("system-properties"));
-        assertTrue(result.contains("environment-properties"));
-        assertTrue(result.contains("CLI"));
-    }
-
-    @Test
-    public void setDefaultEnabled() throws Exception {
-        String result = ConfigCommands.setDefaultEnabled(tamayaConfigPlugin, true);
-        assertNotNull(result);
-        System.out.println(result);
-        assertTrue(result.contains(TamayaConfigService.TAMAYA_ENABLED_PROP+"=true"));
-        assertTrue(tamayaConfigPlugin.isTamayaEnabledByDefault());
-        result = ConfigCommands.setDefaultEnabled(tamayaConfigPlugin, false);
-        assertNotNull(result);
-        assertTrue(result.contains(TamayaConfigService.TAMAYA_ENABLED_PROP+"=false"));
-        assertFalse(tamayaConfigPlugin.isTamayaEnabledByDefault());
-    }
-
-    @Test
-    public void getDefaultEnabled() throws Exception {
-        tamayaConfigPlugin.setTamayaEnabledByDefault(true);
-        String result = ConfigCommands.getDefaultEnabled(tamayaConfigPlugin);
-        System.out.println(result);
-        tamayaConfigPlugin.setTamayaEnabledByDefault(false);
-        result = ConfigCommands.getDefaultEnabled(tamayaConfigPlugin);
-        assertNotNull(result);
-        assertTrue(result.equals("false"));
-    }
-
-    @Test
-    public void setAutoUpdateEnabled() throws Exception {
-        String result = ConfigCommands.setAutoUpdateEnabled(tamayaConfigPlugin, true);
-        assertNotNull(result);
-        System.out.println(result);
-        assertTrue(result.contains("true"));
-        assertTrue(result.contains(TamayaConfigService.TAMAYA_AUTO_UPDATE_ENABLED_PROP));
-        assertTrue(tamayaConfigPlugin.isAutoUpdateEnabled());
-        result = ConfigCommands.setAutoUpdateEnabled(tamayaConfigPlugin, false);
-        assertNotNull(result);
-        assertTrue(result.contains("false"));
-        assertTrue(result.contains(TamayaConfigService.TAMAYA_AUTO_UPDATE_ENABLED_PROP));
-        assertFalse(tamayaConfigPlugin.isAutoUpdateEnabled());
-    }
-
-    @Test
-    public void getAutoUpdateEnabled() throws Exception {
-        tamayaConfigPlugin.setAutoUpdateEnabled(true);
-        String result = ConfigCommands.getAutoUpdateEnabled(tamayaConfigPlugin);
-        System.out.println(result);
-        assertTrue(result.contains("true"));
-        tamayaConfigPlugin.setAutoUpdateEnabled(false);
-        result = ConfigCommands.getAutoUpdateEnabled(tamayaConfigPlugin);
-        assertNotNull(result);
-        assertTrue(result.contains("false"));
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/common/src/test/java/org/apache/tamaya/osgi/commands/HistoryCommandsTest.java
----------------------------------------------------------------------
diff --git a/osgi/common/src/test/java/org/apache/tamaya/osgi/commands/HistoryCommandsTest.java b/osgi/common/src/test/java/org/apache/tamaya/osgi/commands/HistoryCommandsTest.java
deleted file mode 100644
index ad32857..0000000
--- a/osgi/common/src/test/java/org/apache/tamaya/osgi/commands/HistoryCommandsTest.java
+++ /dev/null
@@ -1,87 +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.osgi.commands;
-
-import org.apache.tamaya.osgi.AbstractOSGITest;
-import org.apache.tamaya.osgi.ConfigHistory;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
-
-import static org.junit.Assert.*;
-
-/**
- * Created by atsti on 30.09.2017.
- */
-@RunWith(MockitoJUnitRunner.class)
-public class HistoryCommandsTest extends AbstractOSGITest {
-
-    @Test
-    public void clearHistory() throws Exception {
-        ConfigHistory.configured("clearHistory1", "test");
-        ConfigHistory.configured("clearHistory2", "test");
-        assertTrue(ConfigHistory.getHistory("clearHistory1").size()==1);
-        assertTrue(ConfigHistory.getHistory("clearHistory2").size()==1);
-        assertTrue(ConfigHistory.getHistory("clearHistory3").size()==0);
-        String result = HistoryCommands.clearHistory(tamayaConfigPlugin, "clearHistory1");
-        assertTrue(result.contains("PID"));
-        assertTrue(result.contains("clearHistory1"));
-        assertTrue(ConfigHistory.getHistory("clearHistory1").size()==0);
-        assertTrue(ConfigHistory.getHistory("clearHistory2").size()==1);
-        assertTrue(ConfigHistory.getHistory("clearHistory3").size()==0);
-        ConfigHistory.configured("clearHistory1", "test");
-        result = HistoryCommands.clearHistory(tamayaConfigPlugin, "*");
-        assertTrue(result.contains("PID"));
-        assertTrue(result.contains("*"));
-        assertTrue(ConfigHistory.getHistory("clearHistory1").size()==0);
-        assertTrue(ConfigHistory.getHistory("clearHistory2").size()==0);
-        assertTrue(ConfigHistory.getHistory("clearHistory3").size()==0);
-
-    }
-
-    @Test
-    public void getHistory() throws Exception {
-        ConfigHistory.configured("getHistory", "test");
-        ConfigHistory.configuring("getHistory", "test");
-        ConfigHistory.propertySet("getHistory", "k1", "v1", null);
-        ConfigHistory.propertySet("getHistory", "k2", null, "v2");
-        String result = HistoryCommands.getHistory(tamayaConfigPlugin, "getHistory");
-        assertNotNull(result);
-        assertTrue(result.contains("k1"));
-        assertTrue(result.contains("v1"));
-        assertTrue(result.contains("test"));
-        result = HistoryCommands.getHistory(tamayaConfigPlugin, "getHistory", ConfigHistory.TaskType.BEGIN.toString());
-        assertNotNull(result);
-        assertTrue(result.contains("getHistory"));
-        assertTrue(result.contains("test"));
-        assertFalse(result.contains("k1"));
-        assertFalse(result.contains("v2"));
-    }
-
-    @Test
-    public void getSetMaxHistorySize() throws Exception {
-        String result = HistoryCommands.getMaxHistorySize(tamayaConfigPlugin);
-        assertEquals(result, String.valueOf(tamayaConfigPlugin.getMaxHistorySize()));
-        result = HistoryCommands.setMaxHistorySize(tamayaConfigPlugin, 111);
-        assertEquals(result, "tamaya-max-getHistory-size=111");
-        result = HistoryCommands.getMaxHistorySize(tamayaConfigPlugin);
-        assertEquals(result, "111");
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/common/src/test/resources/META-INF/javaconfiguration.properties
----------------------------------------------------------------------
diff --git a/osgi/common/src/test/resources/META-INF/javaconfiguration.properties b/osgi/common/src/test/resources/META-INF/javaconfiguration.properties
deleted file mode 100644
index d0b0cb8..0000000
--- a/osgi/common/src/test/resources/META-INF/javaconfiguration.properties
+++ /dev/null
@@ -1,22 +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.
-#
-[tamaya]my.testProperty1=success1
-[tamaya]my.testProperty2=success2
-[tamaya]my.testProperty3=success3
-[tamaya]my.testProperty4=success4
-[tamaya]java.version=Java2000
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/common/src/test/resources/org.ops4j.pax.logging.cfg
----------------------------------------------------------------------
diff --git a/osgi/common/src/test/resources/org.ops4j.pax.logging.cfg b/osgi/common/src/test/resources/org.ops4j.pax.logging.cfg
deleted file mode 100644
index 6683438..0000000
--- a/osgi/common/src/test/resources/org.ops4j.pax.logging.cfg
+++ /dev/null
@@ -1,48 +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.
-#
-#updated by pax-exam
-#Sun Nov 27 20:55:11 CET 2016
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.sift.appender.append=true
-log4j.appender.out.maxFileSize=1MB
-log4j.appender.audit.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n
-log4j.appender.sift.appender.file=${karaf.data}/log/$\\{bundle.name\\}.log
-log4j.appender.sift.appender.layout=org.apache.log4j.PatternLayout
-log4j.appender.out.append=true
-log4j.appender.sift.appender=org.apache.log4j.FileAppender
-log4j.appender.out.layout=org.apache.log4j.PatternLayout
-log4j.appender.out=org.apache.log4j.RollingFileAppender
-log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n
-log4j.throwableRenderer=org.apache.log4j.OsgiThrowableRenderer
-log4j.appender.out.file=${karaf.data}/log/karaf.log
-log4j.appender.sift=org.apache.log4j.sift.MDCSiftingAppender
-log4j.appender.audit.append=true
-log4j.appender.audit.maxBackupIndex=10
-log4j.appender.audit.layout=org.apache.log4j.PatternLayout
-log4j.appender.sift.key=bundle.name
-log4j.appender.audit.maxFileSize=1MB
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.additivity.org.apache.karaf.jaas.modules.audit=false
-log4j.logger.org.apache.karaf.jaas.modules.audit=INFO, audit
-log4j.appender.audit.file=${karaf.data}/security/audit.log
-log4j.appender.sift.default=karaf
-log4j.appender.sift.appender.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %m%n
-log4j.appender.out.maxBackupIndex=10
-log4j.appender.audit=org.apache.log4j.RollingFileAppender
-log4j.rootLogger=WARN, out, stdout, osgi\:*
-log4j.appender.out.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-16.16t | %-32.32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/gogo-shell/bnd.bnd
----------------------------------------------------------------------
diff --git a/osgi/gogo-shell/bnd.bnd b/osgi/gogo-shell/bnd.bnd
deleted file mode 100644
index 67e951a..0000000
--- a/osgi/gogo-shell/bnd.bnd
+++ /dev/null
@@ -1,34 +0,0 @@
--buildpath: \
-	osgi.annotation; version=6.0.0,\
-	osgi.core; version=6.0,\
-	osgi.cmpn; version=6.0
-
--testpath: \
-	${junit}
-
-javac.source: 1.8
-javac.target: 1.8
-
-Bundle-Activator: org.apache.tamaya.gogo.shell.Activator
-Bundle-Version: ${version}.${tstamp}
-Bundle-Name: Apache Tamaya - Felix Shell Commands
-Bundle-SymbolicName: org.apache.tamaya.osgi.gogo.shell
-Bundle-Description: Apacha Tamaya Configuration - Gogo Shell Extensions
-Bundle-Category: Implementation
-Bundle-Copyright: (C) Apache Foundation
-Bundle-License: Apache Licence version 2
-Bundle-Vendor: Apache Software Foundation
-Bundle-ContactAddress: dev-tamaya@incubator.apache.org
-Bundle-DocURL: http://tamaya.apache.org
-Export-Package: \
-	org.apache.tamaya.gogo.shell
-Import-Package: \
-    org.osgi.service.cm,\
-    org.osgi.framework,\
-    org.apache.tamaya,\
-    org.apache.tamaya.spi,\
-    org.apache.tamaya.functions,\
-    org.apache.tamaya.spisupport,\
-    org.apache.tamaya.osgi,\
-    org.apache.tamaya.osgi.commands,\
-    org.apache.felix.service.command

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/gogo-shell/pom.xml
----------------------------------------------------------------------
diff --git a/osgi/gogo-shell/pom.xml b/osgi/gogo-shell/pom.xml
deleted file mode 100644
index ba9fa64..0000000
--- a/osgi/gogo-shell/pom.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-<?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>
-
-    <parent>
-        <groupId>org.apache.tamaya.ext</groupId>
-        <artifactId>tamaya-osgi-all</artifactId>
-        <version>0.4-incubating-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>tamaya-osgi-gogo-shell</artifactId>
-    <packaging>jar</packaging>
-    <name>Apache Tamaya :: OSGI :: Gogo :: Shell</name>
-    <description>Tamaya Gogo Shell Commands</description>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.tamaya.ext</groupId>
-            <artifactId>tamaya-osgi</artifactId>
-            <version>${project.parent.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.compendium</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.gogo.runtime</artifactId>
-            <version>1.0.8</version>
-        </dependency>
-
-        <!-- Testing -->
-        <dependency>
-            <groupId>org.hamcrest</groupId>
-            <artifactId>java-hamcrest</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-core</artifactId>
-        </dependency>
-    </dependencies>
-
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/Activator.java
----------------------------------------------------------------------
diff --git a/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/Activator.java b/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/Activator.java
deleted file mode 100644
index f7a2aa9..0000000
--- a/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/Activator.java
+++ /dev/null
@@ -1,92 +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.gogo.shell;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceRegistration;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-import java.util.logging.Logger;
-
-/**
- * Activator that registers the Tamaya commands for the Felix Gogo console used
- * in Apache Felix and Equinox.
- */
-public class Activator implements BundleActivator {
-
-    private static final Logger LOG = Logger.getLogger(Activator.class.getName());
-
-    private ServiceRegistration<HistoryCommands> histReg;
-    private ServiceRegistration<ConfigCommands> configReg;
-    private ServiceRegistration<BackupCommands> backupReg;
-    private ServiceRegistration<SettingsCommands> settingsReg;
-
-    @Override
-    public void start(BundleContext context) throws Exception {
-        LOG.finest("Registering Tamaya commands...");
-        Dictionary<String, Object> props = new Hashtable<>();
-        props.put("osgi.command.scope", "tamaya");
-        props.put("osgi.command.function",
-                new String[] {"tm_config", "tm_property",
-                        "tm_propertysource","tm_propertysources"});
-        configReg = context.registerService(
-                ConfigCommands.class,
-                new ConfigCommands(context), props);
-        props.put("osgi.command.function",
-                new String[] {"tm_history","tm_history_delete","tm_history_delete_all",
-                "tm_history_maxsize", "tm_history_maxsize_set"});
-        histReg = context.registerService(
-                HistoryCommands.class,
-                new HistoryCommands(context), props);
-        props.put("osgi.command.function",
-                new String[] {"tm_backup_create","tm_backup_delete",
-                        "tm_backup","tm_backup_restore"});
-        backupReg = context.registerService(
-                BackupCommands.class,
-                new BackupCommands(context), props);
-        props.put("osgi.command.function",
-                new String[] {"tm_enable","tm_enabled", "tm_policy",
-                "tm_policy_set","tm_info", "tm_propagate_updates",
-                "tm_propagate_updates_set"});
-        settingsReg = context.registerService(
-                SettingsCommands.class,
-                new SettingsCommands(context), props);
-        LOG.info("Registered Tamaya commands.");
-    }
-
-    @Override
-    public void stop(BundleContext context) throws Exception {
-        LOG.info("Unregistering Tamaya commands.");
-        if (histReg != null) {
-            histReg.unregister();
-        }
-        if (configReg != null) {
-            configReg.unregister();
-        }
-        if (backupReg != null) {
-            backupReg.unregister();
-        }
-        if (settingsReg != null) {
-            settingsReg.unregister();
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/BackupCommands.java
----------------------------------------------------------------------
diff --git a/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/BackupCommands.java b/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/BackupCommands.java
deleted file mode 100644
index 67c7b66..0000000
--- a/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/BackupCommands.java
+++ /dev/null
@@ -1,78 +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.gogo.shell;
-
-import org.apache.felix.service.command.Descriptor;
-import org.apache.felix.service.command.Parameter;
-import org.apache.tamaya.osgi.commands.TamayaConfigService;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.cm.ConfigurationAdmin;
-
-import java.io.IOException;
-import java.util.Objects;
-
-public class BackupCommands {
-
-    private BundleContext context;
-
-    public BackupCommands(BundleContext context){
-        this.context = Objects.requireNonNull(context);
-    }
-
-    private <T> T getService(Class<T> type){
-        ServiceReference<T> cmRef = context.getServiceReference(type);
-        return context.getService(cmRef);
-    }
-
-
-    @Descriptor("Creates an OSGI ConfigAdmin configuration backup for a PID.")
-    public void tm_backup_create(@Parameter(absentValue = Parameter.UNSPECIFIED, names={"-p", "--pid"})
-                                  @Descriptor("The PID (requred)") String pid,
-                                 @Parameter(absentValue = Parameter.UNSPECIFIED, names={"-f", "--force"})
-                                  @Descriptor("If set any existing backup will be overriden, default is false.") Boolean force) throws IOException {
-        System.out.println(org.apache.tamaya.osgi.commands.BackupCommands.createBackup(
-                getService(TamayaConfigService.class),
-                getService(ConfigurationAdmin.class), pid, force));
-    }
-
-    @Descriptor("Deletes an OSGI ConfigAdmin configuration backup for a PID.")
-    public void tm_backup_delete(@Parameter(absentValue = Parameter.UNSPECIFIED, names={"-p", "--pid"})
-                                  @Descriptor("The target PID") String pid) throws IOException {
-        System.out.println(org.apache.tamaya.osgi.commands.BackupCommands.deleteBackup(
-                getService(TamayaConfigService.class),
-                pid));
-    }
-
-    @Descriptor("Restores an OSGI ConfigAdmin configuration backup for a PID and disabled Tamaya for the given PID.")
-    public void tm_backup_restore(@Parameter(absentValue = Parameter.UNSPECIFIED, names={"-p", "--pid"})
-                                 @Descriptor("The target PID") String pid) throws IOException {
-        System.out.println(org.apache.tamaya.osgi.commands.BackupCommands.restoreBackup(
-                getService(TamayaConfigService.class), pid));
-    }
-
-    @Descriptor("Shows the contents of the OSGI ConfigAdmin configuration backup for a PID.")
-    public void tm_backup_get(@Parameter(absentValue = Parameter.UNSPECIFIED, names={"-p", "--pid"})
-                               @Descriptor("The PID (requred)") String pid) throws IOException {
-        System.out.println(org.apache.tamaya.osgi.commands.BackupCommands.listBackup(
-                getService(TamayaConfigService.class),
-                Objects.requireNonNull(pid)));
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/ConfigCommands.java
----------------------------------------------------------------------
diff --git a/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/ConfigCommands.java b/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/ConfigCommands.java
deleted file mode 100644
index 8926ede..0000000
--- a/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/ConfigCommands.java
+++ /dev/null
@@ -1,89 +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.gogo.shell;
-
-import org.apache.felix.service.command.Descriptor;
-import org.apache.felix.service.command.Parameter;
-import org.apache.tamaya.osgi.Policy;
-import org.apache.tamaya.osgi.commands.TamayaConfigService;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-import java.io.IOException;
-import java.util.Objects;
-
-public class ConfigCommands {
-
-    private BundleContext context;
-
-    private <T> T getService(Class<T> type){
-        ServiceReference<T> cmRef = context.getServiceReference(type);
-        return context.getService(cmRef);
-    }
-
-    public ConfigCommands(BundleContext context){
-        this.context = Objects.requireNonNull(context);
-    }
-
-    @Descriptor("Shows the current Tamaya configuration.")
-    public void tm_config(@Parameter(absentValue = "", names={"-s", "--section"})
-                       @Descriptor("The section start expression to filter.") String section,
-                       @Parameter(absentValue = "", names={"-p", "--pid"})
-                       @Descriptor("The pid to filter (required).") String pid) throws IOException {
-        if(pid.isEmpty()){
-            System.out.println(org.apache.tamaya.osgi.commands.ConfigCommands.readTamayaConfig(section, null));
-        }else {
-            System.out.println(org.apache.tamaya.osgi.commands.ConfigCommands.readTamayaConfig4PID(pid, section));
-        }
-    }
-
-    public void tm_apply_config(@Parameter(absentValue = Parameter.UNSPECIFIED, names={"-p", "--pid"})
-                                @Descriptor("The target OSGI component PID.")
-                                        String pid,
-                                @Parameter(absentValue = "OVERRIDE", names={"-m", "--opmode"})
-                                @Descriptor("Explicitly set (override) the operation mode to use, one of: EXTEND, OVERRIDE, UPDATE_ONLY")
-                                        Policy policy,
-                                @Parameter(absentValue = "false", names={"-d", "--dryrun"})
-                                @Descriptor("If set to true no OSGI configuration gets changed.")
-                                        boolean dryRun){
-        System.out.println(org.apache.tamaya.osgi.commands.ConfigCommands.applyTamayaConfiguration(
-                getService(TamayaConfigService.class), pid, policy.toString(), dryRun));
-    }
-
-    @Descriptor("Gets the detailed property values.")
-    public void tm_property(@Parameter(absentValue = "", names={"-ps", "--propertysource"})
-                                 @Descriptor("The property source name")String propertysource,
-                             @Parameter(absentValue = Parameter.UNSPECIFIED, names={"-k", "--key"})
-                                @Descriptor("The property key")String key,
-                             @Parameter(absentValue = "false", names={"-e", "--extended"})
-                                 @Descriptor("Show extended info, default=false")Boolean extended) throws IOException {
-        System.out.println(org.apache.tamaya.osgi.commands.ConfigCommands.getProperty(propertysource, key, extended.booleanValue()));
-    }
-
-    @Descriptor("Get details of a property source.")
-    public void tm_propertysource(@Parameter(absentValue = "", names={"-ps", "--propertysource"})
-                                       @Descriptor("The property source name, empty returns a list of possible values")String propertysource) throws IOException {
-        System.out.println(org.apache.tamaya.osgi.commands.ConfigCommands.getPropertySource(propertysource));
-    }
-
-    @Descriptor("Show details of all registered property sources.")
-    public void tm_propertysources() throws IOException {
-        System.out.println(org.apache.tamaya.osgi.commands.ConfigCommands.getPropertySourceOverview());
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/HistoryCommands.java
----------------------------------------------------------------------
diff --git a/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/HistoryCommands.java b/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/HistoryCommands.java
deleted file mode 100644
index 906f471..0000000
--- a/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/HistoryCommands.java
+++ /dev/null
@@ -1,89 +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.gogo.shell;
-
-import org.apache.felix.service.command.Descriptor;
-import org.apache.felix.service.command.Parameter;
-import org.apache.tamaya.osgi.commands.TamayaConfigService;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-import java.io.IOException;
-import java.util.Objects;
-
-public class HistoryCommands {
-
-    private BundleContext context;
-
-    private <T> T getService(Class<T> type){
-        ServiceReference<T> cmRef = context.getServiceReference(type);
-        return context.getService(cmRef);
-    }
-
-    public HistoryCommands(BundleContext context){
-        this.context = Objects.requireNonNull(context);
-    }
-
-    @Descriptor("Deletes the getHistory of configuration changes.")
-    public void tm_history_delete(@Parameter(absentValue = Parameter.UNSPECIFIED, names={"-p", "--pid"})
-                                   @Descriptor("The PID.") String pid) throws IOException {
-        System.out.println(org.apache.tamaya.osgi.commands.HistoryCommands.clearHistory(
-                getService(TamayaConfigService.class),
-                pid));
-    }
-
-    @Descriptor("Deletes the full getHistory of configuration changes.")
-    public void tm_history_delete_all() throws IOException {
-        System.out.println(org.apache.tamaya.osgi.commands.HistoryCommands.clearHistory(
-                getService(TamayaConfigService.class),
-                null));
-    }
-
-    @Descriptor("Read the getHistory of configuration changes.")
-    public void tm_history_get(@Parameter(absentValue = "", names={"-p", "--pid"})
-                                @Descriptor("The PID.")String pid,
-                            @Parameter(absentValue = "", names={"-t", "--eventtypes"})
-                            @Descriptor("The comma separated Event types to filter, valid types are " +
-                            "PROPERTY,BEGIN,END")String eventTypes) throws IOException {
-        if(eventTypes.isEmpty()){
-            System.out.println(org.apache.tamaya.osgi.commands.HistoryCommands.getHistory(
-                    getService(TamayaConfigService.class),
-                    pid, null));
-        }else {
-            System.out.println(org.apache.tamaya.osgi.commands.HistoryCommands.getHistory(
-                    getService(TamayaConfigService.class),
-                    pid, eventTypes.split(",")));
-        }
-    }
-
-    @Descriptor("Get the maximum configuration change getHistory size.")
-    public void tm_history_maxsize() throws IOException {
-        System.out.println(String.valueOf(org.apache.tamaya.osgi.commands.HistoryCommands.getMaxHistorySize(
-                getService(TamayaConfigService.class))));
-    }
-
-    @Descriptor("Sets the maximum configuration change getHistory size.")
-    public void tm_history_maxsize_set(@Parameter(absentValue = Parameter.UNSPECIFIED, names={"-s", "--size"})
-                                   @Descriptor("The maximum size of getHistory entries stored.")int maxSize) throws IOException {
-        System.out.println(org.apache.tamaya.osgi.commands.HistoryCommands.setMaxHistorySize(
-                getService(TamayaConfigService.class),
-                maxSize));
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/SettingsCommands.java
----------------------------------------------------------------------
diff --git a/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/SettingsCommands.java b/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/SettingsCommands.java
deleted file mode 100644
index cf79f0a..0000000
--- a/osgi/gogo-shell/src/main/java/org/apache/tamaya/gogo/shell/SettingsCommands.java
+++ /dev/null
@@ -1,83 +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.gogo.shell;
-
-import org.apache.felix.service.command.Descriptor;
-import org.apache.felix.service.command.Parameter;
-import org.apache.tamaya.osgi.Policy;
-import org.apache.tamaya.osgi.commands.ConfigCommands;
-import org.apache.tamaya.osgi.commands.TamayaConfigService;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-import java.io.IOException;
-import java.util.Objects;
-
-public class SettingsCommands {
-
-    private BundleContext context;
-
-    public SettingsCommands(BundleContext context){
-        this.context = Objects.requireNonNull(context);
-    }
-
-    private <T> T getService(Class<T> type){
-        ServiceReference<T> cmRef = context.getServiceReference(type);
-        return context.getService(cmRef);
-    }
-
-    @Descriptor("Allows to disable/enable Tamaya configuration by default.")
-    public void tm_enable(@Parameter(absentValue = Parameter.UNSPECIFIED, names={"-e", "--enable"})
-                                   @Descriptor("if true Tamaya is enabled by default (default=false)") boolean enabled) throws IOException {
-        System.out.println(ConfigCommands.setDefaultEnabled(getService(TamayaConfigService.class), enabled));
-    }
-
-    @Descriptor("Access if Tamaya is currently enabled by default to change OSGI configuration.")
-    public void tm_enabled(){
-        System.out.println(ConfigCommands.getDefaultEnabled(getService(TamayaConfigService.class)));
-    }
-
-    @Descriptor("Get the default Tamaya configuration policy.")
-    public void tm_policy() throws IOException {
-        System.out.println(ConfigCommands.getDefaultOpPolicy(getService(TamayaConfigService.class)));
-    }
-
-    @Descriptor("Set the default Tamaya configuration policy.")
-    public void tm_policy_set(@Parameter(absentValue = Parameter.UNSPECIFIED, names={"-p", "--policy"})
-                                      @Descriptor("The policy to apply (required), one of: EXTEND, OVERRIDE, UPDATE_ONLY") Policy policy) throws IOException {
-        System.out.println(ConfigCommands.setDefaultOpPolicy(getService(TamayaConfigService.class), policy.toString()));
-    }
-
-    @Descriptor("Get info about the current Tamaya configuration settings.")
-    public void tm_info() throws IOException {
-        System.out.println(ConfigCommands.getInfo(getService(TamayaConfigService.class)));
-    }
-
-    @Descriptor("Flag if Tamaya is automatically triggering OSGI config updates, when according " +
-            "Tamaya configuration changes.")
-    public void tm_propagate_updates() throws IOException {
-        System.out.println(getService(TamayaConfigService.class).isAutoUpdateEnabled());
-    }
-
-    @Descriptor("Configure if Tamaya is automatically triggering OSGI config updates, when according " +
-            "Tamaya configuration changes.")
-    public void tm_propagate_updates_set(boolean enabled) throws IOException {
-        System.out.println(ConfigCommands.setAutoUpdateEnabled(getService(TamayaConfigService.class), enabled));
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/gogo-shell/src/test/java/org/apache/tamaya/gogo/shell/AbstractOSGITest.java
----------------------------------------------------------------------
diff --git a/osgi/gogo-shell/src/test/java/org/apache/tamaya/gogo/shell/AbstractOSGITest.java b/osgi/gogo-shell/src/test/java/org/apache/tamaya/gogo/shell/AbstractOSGITest.java
deleted file mode 100644
index 918ff97..0000000
--- a/osgi/gogo-shell/src/test/java/org/apache/tamaya/gogo/shell/AbstractOSGITest.java
+++ /dev/null
@@ -1,100 +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.gogo.shell;
-
-import org.apache.tamaya.osgi.TamayaConfigPlugin;
-import org.apache.tamaya.osgi.commands.TamayaConfigService;
-import org.junit.Before;
-import org.mockito.Mock;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.cm.Configuration;
-import org.osgi.service.cm.ConfigurationAdmin;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.*;
-
-/**
- * Created by atsticks on 27.09.17.
- */
-public abstract class AbstractOSGITest {
-
-    private Map<String,Hashtable<String, Object>> properties = new ConcurrentHashMap<>();
-
-    @Mock
-    protected BundleContext bundleContext;
-
-    @Mock
-    protected ConfigurationAdmin cm;
-
-    @Mock
-    private ServiceReference<ConfigurationAdmin> cmRef;
-    @Mock
-    private ServiceReference<TamayaConfigService> tamayaRef;
-
-    protected TamayaConfigService tamayaConfigPlugin;
-
-    protected Dictionary<String,Object> getProperties(String pid){
-        return this.properties.get(pid);
-    }
-
-    @Before
-    public void setup()throws Exception{
-        doAnswer(invocation -> {
-            return initConfigurationMock((String)invocation.getArguments()[0]);
-        }).when(cm).getConfiguration(any());
-        doAnswer(invocation -> {
-            return initConfigurationMock((String)invocation.getArguments()[0]);
-        }).when(cm).getConfiguration(any(), any());
-        doReturn(new Bundle[0]).when(bundleContext).getBundles();
-        doReturn(cmRef).when(bundleContext).getServiceReference(ConfigurationAdmin.class);
-        doReturn(cm).when(bundleContext).getService(cmRef);
-        doReturn(tamayaRef).when(bundleContext).getServiceReference(TamayaConfigService.class);
-        tamayaConfigPlugin = new TamayaConfigPlugin(bundleContext);
-        doReturn(tamayaConfigPlugin).when(bundleContext).getService(tamayaRef);
-    }
-
-    protected Configuration initConfigurationMock(final String pid)throws Exception{
-        Configuration config = mock(Configuration.class);
-        doAnswer(invocation -> {
-            Hashtable<String,Object> props = properties.get(pid);
-            props.clear();
-            props.putAll((Map<? extends String, ?>) invocation.getArguments()[0]);
-            return null;
-        }).when(config).update(any(Dictionary.class));
-        doAnswer(invocation -> {
-            Hashtable<String,Object> props = properties.get(pid);
-            if(props==null){
-                props = new Hashtable<>();
-                properties.put(pid, props);
-                for(Map.Entry en:System.getProperties().entrySet()){
-                    props.put(en.getKey().toString(), en.getValue());
-                }
-            }
-            return new Hashtable<>(props);
-        }).when(config).getProperties();
-        return config;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/gogo-shell/src/test/java/org/apache/tamaya/gogo/shell/ActivatorTest.java
----------------------------------------------------------------------
diff --git a/osgi/gogo-shell/src/test/java/org/apache/tamaya/gogo/shell/ActivatorTest.java b/osgi/gogo-shell/src/test/java/org/apache/tamaya/gogo/shell/ActivatorTest.java
deleted file mode 100644
index 03608c3..0000000
--- a/osgi/gogo-shell/src/test/java/org/apache/tamaya/gogo/shell/ActivatorTest.java
+++ /dev/null
@@ -1,46 +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.gogo.shell;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
-
-import static org.mockito.Matchers.anyObject;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.verify;
-
-/**
- * Created by atsti on 30.09.2017.
- */
-@RunWith(MockitoJUnitRunner.class)
-public class ActivatorTest extends AbstractOSGITest{
-
-    @Test
-    public void startStop() throws Exception {
-        Activator activator = new Activator();
-        activator.start(super.bundleContext);
-        verify(bundleContext).registerService(eq(BackupCommands.class), anyObject(), anyObject());
-        verify(bundleContext).registerService(eq(ConfigCommands.class), anyObject(), anyObject());
-        verify(bundleContext).registerService(eq(HistoryCommands.class), anyObject(), anyObject());
-        verify(bundleContext).registerService(eq(SettingsCommands.class), anyObject(), anyObject());
-        activator.stop(super.bundleContext);
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/injection/bnd.bnd
----------------------------------------------------------------------
diff --git a/osgi/injection/bnd.bnd b/osgi/injection/bnd.bnd
deleted file mode 100644
index 69e9637..0000000
--- a/osgi/injection/bnd.bnd
+++ /dev/null
@@ -1,34 +0,0 @@
--buildpath: \
-	osgi.annotation; version=6.0.0,\
-	osgi.core; version=6.0,\
-	osgi.cmpn; version=6.0
-
--testpath: \
-	${junit}
-
-javac.source: 1.8
-javac.target: 1.8
-
-Bundle-Activator: org.apache.tamaya.osgi.injection.Activator
-Bundle-Version: ${version}.${tstamp}
-Bundle-Name: Apache Tamaya - OSGI Configuration Injection
-Bundle-SymbolicName: org.apache.tamaya.osgi.injection
-Bundle-Description: Apacha Tamaya Configuration - OSGI Service Configuration Injection
-Bundle-Category: Implementation
-Bundle-Copyright: (C) Apache Foundation
-Bundle-License: Apache Licence version 2
-Bundle-Vendor: Apache Software Foundation
-Bundle-ContactAddress: dev-tamaya@incubator.apache.org
-Bundle-DocURL: http://tamaya.apache.org
-Import-Package: \
-    org.osgi.service.cm,\
-    org.osgi.framework,\
-    org.osgi.util.tracker,\
-    org.apache.tamaya,\
-    org.apache.tamaya.spi,\
-    org.apache.tamaya.functions,\
-    org.apache.tamaya.spisupport,\
-    org.apache.tamaya.osgi,\
-    org.apache.tamaya.inject.api,\
-    org.apache.tamaya.inject.spi,\
-    org.apache.tamaya.inject

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/injection/pom.xml
----------------------------------------------------------------------
diff --git a/osgi/injection/pom.xml b/osgi/injection/pom.xml
deleted file mode 100644
index 692e98f..0000000
--- a/osgi/injection/pom.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?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>
-
-    <parent>
-        <groupId>org.apache.tamaya.ext</groupId>
-        <artifactId>tamaya-osgi-all</artifactId>
-        <version>0.4-incubating-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>tamaya-osgi-injection</artifactId>
-    <packaging>jar</packaging>
-    <name>Apache Tamaya :: OSGI :: Config Injection</name>
-    <description>Tamaya OSGI Configuration Injector</description>
-
-    <dependencies>
-
-        <dependency>
-            <groupId>org.apache.tamaya.ext</groupId>
-            <artifactId>tamaya-injection</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.tamaya.ext</groupId>
-            <artifactId>tamaya-osgi</artifactId>
-            <version>${project.parent.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.compendium</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.core</artifactId>
-        </dependency>
-
-        <!-- Testing -->
-        <dependency>
-            <groupId>org.hamcrest</groupId>
-            <artifactId>java-hamcrest</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-core</artifactId>
-        </dependency>
-    </dependencies>
-
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/Activator.java
----------------------------------------------------------------------
diff --git a/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/Activator.java b/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/Activator.java
deleted file mode 100644
index d11d223..0000000
--- a/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/Activator.java
+++ /dev/null
@@ -1,61 +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.osgi.injection;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceRegistration;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-import java.util.logging.Logger;
-
-/**
- * Activator that registers the Tamaya commands for the Felix Gogo console used
- * in Apache Felix and Equinox.
- */
-public class Activator implements BundleActivator {
-
-    private static final Logger LOG = Logger.getLogger(Activator.class.getName());
-
-    private TamayaOSGIInjector injector;
-    private ServiceRegistration<TamayaOSGIInjector> injectorReg;
-
-    @Override
-    public void start(BundleContext context) throws Exception {
-        LOG.finest("Registering Tamaya OSGI Config injector...");
-        injector = new TamayaOSGIInjector(context);
-        Dictionary<String, Object> props = new Hashtable<>();
-        injectorReg = context.registerService(
-                TamayaOSGIInjector.class,
-                injector, props);
-        injector.start();
-        LOG.finest("Registered Tamaya OSGI Config injector.");
-    }
-
-    @Override
-    public void stop(BundleContext context) throws Exception {
-        LOG.finest("Unregistering Tamaya Config injector...");
-        if (injectorReg != null) {
-            injector.stop();
-            injectorReg.unregister();
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/OSGIConfigAdminPropertySource.java
----------------------------------------------------------------------
diff --git a/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/OSGIConfigAdminPropertySource.java b/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/OSGIConfigAdminPropertySource.java
deleted file mode 100644
index 529468e..0000000
--- a/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/OSGIConfigAdminPropertySource.java
+++ /dev/null
@@ -1,108 +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.osgi.injection;
-
-import org.apache.tamaya.spi.PropertyValue;
-import org.apache.tamaya.spisupport.BasePropertySource;
-import org.osgi.service.cm.Configuration;
-import org.osgi.service.cm.ConfigurationAdmin;
-
-import java.io.IOException;
-import java.util.*;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * This is a Tamaya PropertySource, which internally wraps the OSGI ConfigAdmin service, preconfigured
- * for a PID and (optionally) location.
- */
-public class OSGIConfigAdminPropertySource extends BasePropertySource{
-
-    private static final Logger LOG = Logger.getLogger(OSGIConfigAdminPropertySource.class.getName());
-    private ConfigurationAdmin configurationAdmin;
-    private String pid;
-    private String location;
-
-    public OSGIConfigAdminPropertySource(ConfigurationAdmin configurationAdmin, String pid){
-        this.configurationAdmin = Objects.requireNonNull(configurationAdmin);
-        this.pid = Objects.requireNonNull(pid);
-    }
-
-    public OSGIConfigAdminPropertySource(ConfigurationAdmin configurationAdmin, String pid, String location){
-        this.configurationAdmin = Objects.requireNonNull(configurationAdmin);
-        this.pid = Objects.requireNonNull(pid);
-        this.location = location;
-    }
-
-    /**
-     * Get the configured OSGI service PID.
-     * @return the pid, nnever null.
-     */
-    public String getPid() {
-        return pid;
-    }
-
-    /**
-     * Get the configured OSGI config location, may be null.
-     * @return the location, or null.
-     */
-    public String getLocation() {
-        return location;
-    }
-
-    @Override
-    public PropertyValue get(String key) {
-        try {
-            Configuration osgiConfig = configurationAdmin.getConfiguration(pid, location);
-            Dictionary<String,Object> props = osgiConfig.getProperties();
-            if(props!=null){
-                Object value = props.get(key);
-                if(value!=null) {
-                    return PropertyValue.of(key, String.valueOf(value), "OSGI ConfigAdmin: " + pid);
-                }
-            }
-        } catch (IOException e) {
-            LOG.log(Level.FINEST,  e, () -> "No config for PID: " + pid);
-        }
-        return null;
-    }
-
-    @Override
-    public Map<String, PropertyValue> getProperties() {
-        try {
-            Configuration osgiConfig = configurationAdmin.getConfiguration(pid);
-            Dictionary<String,Object> props = osgiConfig.getProperties();
-            if(props!=null){
-                Map<String, PropertyValue> result = new HashMap<>();
-                Enumeration<String> keys = props.keys();
-                while(keys.hasMoreElements()){
-                    String key = keys.nextElement();
-                    Object value = props.get(key);
-                    result.put(key, PropertyValue.of(key, String.valueOf(value), "OSGI ConfigAdmin: " + pid));
-                }
-                return result;
-            }
-        } catch (IOException e) {
-            LOG.log(Level.FINEST,  e, () -> "No config for PID: " + pid);
-        }
-        return Collections.emptyMap();
-    }
-}
-
-

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/OSGIConfigurationInjector.java
----------------------------------------------------------------------
diff --git a/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/OSGIConfigurationInjector.java b/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/OSGIConfigurationInjector.java
deleted file mode 100644
index 887939b..0000000
--- a/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/OSGIConfigurationInjector.java
+++ /dev/null
@@ -1,75 +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.osgi.injection;
-
-import org.apache.tamaya.Configuration;
-import org.apache.tamaya.ConfigurationProvider;
-import org.apache.tamaya.inject.ConfigurationInjection;
-import org.osgi.service.cm.ConfigurationAdmin;
-
-import java.util.Objects;
-import java.util.function.Supplier;
-
-/**
- * Created by atsti on 03.10.2017.
- */
-final class OSGIConfigurationInjector{
-
-    private ConfigurationAdmin cm;
-    private Configuration tamayaOSGIConfiguration;
-    private String pid;
-    private String location;
-
-
-    public OSGIConfigurationInjector(ConfigurationAdmin cm, String pid){
-        this(cm, pid, null);
-    }
-
-    public OSGIConfigurationInjector(ConfigurationAdmin cm, String pid, String location){
-        this.cm = Objects.requireNonNull(cm);
-        tamayaOSGIConfiguration = ConfigurationProvider.createConfiguration(
-                ConfigurationProvider.getConfigurationContextBuilder()
-                .addDefaultPropertyConverters()
-                .addDefaultPropertyFilters()
-                .addPropertySources(new OSGIConfigAdminPropertySource(cm, pid, location))
-                .build());
-    }
-
-    public <T> T configure(T instance){
-        return ConfigurationInjection.getConfigurationInjector()
-                .configure(instance, tamayaOSGIConfiguration);
-    }
-
-    public <T> Supplier<T> getConfiguredSupplier(java.util.function.Supplier<T> supplier){
-        return ConfigurationInjection.getConfigurationInjector()
-                .getConfiguredSupplier(supplier, tamayaOSGIConfiguration);
-    }
-
-    /**
-     * Creates a template implementing the annotated methods based on current configuration data.
-     *
-     * @param <T> the type of the template.
-     * @param templateType the type of the template to be created.
-     * @return the configured template.
-     */
-    public <T> T createTemplate(Class<T> templateType){
-        return ConfigurationInjection.getConfigurationInjector()
-                .createTemplate(templateType, tamayaOSGIConfiguration);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/TamayaOSGIInjector.java
----------------------------------------------------------------------
diff --git a/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/TamayaOSGIInjector.java b/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/TamayaOSGIInjector.java
deleted file mode 100644
index 19fd795..0000000
--- a/osgi/injection/src/main/java/org/apache/tamaya/osgi/injection/TamayaOSGIInjector.java
+++ /dev/null
@@ -1,112 +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.osgi.injection;
-
-import org.apache.tamaya.osgi.TamayaConfigPlugin;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Constants;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.cm.ConfigurationAdmin;
-import org.osgi.util.tracker.ServiceTracker;
-
-import java.util.Map;
-import java.util.Objects;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.logging.Logger;
-
-/**
- * Class that monitors services and configures them if they have {@code Tamaya-Config = true} in the
- * service settings.
- */
-public class TamayaOSGIInjector {
-
-    public static final String TAMAYA_INJECTION_ENABLED_MANIFEST = "Tamaya-Config-Inject";
-    public static final String TAMAYA_INJECTION_ENABLED_PROP = "tamaya-config-inject";
-    private static final Logger log = Logger.getLogger(TamayaConfigPlugin.class.getName());
-    private BundleContext context;
-    private ConfigurationAdmin cm;
-    private ServiceTracker<Object, Object> tracker;
-    private static final Map<String, OSGIConfigurationInjector> INJECTORS = new ConcurrentHashMap<>();
-
-    public TamayaOSGIInjector(BundleContext context) {
-        this.context = Objects.requireNonNull(context);
-    }
-
-    public void start(){
-        tracker = new ServiceTracker<Object, Object>(context, Object.class.getName(), null) {
-            @Override
-            public Object addingService(ServiceReference reference) {
-                log.info("Checking service for configuration: " + reference);
-                Object service =  super.addingService(reference);
-                if(isInjectionEnabled(reference)) {
-                    String pid = (String)reference.getProperty(Constants.SERVICE_PID);
-                    if(pid==null){
-                        pid = reference.getBundle().getSymbolicName();
-                    }
-                    OSGIConfigurationInjector injector = getInjector(pid, reference.getBundle().getLocation());
-                    injector.configure(service);
-                }
-                return service;
-            }
-
-            @Override
-            public void modifiedService(ServiceReference<Object> reference, Object service) {
-                super.modifiedService(reference, service);
-                if(isInjectionEnabled(reference)) {
-                    String pid = (String)reference.getProperty(Constants.SERVICE_PID);
-                    if(pid==null){
-                        pid = reference.getBundle().getSymbolicName();
-                    }
-                    OSGIConfigurationInjector injector = getInjector(pid, reference.getBundle().getLocation());
-                    injector.configure(service);
-                }
-            }
-        };
-        tracker.open(true);
-    }
-
-    public void stop(){
-        if(tracker!=null){
-            tracker.close();
-            tracker = null;
-        }
-    }
-
-    private OSGIConfigurationInjector getInjector(String pid, String location){
-        String key = location==null?pid.trim():pid.trim()+"::"+location.trim();
-        OSGIConfigurationInjector injector = INJECTORS.get(key);
-        if(injector==null){
-            injector = new OSGIConfigurationInjector(cm, pid, location);
-            INJECTORS.put(key, injector);
-        }
-        return injector;
-    }
-
-    public static boolean isInjectionEnabled(ServiceReference reference){
-        String enabledVal = (String)reference.getProperty(TAMAYA_INJECTION_ENABLED_PROP);
-        if(enabledVal!=null){
-            return Boolean.parseBoolean(enabledVal);
-        }
-        enabledVal = reference.getBundle().getHeaders().get(TAMAYA_INJECTION_ENABLED_MANIFEST);
-        if(enabledVal!=null){
-            return Boolean.parseBoolean(enabledVal);
-        }
-        return false;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/injection/src/test/java/org/apache/tamaya/osgi/injection/AbstractOSGITest.java
----------------------------------------------------------------------
diff --git a/osgi/injection/src/test/java/org/apache/tamaya/osgi/injection/AbstractOSGITest.java b/osgi/injection/src/test/java/org/apache/tamaya/osgi/injection/AbstractOSGITest.java
deleted file mode 100644
index e3f73c3..0000000
--- a/osgi/injection/src/test/java/org/apache/tamaya/osgi/injection/AbstractOSGITest.java
+++ /dev/null
@@ -1,99 +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.osgi.injection;
-
-import org.apache.tamaya.osgi.TamayaConfigPlugin;
-import org.junit.Before;
-import org.mockito.Mock;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.cm.Configuration;
-import org.osgi.service.cm.ConfigurationAdmin;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.*;
-
-/**
- * Created by atsticks on 27.09.17.
- */
-public abstract class AbstractOSGITest {
-
-    private Map<String,Hashtable<String, Object>> properties = new ConcurrentHashMap<>();
-
-    @Mock
-    protected BundleContext bundleContext;
-
-    @Mock
-    protected ConfigurationAdmin cm;
-
-    @Mock
-    private ServiceReference<ConfigurationAdmin> cmRef;
-    @Mock
-    private ServiceReference<TamayaConfigPlugin> tamayaRef;
-
-    protected TamayaConfigPlugin tamayaConfigPlugin;
-
-    protected Dictionary<String,Object> getProperties(String pid){
-        return this.properties.get(pid);
-    }
-
-    @Before
-    public void setup()throws Exception{
-        doAnswer(invocation -> {
-            return initConfigurationMock((String)invocation.getArguments()[0]);
-        }).when(cm).getConfiguration(any());
-        doAnswer(invocation -> {
-            return initConfigurationMock((String)invocation.getArguments()[0]);
-        }).when(cm).getConfiguration(any(), any());
-        doReturn(new Bundle[0]).when(bundleContext).getBundles();
-        doReturn(cmRef).when(bundleContext).getServiceReference(ConfigurationAdmin.class);
-        doReturn(cm).when(bundleContext).getService(cmRef);
-        doReturn(tamayaRef).when(bundleContext).getServiceReference(TamayaConfigPlugin.class);
-        tamayaConfigPlugin = new TamayaConfigPlugin(bundleContext);
-        doReturn(tamayaConfigPlugin).when(bundleContext).getService(tamayaRef);
-    }
-
-    protected Configuration initConfigurationMock(final String pid)throws Exception{
-        Configuration config = mock(Configuration.class);
-        doAnswer(invocation -> {
-            Hashtable<String,Object> props = properties.get(pid);
-            props.clear();
-            props.putAll((Map<? extends String, ?>) invocation.getArguments()[0]);
-            return null;
-        }).when(config).update(any(Dictionary.class));
-        doAnswer(invocation -> {
-            Hashtable<String,Object> props = properties.get(pid);
-            if(props==null){
-                props = new Hashtable<>();
-                properties.put(pid, props);
-                for(Map.Entry en:System.getProperties().entrySet()){
-                    props.put(en.getKey().toString(), en.getValue());
-                }
-            }
-            return new Hashtable<>(props);
-        }).when(config).getProperties();
-        return config;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/injection/src/test/java/org/apache/tamaya/osgi/injection/ActivatorTest.java
----------------------------------------------------------------------
diff --git a/osgi/injection/src/test/java/org/apache/tamaya/osgi/injection/ActivatorTest.java b/osgi/injection/src/test/java/org/apache/tamaya/osgi/injection/ActivatorTest.java
deleted file mode 100644
index 9cd587f..0000000
--- a/osgi/injection/src/test/java/org/apache/tamaya/osgi/injection/ActivatorTest.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.osgi.injection;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
-
-import static org.mockito.Matchers.anyObject;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.verify;
-
-/**
- * Created by atsti on 03.10.2017.
- */
-@RunWith(MockitoJUnitRunner.class)
-public class ActivatorTest extends AbstractOSGITest{
-
-    @Test
-    public void startStop() throws Exception {
-        Activator activator = new Activator();
-        activator.start(this.bundleContext);
-        verify(bundleContext).registerService(eq(TamayaOSGIInjector.class), anyObject(), anyObject());
-        activator.stop(this.bundleContext);
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/injection/src/test/java/org/apache/tamaya/osgi/injection/OSGIConfigAdminPropertySourceTest.java
----------------------------------------------------------------------
diff --git a/osgi/injection/src/test/java/org/apache/tamaya/osgi/injection/OSGIConfigAdminPropertySourceTest.java b/osgi/injection/src/test/java/org/apache/tamaya/osgi/injection/OSGIConfigAdminPropertySourceTest.java
deleted file mode 100644
index f83ac56..0000000
--- a/osgi/injection/src/test/java/org/apache/tamaya/osgi/injection/OSGIConfigAdminPropertySourceTest.java
+++ /dev/null
@@ -1,65 +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.osgi.injection;
-
-import org.apache.tamaya.spi.PropertyValue;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
-
-import java.util.Map;
-
-import static org.junit.Assert.*;
-
-/**
- * Created by atsti on 03.10.2017.
- */
-@RunWith(MockitoJUnitRunner.class)
-public class OSGIConfigAdminPropertySourceTest extends AbstractOSGITest{
-
-    OSGIConfigAdminPropertySource propertySource;
-
-    @Before
-    public void init(){
-        propertySource = new OSGIConfigAdminPropertySource(cm, "tamaya");
-    }
-
-    @Test
-    public void get() throws Exception {
-        PropertyValue val = propertySource.get("java.home");
-        assertNotNull(val);
-        assertEquals(val.getKey(), "java.home");
-        assertEquals(val.getValue(), System.getProperty("java.home"));
-        val = propertySource.get("foo.bar");
-        assertNull(val);
-    }
-
-    @Test
-    public void getProperties() throws Exception {
-        Map<String,PropertyValue> props = propertySource.getProperties();
-        assertNotNull(props);
-        PropertyValue val = props.get("java.home");
-        assertEquals(val.getKey(), "java.home");
-        assertEquals(val.getValue(), System.getProperty("java.home"));
-        val = props.get("foo.bar");
-        assertNull(val);
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/injection/src/test/java/org/apache/tamaya/osgi/injection/OSGIConfigurationInjectorTest.java
----------------------------------------------------------------------
diff --git a/osgi/injection/src/test/java/org/apache/tamaya/osgi/injection/OSGIConfigurationInjectorTest.java b/osgi/injection/src/test/java/org/apache/tamaya/osgi/injection/OSGIConfigurationInjectorTest.java
deleted file mode 100644
index 6735e7a..0000000
--- a/osgi/injection/src/test/java/org/apache/tamaya/osgi/injection/OSGIConfigurationInjectorTest.java
+++ /dev/null
@@ -1,97 +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.osgi.injection;
-
-import org.apache.tamaya.inject.api.Config;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
-
-import java.util.function.Supplier;
-
-import static org.junit.Assert.*;
-
-/**
- * Created by atsti on 03.10.2017.
- */
-@RunWith(MockitoJUnitRunner.class)
-public class OSGIConfigurationInjectorTest extends AbstractOSGITest{
-
-
-    @Test
-    public void configure() throws Exception {
-        OSGIConfigurationInjector injector = new OSGIConfigurationInjector(cm, "OSGIConfigurationInjectorTest");
-        Example example = new Example();
-        Example result = injector.configure(example);
-        assertNotNull(result);
-        assertTrue(result==example);
-        checkExampleConfig(example);
-    }
-
-    @Test
-    public void getConfiguredSupplier() throws Exception {
-        OSGIConfigurationInjector injector = new OSGIConfigurationInjector(cm, "OSGIConfigurationInjectorTest");
-        Supplier<Example> supplier = injector.getConfiguredSupplier(Example::new);
-        assertNotNull(supplier);
-        Example example = supplier.get();
-        checkExampleConfig(example);
-    }
-
-    @Test
-    public void createTemplate() throws Exception {
-        OSGIConfigurationInjector injector = new OSGIConfigurationInjector(cm, "OSGIConfigurationInjectorTest");
-        TemplateExample template = injector.createTemplate(TemplateExample.class);
-        checkExampleConfig(template);
-    }
-
-    private void checkExampleConfig(Example example) {
-        assertNotNull(example);
-        assertEquals(example.javaHome, System.getProperty("java.home"));
-        assertEquals(example.javaVersion, System.getProperty("java.version"));
-        assertEquals(example.javaUsed, true);
-    }
-
-    private void checkExampleConfig(TemplateExample template) {
-        assertNotNull(template);
-        assertEquals(template.getJavaHome(), System.getProperty("java.home"));
-        assertEquals(template.javaVersion(), System.getProperty("java.version"));
-        assertEquals(template.isJavaUsed(), true);
-    }
-
-    private static final class Example {
-        @Config("java.home")
-        String javaHome;
-        @Config("java.version")
-        String javaVersion;
-        @Config(value = "java.used", defaultValue = "true")
-        boolean javaUsed;
-    }
-
-    private interface TemplateExample {
-
-        @Config("java.home")
-        String getJavaHome();
-
-        @Config("java.version")
-        String javaVersion();
-
-        @Config(value = "java.used", defaultValue = "true")
-        boolean isJavaUsed();
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/karaf-features/pom.xml
----------------------------------------------------------------------
diff --git a/osgi/karaf-features/pom.xml b/osgi/karaf-features/pom.xml
deleted file mode 100644
index 8d8c2d4..0000000
--- a/osgi/karaf-features/pom.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?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.tamaya.ext</groupId>
-        <artifactId>tamaya-osgi-all</artifactId>
-        <version>0.4-incubating-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>tamaya-karaf-features</artifactId>
-    <packaging>feature</packaging>
-    <name>Apache Tamaya :: OSGI :: Karaf :: Features</name>
-    <description>Tamaya Karaf Feature Descriptor.</description>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <configuration>
-                    <startLevel>80</startLevel>
-                    <aggregateFeatures>true</aggregateFeatures>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>