doReturn(readWriteTx).when(dataBroker).newReadWriteTransaction();
doNothing().when(writeTx).put(eq(LogicalDatastoreType.OPERATIONAL),
any(InstanceIdentifier.class), any(DataObject.class));
- doReturn(Futures.immediateCheckedFuture(null)).when(writeTx).commit();
- doReturn(Futures.immediateCheckedFuture(null)).when(readWriteTx).commit();
+ doReturn(FluentFutures.immediateNullFluentFuture()).when(writeTx).commit();
+ doReturn(FluentFutures.immediateNullFluentFuture()).when(readWriteTx).commit();
}
@After
.setMonitorInterval(10000L).setMonitorWindow(10L)
.setProtocolType(MonitorProtocolType.Arp).build())
.build();
- doReturn(Futures.immediateCheckedFuture(Optional.empty()))
+ doReturn(FluentFutures.immediateFluentFuture(Optional.empty()))
.when(readWriteTx).read(eq(LogicalDatastoreType.OPERATIONAL),
argThat(isType(MonitorProfile.class)));
- doReturn(Futures.immediateCheckedFuture(null)).when(readWriteTx).commit();
+ doReturn(FluentFutures.immediateNullFluentFuture()).when(readWriteTx).commit();
RpcResult<MonitorProfileCreateOutput> output = alivenessMonitor
.monitorProfileCreate(input).get();
assertTrue("Monitor Profile Create result", output.isSuccessful());
*/
package org.opendaylight.genius.alivenessmonitor.protocols;
-import javax.annotation.concurrent.ThreadSafe;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.openflowplugin.libraries.liblldp.Packet;
/**
* Registry of {@link AlivenessProtocolHandler}s.
+ *Implementations of this interface are expected to be thread-safe.
*
* @author Michael Vorburger.ch
*/
-@ThreadSafe
+
public interface AlivenessProtocolHandlerRegistry {
void register(MonitorProtocolType protocolType, AlivenessProtocolHandler<?> protocolHandler);
import java.util.EnumMap;
import java.util.HashMap;
import java.util.Map;
-import javax.annotation.concurrent.ThreadSafe;
import javax.inject.Singleton;
import org.apache.aries.blueprint.annotation.service.Service;
/**
* Implementation of AlivenessProtocolHandlerRegistry.
+ * Implementations of this interface are expected to be thread-safe.
*
* @author Michael Vorburger.ch
*/
+
@Singleton
-@ThreadSafe
@Service(classes = AlivenessProtocolHandlerRegistry.class)
public class AlivenessProtocolHandlerRegistryImpl implements AlivenessProtocolHandlerRegistry {
<parent>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>binding-parent</artifactId>
- <version>3.0.6</version>
+ <version>4.0.0</version>
<relativePath/>
</parent>
</dependency>
<!-- Testing Dependencies -->
+
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>hamcrest</artifactId>
+ <!-- Hamcrest is internally used by Awaitility, so must be compile instead of test scope for build to work -->
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>hamcrest-library</artifactId>
+ <!-- Hamcrest is internally used by Awaitility, so must be compile instead of test scope for build to work -->
+ <scope>compile</scope>
+ </dependency>
+
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-artifacts</artifactId>
- <version>3.0.6</version>
+ <version>4.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-artifacts</artifactId>
- <version>3.0.6</version>
+ <version>4.0.0</version>
<scope>import</scope>
<type>pom</type>
</dependency>
}
public static Action convertServiceActionToFlowAction(Action inAction) {
- final Function<Action, Action> func = SERVICE_TO_OF.get(inAction.getImplementedInterface());
+ final Function<Action, Action> func = SERVICE_TO_OF.get(inAction.implementedInterface());
return func == null ? inAction : func.apply(inAction);
}
}
<groupId>com.google.truth</groupId>
<artifactId>truth</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito2</artifactId>
import com.google.common.base.Optional;
import com.google.common.base.Preconditions;
import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.MoreExecutors;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Collection;
InstanceIdentifier<TransportZones> path = InstanceIdentifier.builder(TransportZones.class).build();
LOG.debug("InstanceIdentifier {}", path);
Futures.addCallback(txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION,
- tx -> tx.merge(path, transportZones, true)), ItmUtils.DEFAULT_WRITE_CALLBACK);
+ tx -> tx.merge(path, transportZones, true)), ItmUtils.DEFAULT_WRITE_CALLBACK,
+ MoreExecutors.directExecutor());
LOG.debug("wrote to Config DS {}", transportZones);
transportZonesHashMap.clear();
transportZoneArrayList.clear();
allPaths.addAll(vtepPaths);
allPaths.addAll(subnetPaths);
Futures.addCallback(txRunner.callWithNewWriteOnlyTransactionAndSubmit(Datastore.CONFIGURATION,
- tx -> allPaths.forEach(tx::delete)), ItmUtils.DEFAULT_WRITE_CALLBACK);
+ tx -> allPaths.forEach(tx::delete)), ItmUtils.DEFAULT_WRITE_CALLBACK,
+ MoreExecutors.directExecutor());
}
vtepPaths.clear();
subnetPaths.clear();
TunnelMonitorParams tunnelMonitor = new TunnelMonitorParamsBuilder().setEnabled(monitorEnabled)
.setMonitorProtocol(monitorType).build();
Futures.addCallback(txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION,
- tx -> tx.merge(path, tunnelMonitor, true)), ItmUtils.DEFAULT_WRITE_CALLBACK);
+ tx -> tx.merge(path, tunnelMonitor, true)), ItmUtils.DEFAULT_WRITE_CALLBACK,
+ MoreExecutors.directExecutor());
}
}
if (!storedTunnelMonitor.isPresent() || storedTunnelMonitor.get().getInterval() != interval) {
TunnelMonitorInterval tunnelMonitor = new TunnelMonitorIntervalBuilder().setInterval(interval).build();
Futures.addCallback(txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION,
- tx -> tx.merge(path, tunnelMonitor, true)), ItmUtils.DEFAULT_WRITE_CALLBACK);
+ tx -> tx.merge(path, tunnelMonitor, true)), ItmUtils.DEFAULT_WRITE_CALLBACK,
+ MoreExecutors.directExecutor());
}
}
package org.opendaylight.genius.itm.cli;
import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.MoreExecutors;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.ArrayList;
import java.util.List;
//allConfigPaths.add((InstanceIdentifier<T>) tunnelsConfigPath);
final ManagedNewTransactionRunner txrunner = new ManagedNewTransactionRunnerImpl(itmProvider.getDataBroker());
Futures.addCallback(txrunner.callWithNewWriteOnlyTransactionAndSubmit(Datastore.CONFIGURATION,
- tx -> allConfigPaths.forEach(tx::delete)), ItmUtils.DEFAULT_WRITE_CALLBACK);
+ tx -> allConfigPaths.forEach(tx::delete)), ItmUtils.DEFAULT_WRITE_CALLBACK, MoreExecutors.directExecutor());
List<InstanceIdentifier<T>> allOperationalPaths = new ArrayList<>();
// allOperationalPaths.add((InstanceIdentifier<T>) tnStateOpPath);
allOperationalPaths.add((InstanceIdentifier<T>) ifStateOpPath);
Futures.addCallback(txrunner.callWithNewWriteOnlyTransactionAndSubmit(Datastore.OPERATIONAL,
- tx -> allOperationalPaths.forEach(tx::delete)), ItmUtils.DEFAULT_WRITE_CALLBACK);
+ tx -> allOperationalPaths.forEach(tx::delete)), ItmUtils.DEFAULT_WRITE_CALLBACK,
+ MoreExecutors.directExecutor());
return null;
}
}
import com.google.common.net.InetAddresses;
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.MoreExecutors;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.math.BigInteger;
import java.net.InetAddress;
FutureCallback<Void> callback) {
WriteTransaction tx = broker.newWriteOnlyTransaction();
tx.put(datastoreType, path, data, true);
- Futures.addCallback(tx.submit(), callback);
+ Futures.addCallback(tx.submit(), callback, MoreExecutors.directExecutor());
}
/**
FutureCallback<Void> callback) {
WriteTransaction tx = broker.newWriteOnlyTransaction();
tx.merge(datastoreType, path, data, true);
- Futures.addCallback(tx.submit(), callback);
+ Futures.addCallback(tx.submit(), callback, MoreExecutors.directExecutor());
}
/**
FutureCallback<Void> callback) {
WriteTransaction tx = broker.newWriteOnlyTransaction();
tx.delete(datastoreType, path);
- Futures.addCallback(tx.submit(), callback);
+ Futures.addCallback(tx.submit(), callback, MoreExecutors.directExecutor());
}
/**
for (InstanceIdentifier<T> path : pathList) {
tx.delete(datastoreType, path);
}
- Futures.addCallback(tx.submit(), callback);
+ Futures.addCallback(tx.submit(), callback ,MoreExecutors.directExecutor());
}
}
settableFuture.set(RpcResultBuilder.<GetEgressActionsForTunnelOutput>failed()
.withError(RpcError.ErrorType.APPLICATION, errMsg, throwable).build());
}
- });
+ } ,MoreExecutors.directExecutor());
return settableFuture;
} else {
return fromListenableFuture(LOG, input, () -> getEgressActionsForInterface(input.getIntfName(),
tunnelName);
settableFuture.set(RpcResultBuilder.<GetTunnelTypeOutput>failed()
.withError(RpcError.ErrorType.APPLICATION, errMsg, throwable).build());
+
}
- });
+ },MoreExecutors.directExecutor());
return settableFuture;
} else {
LOG.debug("get tunnel type from ITM for interface name {}", input.getIntfName());
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.subnets.Vteps;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.subnets.VtepsBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.subnets.VtepsKey;
+import org.opendaylight.yangtools.util.concurrent.FluentFutures;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.common.RpcResult;
import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
new ExternalTunnelKey(getExternalTunnelKey(source),
getExternalTunnelKey(destination), tunnelType1));
- doReturn(Futures.immediateCheckedFuture(Optional.of(transportZone))).when(typedReadWriteTransaction)
+ doReturn(FluentFutures.immediateFluentFuture(Optional.of(transportZone))).when(typedReadWriteTransaction)
.read(transportZoneIdentifier);
externalTunnelAddWorker.buildHwVtepsTunnels(cfgdDpnListVxlan, null, typedReadWriteTransaction);
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.subnets.Vteps;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.subnets.VtepsBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.transport.zones.transport.zone.subnets.VtepsKey;
+import org.opendaylight.yangtools.util.concurrent.FluentFutures;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.common.RpcResult;
import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
Optional<TransportZone> optionalTransportZone = Optional.of(transportZone);
Optional<ExternalTunnel> exTunnels = Optional.of(externalTunnel);
- doReturn(Futures.immediateCheckedFuture(optionalTransportZone))
+ doReturn(FluentFutures.immediateFluentFuture(optionalTransportZone))
.when(typedReadWriteTransaction).read(transportZoneIdentifier);
- doReturn(Futures.immediateCheckedFuture(exTunnels))
+ doReturn(FluentFutures.immediateFluentFuture(exTunnels))
.when(typedReadWriteTransaction).read(externalTunnelIdentifier1);
- doReturn(Futures.immediateCheckedFuture(exTunnels))
+ doReturn(FluentFutures.immediateFluentFuture(exTunnels))
.when(typedReadWriteTransaction).read(externalTunnelIdentifier2);
- doReturn(Futures.immediateCheckedFuture(exTunnels)).when(typedReadWriteTransaction)
+ doReturn(FluentFutures.immediateFluentFuture(exTunnels)).when(typedReadWriteTransaction)
.read(externalTunnelIdentifier3);
- doReturn(Futures.immediateCheckedFuture(exTunnels)).when(typedReadWriteTransaction)
+ doReturn(FluentFutures.immediateFluentFuture(exTunnels)).when(typedReadWriteTransaction)
.read(externalTunnelIdentifier4);
- doReturn(Futures.immediateCheckedFuture(exTunnels)).when(typedReadWriteTransaction)
+ doReturn(FluentFutures.immediateFluentFuture(exTunnels)).when(typedReadWriteTransaction)
.read(externalTunnelIdentifier5);
- doReturn(Futures.immediateCheckedFuture(exTunnels)).when(typedReadWriteTransaction)
+ doReturn(FluentFutures.immediateFluentFuture(exTunnels)).when(typedReadWriteTransaction)
.read(externalTunnelIdentifier6);
try {
ItmExternalTunnelDeleteWorker
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.InstanceIdentifierBuilder;
+import org.opendaylight.yangtools.yang.common.Empty;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public static Action createNxOfInPortAction(final int actionKey, final int inPortVal) {
NxRegLoad regLoad = new NxRegLoadBuilder()
- .setDst(new DstBuilder().setDstChoice(new DstNxOfInPortCaseBuilder().setOfInPort(Boolean.TRUE).build())
+ .setDst(new DstBuilder().setDstChoice(new DstNxOfInPortCaseBuilder()
+ .setOfInPort(Empty.getInstance()).build())
.setStart(0).setEnd(15).build())
.setValue(BigInteger.valueOf(inPortVal)).build();
ActionBuilder abExt = new ActionBuilder();
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionRegLoadNodesNodeTableFlowApplyActionsCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.load.grouping.NxRegLoadBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.load.grouping.nx.reg.load.DstBuilder;
-
+import org.opendaylight.yangtools.yang.common.Empty;
/**
* Load IP Address to SPA (Sender Protocol Address).
.setAction(new NxActionRegLoadNodesNodeTableFlowApplyActionsCaseBuilder()
.setNxRegLoad(new NxRegLoadBuilder()
.setDst(new DstBuilder()
- .setDstChoice(new DstOfArpSpaCaseBuilder().setOfArpSpa(true).build())
+ .setDstChoice(new DstOfArpSpaCaseBuilder().setOfArpSpa(Empty.getInstance()).build())
.setStart(0)
.setEnd(31)
.build())
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionRegLoadNodesNodeTableFlowApplyActionsCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.load.grouping.NxRegLoadBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.load.grouping.nx.reg.load.DstBuilder;
+import org.opendaylight.yangtools.yang.common.Empty;
/**
* Load MAC address to SHA (Sender Hardware Address).
.setAction(new NxActionRegLoadNodesNodeTableFlowApplyActionsCaseBuilder()
.setNxRegLoad(new NxRegLoadBuilder()
.setDst(new DstBuilder()
- .setDstChoice(new DstNxArpShaCaseBuilder().setNxArpSha(true).build())
+ .setDstChoice(new DstNxArpShaCaseBuilder().setNxArpSha(Empty.getInstance()).build())
.setStart(0)
.setEnd(47)
.build())
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.move.grouping.nx.reg.move.DstBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.move.grouping.nx.reg.move.SrcBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcNxArpShaCaseBuilder;
+import org.opendaylight.yangtools.yang.common.Empty;
/**
* Move Source Hardware address to Destination address, to where the ARP
.setAction(new NxActionRegMoveNodesNodeTableFlowApplyActionsCaseBuilder()
.setNxRegMove(new NxRegMoveBuilder()
.setSrc(new SrcBuilder()
- .setSrcChoice(new SrcNxArpShaCaseBuilder().setNxArpSha(true).build())
+ .setSrcChoice(new SrcNxArpShaCaseBuilder().setNxArpSha(Empty.getInstance()).build())
.setStart(0)
.setEnd(47)
.build())
.setDst(new DstBuilder()
- .setDstChoice(new DstNxArpThaCaseBuilder().setNxArpTha(true).build())
+ .setDstChoice(new DstNxArpThaCaseBuilder().setNxArpTha(Empty.getInstance()).build())
.setStart(0)
.setEnd(47)
.build())
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.move.grouping.nx.reg.move.DstBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.move.grouping.nx.reg.move.SrcBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcOfEthSrcCaseBuilder;
-
+import org.opendaylight.yangtools.yang.common.Empty;
/**
* Move source/destination Ethernet action.
ActionBuilder ab = new ActionBuilder();
NxRegMove regMove = new NxRegMoveBuilder()
.setSrc(new SrcBuilder()
- .setSrcChoice(new SrcOfEthSrcCaseBuilder().setOfEthSrc(Boolean.TRUE).build())
+ .setSrcChoice(new SrcOfEthSrcCaseBuilder().setOfEthSrc(Empty.getInstance()).build())
.setStart(0)
.build())
.setDst(new DstBuilder()
- .setDstChoice(new DstOfEthDstCaseBuilder().setOfEthDst(Boolean.TRUE).build())
+ .setDstChoice(new DstOfEthDstCaseBuilder().setOfEthDst(Empty.getInstance()).build())
.setStart(0)
.setEnd(47)
.build())
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.move.grouping.nx.reg.move.DstBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.move.grouping.nx.reg.move.SrcBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcOfIpSrcCaseBuilder;
+import org.opendaylight.yangtools.yang.common.Empty;
/**
* Move source/destination IP action.
ActionBuilder ab = new ActionBuilder();
NxRegMove regMove = new NxRegMoveBuilder()
.setSrc(new SrcBuilder()
- .setSrcChoice(new SrcOfIpSrcCaseBuilder().setOfIpSrc(Boolean.TRUE).build())
+ .setSrcChoice(new SrcOfIpSrcCaseBuilder().setOfIpSrc(Empty.getInstance()).build())
.setStart(0)
.build())
.setDst(new DstBuilder()
- .setDstChoice(new DstOfIpDstCaseBuilder().setOfIpDst(Boolean.TRUE).build())
+ .setDstChoice(new DstOfIpDstCaseBuilder().setOfIpDst(Empty.getInstance()).build())
.setStart(0)
.setEnd(31)
.build())
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.move.grouping.nx.reg.move.DstBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.move.grouping.nx.reg.move.SrcBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcNxIpv6SrcCaseBuilder;
+import org.opendaylight.yangtools.yang.common.Empty;
/**
* Move source/destination IPv6 action.
ActionBuilder ab = new ActionBuilder();
NxRegMove regMove = new NxRegMoveBuilder()
.setSrc(new SrcBuilder()
- .setSrcChoice(new SrcNxIpv6SrcCaseBuilder().setNxIpv6Src(Boolean.TRUE).build())
+ .setSrcChoice(new SrcNxIpv6SrcCaseBuilder().setNxIpv6Src(Empty.getInstance()).build())
.setStart(0)
.build())
.setDst(new DstBuilder()
- .setDstChoice(new DstNxIpv6DstCaseBuilder().setNxIpv6Dst(Boolean.TRUE).build())
+ .setDstChoice(new DstNxIpv6DstCaseBuilder().setNxIpv6Dst(Empty.getInstance()).build())
.setStart(0)
.setEnd(127)
.build())
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.move.grouping.nx.reg.move.DstBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.move.grouping.nx.reg.move.SrcBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcOfArpSpaCaseBuilder;
+import org.opendaylight.yangtools.yang.common.Empty;
/**
* Move Source IP address to Destination IP address, to where the ARP
.setAction(new NxActionRegMoveNodesNodeTableFlowApplyActionsCaseBuilder()
.setNxRegMove(new NxRegMoveBuilder()
.setSrc(new SrcBuilder()
- .setSrcChoice(new SrcOfArpSpaCaseBuilder().setOfArpSpa(true).build())
+ .setSrcChoice(new SrcOfArpSpaCaseBuilder().setOfArpSpa(Empty.getInstance()).build())
.setStart(0)
.setEnd(31)
.build())
.setDst(new DstBuilder()
- .setDstChoice(new DstOfArpTpaCaseBuilder().setOfArpTpa(true).build())
+ .setDstChoice(new DstOfArpTpaCaseBuilder().setOfArpTpa(Empty.getInstance()).build())
.setStart(0)
.setEnd(31)
.build())
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionRegLoadNodesNodeTableFlowApplyActionsCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.load.grouping.NxRegLoadBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.load.grouping.nx.reg.load.DstBuilder;
+import org.opendaylight.yangtools.yang.common.Empty;
/**
* NX load in port action.
.setAction(new NxActionRegLoadNodesNodeTableFlowApplyActionsCaseBuilder()
.setNxRegLoad(new NxRegLoadBuilder()
.setDst(new DstBuilder()
- .setDstChoice(new DstNxOfInPortCaseBuilder().setOfInPort(true).build())
+ .setDstChoice(new DstNxOfInPortCaseBuilder().setOfInPort(Empty.getInstance()).build())
.setStart(0)
.setEnd(15)
.build())
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionRegLoadNodesNodeTableFlowApplyActionsCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.load.grouping.NxRegLoadBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.load.grouping.nx.reg.load.DstBuilder;
+import org.opendaylight.yangtools.yang.common.Empty;
/**
* NX load metadata action.
.setAction(new NxActionRegLoadNodesNodeTableFlowApplyActionsCaseBuilder()
.setNxRegLoad(new NxRegLoadBuilder()
.setDst(new DstBuilder()
- .setDstChoice(new DstOfMetadataCaseBuilder().setOfMetadata(true).build())
+ .setDstChoice(new DstOfMetadataCaseBuilder().setOfMetadata(Empty.getInstance()).build())
.setStart(startBit)
.setEnd(endBit)
.build())
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.move.grouping.nx.reg.move.Src;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.move.grouping.nx.reg.move.SrcBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcNxRegCaseBuilder;
+import org.opendaylight.yangtools.yang.common.Empty;
/**
* Action to move an NXM register.
.build();
Dst dst = new DstBuilder()
- .setDstChoice(new DstOfMplsLabelCaseBuilder().setOfMplsLabel(true).build())
+ .setDstChoice(new DstOfMplsLabelCaseBuilder().setOfMplsLabel(Empty.getInstance()).build())
.setStart(start)
.setEnd(end)
.build();
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionRegLoadNodesNodeTableFlowApplyActionsCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.load.grouping.NxRegLoadBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.load.grouping.nx.reg.load.DstBuilder;
+import org.opendaylight.yangtools.yang.common.Empty;
/**
* Set ARP Operation Type that is Request or Replay.
.setAction(new NxActionRegLoadNodesNodeTableFlowApplyActionsCaseBuilder()
.setNxRegLoad(new NxRegLoadBuilder()
.setDst(new DstBuilder()
- .setDstChoice(new DstOfArpOpCaseBuilder().setOfArpOp(true).build())
+ .setDstChoice(new DstOfArpOpCaseBuilder().setOfArpOp(Empty.getInstance()).build())
.setStart(0)
.setEnd(15)
.build())
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.load.grouping.NxRegLoadBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.load.grouping.nx.reg.load.Dst;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.load.grouping.nx.reg.load.DstBuilder;
+import org.opendaylight.yangtools.yang.common.Empty;
/**
* Set tunnel destination IP action.
public Action buildAction(int newActionKey) {
NxRegLoadBuilder nxRegLoadBuilder = new NxRegLoadBuilder();
Dst dst = new DstBuilder()
- .setDstChoice(new DstNxTunIpv4DstCaseBuilder().setNxTunIpv4Dst(Boolean.TRUE).build())
+ .setDstChoice(new DstNxTunIpv4DstCaseBuilder().setNxTunIpv4Dst(Empty.getInstance()).build())
.setStart(0)
.setEnd(31)
.build();
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.load.grouping.NxRegLoadBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.load.grouping.nx.reg.load.Dst;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.load.grouping.nx.reg.load.DstBuilder;
+import org.opendaylight.yangtools.yang.common.Empty;
/**
* Set tunnel source IP action.
public Action buildAction(int newActionKey) {
NxRegLoadBuilder nxRegLoadBuilder = new NxRegLoadBuilder();
Dst dst = new DstBuilder()
- .setDstChoice(new DstNxTunIpv4SrcCaseBuilder().setNxTunIpv4Src(Boolean.TRUE).build())
+ .setDstChoice(new DstNxTunIpv4SrcCaseBuilder().setNxTunIpv4Src(Empty.getInstance()).build())
.setStart(0)
.setEnd(31)
.build();
try {
payloadLength = payload.serialize().length;
} catch (PacketException e) {
- LOG.error("", e);
+ LOG.error("Exception in setpayload", e);
}
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstOfArpSpaCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionRegLoadNodesNodeTableFlowApplyActionsCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.load.grouping.NxRegLoad;
+import org.opendaylight.yangtools.yang.common.Empty;
+
/**
* Test for {@link ActionLoadIpToSpa}.
NxRegLoad nxRegLoad = actionCase.getNxRegLoad();
assertTrue(nxRegLoad.getDst().getDstChoice() instanceof DstOfArpSpaCase);
DstOfArpSpaCase dstOfArpSpaCase = (DstOfArpSpaCase) nxRegLoad.getDst().getDstChoice();
- assertTrue(dstOfArpSpaCase.isOfArpSpa());
+ assertEquals(Empty.getInstance(),dstOfArpSpaCase.getOfArpSpa());
assertEquals(0, nxRegLoad.getDst().getStart().intValue());
assertEquals(31, nxRegLoad.getDst().getEnd().intValue());
assertEquals(
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxArpShaCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionRegLoadNodesNodeTableFlowApplyActionsCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.load.grouping.NxRegLoad;
+import org.opendaylight.yangtools.yang.common.Empty;
/**
* Test for {@link ActionLoadMacToSha}.
NxRegLoad nxRegLoad = actionCase.getNxRegLoad();
assertTrue(nxRegLoad.getDst().getDstChoice() instanceof DstNxArpShaCase);
DstNxArpShaCase dstNxArpShaCase = (DstNxArpShaCase) nxRegLoad.getDst().getDstChoice();
- assertTrue(dstNxArpShaCase.isNxArpSha());
+ assertEquals(Empty.getInstance(),dstNxArpShaCase.getNxArpSha());
assertEquals(0, nxRegLoad.getDst().getStart().intValue());
assertEquals(47, nxRegLoad.getDst().getEnd().intValue());
assertEquals(BigInteger.valueOf(NWUtil.macToLong(new MacAddress(MAC_ADDRESS))), nxRegLoad.getValue());
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionRegMoveNodesNodeTableFlowApplyActionsCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.move.grouping.NxRegMove;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcOfEthSrcCase;
+import org.opendaylight.yangtools.yang.common.Empty;
/**
* Test class for {@link ActionMoveSourceDestinationEth}.
NxRegMove nxRegMove = actionCase.getNxRegMove();
assertTrue(nxRegMove.getSrc().getSrcChoice() instanceof SrcOfEthSrcCase);
SrcOfEthSrcCase srcChoice = (SrcOfEthSrcCase) nxRegMove.getSrc().getSrcChoice();
- assertTrue(srcChoice.isOfEthSrc());
+ assertEquals(Empty.getInstance(),srcChoice.getOfEthSrc());
assertEquals(0, nxRegMove.getSrc().getStart().intValue());
assertTrue(nxRegMove.getDst().getDstChoice() instanceof DstOfEthDstCase);
DstOfEthDstCase dstChoice = (DstOfEthDstCase) nxRegMove.getDst().getDstChoice();
- assertTrue(dstChoice.isOfEthDst());
+ assertEquals(Empty.getInstance(),dstChoice.getOfEthDst());
assertEquals(0, nxRegMove.getDst().getStart().intValue());
assertEquals(47, nxRegMove.getDst().getEnd().intValue());
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionRegMoveNodesNodeTableFlowApplyActionsCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.move.grouping.NxRegMove;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcOfIpSrcCase;
+import org.opendaylight.yangtools.yang.common.Empty;
/**
* Test class for {@link ActionMoveSourceDestinationIp}.
NxRegMove nxRegMove = actionCase.getNxRegMove();
assertTrue(nxRegMove.getSrc().getSrcChoice() instanceof SrcOfIpSrcCase);
SrcOfIpSrcCase srcChoice = (SrcOfIpSrcCase) nxRegMove.getSrc().getSrcChoice();
- assertTrue(srcChoice.isOfIpSrc());
+ assertEquals(Empty.getInstance(),srcChoice.getOfIpSrc());
assertEquals(0, nxRegMove.getSrc().getStart().intValue());
assertTrue(nxRegMove.getDst().getDstChoice() instanceof DstOfIpDstCase);
DstOfIpDstCase dstChoice = (DstOfIpDstCase) nxRegMove.getDst().getDstChoice();
- assertTrue(dstChoice.isOfIpDst());
+ assertEquals(Empty.getInstance(),dstChoice.getOfIpDst());
assertEquals(0, nxRegMove.getDst().getStart().intValue());
assertEquals(31, nxRegMove.getDst().getEnd().intValue());
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionRegMoveNodesNodeTableFlowApplyActionsCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.move.grouping.NxRegMove;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.src.choice.grouping.src.choice.SrcNxIpv6SrcCase;
+import org.opendaylight.yangtools.yang.common.Empty;
/**
* Test class for {@link ActionMoveSourceDestinationIpv6}.
NxRegMove nxRegMove = actionCase.getNxRegMove();
assertTrue(nxRegMove.getSrc().getSrcChoice() instanceof SrcNxIpv6SrcCase);
SrcNxIpv6SrcCase srcChoice = (SrcNxIpv6SrcCase) nxRegMove.getSrc().getSrcChoice();
- assertTrue(srcChoice.isNxIpv6Src());
+ assertEquals(Empty.getInstance(),srcChoice.getNxIpv6Src());
assertEquals(0, nxRegMove.getSrc().getStart().intValue());
assertTrue(nxRegMove.getDst().getDstChoice() instanceof DstNxIpv6DstCase);
DstNxIpv6DstCase dstChoice = (DstNxIpv6DstCase) nxRegMove.getDst().getDstChoice();
- assertTrue(dstChoice.isNxIpv6Dst());
+ assertEquals(Empty.getInstance(), dstChoice.getNxIpv6Dst());
assertEquals(0, nxRegMove.getDst().getStart().intValue());
assertEquals(127, nxRegMove.getDst().getEnd().intValue());
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstNxOfInPortCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionRegLoadNodesNodeTableFlowApplyActionsCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.load.grouping.NxRegLoad;
+import org.opendaylight.yangtools.yang.common.Empty;
/**
* Test for {@link ActionNxLoadInPort}.
NxRegLoad nxRegLoad = actionCase.getNxRegLoad();
assertTrue(nxRegLoad.getDst().getDstChoice() instanceof DstNxOfInPortCase);
DstNxOfInPortCase dstNxOfInPortCase = (DstNxOfInPortCase) nxRegLoad.getDst().getDstChoice();
- assertTrue(dstNxOfInPortCase.isOfInPort());
+ assertEquals(Empty.getInstance(),dstNxOfInPortCase.getOfInPort());
assertEquals(0, nxRegLoad.getDst().getStart().intValue());
assertEquals(15, nxRegLoad.getDst().getEnd().intValue());
assertEquals(VALUE, nxRegLoad.getValue());
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.dst.choice.grouping.dst.choice.DstOfMetadataCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nodes.node.table.flow.instructions.instruction.instruction.apply.actions._case.apply.actions.action.action.NxActionRegLoadNodesNodeTableFlowApplyActionsCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.reg.load.grouping.NxRegLoad;
+import org.opendaylight.yangtools.yang.common.Empty;
/**
* Test for {@link ActionNxLoadMetadata}.
NxRegLoad nxRegLoad = actionCase.getNxRegLoad();
assertTrue(nxRegLoad.getDst().getDstChoice() instanceof DstOfMetadataCase);
DstOfMetadataCase dstOfMetadataCase = (DstOfMetadataCase) nxRegLoad.getDst().getDstChoice();
- assertTrue(dstOfMetadataCase.isOfMetadata());
+ assertEquals(Empty.getInstance(),dstOfMetadataCase.getOfMetadata());
assertEquals(START, nxRegLoad.getDst().getStart());
assertEquals(END, nxRegLoad.getDst().getEnd());
assertEquals(VALUE, nxRegLoad.getValue());
<version>1.6.4</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
import java.util.function.BiFunction;
import java.util.function.Consumer;
import java.util.function.Function;
-import javax.annotation.concurrent.GuardedBy;
import javax.inject.Inject;
import javax.inject.Singleton;
import org.apache.aries.blueprint.annotation.service.Reference;
import org.apache.aries.blueprint.annotation.service.Service;
+import org.checkerframework.checker.lock.qual.GuardedBy;
import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.controller.md.sal.binding.api.ClusteredDataTreeChangeListener;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
<artifactId>awaitility</artifactId>
<scope>compile</scope> <!-- Do *NOT* use <scope>test</scope> here, because this is a testutils -->
</dependency>
- <dependency>
- <groupId>org.hamcrest</groupId>
- <artifactId>hamcrest-core</artifactId>
- <!-- Hamcrest is internally used by Awaitility, so must be compile instead of test scope for build to work -->
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.hamcrest</groupId>
- <artifactId>hamcrest-library</artifactId>
- <!-- Hamcrest is internally used by Awaitility, so must be compile instead of test scope for build to work -->
- <scope>compile</scope>
- </dependency>
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>