import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.dpn.teps.state.dpns.teps.RemoteDpns;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.dpn.teps.state.dpns.teps.RemoteDpnsBuilder;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.common.Uint16;
import org.opendaylight.yangtools.yang.common.Uint64;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ItmMonitorWorker implements Callable<List<? extends ListenableFuture<?>>> {
-
private static final Logger LOG = LoggerFactory.getLogger(ItmMonitorWorker.class);
private final String tzone;
private final OvsBridgeRefEntryCache ovsBridgeRefEntryCache;
private final ManagedNewTransactionRunner txRunner;
private final Boolean enabled;
- private final Integer interval;
+ private final Uint16 interval;
- public <T> ItmMonitorWorker(String tzone, T monitoring,
- Class<? extends TunnelMonitoringTypeBase> monitorProtocol, DataBroker dataBroker,
- DirectTunnelUtils directTunnelUtils,
- DpnTepStateCache dpnTepStateCache,
- OvsBridgeRefEntryCache ovsBridgeRefEntryCache) {
+ private ItmMonitorWorker(String tzone, Boolean enabled, Uint16 interval,
+ Class<? extends TunnelMonitoringTypeBase> monitorProtocol, DataBroker dataBroker,
+ DirectTunnelUtils directTunnelUtils, DpnTepStateCache dpnTepStateCache,
+ OvsBridgeRefEntryCache ovsBridgeRefEntryCache) {
this.tzone = tzone;
this.monitorProtocol = monitorProtocol;
this.directTunnelUtils = directTunnelUtils;
this.dpnTepStateCache = dpnTepStateCache;
this.ovsBridgeRefEntryCache = ovsBridgeRefEntryCache;
this.txRunner = new ManagedNewTransactionRunnerImpl(dataBroker);
- LOG.trace("ItmMonitorWorker initialized with tzone {} and toggleBoolean {}", tzone, monitoring);
- if (monitoring instanceof Boolean) {
- this.enabled = (Boolean) monitoring;
- this.interval = null;
- }
- else {
- this.interval = (Integer) monitoring;
- this.enabled = null;
- }
+ LOG.trace("ItmMonitorWorker initialized with tzone {} and toggleBoolean {}", tzone, enabled);
+ this.enabled = enabled;
+ this.interval = interval;
LOG.debug("Toggle monitoring enabled {} interval {} monitor protocol {}", enabled, interval, monitorProtocol);
}
- @Override public List<ListenableFuture<Void>> call() {
+ public <T> ItmMonitorWorker(String tzone, Boolean enabled,
+ Class<? extends TunnelMonitoringTypeBase> monitorProtocol, DataBroker dataBroker,
+ DirectTunnelUtils directTunnelUtils, DpnTepStateCache dpnTepStateCache,
+ OvsBridgeRefEntryCache ovsBridgeRefEntryCache) {
+ this(tzone, enabled, null, monitorProtocol, dataBroker, directTunnelUtils, dpnTepStateCache,
+ ovsBridgeRefEntryCache);
+ }
+
+ public <T> ItmMonitorWorker(String tzone, Uint16 interval,
+ Class<? extends TunnelMonitoringTypeBase> monitorProtocol, DataBroker dataBroker,
+ DirectTunnelUtils directTunnelUtils, DpnTepStateCache dpnTepStateCache,
+ OvsBridgeRefEntryCache ovsBridgeRefEntryCache) {
+ this(tzone, null, interval, monitorProtocol, dataBroker, directTunnelUtils, dpnTepStateCache,
+ ovsBridgeRefEntryCache);
+ }
+
+ @Override
+ public List<ListenableFuture<Void>> call() {
LOG.debug("ItmMonitorWorker invoked with tzone = {} enabled {}", tzone, enabled);
List<ListenableFuture<Void>> futures = new ArrayList<>();
return toggleTunnelMonitoring(futures);
}
}
-
private void toggleForDirectEnabled(DpnsTeps dpnTeps, TypedWriteTransaction<Datastore.Configuration> tx)
throws ReadFailedException {
List<RemoteDpns> remoteDpnTepNewList = new ArrayList<>();
LOG.debug("DirectTunnelUtils - Builder remoteDPNs: {}", builder.getRemoteDpns());
tx.merge(iid, builder.build());
}
-
}