You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tamaya.apache.org by an...@apache.org on 2016/03/14 00:59:04 UTC
[03/16] incubator-tamaya git commit: Adapted to new simplified API
for mutable configurations.
Adapted to new simplified API for mutable configurations.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/dc252f96
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/dc252f96
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/dc252f96
Branch: refs/heads/master
Commit: dc252f96144b666f08bb7f1f2da386b587c290a3
Parents: 8e9a3cc
Author: anatole <an...@apache.org>
Authored: Sun Mar 13 22:23:56 2016 +0100
Committer: anatole <an...@apache.org>
Committed: Sun Mar 13 22:23:56 2016 +0100
----------------------------------------------------------------------
.../tamaya/consul/ConsulPropertySource.java | 35 ++++++-
.../ConsulMutableConfigurationBackend.java | 89 ------------------
.../consul/internal/MutableConfigSupport.java | 44 ---------
...g.spi.MutableConfigurationBackendProviderSpi | 19 ----
.../org/apache/tamaya/etcd/ConsulWriteTest.java | 4 +-
.../apache/tamaya/etcd/EtcdPropertySource.java | 43 ++++++++-
.../EtcdMutableConfigurationBackend.java | 98 --------------------
.../etcd/internal/MutableConfigSupport.java | 44 ---------
...g.spi.MutableConfigurationBackendProviderSpi | 19 ----
9 files changed, 76 insertions(+), 319 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/dc252f96/modules/integration/consul/src/main/java/org/apache/tamaya/consul/ConsulPropertySource.java
----------------------------------------------------------------------
diff --git a/modules/integration/consul/src/main/java/org/apache/tamaya/consul/ConsulPropertySource.java b/modules/integration/consul/src/main/java/org/apache/tamaya/consul/ConsulPropertySource.java
index 65ba6cd..cdf3c81 100644
--- a/modules/integration/consul/src/main/java/org/apache/tamaya/consul/ConsulPropertySource.java
+++ b/modules/integration/consul/src/main/java/org/apache/tamaya/consul/ConsulPropertySource.java
@@ -23,7 +23,8 @@ import com.google.common.net.HostAndPort;
import com.orbitz.consul.Consul;
import com.orbitz.consul.KeyValueClient;
import com.orbitz.consul.model.kv.Value;
-import org.apache.tamaya.spi.PropertySource;
+import org.apache.tamaya.mutableconfig.propertysources.AbstractMutablePropertySource;
+import org.apache.tamaya.mutableconfig.propertysources.TransactionContext;
import org.apache.tamaya.spi.PropertyValue;
import org.apache.tamaya.spi.PropertyValueBuilder;
@@ -38,7 +39,7 @@ import java.util.logging.Logger;
* {@code consul.prefix} as system property maps the consul based onfiguration
* to this prefix namespace. Consul servers are configured as {@code consul.urls} system or environment property.
*/
-public class ConsulPropertySource implements PropertySource{
+public class ConsulPropertySource extends AbstractMutablePropertySource {
private static final Logger LOG = Logger.getLogger(ConsulPropertySource.class.getName());
private String prefix = System.getProperty("tamaya.consul.prefix", "");
@@ -162,4 +163,34 @@ public class ConsulPropertySource implements PropertySource{
public boolean isScannable() {
return false;
}
+
+ @Override
+ protected void commitInternal(TransactionContext context) {
+ for(HostAndPort hostAndPort: ConsulBackends.getConsulBackends()){
+ try{
+ Consul consul = Consul.builder().withHostAndPort(hostAndPort).build();
+ KeyValueClient kvClient = consul.keyValueClient();
+
+ for(String k: context.getRemovedProperties()){
+ try{
+ kvClient.deleteKey(k);
+ } catch(Exception e){
+ LOG.info("Failed to remove key from consul: " + k);
+ }
+ }
+ for(Map.Entry<String,String> en:context.getAddedProperties().entrySet()){
+ String key = en.getKey();
+ try{
+ kvClient.putValue(key,en.getValue());
+ }catch(Exception e) {
+ LOG.info("Failed to add key to consul: " + en.getKey() + "=" + en.getValue());
+ }
+ }
+ // success: stop here
+ break;
+ } catch(Exception e){
+ LOG.log(Level.FINE, "consul access failed on " + hostAndPort + ", trying next...", e);
+ }
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/dc252f96/modules/integration/consul/src/main/java/org/apache/tamaya/consul/internal/ConsulMutableConfigurationBackend.java
----------------------------------------------------------------------
diff --git a/modules/integration/consul/src/main/java/org/apache/tamaya/consul/internal/ConsulMutableConfigurationBackend.java b/modules/integration/consul/src/main/java/org/apache/tamaya/consul/internal/ConsulMutableConfigurationBackend.java
deleted file mode 100644
index cf6cf9d..0000000
--- a/modules/integration/consul/src/main/java/org/apache/tamaya/consul/internal/ConsulMutableConfigurationBackend.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.consul.internal;
-
-import com.google.common.net.HostAndPort;
-import com.orbitz.consul.Consul;
-import com.orbitz.consul.KeyValueClient;
-import org.apache.tamaya.consul.ConsulBackends;
-import org.apache.tamaya.consul.ConsulPropertySource;
-import org.apache.tamaya.mutableconfig.spi.AbstractMutableConfigurationBackendSpi;
-
-import java.net.URI;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * Change Request implementation based on consul services.
- */
-class ConsulMutableConfigurationBackend extends AbstractMutableConfigurationBackendSpi {
-
- private static final Logger LOG = Logger.getLogger(ConsulMutableConfigurationBackend.class.getName());
-
- ConsulMutableConfigurationBackend(URI uri){
- super(uri, new ConsulPropertySource());
- }
-
- @Override
- public boolean isExisting(String keyExpression) {
- for(HostAndPort hostAndPort: ConsulBackends.getConsulBackends()){
- try{
- Consul consul = Consul.builder().withHostAndPort(hostAndPort).build();
- KeyValueClient kvClient = consul.keyValueClient();
- List<String> keys = kvClient.getKeys(keyExpression);
- return !keys.isEmpty();
- } catch(Exception e){
- LOG.log(Level.FINE, "consul access failed on " + hostAndPort + ", trying next...", e);
- }
- }
- return false;
- }
-
-
- @Override
- protected void commitInternal() {
- for(HostAndPort hostAndPort: ConsulBackends.getConsulBackends()){
- try{
- Consul consul = Consul.builder().withHostAndPort(hostAndPort).build();
- KeyValueClient kvClient = consul.keyValueClient();
-
- for(String k: getRemovedProperties()){
- try{
- kvClient.deleteKey(k);
- } catch(Exception e){
- LOG.info("Failed to remove key from consul: " + k);
- }
- }
- for(Map.Entry<String,String> en:getAddedProperties().entrySet()){
- String key = en.getKey();
- try{
- kvClient.putValue(key,en.getValue());
- }catch(Exception e) {
- LOG.info("Failed to add key to consul: " + en.getKey() + "=" + en.getValue());
- }
- }
- } catch(Exception e){
- LOG.log(Level.FINE, "consul access failed on " + hostAndPort + ", trying next...", e);
- }
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/dc252f96/modules/integration/consul/src/main/java/org/apache/tamaya/consul/internal/MutableConfigSupport.java
----------------------------------------------------------------------
diff --git a/modules/integration/consul/src/main/java/org/apache/tamaya/consul/internal/MutableConfigSupport.java b/modules/integration/consul/src/main/java/org/apache/tamaya/consul/internal/MutableConfigSupport.java
deleted file mode 100644
index bc0fbf4..0000000
--- a/modules/integration/consul/src/main/java/org/apache/tamaya/consul/internal/MutableConfigSupport.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.consul.internal;
-
-import org.apache.tamaya.mutableconfig.spi.MutableConfigurationBackendSpi;
-import org.apache.tamaya.mutableconfig.spi.MutableConfigurationBackendProviderSpi;
-
-import java.net.URI;
-
-/**
- * Created by atsticks on 15.01.16.
- */
-public class MutableConfigSupport implements MutableConfigurationBackendProviderSpi {
-
- private URI backendURI;
-
- public MutableConfigSupport(){
- backendURI = URI.create("config:consul");
- }
-
- @Override
- public MutableConfigurationBackendSpi getBackend(URI uri) {
- if(backendURI.equals(uri)) {
- return new ConsulMutableConfigurationBackend(backendURI);
- }
- return null;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/dc252f96/modules/integration/consul/src/main/resources/META-INF/services/org.apache.tamaya.mutableconfig.spi.MutableConfigurationBackendProviderSpi
----------------------------------------------------------------------
diff --git a/modules/integration/consul/src/main/resources/META-INF/services/org.apache.tamaya.mutableconfig.spi.MutableConfigurationBackendProviderSpi b/modules/integration/consul/src/main/resources/META-INF/services/org.apache.tamaya.mutableconfig.spi.MutableConfigurationBackendProviderSpi
deleted file mode 100644
index 9174018..0000000
--- a/modules/integration/consul/src/main/resources/META-INF/services/org.apache.tamaya.mutableconfig.spi.MutableConfigurationBackendProviderSpi
+++ /dev/null
@@ -1,19 +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 current 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.
-#
-org.apache.tamaya.consul.internal.MutableConfigSupport
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/dc252f96/modules/integration/consul/src/test/java/org/apache/tamaya/etcd/ConsulWriteTest.java
----------------------------------------------------------------------
diff --git a/modules/integration/consul/src/test/java/org/apache/tamaya/etcd/ConsulWriteTest.java b/modules/integration/consul/src/test/java/org/apache/tamaya/etcd/ConsulWriteTest.java
index 8901461..c728641 100644
--- a/modules/integration/consul/src/test/java/org/apache/tamaya/etcd/ConsulWriteTest.java
+++ b/modules/integration/consul/src/test/java/org/apache/tamaya/etcd/ConsulWriteTest.java
@@ -21,7 +21,7 @@ package org.apache.tamaya.etcd;
import com.google.common.net.HostAndPort;
import org.apache.tamaya.consul.ConsulPropertySource;
import org.apache.tamaya.consul.internal.MutableConfigSupport;
-import org.apache.tamaya.mutableconfig.spi.MutableConfigurationBackendSpi;
+import org.apache.tamaya.mutableconfig.spi.MutablePropertySource;
import org.junit.BeforeClass;
import java.net.MalformedURLException;
@@ -41,7 +41,7 @@ public class ConsulWriteTest {
private static HostAndPort accessor;
static boolean execute = false;
private static ConsulPropertySource readingSource;
- private static MutableConfigurationBackendSpi writer;
+ private static MutablePropertySource writer;
@BeforeClass
public static void setup() throws MalformedURLException, URISyntaxException {
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/dc252f96/modules/integration/etcd/src/main/java/org/apache/tamaya/etcd/EtcdPropertySource.java
----------------------------------------------------------------------
diff --git a/modules/integration/etcd/src/main/java/org/apache/tamaya/etcd/EtcdPropertySource.java b/modules/integration/etcd/src/main/java/org/apache/tamaya/etcd/EtcdPropertySource.java
index 704c79c..9434f65 100644
--- a/modules/integration/etcd/src/main/java/org/apache/tamaya/etcd/EtcdPropertySource.java
+++ b/modules/integration/etcd/src/main/java/org/apache/tamaya/etcd/EtcdPropertySource.java
@@ -18,7 +18,8 @@
*/
package org.apache.tamaya.etcd;
-import org.apache.tamaya.spi.PropertySource;
+import org.apache.tamaya.mutableconfig.propertysources.AbstractMutablePropertySource;
+import org.apache.tamaya.mutableconfig.propertysources.TransactionContext;
import org.apache.tamaya.spi.PropertyValue;
import org.apache.tamaya.spi.PropertyValueBuilder;
@@ -34,7 +35,7 @@ import java.util.logging.Logger;
* to this prefix namespace. Etcd servers are configured as {@code etcd.server.urls} system or environment property.
* ETcd can be disabled by setting {@code tamaya.etcdprops.disable} either as env or system property.
*/
-public class EtcdPropertySource implements PropertySource{
+public class EtcdPropertySource extends AbstractMutablePropertySource{
private static final Logger LOG = Logger.getLogger(EtcdPropertySource.class.getName());
private String prefix = System.getProperty("tamaya.etcd.prefix", "");
@@ -164,4 +165,42 @@ public class EtcdPropertySource implements PropertySource{
public boolean isScannable() {
return true;
}
+
+ @Override
+ protected void commitInternal(TransactionContext context) {
+ for(EtcdAccessor accessor: EtcdBackends.getEtcdBackends()){
+ try{
+ for(String k: context.getRemovedProperties()){
+ Map<String,String> res = accessor.delete(k);
+ if(res.get("_ERROR")!=null){
+ LOG.info("Failed to remove key from etcd: " + k);
+ }
+ }
+ for(Map.Entry<String,String> en:context.getAddedProperties().entrySet()){
+ String key = en.getKey();
+ Integer ttl = null;
+ int index = en.getKey().indexOf('?');
+ if(index>0){
+ key = en.getKey().substring(0, index);
+ String rawQuery = en.getKey().substring(index+1);
+ String[] queries = rawQuery.split("&");
+ for(String query:queries){
+ if(query.contains("ttl")){
+ int qIdx = query.indexOf('=');
+ ttl = qIdx>0?Integer.parseInt(query.substring(qIdx+1).trim()):null;
+ }
+ }
+ }
+ Map<String,String> res = accessor.set(key, en.getValue(), ttl);
+ if(res.get("_ERROR")!=null){
+ LOG.info("Failed to add key to etcd: " + en.getKey() + "=" + en.getValue());
+ }
+ }
+ // success, stop here
+ break;
+ } catch(Exception e){
+ LOG.log(Level.FINE, "etcd access failed on " + accessor.getUrl() + ", trying next...", e);
+ }
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/dc252f96/modules/integration/etcd/src/main/java/org/apache/tamaya/etcd/internal/EtcdMutableConfigurationBackend.java
----------------------------------------------------------------------
diff --git a/modules/integration/etcd/src/main/java/org/apache/tamaya/etcd/internal/EtcdMutableConfigurationBackend.java b/modules/integration/etcd/src/main/java/org/apache/tamaya/etcd/internal/EtcdMutableConfigurationBackend.java
deleted file mode 100644
index b662d86..0000000
--- a/modules/integration/etcd/src/main/java/org/apache/tamaya/etcd/internal/EtcdMutableConfigurationBackend.java
+++ /dev/null
@@ -1,98 +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.etcd.internal;
-
-import org.apache.tamaya.etcd.EtcdAccessor;
-import org.apache.tamaya.etcd.EtcdBackends;
-import org.apache.tamaya.etcd.EtcdPropertySource;
-import org.apache.tamaya.mutableconfig.spi.AbstractMutableConfigurationBackendSpi;
-
-import java.net.URI;
-import java.util.Map;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * Change Request implementation based on etcd services. Etcd also supports a ttl to set values only for a defined
- * number of seconds {@code ttl}. This is also supported by this component by adding ttl as a key parameter, e.g.
- * {@code changeRequest.set("myTimedKey?ttl=30", "myValue");} will set a key {@code myTimedKey} valid only for
- * 30 seconds.
- */
-class EtcdMutableConfigurationBackend extends AbstractMutableConfigurationBackendSpi {
-
- private static final Logger LOG = Logger.getLogger(EtcdMutableConfigurationBackend.class.getName());
-
- EtcdMutableConfigurationBackend(URI uri){
- super(uri, new EtcdPropertySource());
- }
-
- @Override
- public boolean isExisting(String keyExpression) {
- for(EtcdAccessor accessor: EtcdBackends.getEtcdBackends()){
- try{
- Map<String,String> props = accessor.get(keyExpression);
- if(!props.containsKey("_ERROR")) {
- // No repfix mapping necessary here, since we only access/return the value...
- return props.get(keyExpression)!=null;
- }
- } catch(Exception e){
- LOG.log(Level.FINE, "etcd access failed on " + accessor.getUrl() + ", trying next...", e);
- }
- }
- return false;
- }
-
-
- @Override
- protected void commitInternal() {
- for(EtcdAccessor accessor: EtcdBackends.getEtcdBackends()){
- try{
- for(String k: getRemovedProperties()){
- Map<String,String> res = accessor.delete(k);
- if(res.get("_ERROR")!=null){
- LOG.info("Failed to remove key from etcd: " + k);
- }
- }
- for(Map.Entry<String,String> en:getAddedProperties().entrySet()){
- String key = en.getKey();
- Integer ttl = null;
- int index = en.getKey().indexOf('?');
- if(index>0){
- key = en.getKey().substring(0, index);
- String rawQuery = en.getKey().substring(index+1);
- String[] queries = rawQuery.split("&");
- for(String query:queries){
- if(query.contains("ttl")){
- int qIdx = query.indexOf('=');
- ttl = qIdx>0?Integer.parseInt(query.substring(qIdx+1).trim()):null;
- }
- }
- }
- Map<String,String> res = accessor.set(key, en.getValue(), ttl);
- if(res.get("_ERROR")!=null){
- LOG.info("Failed to add key to etcd: " + en.getKey() + "=" + en.getValue());
- }
- }
- } catch(Exception e){
- LOG.log(Level.FINE, "etcd access failed on " + accessor.getUrl() + ", trying next...", e);
- }
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/dc252f96/modules/integration/etcd/src/main/java/org/apache/tamaya/etcd/internal/MutableConfigSupport.java
----------------------------------------------------------------------
diff --git a/modules/integration/etcd/src/main/java/org/apache/tamaya/etcd/internal/MutableConfigSupport.java b/modules/integration/etcd/src/main/java/org/apache/tamaya/etcd/internal/MutableConfigSupport.java
deleted file mode 100644
index ba734cd..0000000
--- a/modules/integration/etcd/src/main/java/org/apache/tamaya/etcd/internal/MutableConfigSupport.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.etcd.internal;
-
-import org.apache.tamaya.mutableconfig.spi.MutableConfigurationBackendSpi;
-import org.apache.tamaya.mutableconfig.spi.MutableConfigurationBackendProviderSpi;
-
-import java.net.URI;
-
-/**
- * Created by atsticks on 15.01.16.
- */
-public class MutableConfigSupport implements MutableConfigurationBackendProviderSpi {
-
- private URI backendURI;
-
- public MutableConfigSupport(){
- backendURI = URI.create("config:etcd");
- }
-
- @Override
- public MutableConfigurationBackendSpi getBackend(URI uri) {
- if(backendURI.equals(uri)) {
- return new EtcdMutableConfigurationBackend(backendURI);
- }
- return null;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/dc252f96/modules/integration/etcd/src/main/resources/META-INF/services/org.apache.tamaya.mutableconfig.spi.MutableConfigurationBackendProviderSpi
----------------------------------------------------------------------
diff --git a/modules/integration/etcd/src/main/resources/META-INF/services/org.apache.tamaya.mutableconfig.spi.MutableConfigurationBackendProviderSpi b/modules/integration/etcd/src/main/resources/META-INF/services/org.apache.tamaya.mutableconfig.spi.MutableConfigurationBackendProviderSpi
deleted file mode 100644
index 2189807..0000000
--- a/modules/integration/etcd/src/main/resources/META-INF/services/org.apache.tamaya.mutableconfig.spi.MutableConfigurationBackendProviderSpi
+++ /dev/null
@@ -1,19 +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 current 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.
-#
-org.apache.tamaya.etcd.internal.MutableConfigSupport
\ No newline at end of file