X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fxmlrouter%2Fimpl%2FXMLRouterConfigService.java;h=c60e546bf0f0312019ab57bc35d845592e3806e5;hb=ca624324bf36e5ba8217a6af861cbf898a40adfc;hp=ca5e41748e08f8e22851c7ab0b21760f4e904a0f;hpb=f70baadfd579f4d3aa2e8c9ee7d758fb37d7872f;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 ca5e417..c60e546 100644 --- a/impl/src/main/java/org/wamblee/xmlrouter/impl/XMLRouterConfigService.java +++ b/impl/src/main/java/org/wamblee/xmlrouter/impl/XMLRouterConfigService.java @@ -37,57 +37,37 @@ 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(String aPrefix, RouterConfig aT) { return aT; } }; } @Override - public RouterConfig emptyConfig() { - return new SingleRouterConfig(sequence); + public RouterConfig emptyConfig(String aId) { + // TODO check AP{ impacts. + return new SingleRouterConfig(new Id(aId)); } @Override - public Id apply(RouterConfig aConfig, - Id aOldConfig) { - config.startConfigurationChange(); - try { - return applyImpl(aConfig, aOldConfig); - } finally { - config.endConfigurationChange(); - } - } - - private Id applyImpl(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 public void clear(Id aConfig) { - config.startConfigurationChange(); - try { - clearImpl(aConfig); - } finally { - config.endConfigurationChange(); - } - } - - private void clearImpl(Id aConfig) { routerConfigs.remove(aConfig); update(); } private void update() { ExtendedRouterConfig newconfig = new CompositeRouterConfig( - routerConfigs.map().values()); + new Id("routerconfig"), routerConfigs.values()); config.setRouterConfig(newconfig); }