http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/common/src/main/java/org/apache/tamaya/osgi/TamayaConfigPlugin.java
----------------------------------------------------------------------
diff --git 
a/osgi/common/src/main/java/org/apache/tamaya/osgi/TamayaConfigPlugin.java 
b/osgi/common/src/main/java/org/apache/tamaya/osgi/TamayaConfigPlugin.java
deleted file mode 100644
index e095b14..0000000
--- a/osgi/common/src/main/java/org/apache/tamaya/osgi/TamayaConfigPlugin.java
+++ /dev/null
@@ -1,444 +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;
-
-import org.apache.tamaya.osgi.commands.TamayaConfigService;
-import org.osgi.framework.*;
-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;
-
-/**
- * Tamaya plugin that updates/extends the component configurations managed
- * by {@link ConfigurationAdmin}, based on the configured {@link Policy}.
- */
-public class TamayaConfigPlugin implements TamayaConfigService,BundleListener, 
ServiceListener{
-    static final String COMPONENTID = "TamayaConfigPlugin";
-    /** the logger. */
-    private static final Logger LOG = 
Logger.getLogger(TamayaConfigPlugin.class.getName());
-
-    public static final String TAMAYA_POLICY_PROP = "tamaya-policy";
-    public static final String TAMAYA_POLICY_MANIFEST = "Tamaya-Policy";
-    public static final String TAMAYA_CUSTOM_ROOT_PROP = "tamaya-config-root";
-    public static final String TAMAYA_CUSTOM_ROOT_MANIFEST = 
"Tamaya-Config-Root";
-    public static final String TAMAYA_ENABLED_PROP = "tamaya-enabled";
-    public static final String TAMAYA_ENABLED_MANIFEST = "Tamaya-Enabled";
-    public static final String TAMAYA_AUTO_UPDATE_ENABLED_PROP = 
"tamaya-update-enabled";
-    public static final String TAMAYA_AUTO_UPDATE_ENABLED_MANIFEST = 
"Tamaya-Update-Enabled";
-    private boolean enabledByDefault = false;
-
-    private Policy defaultPolicy = Policy.OVERRIDE;
-
-    private ConfigChanger configChanger;
-    private boolean autoUpdateEnabled;
-
-    @Override
-    public void serviceChanged(ServiceEvent event) {
-        switch(event.getType()){
-            case ServiceEvent.REGISTERED:
-            case ServiceEvent.MODIFIED:
-                configureService(event);
-                break;
-            case ServiceEvent.UNREGISTERING:
-                // unconfigure...? Currently nothing here.
-                break;
-        }
-    }
-
-
-    /**
-     * Create a new getConfig.
-     * @param context the OSGI context
-     */
-    public TamayaConfigPlugin(BundleContext context) {
-        configChanger = new ConfigChanger(context);
-        Dictionary<String,Object> props = getPluginConfig();
-        Backups.restore(props);
-        ConfigHistory.restore(props);
-        initDefaultEnabled(props);
-        initAutoUpdateEnabled(props);
-        initDefaultOpMode(props);
-        initConfigs();
-    }
-
-    @Override
-    public void setAutoUpdateEnabled(boolean enabled){
-        this.autoUpdateEnabled = enabled;
-        setConfigValue(TAMAYA_AUTO_UPDATE_ENABLED_PROP, enabled);
-    }
-
-    @Override
-    public void setTamayaEnabledByDefault(boolean enabledByDefault){
-        this.enabledByDefault = enabledByDefault;
-        setConfigValue(TAMAYA_ENABLED_PROP, enabledByDefault);
-    }
-
-    @Override
-    public boolean isTamayaEnabledByDefault(){
-        return enabledByDefault;
-    }
-
-    @Override
-    public Policy getDefaultPolicy(){
-        return defaultPolicy;
-    }
-
-    @Override
-    public void setDefaultPolicy(Policy mode){
-        this.defaultPolicy = Objects.requireNonNull(mode);
-        setConfigValue(Policy.class.getSimpleName(), defaultPolicy.toString());
-    }
-
-    @Override
-    public void bundleChanged(BundleEvent event) {
-        switch(event.getType()){
-            case BundleEvent.STARTING:
-            case BundleEvent.LAZY_ACTIVATION:
-                configureBundle(event.getBundle());
-                break;
-        }
-    }
-
-    private void initConfigs() {
-        // Check for matching bundles already installed...
-        for(Bundle bundle:configChanger.getContext().getBundles()){
-            switch(bundle.getState()){
-                case Bundle.ACTIVE:
-                    configureBundle(bundle);
-                    break;
-            }
-        }
-    }
-
-    private void configureService(ServiceEvent event) {
-        // Optional MANIFEST entries
-        Bundle bundle = event.getServiceReference().getBundle();
-        if(!isBundleEnabled(bundle)){
-            return;
-        }
-        String pid = 
(String)event.getServiceReference().getProperty(Constants.SERVICE_PID);
-        if(pid==null){
-            LOG.finest("No service pid for: " + event.getServiceReference());
-            return;
-        }
-        configChanger.configure(pid, event.getServiceReference().getBundle(), 
defaultPolicy, false, false);
-        Dictionary<String,Object> props = getPluginConfig();
-        Backups.save(props);
-        ConfigHistory.save(props);
-        setPluginConfig(props);
-    }
-
-    @Override
-    public Dictionary<String,Object> updateConfig(String pid) {
-        return updateConfig(pid, defaultPolicy, false, false);
-    }
-
-    @Override
-    public Dictionary<String,Object> updateConfig(String pid, boolean dryRun) {
-        return updateConfig(pid, defaultPolicy, false, dryRun);
-    }
-
-    @Override
-    public Dictionary<String,Object> updateConfig(String pid, Policy opMode, 
boolean explicitMode, boolean dryRun) {
-        if(dryRun){
-            return configChanger.configure(pid, null, opMode, explicitMode, 
true);
-        }else {
-            LOG.fine("Updating getConfig for pid...: " + pid);
-            Dictionary<String,Object> result = configChanger.configure(pid, 
null, opMode, explicitMode, false);
-            Dictionary<String,Object> props = getPluginConfig();
-            Backups.save(props);
-            ConfigHistory.save(props);
-            setPluginConfig(props);
-            return result;
-        }
-    }
-
-    private void configureBundle(Bundle bundle) {
-        if(!isBundleEnabled(bundle)){
-            return;
-        }
-        String tamayaPid = 
bundle.getHeaders().get(TAMAYA_CUSTOM_ROOT_MANIFEST);
-        String pid = tamayaPid!=null?tamayaPid:bundle.getSymbolicName();
-        if(pid==null){
-            pid = bundle.getLocation();
-        }
-        if(pid==null){
-            LOG.finest(() -> "No PID/location for bundle " + 
bundle.getSymbolicName() + '('+bundle.getBundleId()+')');
-            return;
-        }
-        configChanger.configure(pid, bundle, defaultPolicy, false, false);
-        Dictionary<String,Object> props = getPluginConfig();
-        Backups.save(props);
-        ConfigHistory.save(props);
-        setPluginConfig(props);
-    }
-
-    @Override
-    public boolean isBundleEnabled(Bundle bundle){
-        // Optional MANIFEST entries
-        String bundleEnabledVal = 
bundle.getHeaders().get(TAMAYA_ENABLED_MANIFEST);
-        if(bundleEnabledVal==null && !enabledByDefault){
-            LOG.finest("tamaya.enabled=false: not configuring bundle: " + 
bundle.getSymbolicName());
-            return false;
-        }
-        if(bundleEnabledVal != null && 
!Boolean.parseBoolean(bundleEnabledVal)){
-            LOG.finest("Bundle is explcitly disabled for Tamaya: " + 
bundle.getSymbolicName());
-            return false;
-        }
-        if(bundleEnabledVal != null && Boolean.parseBoolean(bundleEnabledVal)){
-            LOG.finest("Bundle is explicitly enabled for Tamaya: " + 
bundle.getSymbolicName());
-            return true;
-        }
-        return true;
-    }
-
-    private boolean isAutoUpdateEnabled(Bundle bundle, 
Dictionary<String,Object> props) {
-        Object enabledVal = props.get(TAMAYA_AUTO_UPDATE_ENABLED_PROP);
-        if(enabledVal!=null){
-            return Boolean.parseBoolean(enabledVal.toString());
-        }
-        if(bundle!=null){
-            enabledVal = 
bundle.getHeaders().get(TAMAYA_AUTO_UPDATE_ENABLED_MANIFEST);
-            if(enabledVal!=null){
-                return Boolean.parseBoolean(enabledVal.toString());
-            }
-        }
-        return this.autoUpdateEnabled;
-    }
-
-    private void initAutoUpdateEnabled(Dictionary<String,Object> props) {
-        Object enabledVal = props.get(TAMAYA_AUTO_UPDATE_ENABLED_PROP);
-        if(enabledVal==null && 
System.getProperty(TAMAYA_AUTO_UPDATE_ENABLED_PROP)!=null){
-            enabledVal = 
Boolean.parseBoolean(System.getProperty(TAMAYA_AUTO_UPDATE_ENABLED_PROP));
-        }
-        if(enabledVal!=null){
-            this.autoUpdateEnabled = 
Boolean.parseBoolean(enabledVal.toString());
-        }
-        if(this.autoUpdateEnabled) {
-            LOG.info("Tamaya Automatic Config Update is enabled by default.");
-        }else{
-            LOG.info("Tamaya Automatic Config Update is disabled by default.");
-        }
-    }
-
-    private void initDefaultEnabled(Dictionary<String,Object> props) {
-        Object enabledVal = props.get(TAMAYA_ENABLED_PROP);
-        if(enabledVal==null && System.getProperty(TAMAYA_ENABLED_PROP)!=null){
-            enabledVal = 
Boolean.parseBoolean(System.getProperty(TAMAYA_ENABLED_PROP));
-        }
-        if(enabledVal!=null){
-            this.enabledByDefault = 
Boolean.parseBoolean(enabledVal.toString());
-        }
-        if(this.enabledByDefault) {
-            LOG.info("Tamaya Config is enabledByDefault by default. Add 
Tamaya-Enabled to your bundle manifests to enable it.");
-        }else{
-            LOG.info("Tamaya Config is enabled by default. Add Tamaya-Disabled 
to your bundle manifests to disable it.");
-        }
-    }
-
-    private void initDefaultOpMode(Dictionary<String,Object> props) {
-        String opVal = (String)props.get(Policy.class.getSimpleName());
-        if(opVal!=null){
-            try{
-                defaultPolicy = Policy.valueOf(opVal);
-            }catch(Exception e){
-                LOG.warning("Invalid Policy: " + opVal +", using default: " + 
defaultPolicy);
-            }
-        }
-    }
-
-    Dictionary<String, Object> getPluginConfig(){
-        Configuration config = null;
-        try {
-            config = 
configChanger.getConfigurationAdmin().getConfiguration(COMPONENTID);
-            Dictionary<String, Object> props = null;
-            if (config != null
-                    && config.getProperties() != null) {
-                props = config.getProperties();
-            } else {
-                props = new Hashtable<String, Object>();
-            }
-            return props;
-        } catch (IOException e) {
-            throw new IllegalStateException("No Tamaya plugin config.", e);
-        }
-    }
-
-    void setPluginConfig(Dictionary<String, Object> props){
-        Configuration config = null;
-        try {
-            config = 
configChanger.getConfigurationAdmin().getConfiguration(COMPONENTID);
-            if (config != null) {
-                config.update(props);
-            }
-        } catch (IOException e) {
-            LOG.log(Level.WARNING, "Failed to write Tamaya plugin config.", e);
-        }
-    }
-
-    void setConfigValue(String key, Object value){
-        try {
-            Dictionary<String, Object> props = getPluginConfig();
-            if(props!=null) {
-                props.put(key, value);
-                setPluginConfig(props);
-                LOG.finest("Updated Tamaya Plugin value: " + key + "=" + 
value);
-            }
-        } catch (Exception e) {
-            LOG.log(Level.WARNING, "Error writing Tamaya config value: " + 
key, e);
-        }
-    }
-
-    Object getConfigValue(String key){
-        try {
-            Dictionary<String, Object> props = getPluginConfig();
-            if(props!=null){
-                return props.get(key);
-            }
-        } catch (Exception e) {
-            LOG.log(Level.WARNING, "Error reading Tamaya config value.", e);
-        }
-        return null;
-    }
-
-
-    public org.apache.tamaya.Configuration getTamayaConfiguration(String root) 
{
-        return configChanger.getTamayaConfiguration(root);
-    }
-
-    @Override
-    public boolean isAutoUpdateEnabled() {
-        return this.autoUpdateEnabled;
-    }
-
-    @Override
-    public Dictionary<String, ?> getBackup(String pid) {
-        return Backups.get(pid);
-    }
-
-    @Override
-    public Set<String> getBackupPids() {
-        return Backups.getPids();
-    }
-
-    @Override
-    public boolean restoreBackup(String pid){
-        Dictionary<String,Object> config = (Dictionary<String,Object>) 
Backups.get(pid);
-        if(config==null){
-            return false;
-        }
-        try {
-            this.configChanger.restoreBackup(pid, config);
-            return true;
-        } catch (IOException e) {
-            LOG.log(Level.WARNING, "Error restoring backup for PID: " + pid, 
e);
-            return false;
-        }
-    }
-
-    @Override
-    public boolean createBackup(String pid) {
-        if(!Backups.contains(pid)) {
-            Backups.set(pid, getOSGIConfiguration(pid, null));
-            return true;
-        }
-        return false;
-    }
-
-    @Override
-    public boolean deleteBackup(String pid) {
-        if(Backups.contains(pid)) {
-            Backups.remove(pid);
-            return true;
-        }
-        return false;
-    }
-
-    @Override
-    public void setMaxHistorySize(int maxHistory) {
-        ConfigHistory.setMaxHistory(maxHistory);
-    }
-
-    @Override
-    public int getMaxHistorySize() {
-        return ConfigHistory.getMaxHistory();
-    }
-
-    @Override
-    public List<ConfigHistory> getHistory() {
-        return ConfigHistory.getHistory();
-    }
-
-    @Override
-    public void clearHistory() {
-        ConfigHistory.clearHistory();
-    }
-
-    @Override
-    public void clearHistory(String pid) {
-        ConfigHistory.clearHistory(pid);
-    }
-
-    @Override
-    public List<ConfigHistory> getHistory(String pid) {
-        return ConfigHistory.getHistory(pid);
-    }
-
-    @Override
-    public Dictionary<String, Object> getOSGIConfiguration(String pid, String 
section) {
-        try {
-            Configuration config = 
configChanger.getConfigurationAdmin().getConfiguration(pid);
-            Dictionary<String, Object> props = null;
-            if (config == null
-                    || config.getProperties() == null) {
-                return null;
-            }
-            props = config.getProperties();
-            if(section!=null){
-                return filter(props, section);
-            }
-            return props;
-        } catch (IOException e) {
-            LOG.log(Level.WARNING, "Error reading OSGI config for PID: " + 
pid, e);
-            return null;
-        }
-    }
-
-    @Override
-    public boolean containsBackup(String pid) {
-        return Backups.contains(pid);
-    }
-
-    private Dictionary<String, Object> filter(Dictionary<String, Object> 
props, String section) {
-        Hashtable<String, Object> result = new Hashtable<>();
-        Enumeration<String> keys = props.keys();
-        while(keys.hasMoreElements()){
-            String key = keys.nextElement();
-            if(key.startsWith(section)){
-                result.put(key, props.get(key));
-            }
-        }
-        return result;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/common/src/main/java/org/apache/tamaya/osgi/commands/BackupCommands.java
----------------------------------------------------------------------
diff --git 
a/osgi/common/src/main/java/org/apache/tamaya/osgi/commands/BackupCommands.java 
b/osgi/common/src/main/java/org/apache/tamaya/osgi/commands/BackupCommands.java
deleted file mode 100644
index d8734f7..0000000
--- 
a/osgi/common/src/main/java/org/apache/tamaya/osgi/commands/BackupCommands.java
+++ /dev/null
@@ -1,135 +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.osgi.service.cm.Configuration;
-import org.osgi.service.cm.ConfigurationAdmin;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.Dictionary;
-import java.util.Enumeration;
-
-
-/**
- * Utility class implementing the available backup related commands.
- */
-public final class BackupCommands {
-
-    /** Singleton constructor. */
-    private BackupCommands(){}
-
-    public static String createBackup(TamayaConfigService service, 
ConfigurationAdmin cm, String pid, boolean force) throws IOException {
-        Configuration cfg = cm.getConfiguration(pid);
-        if(cfg!=null){
-            Dictionary<String,?> props = cfg.getProperties();
-            if(props!=null){
-                if(force && service.getBackup(pid)!=null) {
-                    service.deleteBackup(pid);
-                }
-                if(service.createBackup(pid)){
-                    return "Backup created, PID = " + pid + '\n' +  
printProps(props);
-                }else{
-                    return "Creating backup failed. Backup already existing, 
PID = " + pid;
-                }
-            }
-        }
-        return "Creating backup failed. No Config found, PID = " + pid;
-    }
-
-    public static String deleteBackup(TamayaConfigService service, String pid) 
throws IOException {
-        if("*".equals(pid)){
-            for(String current: service.getBackupPids()){
-                service.deleteBackup(current);
-            }
-            return "All Backups deleted.";
-        }else {
-            service.deleteBackup(pid);
-            return "Backup deleted: " + pid;
-        }
-    }
-
-    public static String restoreBackup(TamayaConfigService plugin, String pid) 
throws IOException {
-        StringBuilder b = new StringBuilder("Restored Configurations:\n")
-                .append("------------------------\n");
-        if("*".equals(pid)){
-            for(String current: plugin.getBackupPids()){
-                try{
-                    if(plugin.restoreBackup(current)){
-                        b.append(current).append(" -> restored.\n");
-                    }else{
-                        b.append(current).append(" -> no backup found.\n");
-                    }
-                }catch(Exception e){
-                    b.append(current).append(" -> failed: 
").append(e).append('\n');
-                }
-            }
-            return b.toString();
-        }else {
-            try{
-                if(plugin.restoreBackup(pid)){
-                    return "Backup restored for PID: "+pid+"\n";
-                }else{
-                    return "Backup restore failed for PID "+pid+": no backup 
found.\n";
-                }
-            }catch(Exception e){
-                return "Backup restore failed for PID "+pid+", error: " + e + 
'\n';
-            }
-        }
-    }
-
-    public static String listBackup(TamayaConfigService plugin, String pid) 
throws IOException {
-        if(pid!=null){
-            Dictionary<String, ?> props = plugin.getBackup(pid);
-            if(props==null){
-                return "No backup found: " + pid;
-            }else{
-                return "PID: " + pid + '\n' +
-                        printProps(props);
-            }
-        }else {
-            StringWriter sw = new StringWriter();
-            PrintWriter pw = new PrintWriter(sw);
-            for(String current: plugin.getBackupPids()){
-                pw.println("PID: " + current);
-                pw.println(printProps(plugin.getBackup(current)));
-            }
-            return sw.toString();
-        }
-    }
-
-    public static String printProps(Dictionary<String, ?> props) {
-        StringWriter sw = new StringWriter();
-        PrintWriter pw = new PrintWriter(sw);
-        pw.println(StringUtil.format("  Key", 50));
-        pw.println(StringUtil.format("  Value", 50));
-        pw.println("  " + StringUtil.printRepeat("-", 100));
-        Enumeration<String> keys = props.keys();
-        while(keys.hasMoreElements()){
-            String key = keys.nextElement();
-            pw.print("  " + StringUtil.format(key, 50));
-            pw.println("  " + 
StringUtil.format(String.valueOf(props.get(key)), 50));
-        }
-        pw.println();
-        pw.flush();
-        return sw.toString();
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/common/src/main/java/org/apache/tamaya/osgi/commands/ConfigCommands.java
----------------------------------------------------------------------
diff --git 
a/osgi/common/src/main/java/org/apache/tamaya/osgi/commands/ConfigCommands.java 
b/osgi/common/src/main/java/org/apache/tamaya/osgi/commands/ConfigCommands.java
deleted file mode 100644
index 061b066..0000000
--- 
a/osgi/common/src/main/java/org/apache/tamaya/osgi/commands/ConfigCommands.java
+++ /dev/null
@@ -1,244 +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.Configuration;
-import org.apache.tamaya.ConfigurationProvider;
-import org.apache.tamaya.functions.ConfigurationFunctions;
-import org.apache.tamaya.osgi.Policy;
-import org.apache.tamaya.spi.PropertySource;
-import org.apache.tamaya.spi.PropertyValue;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.*;
-
-/**
- * Utility class implementing the available configuration related commands.
- */
-public final class ConfigCommands {
-
-    /** Singleton constructor. */
-    private ConfigCommands(){}
-
-    public static String getInfo(TamayaConfigService configPlugin) throws 
IOException {
-        Configuration config = ConfigurationProvider.getConfiguration();
-        return config.toString() + "\n\n"
-                + StringUtil.format("Default Policy:", 30) + 
configPlugin.getDefaultPolicy() + '\n'
-                + StringUtil.format("Default Enabled: ", 30) + 
configPlugin.isTamayaEnabledByDefault();
-    }
-
-    public static String readTamayaConfig(String section, String filter) {
-        Configuration config = ConfigurationProvider.getConfiguration();
-        if(section!=null){
-            config = config
-                    .with(ConfigurationFunctions.section(section, true));
-        }
-        if(filter!=null){
-            config = config.with(ConfigurationFunctions.section(filter, 
false));
-        }
-        return "Tamaya Configuration\n" +
-                "--------------------\n" +
-                "Section:     "+section +"\n" +
-                (filter!=null?"Filter:      "+filter + "\n":"") +
-                config.query(ConfigurationFunctions.textInfo());
-    }
-
-    public static String readTamayaConfig4PID(String pid, String filter) {
-        return readTamayaConfig("["+pid+"]", filter);
-    }
-
-    public static String applyTamayaConfiguration(TamayaConfigService 
configPlugin, String pid, String operationMode, boolean dryRun){
-        Dictionary<String,Object> config = null;
-        if(operationMode!=null){
-            config = configPlugin.updateConfig(pid, 
Policy.valueOf(operationMode), true, dryRun);
-            return  "Full configuration\n" +
-                    "------------------\n" +
-                    "PID           : " + pid + "\n" +
-                    "Policy : "+ operationMode + "\n" +
-                    "Applied       : " + !dryRun + "\n" +
-                    printOSGIConfig(pid, config);
-        }else{
-            config = configPlugin.updateConfig(pid, dryRun);
-            return  "Full configuration\n" +
-                    "------------------\n" +
-                    "PID           : " + pid + "\n" +
-                    "Policy : "+ configPlugin.getDefaultPolicy() + "\n" +
-                    "Applied       : " + !dryRun + "\n" +
-                    printOSGIConfig(pid, config);
-        }
-    }
-
-    public static String readOSGIConfiguration(TamayaConfigService 
configPlugin, String pid, String section) {
-        Dictionary<String,Object> config = 
configPlugin.getOSGIConfiguration(pid, section);
-        return printOSGIConfig(pid, config);
-    }
-
-    private static String printOSGIConfig(String pid, 
Dictionary<String,Object> config){
-        if(config.isEmpty()){
-            return "No Config present for PID: " + pid;
-        }
-        StringBuilder b = new StringBuilder();
-        b.append("OSGI Configuration for PID: ").append(pid).append('\n');
-        b.append("-----------------------------------------------------\n");
-        TreeMap<String,String> result = new TreeMap<>();
-        Enumeration<String> keys = config.keys();
-        while(keys.hasMoreElements()){
-            String key = keys.nextElement();
-            result.put(key, String.valueOf(config.get(key)));
-        }
-        for(Map.Entry<String,String> en:result.entrySet()){
-            b.append(StringUtil.format(en.getKey(), 40));
-            b.append(StringUtil.format(en.getValue(), 40));
-            b.append('\n');
-        }
-        return b.toString();
-    }
-
-    public static String getDefaultOpPolicy(TamayaConfigService configPlugin) 
throws IOException {
-        return String.valueOf(configPlugin.getDefaultPolicy());
-    }
-
-    public static String setDefaultOpPolicy(TamayaConfigService configPlugin, 
String policy) throws IOException {
-        Policy opMode = Policy.valueOf(policy);
-        configPlugin.setDefaultPolicy(opMode);
-        return "Policy="+opMode.toString();
-    }
-
-    public static String getProperty(String propertysource, String key, 
boolean extended) throws IOException {
-        Configuration config = ConfigurationProvider.getConfiguration();
-        if(propertysource!=null){
-            PropertySource ps = 
config.getContext().getPropertySource(propertysource);
-            if(ps==null){
-                return "ERR: No such Property Source: " + propertysource;
-            }else {
-                PropertyValue val = ps.get(key);
-                if(val==null){
-                    return "ERR: Property Source: " + propertysource + " - 
undefined key: " + key;
-                }else {
-                    if(extended) {
-                        return StringUtil.format("Property Source", 25) + 
StringUtil.format("Value", 25) + '\n' +
-                                StringUtil.format(propertysource, 25) + 
StringUtil.format(val.getValue(), 55);
-                    }else{
-                        return val.getValue();
-                    }
-                }
-            }
-        }else{
-            StringWriter sw = new StringWriter();
-            PrintWriter pw = new PrintWriter(sw);
-            pw.println(StringUtil.format("Property Source", 25) + 
StringUtil.format("Value", 25));
-            for(PropertySource ps:config.getContext().getPropertySources()){
-                PropertyValue val = ps.get(key);
-                if(val!=null){
-                    if(extended) {
-                        pw.println(StringUtil.format("", 25) + 
StringUtil.format(val.toString(), 55));
-                    }else{
-                        pw.println(StringUtil.format("", 25) + 
StringUtil.format(val.getValue(), 55));
-                    }
-                }
-            }
-            pw.flush();
-            return sw.toString();
-        }
-    }
-
-    public static String getPropertySource(String propertysource) throws 
IOException {
-        Configuration config = ConfigurationProvider.getConfiguration();
-        if(propertysource!=null){
-            PropertySource ps = 
config.getContext().getPropertySource(propertysource);
-            if(ps==null){
-                return "No such Property Source: " + propertysource;
-            }else {
-                StringWriter sw = new StringWriter();
-                PrintWriter pw = new PrintWriter(sw);
-                pw.println("Property Source");
-                pw.println("---------------");
-                pw.println(StringUtil.format("ID:", 20) + ps.getName());
-                pw.println(StringUtil.format("Ordinal:", 20) + 
ps.getOrdinal());
-                pw.println(StringUtil.format("Class:", 20) + 
ps.getClass().getName());
-                pw.println("Properties:");
-                pw.print(StringUtil.format("  Key", 20));
-                pw.print(StringUtil.format("Value", 20));
-                pw.print(StringUtil.format("Source", 20));
-                pw.println(StringUtil.format("Meta-Entries", 20));
-                pw.println(StringUtil.printRepeat("-", 80));
-                for(PropertyValue pv:ps.getProperties().values()) {
-                    pw.print("  " + StringUtil.format(pv.getKey(), 20));
-                    pw.print(StringUtil.format(pv.getValue(), 20));
-                    pw.print(StringUtil.format(pv.getSource(), 20));
-                    
pw.println(StringUtil.format(pv.getMetaEntries().toString(), 80));
-                }
-                pw.flush();
-                return sw.toString();
-            }
-        }
-        // Get a name of existing propertysources
-        List<String> result = new ArrayList<>();
-        for(PropertySource ps:config.getContext().getPropertySources()){
-            result.add(ps.getName());
-        }
-        StringBuilder b = new StringBuilder("Please select a property 
source:\n");
-        for(String name:result){
-            b.append(name).append('\n');
-        }
-        return b.toString();
-    }
-
-    public static String getPropertySourceOverview() throws IOException {
-        Configuration config = ConfigurationProvider.getConfiguration();
-        StringWriter sw = new StringWriter();
-        PrintWriter pw = new PrintWriter(sw);
-        pw.println("Property Sources");
-        pw.println("----------------");
-        pw.print(StringUtil.format("ID", 30));
-        pw.print(StringUtil.format("Ordinal", 20));
-        pw.print(StringUtil.format("Class", 40));
-        pw.println(StringUtil.format("Property Count", 5));
-        pw.println(StringUtil.printRepeat("-", 80));
-        for(PropertySource ps:config.getContext().getPropertySources()){
-            pw.print(StringUtil.format(ps.getName(), 30));
-            pw.print(StringUtil.format(String.valueOf(ps.getOrdinal()), 20));
-            pw.print(StringUtil.format(ps.getClass().getName(), 40));
-            
pw.println(StringUtil.format(String.valueOf(ps.getProperties().size()), 5));
-            pw.println("---");
-        }
-        pw.flush();
-        return sw.toString();
-    }
-
-    public static String setDefaultEnabled(TamayaConfigService configPlugin, 
boolean enabled) throws IOException {
-        configPlugin.setTamayaEnabledByDefault(enabled);
-        return TamayaConfigService.TAMAYA_ENABLED_PROP+"="+enabled;
-    }
-
-    public static String getDefaultEnabled(TamayaConfigService configPlugin) {
-        return String.valueOf(configPlugin.isTamayaEnabledByDefault());
-    }
-
-    public static String setAutoUpdateEnabled(TamayaConfigService 
configPlugin, boolean enabled) {
-        configPlugin.setAutoUpdateEnabled(enabled);
-        return TamayaConfigService.TAMAYA_AUTO_UPDATE_ENABLED_PROP+"="+enabled;
-    }
-
-    public static String getAutoUpdateEnabled(TamayaConfigService 
configPlugin) {
-        return String.valueOf(configPlugin.isAutoUpdateEnabled());
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/common/src/main/java/org/apache/tamaya/osgi/commands/HistoryCommands.java
----------------------------------------------------------------------
diff --git 
a/osgi/common/src/main/java/org/apache/tamaya/osgi/commands/HistoryCommands.java
 
b/osgi/common/src/main/java/org/apache/tamaya/osgi/commands/HistoryCommands.java
deleted file mode 100644
index f58516d..0000000
--- 
a/osgi/common/src/main/java/org/apache/tamaya/osgi/commands/HistoryCommands.java
+++ /dev/null
@@ -1,95 +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.ConfigHistory;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-
-/**
- * Utility class implementing the available change getHistory related commands.
- */
-public final class HistoryCommands{
-
-    /** Singleton constructor. */
-    private HistoryCommands(){}
-
-    public static String clearHistory(TamayaConfigService service, String pid) 
throws IOException {
-        int size = service.getHistory(pid).size();
-        service.clearHistory(pid);
-        return "Deleted getHistory for PID: " + pid;
-    }
-
-    public static String getHistory(TamayaConfigService service, String pid, 
String... events) throws IOException {
-        StringWriter sw = new StringWriter();
-        PrintWriter pw = new PrintWriter(sw);
-        List<ConfigHistory> history = service.getHistory(pid);
-        history = filterTypes(history, events);
-        pw.print(StringUtil.format("Type", 10));
-        pw.print(StringUtil.format("PID", 30));
-        pw.print(StringUtil.format("Key", 30));
-        pw.print(StringUtil.format("Value", 40));
-        pw.println(StringUtil.format("Previous Value", 40));
-        pw.println(StringUtil.printRepeat("-", 140));
-        for(ConfigHistory h:history){
-            pw.print(StringUtil.format(h.getType().toString(), 10));
-            pw.print(StringUtil.format(h.getPid(), 30));
-            pw.print(StringUtil.format(h.getKey(), 30));
-            pw.print(StringUtil.format(String.valueOf(h.getValue()), 40));
-            pw.println(String.valueOf(h.getPreviousValue()));
-        }
-        pw.flush();
-        return sw.toString();
-    }
-
-    public static String getMaxHistorySize(TamayaConfigService service){
-        return String.valueOf(service.getMaxHistorySize());
-    }
-
-    public static String setMaxHistorySize(TamayaConfigService service, int 
maxSize){
-        service.setMaxHistorySize(maxSize);
-        return "tamaya-max-getHistory-size="+maxSize;
-    }
-
-    private static List<ConfigHistory> filterTypes(List<ConfigHistory> 
history, String... eventTypes) {
-        if(eventTypes==null || eventTypes.length==0){
-            return history;
-        }
-        List<ConfigHistory> result = new ArrayList<>();
-        Set<ConfigHistory.TaskType> types = new HashSet<>();
-        for(String tt:eventTypes) {
-            types.add(ConfigHistory.TaskType.valueOf(tt));
-        }
-        for(ConfigHistory h:history){
-            if(types.contains(h.getType())){
-                result.add(h);
-            }
-        }
-        return result;
-    }
-
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/common/src/main/java/org/apache/tamaya/osgi/commands/StringUtil.java
----------------------------------------------------------------------
diff --git 
a/osgi/common/src/main/java/org/apache/tamaya/osgi/commands/StringUtil.java 
b/osgi/common/src/main/java/org/apache/tamaya/osgi/commands/StringUtil.java
deleted file mode 100644
index f7b29ac..0000000
--- a/osgi/common/src/main/java/org/apache/tamaya/osgi/commands/StringUtil.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.osgi.commands;
-
-/**
- * Some String related helper methods.
- */
-public final class StringUtil {
-
-    private StringUtil(){}
-
-    public static String format(String in, int length){
-        if(in==null){
-            in = "";
-        }
-        int count = length - in.length();
-        if(count<0){
-            return in.substring(0,length-3) + "...";
-        }
-        return in + printRepeat(" ", count);
-    }
-
-    public static String printRepeat(String s, int times) {
-        StringBuilder b = new StringBuilder();
-        for(int i=0;i<times;i++){
-            b.append(s);
-        }
-        return b.toString();
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-sandbox/blob/eeab5ce0/osgi/common/src/main/java/org/apache/tamaya/osgi/commands/TamayaConfigService.java
----------------------------------------------------------------------
diff --git 
a/osgi/common/src/main/java/org/apache/tamaya/osgi/commands/TamayaConfigService.java
 
b/osgi/common/src/main/java/org/apache/tamaya/osgi/commands/TamayaConfigService.java
deleted file mode 100644
index 99cd5fb..0000000
--- 
a/osgi/common/src/main/java/org/apache/tamaya/osgi/commands/TamayaConfigService.java
+++ /dev/null
@@ -1,206 +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.ConfigHistory;
-import org.apache.tamaya.osgi.Policy;
-import org.osgi.framework.Bundle;
-
-import java.util.Dictionary;
-import java.util.List;
-import java.util.Set;
-
-/**
- * Service exposing the Tamaya OSGI configuration logic.
- */
-public interface TamayaConfigService{
-    /** The system/config property to set Tamaya's {@link Policy}. */
-    String TAMAYA_POLICY_PROP = "tamaya-policy";
-    /** The MANIFEST property to set Tamaya's {@link Policy}. */
-    String TAMAYA_POLICY_MANIFEST = "Tamaya-Policy";
-    /** The system/config property to define a customized Tamaya's 
configuration root, replacing the {@code [PID]} default
-     * prefix used. */
-    String TAMAYA_CUSTOM_ROOT_PROP = "tamaya-config-root";
-    /** The MANIFEST property to define a customized Tamaya's configuration 
root, replacing the {@code [PID]} default
-     * prefix used. */
-    String TAMAYA_CUSTOM_ROOT_MANIFEST = "Tamaya-Config-Root";
-    /** The system/config property to enable Tamaya. */
-    String TAMAYA_ENABLED_PROP = "tamaya-enabled";
-    /** The MANIFEST property to enable Tamaya. */
-    String TAMAYA_ENABLED_MANIFEST = "Tamaya-Enabled";
-    /** The system/config property to enable Tamaya automatic updates 
(requires Tamaya's Updater plugin to be loaded as well). */
-    String TAMAYA_AUTO_UPDATE_ENABLED_PROP = "tamaya-update-enabled";
-    /** The MANIFEST property to enable Tamaya automatic updates (requires 
Tamaya's Updater plugin to be loaded as well). */
-    String TAMAYA_AUTO_UPDATE_ENABLED_MANIFEST = "Tamaya-Update-Enabled";
-
-    /**
-     * Enables/disables automatic updates (requires Tamaya's Updater plugin to 
be loaded as well).
-     * @param enabled set to true to enable updates.
-     */
-    void setAutoUpdateEnabled(boolean enabled);
-
-    /**
-     * Enables/disables Tamaya config by default.
-     * @param enabled set to true to enable Tamaya for all bundles by default.
-     */
-    void setTamayaEnabledByDefault(boolean enabled);
-
-    /**
-     * Get the flag, if Tamaya is enabled by default for all bundles.
-     * @return true if Tamaya is enabled.
-     */
-    boolean isTamayaEnabledByDefault();
-
-    /**
-     * Get the default policy Tamaya is using for adapting OSGI configuration.
-     * @return the default policy, never null.
-     */
-    Policy getDefaultPolicy();
-
-    /**
-     * Set the default policy Tamaya is using for adapting OSGI configuration.
-     * @param policy the policy, not null.
-     */
-    void setDefaultPolicy(Policy policy);
-
-    /**
-     * Updates the given OSGI configuration with Tamaya configuration.
-     * @param pid the target PID, not null.
-     * @return the new configuration.
-     */
-    Dictionary<String,Object> updateConfig(String pid);
-
-    /**
-     * Updates the given OSGI configuration with Tamaya configuration.
-     * @param pid the target PID, not null.
-     * @param dryRun if true, the changes will not be applied to the OSGI 
configuration.
-     * @return the configuration that would be applied, has been applied.
-     */
-    Dictionary<String,Object> updateConfig(String pid, boolean dryRun);
-
-    /**
-     * Updates the given OSGI configuration with Tamaya configuration.
-     * @param pid the target PID, not null.
-     * @param policy the updating policy to be used, by default.
-     * @param forcePolicy if set to true, the given policy will be used, even 
if an alternate policy is configured
-     *                    for the given PID.
-     * @param dryRun if true, the changes will not be applied to the OSGI 
configuration.
-     * @return the configuration that would be applied, has been applied.
-     */
-    Dictionary<String,Object> updateConfig(String pid, Policy policy, boolean 
forcePolicy, boolean dryRun);
-
-    /**
-     * Checks if a bundle is enabled for Tamaya configuration.
-     * @param bundle the bundle, not null.
-     * @return true, if the bundle is enabled.
-     */
-    boolean isBundleEnabled(Bundle bundle);
-
-    /**
-     * Get the flag if automatic updates for config changes are enabled.
-     * @return true, if automatic updates for config changes are enabled.
-     */
-    boolean isAutoUpdateEnabled();
-
-    /**
-     * Get the backup written for a PID.
-     * @param pid the pid, not null.
-     * @return the backup, or null, if no backup is present.
-     */
-    Dictionary<String,?> getBackup(String pid);
-
-    /**
-     * Get all current known PIDs for which backups are registered.
-     * @return all known PIDs for which backups are registered.
-     */
-    Set<String> getBackupPids();
-
-    /**
-     * Restores a backup, replacing the current OSGI configuration with the 
backup and
-     * disabling Tamaya for this PID.
-     * @param pid the PID, not null.
-     * @return true, if a backup has been restored successfully.
-     */
-    boolean restoreBackup(String pid);
-
-    /**
-     * Stores the current OSGI configuration as a backup (only if no backup is 
existing).
-     * @param pid the target PID, not null.
-     * @return true, if a backup has been stored successfully.
-     */
-    boolean createBackup(String pid);
-
-    /**
-     * Deletes a backup, if existing.
-     * @param pid the target PID, not null.
-     * @return true, if a backup has been restored successfully.
-     */
-    boolean deleteBackup(String pid);
-
-    /**
-     * Sets the maximum getHistory size.
-     * @param maxHistory the max getHistory size. {@code 0} disables the 
getHistory function.
-     */
-    void setMaxHistorySize(int maxHistory);
-
-    /**
-     * Get the max getHistory size.
-     * @return the max getHistory size. {@code 0} means the getHistory 
function is disabled.
-     */
-    int getMaxHistorySize();
-
-    /**
-     * Access the current (full) change getHistory.
-     * @return the current getHistory, never null.
-     */
-    List<ConfigHistory> getHistory();
-
-    /**
-     * Clears the getHistory.
-     */
-    void clearHistory();
-
-    /**
-     * Clears the getHistory for a PID.
-     * @param pid the target PID, not null.
-     */
-    void clearHistory(String pid);
-
-    /**
-     * Get the getHistory for a PID.
-     * @param pid the target PID, not null.
-     * @return the PID's getHistory, never null.
-     */
-    List<ConfigHistory> getHistory(String pid);
-
-    /**
-     * Access the current OSGI configuration for a PID.
-     * @param pid the target PID, not null.
-     * @param section a subsection to be filter (using startsWith).
-     * @return the (optionally filtered) OSGI configuration.
-     */
-    Dictionary<String,Object> getOSGIConfiguration(String pid, String section);
-
-    /**
-     * Checks if a backup exists.
-     * @param pid the target PID, not null.
-     * @return true, if a backup exists.
-     */
-    boolean containsBackup(String pid);
-}
\ 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/AbstractOSGITest.java
----------------------------------------------------------------------
diff --git 
a/osgi/common/src/test/java/org/apache/tamaya/osgi/AbstractOSGITest.java 
b/osgi/common/src/test/java/org/apache/tamaya/osgi/AbstractOSGITest.java
deleted file mode 100644
index 20f6fea..0000000
--- a/osgi/common/src/test/java/org/apache/tamaya/osgi/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.osgi;
-
-import org.apache.tamaya.osgi.commands.TamayaConfigService;
-import org.junit.Before;
-import org.mockito.Mock;
-import org.mockito.stubbing.Answer;
-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 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(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/common/src/test/java/org/apache/tamaya/osgi/ActivatorTest.java
----------------------------------------------------------------------
diff --git 
a/osgi/common/src/test/java/org/apache/tamaya/osgi/ActivatorTest.java 
b/osgi/common/src/test/java/org/apache/tamaya/osgi/ActivatorTest.java
deleted file mode 100644
index c1510f8..0000000
--- a/osgi/common/src/test/java/org/apache/tamaya/osgi/ActivatorTest.java
+++ /dev/null
@@ -1,44 +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;
-
-import org.apache.tamaya.osgi.commands.TamayaConfigService;
-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 29.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(TamayaConfigService.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/common/src/test/java/org/apache/tamaya/osgi/BackupsTest.java
----------------------------------------------------------------------
diff --git a/osgi/common/src/test/java/org/apache/tamaya/osgi/BackupsTest.java 
b/osgi/common/src/test/java/org/apache/tamaya/osgi/BackupsTest.java
deleted file mode 100644
index 9039332..0000000
--- a/osgi/common/src/test/java/org/apache/tamaya/osgi/BackupsTest.java
+++ /dev/null
@@ -1,107 +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;
-
-import org.junit.Test;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-import java.util.Set;
-
-import static org.junit.Assert.*;
-
-
-/**
- * Created by atsticks on 26.09.17.
- */
-public class BackupsTest {
-
-
-    private Dictionary<String,Object> createConfig(String pid){
-        Hashtable<String,Object> config = new Hashtable<>();
-        config.put("test.id", pid);
-        return config;
-    }
-    @Test
-    public void setGet() throws Exception {
-        Dictionary<String,Object> cfg = createConfig("set");
-        Backups.set("set", cfg);
-        assertEquals(Backups.get("set"), cfg);
-    }
-
-    @Test
-    public void remove() throws Exception {
-        Dictionary<String,Object> cfg = createConfig("remove");
-        Backups.set("remove", cfg);
-        assertEquals(Backups.get("remove"), cfg);
-        Backups.remove("remove");
-        assertEquals(Backups.get("remove"), null);
-    }
-
-    @Test
-    public void removeAll() throws Exception {
-        Dictionary<String,Object> cfg = createConfig("remove");
-        Backups.set("remove", cfg);
-        assertEquals(Backups.get("remove"), cfg);
-        Backups.removeAll();
-        assertEquals(Backups.get("remove"), null);
-    }
-
-    @Test
-    public void get1() throws Exception {
-    }
-
-    @Test
-    public void getPids() throws Exception {
-        Dictionary<String,Object> cfg = createConfig("getPids");
-        Backups.set("getPids", cfg);
-        Set<String> pids = Backups.getPids();
-        assertNotNull(pids);
-        assertTrue(pids.contains("getPids"));
-        Backups.removeAll();
-        pids = Backups.getPids();
-        assertNotNull(pids);
-        assertTrue(pids.isEmpty());
-    }
-
-    @Test
-    public void contains() throws Exception {
-        Dictionary<String,Object> cfg = createConfig("contains");
-        Backups.set("contains", cfg);
-        assertTrue(Backups.contains("contains"));
-        assertFalse(Backups.contains("foo"));
-        Backups.removeAll();
-        assertFalse(Backups.contains("contains"));
-        assertFalse(Backups.contains("foo"));
-    }
-
-    @Test
-    public void saveRestore() throws Exception {
-        Dictionary<String,Object> store = new Hashtable<>();
-        Dictionary<String,Object> cfg = createConfig("contains");
-        Backups.set("saveRestore", cfg);
-        Backups.save(store);
-        Backups.removeAll();
-        assertFalse(Backups.contains("saveRestore"));
-        Backups.restore(store);
-        assertTrue(Backups.contains("saveRestore"));
-        assertEquals(Backups.get("saveRestore"), cfg);
-    }
-
-}
\ 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/ConfigHistoryTest.java
----------------------------------------------------------------------
diff --git 
a/osgi/common/src/test/java/org/apache/tamaya/osgi/ConfigHistoryTest.java 
b/osgi/common/src/test/java/org/apache/tamaya/osgi/ConfigHistoryTest.java
deleted file mode 100644
index a829f7b..0000000
--- a/osgi/common/src/test/java/org/apache/tamaya/osgi/ConfigHistoryTest.java
+++ /dev/null
@@ -1,148 +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;
-
-import org.junit.Test;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-import java.util.List;
-
-import static org.junit.Assert.*;
-
-
-/**
- * Created by atsticks on 26.09.17.
- */
-public class ConfigHistoryTest {
-    @Test
-    public void configuring() throws Exception {
-        ConfigHistory en = ConfigHistory.configuring("configuring", 
"configuring_test");
-        assertNotNull(en);
-        assertEquals(en.getPid(), "configuring");
-        assertEquals(en.getType(), ConfigHistory.TaskType.BEGIN);
-        assertEquals(en.getValue(), "configuring_test");
-    }
-
-    @Test
-    public void configured() throws Exception {
-        ConfigHistory en = ConfigHistory.configured("configured", 
"configured_test");
-        assertNotNull(en);
-        assertEquals(en.getPid(), "configured");
-        assertEquals(en.getType(), ConfigHistory.TaskType.END);
-        assertEquals(en.getValue(), "configured_test");
-    }
-
-    @Test
-    public void propertySet() throws Exception {
-        ConfigHistory en = ConfigHistory.propertySet("propertySet", 
"propertySet.key", "new", "prev");
-        assertNotNull(en);
-        assertEquals(en.getPid(), "propertySet");
-        assertEquals(en.getType(), ConfigHistory.TaskType.PROPERTY);
-        assertEquals(en.getKey(), "propertySet.key");
-        assertEquals(en.getPreviousValue(), "prev");
-        assertEquals(en.getValue(),"new");
-    }
-
-    @Test
-    public void setGetMaxHistory() throws Exception {
-        ConfigHistory.setMaxHistory(1000);
-        assertEquals(ConfigHistory.getMaxHistory(),1000);
-    }
-
-    @Test
-    public void history() throws Exception {
-        for(int i=0;i<100;i++){
-            ConfigHistory.propertySet("getHistory", "getHistory"+i, "prev"+i, 
"new"+i);
-        }
-        List<ConfigHistory> hist = ConfigHistory.getHistory();
-        assertNotNull(hist);
-        assertTrue(hist.size()>=100);
-    }
-
-    @Test
-    public void history_pid() throws Exception {
-        ConfigHistory.configuring("history1", "history_pid");
-        for(int i=0;i<100;i++){
-            ConfigHistory.propertySet("history1", "getHistory"+i, "prev"+i, 
"new"+i);
-        }
-        ConfigHistory.configured("history1", "history_pid");
-        for(int i=0;i<100;i++){
-            ConfigHistory.propertySet("history2", "getHistory"+i, "prev"+i, 
"new"+i);
-        }
-        List<ConfigHistory> hist = ConfigHistory.getHistory("history1");
-        assertNotNull(hist);
-        assertTrue(hist.size()==102);
-        hist = ConfigHistory.getHistory("history2");
-        assertNotNull(hist);
-        assertTrue(hist.size()==100);
-        hist = ConfigHistory.getHistory(null);
-        assertNotNull(hist);
-        assertTrue(hist.size()>=202);
-    }
-
-    @Test
-    public void clearHistory() throws Exception {
-        for(int i=0;i<100;i++){
-            ConfigHistory.propertySet("history3", "getHistory"+i, "prev"+i, 
"new"+i);
-        }
-        for(int i=0;i<100;i++){
-            ConfigHistory.propertySet("history4", "getHistory"+i, "prev"+i, 
"new"+i);
-        }
-        List<ConfigHistory> hist = ConfigHistory.getHistory("history3");
-        assertNotNull(hist);
-        assertTrue(hist.size()==100);
-        assertEquals(ConfigHistory.getHistory("history4").size(), 100);
-        ConfigHistory.clearHistory("history3");
-        assertEquals(ConfigHistory.getHistory("history3").size(), 0);
-        assertEquals(ConfigHistory.getHistory("history4").size(), 100);
-        ConfigHistory.clearHistory(null);
-        assertEquals(ConfigHistory.getHistory().size(), 0);
-        assertEquals(ConfigHistory.getHistory("history4").size(), 0);
-    }
-
-
-    @Test
-    public void setPreviousValue() throws Exception {
-    }
-
-    @Test
-    public void getValue() throws Exception {
-    }
-
-    @Test
-    public void getKey() throws Exception {
-    }
-
-    @Test
-    public void saveRestore() throws Exception {
-        for(int i=0;i<10;i++){
-            ConfigHistory.propertySet("save", "getHistory"+i, "prev"+i, 
"new"+i);
-        }
-        assertEquals(ConfigHistory.getHistory("save").size(), 10);
-        Dictionary<String,Object> config = new Hashtable<>();
-        ConfigHistory.save(config);
-        assertEquals(ConfigHistory.getHistory("save").size(), 10);
-        ConfigHistory.clearHistory();
-        assertEquals(ConfigHistory.getHistory("save").size(), 0);
-        ConfigHistory.restore(config);
-        assertEquals(ConfigHistory.getHistory("save").size(), 10);
-    }
-
-}
\ 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/TamayaConfigPluginTest.java
----------------------------------------------------------------------
diff --git 
a/osgi/common/src/test/java/org/apache/tamaya/osgi/TamayaConfigPluginTest.java 
b/osgi/common/src/test/java/org/apache/tamaya/osgi/TamayaConfigPluginTest.java
deleted file mode 100644
index d597557..0000000
--- 
a/osgi/common/src/test/java/org/apache/tamaya/osgi/TamayaConfigPluginTest.java
+++ /dev/null
@@ -1,290 +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;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-
-import static org.junit.Assert.*;
-
-/**
- * Created by atsticks on 10.12.16.
- */
-@RunWith(MockitoJUnitRunner.class)
-public class TamayaConfigPluginTest extends  AbstractOSGITest{
-
-    @Test
-    public void pluginLoaded() throws Exception {
-        
assertNotNull(bundleContext.getService(bundleContext.getServiceReference(TamayaConfigPlugin.class)));
-    }
-
-    @Test
-    public void testOperationMode() throws Exception {
-        Policy om = tamayaConfigPlugin.getDefaultPolicy();
-        tamayaConfigPlugin.setDefaultPolicy(Policy.EXTEND);
-        assertEquals(Policy.EXTEND, tamayaConfigPlugin.getDefaultPolicy());
-        tamayaConfigPlugin.setDefaultPolicy(Policy.OVERRIDE);
-    }
-
-    @Test
-    public void testAutoUpdate() throws Exception {
-        boolean autoUpdate = tamayaConfigPlugin.isAutoUpdateEnabled();
-        tamayaConfigPlugin.setAutoUpdateEnabled(!autoUpdate);
-        assertEquals(tamayaConfigPlugin.isAutoUpdateEnabled(),!autoUpdate);
-        tamayaConfigPlugin.setAutoUpdateEnabled(autoUpdate);
-        assertEquals(tamayaConfigPlugin.isAutoUpdateEnabled(),autoUpdate);
-    }
-
-    @Test
-    public void testDefaulEnabled() throws Exception {
-        boolean enabled = tamayaConfigPlugin.isTamayaEnabledByDefault();
-        tamayaConfigPlugin.setTamayaEnabledByDefault(!enabled);
-        assertEquals(tamayaConfigPlugin.isTamayaEnabledByDefault(),!enabled);
-        tamayaConfigPlugin.setTamayaEnabledByDefault(enabled);
-        assertEquals(tamayaConfigPlugin.isTamayaEnabledByDefault(),enabled);
-    }
-
-    @Test
-    public void testSetPluginConfig() throws Exception {
-        Dictionary<String,Object> config = new Hashtable<>();
-        ((TamayaConfigPlugin)tamayaConfigPlugin).setPluginConfig(config);
-        
assertEquals(((TamayaConfigPlugin)tamayaConfigPlugin).getPluginConfig(), 
config);
-    }
-
-    @Test
-    public void testSetGetConfigValue() throws Exception {
-        Dictionary<String,Object> config = new Hashtable<>();
-        String val = 
(String)((TamayaConfigPlugin)tamayaConfigPlugin).getConfigValue("foo");
-        ((TamayaConfigPlugin)tamayaConfigPlugin).setConfigValue("bar", "foo");
-        
assertEquals(((TamayaConfigPlugin)tamayaConfigPlugin).getConfigValue("bar"), 
"foo");
-    }
-
-    @Test
-    public void getTMUpdateConfig() throws Exception {
-        org.apache.tamaya.Configuration config = 
((TamayaConfigPlugin)tamayaConfigPlugin).getTamayaConfiguration("java.");
-        assertNotNull(config);
-        assertNull(config.get("jlkjllj"));
-        assertEquals(config.get("home"),System.getProperty("java.home"));
-    }
-
-    @Test
-    public void getUpdateConfig() throws Exception {
-        Dictionary<String, Object> config = 
tamayaConfigPlugin.updateConfig(TamayaConfigPlugin.COMPONENTID);
-        assertNotNull(config);
-        assertEquals(config.get("java.home"), System.getProperty("java.home"));
-    }
-
-    @Test
-    public void getUpdateConfig_DryRun() throws Exception {
-        Dictionary<String, Object> config = 
tamayaConfigPlugin.updateConfig(TamayaConfigPlugin.COMPONENTID, true);
-        assertNotNull(config);
-        assertEquals(config.get("java.home"), System.getProperty("java.home"));
-    }
-
-    @Test
-    public void getUpdateConfig_Explicit_DryRun() throws Exception {
-        Dictionary<String, Object> config = 
tamayaConfigPlugin.updateConfig(TamayaConfigPlugin.COMPONENTID, Policy.EXTEND, 
true, true);
-        assertNotNull(config);
-        assertEquals(config.get("java.home"), System.getProperty("java.home"));
-    }
-
-    @Test
-    public void getPluginConfig() throws Exception {
-        Dictionary<String, Object> config = 
((TamayaConfigPlugin)tamayaConfigPlugin).getPluginConfig();
-        assertNotNull(config);
-        assertEquals(config, 
super.getProperties(TamayaConfigPlugin.COMPONENTID));
-    }
-
-    @Test
-    public void getDefaultOperationMode() throws Exception {
-        Policy om = tamayaConfigPlugin.getDefaultPolicy();
-        assertNotNull(om);
-        Dictionary<String,Object> pluginConfig = 
super.getProperties(TamayaConfigPlugin.COMPONENTID);
-        pluginConfig.put(Policy.class.getSimpleName(), 
Policy.UPDATE_ONLY.toString());
-        TamayaConfigPlugin plugin = new TamayaConfigPlugin(bundleContext);
-        om = plugin.getDefaultPolicy();
-        assertNotNull(om);
-        assertEquals(om, Policy.UPDATE_ONLY);
-        pluginConfig.put(Policy.class.getSimpleName(), 
Policy.OVERRIDE.toString());
-        plugin = new TamayaConfigPlugin(bundleContext);
-        om = plugin.getDefaultPolicy();
-        assertNotNull(om);
-        assertEquals(om, Policy.OVERRIDE);
-    }
-
-    @Test
-    public void testConfiguration_Override() throws Exception {
-        assertNotNull(cm);
-        tamayaConfigPlugin.updateConfig("tamaya", Policy.OVERRIDE, true, 
false);
-        org.osgi.service.cm.Configuration config = 
cm.getConfiguration("tamaya");
-        assertNotNull(config);
-        assertNotNull(config.getProperties());
-        assertFalse(config.getProperties().isEmpty());
-        assertTrue(config.getProperties().size() > 4);
-        // Override should add additional values
-        assertEquals(config.getProperties().get("my.testProperty1"), 
"success1");
-        assertEquals(config.getProperties().get("my.testProperty2"), 
"success2");
-        assertEquals(config.getProperties().get("my.testProperty3"), 
"success3");
-        assertEquals(config.getProperties().get("my.testProperty4"), 
"success4");
-        // Extend should also update any existing values...
-        assertEquals(config.getProperties().get("java.version"), "Java2000");
-        tamayaConfigPlugin.restoreBackup("tamaya");
-    }
-
-    @Test
-    public void testConfiguration_Override_ImplicitlyConfigured() throws 
Exception {
-        assertNotNull(cm);
-        org.osgi.service.cm.Configuration config = 
cm.getConfiguration("tamaya");
-        Dictionary<String,Object> props = config.getProperties();
-        props.put(TamayaConfigPlugin.TAMAYA_POLICY_PROP, "OVERRIDE");
-        config.update(props);
-        tamayaConfigPlugin.updateConfig("tamaya", Policy.UPDATE_ONLY, false, 
false);
-        config = cm.getConfiguration("tamaya");
-        assertNotNull(config);
-        assertNotNull(config.getProperties());
-        assertFalse(config.getProperties().isEmpty());
-        assertTrue(config.getProperties().size() > 4);
-        // Override should add additional values
-        assertEquals(config.getProperties().get("my.testProperty1"), 
"success1");
-        assertEquals(config.getProperties().get("my.testProperty2"), 
"success2");
-        assertEquals(config.getProperties().get("my.testProperty3"), 
"success3");
-        assertEquals(config.getProperties().get("my.testProperty4"), 
"success4");
-        // Extend should also update any existing values...
-        assertEquals(config.getProperties().get("java.version"), "Java2000");
-        tamayaConfigPlugin.restoreBackup("tamaya");
-    }
-
-    @Test
-    public void testConfiguration_Extend() throws Exception {
-        assertNotNull(cm);
-        tamayaConfigPlugin.updateConfig("tamaya", Policy.EXTEND, true, false);
-        org.osgi.service.cm.Configuration config = 
cm.getConfiguration("tamaya");
-        assertNotNull(config);
-        assertNotNull(config.getProperties());
-        assertFalse(config.getProperties().isEmpty());
-        assertTrue(config.getProperties().size() > 4);
-        assertEquals(config.getProperties().get("my.testProperty1"), 
"success1");
-        assertEquals(config.getProperties().get("my.testProperty2"), 
"success2");
-        assertEquals(config.getProperties().get("my.testProperty3"), 
"success3");
-        assertEquals(config.getProperties().get("my.testProperty4"), 
"success4");
-        // Extend should not update any existing values...
-        assertEquals(config.getProperties().get("java.version"), 
System.getProperty("java.version"));
-        tamayaConfigPlugin.restoreBackup("tamaya");
-    }
-
-    @Test
-    public void testConfiguration_Update_Only() throws Exception {
-        assertNotNull(cm);
-        tamayaConfigPlugin.updateConfig("tamaya", Policy.UPDATE_ONLY, true, 
false);
-        org.osgi.service.cm.Configuration config = 
cm.getConfiguration("tamaya");
-        assertNotNull(config);
-        assertNotNull(config.getProperties());
-        assertFalse(config.getProperties().isEmpty());
-        assertTrue(config.getProperties().size() > 4);
-        assertEquals(config.getProperties().get("my.testProperty1"), null);
-        assertEquals(config.getProperties().get("my.testProperty2"), null);
-        assertEquals(config.getProperties().get("my.testProperty3"), null);
-        assertEquals(config.getProperties().get("my.testProperty4"), null);
-        // Update only should update any existing values...
-        assertEquals(config.getProperties().get("java.version"), "Java2000");
-        tamayaConfigPlugin.restoreBackup("tamaya");
-    }
-
-    @Test
-    public void testConfiguration_Override_Dryrun() throws Exception {
-        assertNotNull(cm);
-        Dictionary<String,Object> result = 
tamayaConfigPlugin.updateConfig("tamaya", Policy.OVERRIDE, true, true);
-        assertNotNull(result);
-        // Override should add additional values
-        assertEquals(result.get("my.testProperty1"), "success1");
-        assertEquals(result.get("my.testProperty2"), "success2");
-        assertEquals(result.get("my.testProperty3"), "success3");
-        assertEquals(result.get("my.testProperty4"), "success4");
-        // Extend should also update any existing values...
-        assertEquals(result.get("java.version"), "Java2000");
-
-        // DryRun: should not have been changged anything on OSGI level...
-        org.osgi.service.cm.Configuration config = 
cm.getConfiguration("tamaya");
-        assertNotNull(config);
-        assertNotNull(config.getProperties());
-        assertFalse(config.getProperties().isEmpty());
-        assertTrue(config.getProperties().size() > 4);
-        assertEquals(config.getProperties().get("my.testProperty1"), null);
-        assertEquals(config.getProperties().get("my.testProperty2"), null);
-        assertEquals(config.getProperties().get("my.testProperty3"), null);
-        assertEquals(config.getProperties().get("my.testProperty4"), null);
-        assertEquals(config.getProperties().get("java.version"), 
System.getProperty("java.version"));
-    }
-
-    @Test
-    public void testConfiguration_Extend_Dryrun() throws Exception {
-        assertNotNull(cm);
-        Dictionary<String,Object> result = 
tamayaConfigPlugin.updateConfig("tamaya", Policy.EXTEND, true, true);
-        assertNotNull(result);
-        assertEquals(result.get("my.testProperty1"), "success1");
-        assertEquals(result.get("my.testProperty2"), "success2");
-        assertEquals(result.get("my.testProperty3"), "success3");
-        assertEquals(result.get("my.testProperty4"), "success4");
-        // Extend should not update any existing values...
-        assertEquals(result.get("java.version"), 
System.getProperty("java.version"));
-
-        // DryRun: should not have been changged anything on OSGI level...
-        org.osgi.service.cm.Configuration config = 
cm.getConfiguration("tamaya");
-        assertNotNull(config);
-        assertNotNull(config.getProperties());
-        assertFalse(config.getProperties().isEmpty());
-        assertTrue(config.getProperties().size() > 4);
-        assertEquals(config.getProperties().get("my.testProperty1"), null);
-        assertEquals(config.getProperties().get("my.testProperty2"), null);
-        assertEquals(config.getProperties().get("my.testProperty3"), null);
-        assertEquals(config.getProperties().get("my.testProperty4"), null);
-        assertEquals(config.getProperties().get("java.version"), 
System.getProperty("java.version"));
-    }
-
-    @Test
-    public void testConfiguration_Update_Only_Dryrun() throws Exception {
-        assertNotNull(cm);
-        Dictionary<String,Object> result = 
tamayaConfigPlugin.updateConfig("tamaya", Policy.UPDATE_ONLY, true, true);
-        assertNotNull(result);
-        assertTrue(result.size() > 4);
-        assertEquals(result.get("my.testProperty1"), null);
-        assertEquals(result.get("my.testProperty2"), null);
-        assertEquals(result.get("my.testProperty3"), null);
-        assertEquals(result.get("my.testProperty4"), null);
-        // Update only should update any existing values...
-        assertEquals(result.get("java.version"), "Java2000");
-
-        // DryRun: should not have been changged anything on OSGI level...
-        org.osgi.service.cm.Configuration config = 
cm.getConfiguration("tamaya");
-        assertNotNull(config);
-        assertNotNull(config.getProperties());
-        assertFalse(config.getProperties().isEmpty());
-        assertTrue(config.getProperties().size() > 4);
-        assertEquals(config.getProperties().get("my.testProperty1"), null);
-        assertEquals(config.getProperties().get("my.testProperty2"), null);
-        assertEquals(config.getProperties().get("my.testProperty3"), null);
-        assertEquals(config.getProperties().get("my.testProperty4"), null);
-        assertEquals(config.getProperties().get("java.version"), 
System.getProperty("java.version"));
-    }
-
-}
\ 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/BackupCommandsTest.java
----------------------------------------------------------------------
diff --git 
a/osgi/common/src/test/java/org/apache/tamaya/osgi/commands/BackupCommandsTest.java
 
b/osgi/common/src/test/java/org/apache/tamaya/osgi/commands/BackupCommandsTest.java
deleted file mode 100644
index 20d2a78..0000000
--- 
a/osgi/common/src/test/java/org/apache/tamaya/osgi/commands/BackupCommandsTest.java
+++ /dev/null
@@ -1,103 +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.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
-
-import java.util.Hashtable;
-
-import static org.junit.Assert.*;
-
-/**
- * Created by atsti on 30.09.2017.
- */
-@RunWith(MockitoJUnitRunner.class)
-public class BackupCommandsTest extends AbstractOSGITest {
-    @Test
-    public void createBackup() throws Exception {
-        String result = BackupCommands.createBackup(tamayaConfigPlugin, cm, 
"createBackup", false);
-        assertNotNull(result);
-        assertTrue(result.contains("createBackup"));
-        assertTrue(result.contains("Backup created"));
-        assertTrue(tamayaConfigPlugin.containsBackup("createBackup"));
-        // A backup with the given name already exists, so it fails
-        result = BackupCommands.createBackup(tamayaConfigPlugin, cm, 
"createBackup", false);
-        assertNotNull(result);
-        assertTrue(result.contains("createBackup"));
-        assertTrue(result.contains("Creating backup failed"));
-        assertTrue(result.contains("already existing"));
-        assertTrue(tamayaConfigPlugin.containsBackup("createBackup"));
-        // any existing backups gets overridden
-        result = BackupCommands.createBackup(tamayaConfigPlugin, cm, 
"createBackup", true);
-        assertNotNull(result);
-        assertTrue(result.contains("createBackup"));
-        assertTrue(result.contains("Backup created"));
-        assertTrue(tamayaConfigPlugin.containsBackup("createBackup"));
-    }
-
-    @Test
-    public void deleteBackup() throws Exception {
-        BackupCommands.createBackup(tamayaConfigPlugin, cm, "deleteBackup", 
false);
-        assertTrue(tamayaConfigPlugin.containsBackup("deleteBackup"));
-        String result = BackupCommands.deleteBackup(tamayaConfigPlugin, 
"deleteBackup");
-        assertNotNull(result);
-        assertTrue(result.contains("deleteBackup"));
-        assertTrue(result.contains("Backup deleted"));
-        assertFalse(tamayaConfigPlugin.containsBackup("deleteBackup"));
-    }
-
-    @Test
-    public void restoreBackup() throws Exception {
-        BackupCommands.createBackup(tamayaConfigPlugin, cm, "restoreBackup", 
false);
-        assertTrue(tamayaConfigPlugin.containsBackup("restoreBackup"));
-        String result = BackupCommands.restoreBackup(tamayaConfigPlugin, 
"restoreBackup");
-        assertNotNull(result);
-        assertTrue(result.contains("restoreBackup"));
-        assertTrue(result.contains("Backup restored"));
-        BackupCommands.deleteBackup(tamayaConfigPlugin, "restoreBackup");
-        assertFalse(tamayaConfigPlugin.containsBackup("restoreBackup"));
-        result = BackupCommands.restoreBackup(tamayaConfigPlugin, 
"restoreBackup");
-        assertTrue(result.contains("Backup restore failed"));
-        assertTrue(result.contains("no backup found"));
-    }
-
-    @Test
-    public void listBackup() throws Exception {
-        BackupCommands.createBackup(tamayaConfigPlugin, cm, "listBackup", 
false);
-        String result = BackupCommands.listBackup(tamayaConfigPlugin, 
"listBackup");
-        result.concat("listBackup");
-        result.contains("pid");
-    }
-
-    @Test
-    public void printProps() throws Exception {
-        Hashtable<String,Object> props = new Hashtable<>();
-        props.put("k1", "v1");
-        props.put("k2", "v2");
-        String result = BackupCommands.printProps(props);
-        assertTrue(result.contains("k1"));
-        assertTrue(result.contains("k2"));
-        assertTrue(result.contains("v1"));
-        assertTrue(result.contains("v2"));
-    }
-
-}
\ No newline at end of file

Reply via email to