X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fxmlrouter%2Fimpl%2FSingleRouterConfig.java;h=1e9dd86afb2afdf417db64e3d12063e7a2a76677;hb=03a6b404471945aed9d48fc1e5b8447b4a9d9413;hp=36016ca302ee8df806e1264e690555a72d70ee9e;hpb=19413a6699295b4bbebc1b3bdb9838fd4370e581;p=xmlrouter diff --git a/impl/src/main/java/org/wamblee/xmlrouter/impl/SingleRouterConfig.java b/impl/src/main/java/org/wamblee/xmlrouter/impl/SingleRouterConfig.java index 36016ca..1e9dd86 100644 --- a/impl/src/main/java/org/wamblee/xmlrouter/impl/SingleRouterConfig.java +++ b/impl/src/main/java/org/wamblee/xmlrouter/impl/SingleRouterConfig.java @@ -15,14 +15,16 @@ */ package org.wamblee.xmlrouter.impl; -import java.util.concurrent.atomic.AtomicLong; - import org.wamblee.xmlrouter.common.Id; import org.wamblee.xmlrouter.config.Config; import org.wamblee.xmlrouter.config.DocumentType; import org.wamblee.xmlrouter.config.Filter; +import org.wamblee.xmlrouter.config.RouterConfig; import org.wamblee.xmlrouter.config.Transformation; +// TODO implement equality based on ids for the single routerconfig. +// TODO implement copying of routerconfig. + /** * Represents a single configuration set of a single configuration client of the * XML router. @@ -30,7 +32,7 @@ import org.wamblee.xmlrouter.config.Transformation; * @author Erik Brakkee */ public class SingleRouterConfig implements ExtendedRouterConfig { - private AtomicLong sequenceNumbers; + private Id id; private ExtendedConfig documentTypes; private ExtendedConfig transformations; private ExtendedConfig filters; @@ -41,29 +43,37 @@ public class SingleRouterConfig implements ExtendedRouterConfig { * @param aSequenceNumberGenerator * Sequence number generator to use. */ - public SingleRouterConfig(AtomicLong aSequenceNumberGenerator) { - sequenceNumbers = aSequenceNumberGenerator; - documentTypes = new ConfigImpl(sequenceNumbers) { + public SingleRouterConfig(Id aId) { + id = aId; + documentTypes = new ConfigImpl(new Id( + "documentTypes")) { @Override - public DocumentType wrap(Id aId, DocumentType aT) { - return new RobustDocumentType(aId, aT); + public DocumentType wrap(String aPrefix, DocumentType aT) { + return new RobustDocumentType(aPrefix, aT); } }; - transformations = new ConfigImpl(sequenceNumbers) { + transformations = new ConfigImpl(new Id( + "transformations")) { @Override - public Transformation wrap(Id aId, + public Transformation wrap(String aPrefix, Transformation aTransformation) { - return new RobustTransformation(aId, aTransformation); + return new RobustTransformation(aPrefix, aTransformation); } }; - filters = new ConfigImpl(sequenceNumbers) { + filters = new ConfigImpl(new Id("filters")) { @Override - public Filter wrap(Id aId, Filter aFilter) { - return new RobustFilter(aId, aFilter); + public Filter wrap(String aPrefix, Filter aFilter) { + return new RobustFilter(aPrefix, aFilter); } }; } + // TODO test getId. + @Override + public Id getId() { + return id; + } + @Override public Config documentTypeConfig() { return documentTypes; @@ -78,18 +88,4 @@ public class SingleRouterConfig implements ExtendedRouterConfig { public Config filterConfig() { return filters; } - - @Override - public boolean isDirty() { - return documentTypes.isDirty() || transformations.isDirty() || - filters.isDirty(); - } - - @Override - public void resetDirty() { - documentTypes.resetDirty(); - filters.resetDirty(); - transformations.resetDirty(); - } - }