X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fxmlrouter%2Fimpl%2FXMLRouterConfigService.java;h=054956df0a0e6d8255119298fb751e9fd9ed23d7;hb=e52385618670b54a5c6a4f2fbfab381bef43a905;hp=230a6dcf6d8bfc06e77efcca22dff88374833808;hpb=0db97b9f39c69528900f915dd2bb463c27debe39;p=xmlrouter diff --git a/impl/src/main/java/org/wamblee/xmlrouter/impl/XMLRouterConfigService.java b/impl/src/main/java/org/wamblee/xmlrouter/impl/XMLRouterConfigService.java index 230a6dc..054956d 100644 --- a/impl/src/main/java/org/wamblee/xmlrouter/impl/XMLRouterConfigService.java +++ b/impl/src/main/java/org/wamblee/xmlrouter/impl/XMLRouterConfigService.java @@ -15,6 +15,7 @@ */ package org.wamblee.xmlrouter.impl; +import java.util.UUID; import java.util.concurrent.atomic.AtomicLong; import org.wamblee.xmlrouter.common.Id; @@ -37,8 +38,8 @@ public class XMLRouterConfigService implements RouterConfigService { public XMLRouterConfigService(XMLRouterConfiguration aConfig) { sequence = new AtomicLong(1L); config = aConfig; - routerConfigs = new ConfigImpl(sequence) { - public RouterConfig wrap(Id aId, RouterConfig aT) { + routerConfigs = new ConfigImpl(new Id("config")) { + public RouterConfig wrap(RouterConfig aT) { return aT; } }; @@ -46,18 +47,18 @@ public class XMLRouterConfigService implements RouterConfigService { @Override public RouterConfig emptyConfig() { - return new SingleRouterConfig(sequence); + // TODO check and document API impacts. + String id = UUID.randomUUID().toString(); + return new SingleRouterConfig(new Id(id)); } @Override - public Id apply(RouterConfig aConfig, - Id aOldConfig) { + public void apply(RouterConfig aConfig, Id aOldConfig) { if (aOldConfig != null) { routerConfigs.remove(aOldConfig); } - Id id = routerConfigs.add(aConfig); + routerConfigs.add(aConfig); update(); - return id; } @Override @@ -68,7 +69,7 @@ public class XMLRouterConfigService implements RouterConfigService { private void update() { ExtendedRouterConfig newconfig = new CompositeRouterConfig( - routerConfigs.map().values()); + new Id("routerconfig"), routerConfigs.values()); config.setRouterConfig(newconfig); }