now making sure that ids re prefixed by the config id.
[xmlrouter] / impl / src / main / java / org / wamblee / xmlrouter / impl / XMLRouterConfigService.java
index 230a6dcf6d8bfc06e77efcca22dff88374833808..c60e546bf0f0312019ab57bc35d845592e3806e5 100644 (file)
@@ -37,27 +37,26 @@ public class XMLRouterConfigService implements RouterConfigService {
     public XMLRouterConfigService(XMLRouterConfiguration aConfig) {
         sequence = new AtomicLong(1L);
         config = aConfig;
-        routerConfigs = new ConfigImpl<RouterConfig>(sequence) {
-            public RouterConfig wrap(Id<RouterConfig> aId, RouterConfig aT) {
+        routerConfigs = new ConfigImpl<RouterConfig>(new Id<Config>("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<RouterConfig>(aId));
     }
 
     @Override
-    public Id<RouterConfig> apply(RouterConfig aConfig,
-        Id<RouterConfig> aOldConfig) {
+    public void apply(RouterConfig aConfig, Id<RouterConfig> aOldConfig) {
         if (aOldConfig != null) {
             routerConfigs.remove(aOldConfig);
         }
-        Id<RouterConfig> id = routerConfigs.add(aConfig);
+        routerConfigs.add(aConfig);
         update();
-        return id;
     }
 
     @Override
@@ -68,7 +67,7 @@ public class XMLRouterConfigService implements RouterConfigService {
 
     private void update() {
         ExtendedRouterConfig newconfig = new CompositeRouterConfig(
-            routerConfigs.map().values());
+            new Id<RouterConfig>("routerconfig"), routerConfigs.values());
         config.setRouterConfig(newconfig);
     }