X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fxmlrouter%2Fimpl%2FXMLRouterConfigurationImpl.java;fp=impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fxmlrouter%2Fimpl%2FXMLRouterConfigurationImpl.java;h=0000000000000000000000000000000000000000;hb=8e41cb29f75362a792292d21b481bd06a9506296;hp=7c570ff23baaa723c4e0c105919f24751c19702c;hpb=9dbc2844950b55ae552fe74840954ea71b754c7a;p=xmlrouter diff --git a/impl/src/main/java/org/wamblee/xmlrouter/impl/XMLRouterConfigurationImpl.java b/impl/src/main/java/org/wamblee/xmlrouter/impl/XMLRouterConfigurationImpl.java deleted file mode 100644 index 7c570ff..0000000 --- a/impl/src/main/java/org/wamblee/xmlrouter/impl/XMLRouterConfigurationImpl.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright 2005-2011 the original author or authors. - * - * Licensed 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.wamblee.xmlrouter.impl; - -import java.util.ArrayList; -import java.util.concurrent.locks.ReentrantReadWriteLock; - -import org.wamblee.general.Pair; -import org.wamblee.xmlrouter.common.Id; - -/** - * Implements the XML Router configuration interface including the required - * locking. - * - * @author Erik Brakkee - */ -public class XMLRouterConfigurationImpl implements XMLRouterConfiguration { - - private final ReentrantReadWriteLock rwlock = new ReentrantReadWriteLock( - true); - private final ReentrantReadWriteLock.ReadLock rlock = rwlock.readLock(); - private final ReentrantReadWriteLock.WriteLock wlock = rwlock.writeLock(); - - private ExtendedRouterConfig config; - private TransformationPaths transformations; - - public XMLRouterConfigurationImpl(ExtendedRouterConfig aConfig) { - config = aConfig; - transformations = new TransformationPaths(config.transformationConfig() - .values()); - } - - public XMLRouterConfigurationImpl() { - this(new CompositeRouterConfig(new Id("routerconfig"), - new ArrayList())); - } - - @Override - public Pair getConfig() { - rlock.lock(); - try { - return new Pair(config, - transformations); - } finally { - rlock.unlock(); - } - } - - @Override - public void setRouterConfig(ExtendedRouterConfig aConfig) { - - TransformationPaths newTransformations = new TransformationPaths( - aConfig.transformationConfig().values()); - - wlock.lock(); - try { - config = aConfig; - transformations = newTransformations; - } finally { - wlock.unlock(); - } - } -}