dataRouterSubscriber.start();
ArrayList<Configurable> configurables = new ArrayList<>();
configurables.add(dataRouterSubscriber);
+ configurables.add(mapperConfig);
DynamicConfiguration dynamicConfiguration = new DynamicConfiguration(configurables, mapperConfig);
Undertow.builder()
import java.net.MalformedURLException;\r
import java.net.URL;\r
\r
+import org.onap.dcaegen2.services.pmmapper.config.Configurable;\r
import org.onap.dcaegen2.services.pmmapper.utils.GSONRequired;\r
import com.google.gson.annotations.SerializedName;\r
import lombok.Getter;\r
@Getter\r
@EqualsAndHashCode\r
@NoArgsConstructor\r
-public class MapperConfig {\r
+public class MapperConfig implements Configurable{\r
\r
public static final String CLIENT_NAME = "pm-mapper";\r
\r
\r
@SerializedName("pm-mapper-filter")\r
MeasFilterConfig filterConfig;\r
+\r
+ @Override\r
+ public void reconfigure(MapperConfig mapperConfig) {\r
+ if(!this.equals(mapperConfig)) {\r
+ this.streamsSubscribes = mapperConfig.getStreamsSubscribes();\r
+ this.streamsPublishes = mapperConfig.getStreamsPublishes();\r
+ this.busControllerSubscriptionEndpoint = mapperConfig.getBusControllerSubscriptionEndpoint();\r
+ this.dmaapDRFeedId = mapperConfig.getDmaapDRFeedId();\r
+ this.dmaapDRDeleteEndpoint = mapperConfig.getDmaapDRDeleteEndpoint();\r
+ }\r
+ }\r
}
\ No newline at end of file
verify(configurable, times(1)).reconfigure(modifiedMapperConfig);
}
+
+ @Test
+ public void testMapperConfigReconfiguration() throws Exception {
+ ConfigHandler configHandler = new ConfigHandler(sender);
+ JsonObject modifiedConfigJson = new JsonParser().parse(config).getAsJsonObject();
+ modifiedConfigJson.addProperty("dmaap_dr_delete_endpoint","http://modified-delete-endpoint/1");
+ String newConfig = modifiedConfigJson.toString();
+
+ when(sender.send(any())).thenReturn(config,newConfig);
+
+ MapperConfig originalConfig = configHandler.getMapperConfig();
+ MapperConfig modifiedConfig = configHandler.getMapperConfig();
+
+ originalConfig.reconfigure(modifiedConfig);
+ assertEquals(originalConfig, modifiedConfig);
+ }
}