/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2020 Bell Canada. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
package org.onap.policy.models.simulators;
import java.io.FileNotFoundException;
+import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.List;
import org.onap.policy.models.sim.dmaap.provider.DmaapSimProvider;
import org.onap.policy.models.sim.dmaap.rest.CambriaMessageBodyHandler;
import org.onap.policy.models.sim.dmaap.rest.TextMessageBodyHandler;
+import org.onap.policy.simulators.CdsSimulator;
import org.onap.policy.simulators.TopicServer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
AtomicReference<DmaapSimProvider> provRef = new AtomicReference<>();
addAction(provName, () -> provRef.set(buildDmaapProvider(dmaapProv)), () -> provRef.get().shutdown());
+ CdsServerParameters cdsServer = params.getGrpcServer();
+
+ // Cds Simulator
+ AtomicReference<CdsSimulator> cdsSim = new AtomicReference<>();
+ addAction(cdsServer.getName(), () -> cdsSim.set(buildCdsSimulator(cdsServer)), () -> cdsSim.get().stop());
+
// REST server simulators
// @formatter:off
for (ClassRestServerParameters restsim : params.getRestServers()) {
DmaapSimProvider prov = new DmaapSimProvider(params);
DmaapSimProvider.setInstance(prov);
prov.start();
-
return prov;
}
+ private CdsSimulator buildCdsSimulator(CdsServerParameters params) throws IOException {
+ CdsSimulator cdsSimulator = new CdsSimulator(params.getHost(), params.getPort(), params.getResourceLocation(),
+ params.getSuccessRepeatCount(), params.getRequestedResponseDelayMs());
+ cdsSimulator.start();
+ return cdsSimulator;
+ }
+
+
private TopicSink startSink(TopicParameters params) {
TopicSink sink = TopicEndpointManager.getManager().addTopicSinks(List.of(params)).get(0);
sink.start();