<dependency>
<groupId>org.opendaylight.l2switch.addresstracker</groupId>
<artifactId>addresstracker-model</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ <optional>true</optional>
</dependency>
<dependency>
<groupId>junit</groupId>
if (nc == null) {
return;
}
- AddressCapableNodeConnector acnc = nc
- .getAugmentation(AddressCapableNodeConnector.class);
+ AddressCapableNodeConnector acnc = nc.augmentation(AddressCapableNodeConnector.class);
// Address observations exist
if (acnc != null && acnc.getAddresses() != null) {
if (addresses.get(i).getIp().equals(ipAddress) && addresses.get(i).getMac().equals(macAddress)) {
if (now - addresses.get(i).getLastSeen() > timestampUpdateInterval) {
addressBuilder.setFirstSeen(addresses.get(i).getFirstSeen())
- .setKey(addresses.get(i).getKey());
+ .withKey(addresses.get(i).key());
addresses.remove(i);
break;
} else {
addresses = new ArrayList<>();
}
- if (addressBuilder.getKey() == null) {
- addressBuilder.setKey(new AddressesKey(BigInteger.valueOf(addressKey.getAndIncrement())));
+ if (addressBuilder.key() == null) {
+ addressBuilder.withKey(new AddressesKey(BigInteger.valueOf(addressKey.getAndIncrement())));
}
// Add as an augmentation
*/
package org.opendaylight.l2switch.addresstracker.addressobserver;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.arp.rev140528.ArpPacketListener;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.arp.rev140528.ArpPacketReceived;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.arp.rev140528.arp.packet.received.packet.chain.packet.ArpPacket;
}
addressObservationWriter.addAddress(ethernetPacket.getSourceMac(),
- new IpAddress(arpPacket.getSourceProtocolAddress().toCharArray()), rawPacket.getIngress());
+ IpAddressBuilder.getDefaultInstance(arpPacket.getSourceProtocolAddress()), rawPacket.getIngress());
}
}
*/
package org.opendaylight.l2switch.addresstracker.addressobserver;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.basepacket.rev140528.packet.chain.grp.PacketChain;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.basepacket.rev140528.packet.chain.grp.packet.chain.packet.RawPacket;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.ethernet.rev140528.ethernet.packet.received.packet.chain.packet.EthernetPacket;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.ipv4.rev140528.Ipv4PacketReceived;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.ipv4.rev140528.ipv4.packet.received.packet.chain.packet.Ipv4Packet;
+
/**
* AddressObserver listens to IPv4 packets to find addresses (mac, ip) and store
* these address observations for each node-connector. These packets are
if (!IPV4_IP_TO_IGNORE.equals(ipv4Packet.getSourceIpv4().getValue())) {
addressObservationWriter.addAddress(ethernetPacket.getSourceMac(),
- new IpAddress(ipv4Packet.getSourceIpv4().getValue().toCharArray()), rawPacket.getIngress());
+ IpAddressBuilder.getDefaultInstance(ipv4Packet.getSourceIpv4().getValue()), rawPacket.getIngress());
}
}
}
*/
package org.opendaylight.l2switch.addresstracker.addressobserver;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.basepacket.rev140528.packet.chain.grp.PacketChain;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.basepacket.rev140528.packet.chain.grp.packet.chain.packet.RawPacket;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.ethernet.rev140528.ethernet.packet.received.packet.chain.packet.EthernetPacket;
if (!IPV6_IP_TO_IGNORE.equals(ipv6Packet.getSourceIpv6().getValue())) {
addressObservationWriter.addAddress(ethernetPacket.getSourceMac(),
- new IpAddress(ipv6Packet.getSourceIpv6().getValue().toCharArray()), rawPacket.getIngress());
+ IpAddressBuilder.getDefaultInstance(ipv6Packet.getSourceIpv6().getValue()), rawPacket.getIngress());
}
}
}
public void close() {
listenerRegistrations.forEach(reg -> reg.close());
- LOG.info("AddressTracker torn down.", this);
+ LOG.info("AddressTracker torn down.");
}
@Nonnull
*/
package org.opendaylight.l2switch.addresstracker.addressobserver;
-import static org.mockito.Mockito.any;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
when(dataObjectOptional.get()).thenReturn(nodeConnector);
addrCapableNc = mock(AddressCapableNodeConnector.class);
- when(nodeConnector.getAugmentation(AddressCapableNodeConnector.class)).thenReturn(addrCapableNc);
+ when(nodeConnector.augmentation(AddressCapableNodeConnector.class)).thenReturn(addrCapableNc);
address = mock(Addresses.class);
List<Addresses> listAddr = new ArrayList<Addresses>();
when(address.getLastSeen()).thenReturn(1410350400L);
when(address.getFirstSeen()).thenReturn(1410350400L);
addrKey = mock(AddressesKey.class);
- when(address.getKey()).thenReturn(addrKey);
+ when(address.key()).thenReturn(addrKey);
writeTransaction = mock(WriteTransaction.class);
when(dataService.newWriteOnlyTransaction()).thenReturn(writeTransaction);
*/
package org.opendaylight.l2switch.addresstracker.addressobserver;
-import static org.mockito.Mockito.any;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@Test
public void onArpPacketReceivedTest() throws Exception {
- ArrayList<PacketChain> packetChainList = new ArrayList<PacketChain>();
+ ArrayList<PacketChain> packetChainList = new ArrayList<>();
packetChainList.add(new PacketChainBuilder().setPacket(new RawPacketBuilder().build()).build());
packetChainList.add(new PacketChainBuilder()
.setPacket(new EthernetPacketBuilder().setSourceMac(new MacAddress("aa:bb:cc:dd:ee:ff")).build())
AddressObserverUsingArp addressOberserverArp = new AddressObserverUsingArp(addressObservationWriterMock);
addressOberserverArp.onArpPacketReceived(arpReceived);
- verify(addressObservationWriterMock, times(1)).addAddress(any(MacAddress.class), any(IpAddress.class),
- any(NodeConnectorRef.class));
+ verify(addressObservationWriterMock, times(1)).addAddress(any(MacAddress.class), any(IpAddress.class), any());
}
@Test
@Test
public void onArpPacketReceivedNullInputTest2() throws Exception {
- ArrayList<PacketChain> packetChainList = new ArrayList<PacketChain>();
+ ArrayList<PacketChain> packetChainList = new ArrayList<>();
packetChainList.add(new PacketChainBuilder().setPacket(new RawPacketBuilder().build()).build());
packetChainList.add(new PacketChainBuilder()
.setPacket(new EthernetPacketBuilder().setSourceMac(new MacAddress("aa:bb:cc:dd:ee:ff")).build())
*/
package org.opendaylight.l2switch.addresstracker.addressobserver;
-import static org.mockito.Mockito.any;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@Test
public void onIpv4PacketReceivedTest() throws Exception {
- ArrayList<PacketChain> packetChainList = new ArrayList<PacketChain>();
+ ArrayList<PacketChain> packetChainList = new ArrayList<>();
packetChainList.add(new PacketChainBuilder().setPacket(new RawPacketBuilder().build()).build());
packetChainList.add(new PacketChainBuilder()
.setPacket(new EthernetPacketBuilder().setSourceMac(new MacAddress("aa:bb:cc:dd:ee:ff")).build())
AddressObserverUsingIpv4 addressObserverIpv4 = new AddressObserverUsingIpv4(addressObservationWriterMock);
addressObserverIpv4.onIpv4PacketReceived(ipv4PktReceived);
- verify(addressObservationWriterMock, times(1)).addAddress(any(MacAddress.class), any(IpAddress.class),
- any(NodeConnectorRef.class));
+ verify(addressObservationWriterMock, times(1)).addAddress(any(MacAddress.class), any(IpAddress.class), any());
}
@Test
verify(addressObservationWriterMock, times(0)).addAddress(any(MacAddress.class), any(IpAddress.class),
any(NodeConnectorRef.class));
-
}
@Test
public void onIpv4PacketReceivedNullInputTest2() throws Exception {
- ArrayList<PacketChain> packetChainList = new ArrayList<PacketChain>();
+ ArrayList<PacketChain> packetChainList = new ArrayList<>();
packetChainList.add(new PacketChainBuilder().setPacket(new RawPacketBuilder().build()).build());
packetChainList.add(new PacketChainBuilder()
.setPacket(new EthernetPacketBuilder().setSourceMac(new MacAddress("aa:bb:cc:dd:ee:ff")).build())
verify(addressObservationWriterMock, times(0)).addAddress(any(MacAddress.class), any(IpAddress.class),
any(NodeConnectorRef.class));
-
}
@Test
public void onIpv4PacketReceivedNullInputTest3() throws Exception {
- ArrayList<PacketChain> packetChainList = new ArrayList<PacketChain>();
+ ArrayList<PacketChain> packetChainList = new ArrayList<>();
packetChainList.add(new PacketChainBuilder().setPacket(new RawPacketBuilder().build()).build());
packetChainList.add(new PacketChainBuilder()
.setPacket(new EthernetPacketBuilder().setSourceMac(new MacAddress("aa:bb:cc:dd:ee:ff")).build())
verify(addressObservationWriterMock, times(0)).addAddress(any(MacAddress.class), any(IpAddress.class),
any(NodeConnectorRef.class));
-
}
}
*/
package org.opendaylight.l2switch.addresstracker.addressobserver;
-import static org.mockito.Mockito.any;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@Test
public void onIpv6PacketReceivedTest() {
- ArrayList<PacketChain> packetChainList = new ArrayList<PacketChain>();
+ ArrayList<PacketChain> packetChainList = new ArrayList<>();
packetChainList.add(new PacketChainBuilder().setPacket(new RawPacketBuilder().build()).build());
packetChainList.add(new PacketChainBuilder()
.setPacket(new EthernetPacketBuilder().setSourceMac(new MacAddress("aa:bb:cc:dd:ee:ff")).build())
AddressObserverUsingIpv6 addressObserverIpv6 = new AddressObserverUsingIpv6(addressObservationWriterMock);
addressObserverIpv6.onIpv6PacketReceived(ipv6PktReceived);
- verify(addressObservationWriterMock, times(1)).addAddress(any(MacAddress.class), any(IpAddress.class),
- any(NodeConnectorRef.class));
+ verify(addressObservationWriterMock, times(1)).addAddress(any(MacAddress.class), any(IpAddress.class), any());
}
@Test
@Test
public void onIpv6PacketReceivedNullInputTest2() throws Exception {
- ArrayList<PacketChain> packetChainList = new ArrayList<PacketChain>();
+ ArrayList<PacketChain> packetChainList = new ArrayList<>();
packetChainList.add(new PacketChainBuilder().setPacket(new RawPacketBuilder().build()).build());
packetChainList.add(new PacketChainBuilder()
.setPacket(new EthernetPacketBuilder().setSourceMac(new MacAddress("aa:bb:cc:dd:ee:ff")).build())
@Test
public void onIpv6PacketReceivedNullInputTest3() throws Exception {
- ArrayList<PacketChain> packetChainList = new ArrayList<PacketChain>();
+ ArrayList<PacketChain> packetChainList = new ArrayList<>();
packetChainList.add(new PacketChainBuilder().setPacket(new RawPacketBuilder().build()).build());
packetChainList.add(new PacketChainBuilder()
.setPacket(new EthernetPacketBuilder().setSourceMac(new MacAddress("aa:bb:cc:dd:ee:ff")).build())
<artifactId>yang-common</artifactId>
</dependency>
<dependency>
- <groupId>org.opendaylight.mdsal.model</groupId>
- <artifactId>ietf-yang-types-20130715</artifactId>
+ <groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
+ <artifactId>rfc6991-ietf-yang-types</artifactId>
</dependency>
<dependency>
<groupId>org.opendaylight.l2switch.packethandler</groupId>
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorRef;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeRef;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnector;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnectorKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingService;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.TransmitPacketInput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.TransmitPacketInputBuilder;
public void dispatchPacket(byte[] payload, NodeConnectorRef ingress, MacAddress srcMac, MacAddress destMac) {
inventoryReader.readInventory();
- String nodeId = ingress.getValue().firstIdentifierOf(Node.class).firstKeyOf(Node.class, NodeKey.class).getId()
- .getValue();
+ String nodeId = ingress.getValue().firstIdentifierOf(Node.class).firstKeyOf(Node.class).getId().getValue();
NodeConnectorRef srcConnectorRef = inventoryReader.getControllerSwitchConnectors().get(nodeId);
if (srcConnectorRef == null) {
}
for (NodeConnectorRef ncRef : nodeConnectors) {
String ncId = ncRef.getValue().firstIdentifierOf(NodeConnector.class)
- .firstKeyOf(NodeConnector.class, NodeConnectorKey.class).getId().getValue();
+ .firstKeyOf(NodeConnector.class).getId().getValue();
// Don't flood on discarding node connectors & origIngress
if (!ncId.equals(origIngress.getValue().firstIdentifierOf(NodeConnector.class)
- .firstKeyOf(NodeConnector.class, NodeConnectorKey.class).getId().getValue())) {
+ .firstKeyOf(NodeConnector.class).getId().getValue())) {
sendPacketOut(payload, origIngress, ncRef);
}
}
.build();
Futures.addCallback(JdkFutureAdapters.listenInPoolThread(packetProcessingService.transmitPacket(input)),
- new FutureCallback<RpcResult<Void>>() {
+ new FutureCallback<RpcResult<?>>() {
@Override
- public void onSuccess(RpcResult<Void> result) {
+ public void onSuccess(RpcResult<?> result) {
LOG.debug("transmitPacket was successful");
}
if (nodeConnectors != null) {
for (NodeConnector outerNodeConnector : nodeConnectors) {
StpStatusAwareNodeConnector outerSaNodeConnector = outerNodeConnector
- .getAugmentation(StpStatusAwareNodeConnector.class);
+ .augmentation(StpStatusAwareNodeConnector.class);
if (outerSaNodeConnector != null
&& StpStatus.Discarding.equals(outerSaNodeConnector.getStatus())) {
continue;
// that are "forwarding" will be flooded
// on
StpStatusAwareNodeConnector saNodeConnector = nodeConnector
- .getAugmentation(StpStatusAwareNodeConnector.class);
+ .augmentation(StpStatusAwareNodeConnector.class);
if (saNodeConnector == null
|| StpStatus.Forwarding.equals(saNodeConnector.getStatus())) {
outputActions.add(new ActionBuilder() //
// Add controller port to outputActions for
// external ports only
if (outerSaNodeConnector == null) {
- outputActions.add(new ActionBuilder().setOrder(0).setKey(new ActionKey(0))
+ outputActions.add(new ActionBuilder().setOrder(0).withKey(new ActionKey(0))
.setAction(
new OutputActionCaseBuilder()
.setOutputAction(new OutputActionBuilder()
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeRef;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.EtherType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.ethernet.match.fields.EthernetTypeBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.EthernetMatchBuilder;
for (InstanceIdentifier<?> nodeId : nodeIds) {
if (Node.class.isAssignableFrom(nodeId.getTargetType())) {
InstanceIdentifier<Node> invNodeId = (InstanceIdentifier<Node>)nodeId;
- if (invNodeId.firstKeyOf(Node.class,NodeKey.class).getId().getValue().contains("openflow:")) {
+ if (invNodeId.firstKeyOf(Node.class).getId().getValue().contains("openflow:")) {
addInitialFlows(invNodeId);
}
}
private Action getSendToControllerAction() {
Action sendToController = new ActionBuilder()
.setOrder(0)
- .setKey(new ActionKey(0))
+ .withKey(new ActionKey(0))
.setAction(new OutputActionCaseBuilder()
.setOutputAction(new OutputActionBuilder()
.setMaxLength(0xffff)
private Action getNormalAction() {
Action normal = new ActionBuilder()
.setOrder(0)
- .setKey(new ActionKey(0))
+ .withKey(new ActionKey(0))
.setAction(new OutputActionCaseBuilder()
.setOutputAction(new OutputActionBuilder()
.setMaxLength(0xffff)
InstanceIdentifier<Table> tableInstanceId,
InstanceIdentifier<Flow> flowPath,
Flow flow) {
- LOG.trace("Adding flow to node {}",nodeInstanceId.firstKeyOf(Node.class, NodeKey.class).getId().getValue());
+ LOG.trace("Adding flow to node {}",nodeInstanceId.firstKeyOf(Node.class).getId().getValue());
final AddFlowInputBuilder builder = new AddFlowInputBuilder(flow);
builder.setNode(new NodeRef(nodeInstanceId));
builder.setFlowRef(new FlowRef(flowPath));
for (NodeConnector nodeConnector : nodeConnectors) {
// Read STP status for this NodeConnector
StpStatusAwareNodeConnector saNodeConnector = nodeConnector
- .getAugmentation(StpStatusAwareNodeConnector.class);
+ .augmentation(StpStatusAwareNodeConnector.class);
if (saNodeConnector != null && StpStatus.Discarding.equals(saNodeConnector.getStatus())) {
continue;
}
- if (nodeConnector.getKey().toString().contains("LOCAL")) {
+ if (nodeConnector.key().toString().contains("LOCAL")) {
continue;
}
NodeConnectorRef ncRef = new NodeConnectorRef(InstanceIdentifier.<Nodes>builder(Nodes.class)
- .<Node, NodeKey>child(Node.class, node.getKey())
- .<NodeConnector, NodeConnectorKey>child(NodeConnector.class, nodeConnector.getKey())
+ .<Node, NodeKey>child(Node.class, node.key())
+ .<NodeConnector, NodeConnectorKey>child(NodeConnector.class, nodeConnector.key())
.build());
nodeConnectorRefs.add(ncRef);
}
switchNodeConnectors.put(node.getId().getValue(), nodeConnectorRefs);
NodeConnectorRef ncRef = new NodeConnectorRef(InstanceIdentifier.<Nodes>builder(Nodes.class)
- .<Node, NodeKey>child(Node.class, node.getKey())
+ .<Node, NodeKey>child(Node.class, node.key())
.<NodeConnector, NodeConnectorKey>child(NodeConnector.class,
new NodeConnectorKey(new NodeConnectorId(node.getId().getValue() + ":LOCAL")))
.build());
- LOG.debug("Local port for node {} is {}", node.getKey(), ncRef);
+ LOG.debug("Local port for node {} is {}", node.key(), ncRef);
controllerSwitchConnectors.put(node.getId().getValue(), ncRef);
}
}
for (NodeConnector nc : node.getNodeConnector()) {
// Don't look for mac in discarding node connectors
StpStatusAwareNodeConnector saNodeConnector = nc
- .getAugmentation(StpStatusAwareNodeConnector.class);
+ .augmentation(StpStatusAwareNodeConnector.class);
if (saNodeConnector != null && StpStatus.Discarding.equals(saNodeConnector.getStatus())) {
continue;
}
- LOG.debug("Looking address{} in nodeconnector : {}", macAddress, nc.getKey());
- AddressCapableNodeConnector acnc = nc.getAugmentation(AddressCapableNodeConnector.class);
+ LOG.debug("Looking address{} in nodeconnector : {}", macAddress, nc.key());
+ AddressCapableNodeConnector acnc = nc.augmentation(AddressCapableNodeConnector.class);
if (acnc != null) {
List<Addresses> addressesList = acnc.getAddresses();
for (Addresses add : addressesList) {
if (macAddress.equals(add.getMac())) {
if (add.getLastSeen() > latest) {
destNodeConnector = new NodeConnectorRef(
- nodeInsId.child(NodeConnector.class, nc.getKey()));
+ nodeInsId.child(NodeConnector.class, nc.key()));
latest = add.getLastSeen();
- LOG.debug("Found address{} in nodeconnector : {}", macAddress, nc.getKey());
+ LOG.debug("Found address{} in nodeconnector : {}", macAddress, nc.key());
break;
}
}
*/
package org.opendaylight.l2switch.arphandler.core;
-import static org.mockito.Matchers.any;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyZeroInteractions;
import java.util.ArrayList;
import org.junit.Before;
import org.junit.Test;
+import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorRef;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.arp.rev140528.ArpPacketReceived;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.arp.rev140528.ArpPacketReceivedBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.arp.rev140528.arp.packet.received.packet.chain.packet.ArpPacketBuilder;
public class ArpPacketHandlerTest {
- @MockitoAnnotations.Mock
+ @Mock
private PacketDispatcher packetDispatcher;
private ArpPacketHandler arpPacketHandler;
@Test
public void onArpPacketReceivedTest() throws Exception {
- ArrayList<PacketChain> packetChainList = new ArrayList<PacketChain>();
+ ArrayList<PacketChain> packetChainList = new ArrayList<>();
packetChainList.add(new PacketChainBuilder().setPacket(new RawPacketBuilder().build()).build());
packetChainList.add(new PacketChainBuilder().setPacket(new EthernetPacketBuilder().build()).build());
packetChainList.add(new PacketChainBuilder().setPacket(new ArpPacketBuilder().build()).build());
ArpPacketReceived arpReceived = new ArpPacketReceivedBuilder().setPacketChain(packetChainList).build();
arpPacketHandler.onArpPacketReceived(arpReceived);
- verify(packetDispatcher, times(1)).dispatchPacket(any(byte[].class), any(NodeConnectorRef.class),
- any(MacAddress.class), any(MacAddress.class));
+ verify(packetDispatcher, times(1)).dispatchPacket(null, null, null, null);
}
@Test
public void onArpPacketReceivedTest_NullInput() throws Exception {
arpPacketHandler.onArpPacketReceived(null);
- verify(packetDispatcher, times(0)).dispatchPacket(any(byte[].class), any(NodeConnectorRef.class),
- any(MacAddress.class), any(MacAddress.class));
+ verifyZeroInteractions(packetDispatcher);
}
@Test
public void onArpPacketReceivedTest_NullPacketChain() throws Exception {
ArpPacketReceived arpReceived = new ArpPacketReceivedBuilder().build();
arpPacketHandler.onArpPacketReceived(arpReceived);
- verify(packetDispatcher, times(0)).dispatchPacket(any(byte[].class), any(NodeConnectorRef.class),
- any(MacAddress.class), any(MacAddress.class));
+
+ verifyZeroInteractions(packetDispatcher);
}
@Test
public void onArpPacketReceivedTest_EmptyPacketChain() throws Exception {
- ArrayList<PacketChain> packetChainList = new ArrayList<PacketChain>();
+ ArrayList<PacketChain> packetChainList = new ArrayList<>();
ArpPacketReceived arpReceived = new ArpPacketReceivedBuilder().setPacketChain(packetChainList).build();
arpPacketHandler.onArpPacketReceived(arpReceived);
- verify(packetDispatcher, times(0)).dispatchPacket(any(byte[].class), any(NodeConnectorRef.class),
- any(MacAddress.class), any(MacAddress.class));
+
+ verifyZeroInteractions(packetDispatcher);
}
@Test
public void onArpPacketReceivedTest_NoRawPacket() throws Exception {
- ArrayList<PacketChain> packetChainList = new ArrayList<PacketChain>();
+ ArrayList<PacketChain> packetChainList = new ArrayList<>();
packetChainList.add(new PacketChainBuilder().setPacket(new EthernetPacketBuilder().build()).build());
packetChainList.add(new PacketChainBuilder().setPacket(new ArpPacketBuilder().build()).build());
ArpPacketReceived arpReceived = new ArpPacketReceivedBuilder().setPacketChain(packetChainList).build();
arpPacketHandler.onArpPacketReceived(arpReceived);
- verify(packetDispatcher, times(0)).dispatchPacket(any(byte[].class), any(NodeConnectorRef.class),
- any(MacAddress.class), any(MacAddress.class));
+ verifyZeroInteractions(packetDispatcher);
}
@Test
public void onArpPacketReceivedTest_NoEthernetPacket() throws Exception {
- ArrayList<PacketChain> packetChainList = new ArrayList<PacketChain>();
+ ArrayList<PacketChain> packetChainList = new ArrayList<>();
packetChainList.add(new PacketChainBuilder().setPacket(new RawPacketBuilder().build()).build());
packetChainList.add(new PacketChainBuilder().setPacket(new ArpPacketBuilder().build()).build());
ArpPacketReceived arpReceived = new ArpPacketReceivedBuilder().setPacketChain(packetChainList).build();
arpPacketHandler.onArpPacketReceived(arpReceived);
- verify(packetDispatcher, times(0)).dispatchPacket(any(byte[].class), any(NodeConnectorRef.class),
- any(MacAddress.class), any(MacAddress.class));
+ verifyZeroInteractions(packetDispatcher);
}
@Test
public void onArpPacketReceivedTest_NoArpPacket() throws Exception {
- ArrayList<PacketChain> packetChainList = new ArrayList<PacketChain>();
+ ArrayList<PacketChain> packetChainList = new ArrayList<>();
packetChainList.add(new PacketChainBuilder().setPacket(new RawPacketBuilder().build()).build());
packetChainList.add(new PacketChainBuilder().setPacket(new EthernetPacketBuilder().build()).build());
ArpPacketReceived arpReceived = new ArpPacketReceivedBuilder().setPacketChain(packetChainList).build();
arpPacketHandler.onArpPacketReceived(arpReceived);
- verify(packetDispatcher, times(0)).dispatchPacket(any(byte[].class), any(NodeConnectorRef.class),
- any(MacAddress.class), any(MacAddress.class));
+ verifyZeroInteractions(packetDispatcher);
}
}
*/
package org.opendaylight.l2switch.arphandler.core;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
HashMap<String, NodeConnectorRef> controllerSwitchConnectors = Mockito.mock(HashMap.class);
when(controllerSwitchConnectors.get(any(String.class))).thenReturn(ncRef1);
when(inventoryReader.getControllerSwitchConnectors()).thenReturn(controllerSwitchConnectors);
- when(inventoryReader.getNodeConnector(any(InstanceIdentifier.class), any(MacAddress.class))).thenReturn(ncRef1);
+ when(inventoryReader.getNodeConnector(any(InstanceIdentifier.class), any())).thenReturn(ncRef1);
packetDispatcher.dispatchPacket(null, new NodeConnectorRef(ncInsId1), null, null);
verify(inventoryReader, times(1)).readInventory();
import java.util.List;
import org.junit.Before;
import org.junit.Test;
+import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
public class ProactiveFloodFlowWriterTest {
- @MockitoAnnotations.Mock
+ @Mock
private DataBroker dataBroker;
- @MockitoAnnotations.Mock
+ @Mock
private SalFlowService salFlowService;
private ProactiveFloodFlowWriter proactiveFloodFlowWriter;
StpStatusAwareNodeConnector stpStatusAwareNodeConnector = new StpStatusAwareNodeConnectorBuilder()
.setStatus(StpStatus.Discarding).build();
- NodeConnector nc1 = new NodeConnectorBuilder().setKey(new NodeConnectorKey(new NodeConnectorId("1"))).build();
- NodeConnector nc2 = new NodeConnectorBuilder().setKey(new NodeConnectorKey(new NodeConnectorId("2"))).build();
- NodeConnector nc3 = new NodeConnectorBuilder().setKey(new NodeConnectorKey(new NodeConnectorId("3")))
+ NodeConnector nc1 = new NodeConnectorBuilder().withKey(new NodeConnectorKey(new NodeConnectorId("1"))).build();
+ NodeConnector nc2 = new NodeConnectorBuilder().withKey(new NodeConnectorKey(new NodeConnectorId("2"))).build();
+ NodeConnector nc3 = new NodeConnectorBuilder().withKey(new NodeConnectorKey(new NodeConnectorId("3")))
.addAugmentation(StpStatusAwareNodeConnector.class, stpStatusAwareNodeConnector).build();
- NodeConnector ncLocal = new NodeConnectorBuilder().setKey(new NodeConnectorKey(new NodeConnectorId("LOCAL")))
+ NodeConnector ncLocal = new NodeConnectorBuilder().withKey(new NodeConnectorKey(new NodeConnectorId("LOCAL")))
.addAugmentation(StpStatusAwareNodeConnector.class, stpStatusAwareNodeConnector).build();
List<NodeConnector> nodeConnectors = new ArrayList<>();
import java.util.Collections;
import org.junit.Before;
import org.junit.Test;
+import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.opendaylight.controller.md.sal.binding.api.DataObjectModification;
public class InitialFlowWriterTest {
- @MockitoAnnotations.Mock private SalFlowService salFlowService;
+ @Mock private SalFlowService salFlowService;
private InitialFlowWriter initialFlowWriter;
@Before
import java.util.List;
import org.junit.Before;
import org.junit.Test;
+import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
public class InventoryReaderTest {
- @MockitoAnnotations.Mock
+ @Mock
private DataBroker dataBroker;
private InventoryReader inventoryReader;
public void testReadInventory_Refresh() throws Exception {
StpStatusAwareNodeConnector stpStatusAwareNodeConnector = new StpStatusAwareNodeConnectorBuilder()
.setStatus(StpStatus.Discarding).build();
- NodeConnector nc1 = new NodeConnectorBuilder().setKey(new NodeConnectorKey(new NodeConnectorId("1"))).build();
- NodeConnector nc2 = new NodeConnectorBuilder().setKey(new NodeConnectorKey(new NodeConnectorId("2"))).build();
- NodeConnector nc3 = new NodeConnectorBuilder().setKey(new NodeConnectorKey(new NodeConnectorId("3")))
+ NodeConnector nc1 = new NodeConnectorBuilder().withKey(new NodeConnectorKey(new NodeConnectorId("1"))).build();
+ NodeConnector nc2 = new NodeConnectorBuilder().withKey(new NodeConnectorKey(new NodeConnectorId("2"))).build();
+ NodeConnector nc3 = new NodeConnectorBuilder().withKey(new NodeConnectorKey(new NodeConnectorId("3")))
.addAugmentation(StpStatusAwareNodeConnector.class, stpStatusAwareNodeConnector).build();
- NodeConnector ncLocal = new NodeConnectorBuilder().setKey(new NodeConnectorKey(new NodeConnectorId("LOCAL")))
+ NodeConnector ncLocal = new NodeConnectorBuilder().withKey(new NodeConnectorKey(new NodeConnectorId("LOCAL")))
.addAugmentation(StpStatusAwareNodeConnector.class, stpStatusAwareNodeConnector).build();
List<NodeConnector> nodeConnectors = new ArrayList<NodeConnector>();
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>3.1.0</version>
+ <version>5.0.2</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>karaf4-parent</artifactId>
- <version>3.1.0</version>
+ <version>5.0.2</version>
<relativePath/>
</parent>
<artifactId>distribution-karaf</artifactId>
<groupId>org.opendaylight.l2switch</groupId>
<version>0.8.0-SNAPSHOT</version>
<packaging>pom</packaging>
- <prerequisites>
- <maven>3.0</maven>
- </prerequisites>
<properties>
<karaf.localFeature>odl-l2switch-switch-ui</karaf.localFeature>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>feature-repo-parent</artifactId>
- <version>3.1.0</version>
+ <version>5.0.2</version>
<relativePath/>
</parent>
<type>xml</type>
<classifier>features</classifier>
</dependency>
+ <!-- FIXME: uncomment when we have dlux
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>odl-l2switch-switch-ui</artifactId>
<type>xml</type>
<classifier>features</classifier>
</dependency>
+ -->
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>odl-l2switch-hosttracker</artifactId>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>3.1.0</version>
+ <version>5.0.2</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>3.1.0</version>
+ <version>5.0.2</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>3.1.0</version>
+ <version>5.0.2</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>3.1.0</version>
+ <version>5.0.2</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>3.1.0</version>
+ <version>5.0.2</version>
<relativePath/>
</parent>
<dependency>
<groupId>org.opendaylight.openflowplugin</groupId>
<artifactId>odl-openflowplugin-flow-services</artifactId>
- <version>0.7.0-SNAPSHOT</version>
+ <version>0.9.1</version>
<type>xml</type>
<classifier>features</classifier>
</dependency>
<dependency>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odl-jung-2.1</artifactId>
- <version>3.1.0</version>
+ <version>5.0.2</version>
<type>xml</type>
<classifier>features</classifier>
</dependency>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>3.1.0</version>
+ <version>5.0.2</version>
<relativePath/>
</parent>
<dependency>
<groupId>org.opendaylight.openflowplugin</groupId>
<artifactId>odl-openflowplugin-southbound</artifactId>
- <version>0.7.0-SNAPSHOT</version>
+ <version>0.9.1</version>
<type>xml</type>
<classifier>features</classifier>
</dependency>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>3.1.0</version>
+ <version>5.0.2</version>
<relativePath/>
</parent>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>odl-restconf</artifactId>
- <version>1.8.0-SNAPSHOT</version>
+ <version>1.10.1</version>
<type>xml</type>
<classifier>features</classifier>
</dependency>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>3.1.0</version>
+ <version>5.0.2</version>
<relativePath/>
</parent>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>odl-mdsal-apidocs</artifactId>
- <version>1.8.0-SNAPSHOT</version>
+ <version>1.10.1</version>
<type>xml</type>
<classifier>features</classifier>
</dependency>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>3.1.0</version>
+ <version>5.0.2</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>3.1.0</version>
+ <version>5.0.2</version>
<relativePath/>
</parent>
<module>odl-l2switch-all</module>
<module>odl-l2switch-switch</module>
<module>odl-l2switch-switch-rest</module>
+ <!-- FIXME: uncomment when we have dlux
<module>odl-l2switch-switch-ui</module>
+ -->
<module>odl-l2switch-hosttracker</module>
<module>odl-l2switch-addresstracker</module>
<module>odl-l2switch-arphandler</module>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>yang-binding</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ <optional>true</optional>
+ </dependency>
<dependency>
<groupId>org.opendaylight.controller.model</groupId>
<artifactId>model-inventory</artifactId>
-/**
+/*
* Copyright (c) 2014 André Martins and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
* the value's (Host's) InstanceIdentifier<Node>
* @param value
* the Host to store locally.
- * @return the previous value associated with <tt>key</tt>, or <tt>null</tt>
- * if there was no mapping for <tt>key</tt>
+ * @return the previous value associated with {@code key}, or {@code null}
+ * if there was no mapping for {@code key}
*/
public synchronized Host putLocally(InstanceIdentifier<Node> ii, Host value) {
Host host = value;
public synchronized void submit(HostId hostid) {
Host host = this.hostHashMap.get(hostid);
final Node hostNode = host.getHostNode();
- final InstanceIdentifier<Node> buildNodeIID = Utilities.buildNodeIID(hostNode.getKey(), topologyId);
+ final InstanceIdentifier<Node> buildNodeIID = Utilities.buildNodeIID(hostNode.key(), topologyId);
this.opProcessor.enqueueOperation(tx -> tx.merge(LogicalDatastoreType.OPERATIONAL, buildNodeIID,
hostNode, true));
putLocally(buildNodeIID, host);
public synchronized void putAll(List<Host> hosts) {
for (Host h : hosts) {
final Node hostNode = h.getHostNode();
- final InstanceIdentifier<Node> buildNodeIID = Utilities.buildNodeIID(hostNode.getKey(), topologyId);
+ final InstanceIdentifier<Node> buildNodeIID = Utilities.buildNodeIID(hostNode.key(), topologyId);
this.opProcessor.enqueueOperation(tx -> tx.merge(LogicalDatastoreType.OPERATIONAL, buildNodeIID,
hostNode, true));
putLocally(buildNodeIID, h);
*/
public synchronized Host put(HostId hostId, Host host) {
final Node hostNode = host.getHostNode();
- final InstanceIdentifier<Node> buildNodeIID = Utilities.buildNodeIID(hostNode.getKey(), topologyId);
+ final InstanceIdentifier<Node> buildNodeIID = Utilities.buildNodeIID(hostNode.key(), topologyId);
this.opProcessor.enqueueOperation(tx -> tx.merge(LogicalDatastoreType.OPERATIONAL, buildNodeIID,
hostNode, true));
LOG.trace("Putting MD-SAL {}", hostNode.getNodeId());
Host removedValue = this.hostHashMap.remove(hostId);
if (removedValue != null) {
Node hostNode = removedValue.getHostNode();
- final InstanceIdentifier<Node> hnIID = Utilities.buildNodeIID(hostNode.getKey(), topologyId);
+ final InstanceIdentifier<Node> hnIID = Utilities.buildNodeIID(hostNode.key(), topologyId);
this.opProcessor.enqueueOperation(tx -> tx.delete(LogicalDatastoreType.OPERATIONAL, hnIID));
this.instanceIDs.remove(hnIID);
}
-/**
+/*
* Copyright (c) 2016 Brocade Communications Systems, Inc. and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
-
package org.opendaylight.l2switch.hosttracker.plugin.internal;
import java.util.Collection;
*
* @param ii the value's (Link's) InstanceIdentifier<Link>
* @param link the Link to store locally.
- * @return the previous value associated with <tt>key</tt>, or
- * <tt>null</tt> if there was no mapping for <tt>key</tt>
+ * @return the previous value associated with {@code key}, or
+ * {@code null} if there was no mapping for {@code key}
*/
public synchronized Link putLocally(InstanceIdentifier<Link> ii, Link link) {
LOG.trace("Putting locally {}", link.getLinkId());
*/
public synchronized void removeAll(List<Link> links) {
for (final Map.Entry<InstanceIdentifier<Link>, LinkId> e : this.instanceIDs.entrySet()) {
- LOG.debug("Links to remove from local & MD-SAL database", links.toString());
+ LOG.debug("Links to remove from local & MD-SAL database: {}", links);
for (Link l : links) {
if (e.getValue().equals(l.getLinkId())) {
this.opProcessor.enqueueOperation(tx -> tx.delete(LogicalDatastoreType.OPERATIONAL, e.getKey()));
-/**
+/*
* Copyright (c) 2014 André Martins, Colin Dixon, Evan Zeller and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
if (iid.getTargetType().equals(Node.class)) {
Node node = (Node) rootNode.getDataBefore();
InstanceIdentifier<Node> iiN = (InstanceIdentifier<Node>) iid;
- HostNode hostNode = node.getAugmentation(HostNode.class);
+ HostNode hostNode = node.augmentation(HostNode.class);
if (hostNode != null) {
hosts.removeLocally(iiN);
}
try {
opNodeConnector = futureNodeConnector.get();
opNode = futureNode.get();
- } catch (ExecutionException | InterruptedException ex) {
- LOG.warn(ex.getLocalizedMessage());
+ } catch (ExecutionException | InterruptedException e) {
+ LOG.warn("Failed to get node connector {}", iinc, e);
}
if (opNode != null && opNode.isPresent()
&& opNodeConnector != null && opNodeConnector.isPresent()) {
* if it was not found a network topology or it was not found a host connected to this nodeConnetor.
*/
private boolean isNodeConnectorInternal(NodeConnector nodeConnector) {
- TpId tpId = new TpId(nodeConnector.getKey().getId().getValue());
+ TpId tpId = new TpId(nodeConnector.key().getId().getValue());
InstanceIdentifier<NetworkTopology> ntII
= InstanceIdentifier.builder(NetworkTopology.class).build();
ListenableFuture<Optional<NetworkTopology>> lfONT;
Optional<NetworkTopology> optionalNT;
try {
optionalNT = lfONT.get();
- } catch (InterruptedException | ExecutionException ex) {
- LOG.warn(ex.getLocalizedMessage());
+ } catch (InterruptedException | ExecutionException e) {
+ LOG.warn("Failed to get network topology {}", ntII, e);
return false;
}
if (optionalNT.isPresent()) {
private void writeDataToDataStore(List<Link> linksToAdd, List<Link> linksToRemove) {
if (linksToAdd != null) {
for (final Link l : linksToAdd) {
- final InstanceIdentifier<Link> lIID = Utilities.buildLinkIID(l.getKey(), topologyId);
+ final InstanceIdentifier<Link> lIID = Utilities.buildLinkIID(l.key(), topologyId);
LOG.trace("Writing link from MD_SAL: {}", lIID.toString());
opProcessor.enqueueOperation(tx -> tx.merge(LogicalDatastoreType.OPERATIONAL, lIID, l, true));
}
}
if (linksToRemove != null) {
for (Link l : linksToRemove) {
- final InstanceIdentifier<Link> lIID = Utilities.buildLinkIID(l.getKey(), topologyId);
+ final InstanceIdentifier<Link> lIID = Utilities.buildLinkIID(l.key(), topologyId);
LOG.trace("Removing link from MD_SAL: {}", lIID.toString());
opProcessor.enqueueOperation(tx -> tx.delete(LogicalDatastoreType.OPERATIONAL, lIID));
}
final long nowInSeconds = TimeUnit.MILLISECONDS.toSeconds(nowInMillis);
// iterate through all hosts in the local cache
for (Host h : hosts.values()) {
- final HostNode hn = h.getHostNode().getAugmentation(HostNode.class);
+ final HostNode hn = h.getHostNode().augmentation(HostNode.class);
if (hn == null) {
LOG.warn("Encountered non-host node {} in hosts during purge", h);
} else if (hn.getAddresses() != null) {
-/**
+/*
* Copyright (c) 2015 Evan Zeller and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
-/**
+/*
* Copyright (c) 2015 Evan Zeller and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
}
clearQueue();
} catch (IllegalStateException e) {
- LOG.warn(e.getLocalizedMessage());
+ LOG.warn("Failed to close chain", e);
}
}
-/**
+/*
* Copyright (c) 2014 André Martins, Colin Dixon, Evan Zeller and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
BigInteger id = BigInteger.valueOf(ketype.getIntValue()).abs()
.add(BigInteger.valueOf(srcMacAddr.hashCode()).abs().shiftLeft(16));
addrs.setId(id);
- addrs.setKey(new AddressesKey(addrs.getId()));
+ addrs.withKey(new AddressesKey(addrs.getId()));
addrs.setVlan(vlanId);
addrs.setIp(srcIpAddr);
addrs.setMac(srcMacAddr);
-/**
+/*
* Copyright (c) 2014 André Martins, Colin Dixon, Evan Zeller and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
private final NodeBuilder nodeBuilder;
public static Host createHost(Node node) {
- HostNode hostNode = node.getAugmentation(HostNode.class);
+ HostNode hostNode = node.augmentation(HostNode.class);
return new Host(hostNode.getId(), hostNode.getAddresses(), hostNode.getAttachmentPoints());
}
}
NodeBuilder node = new NodeBuilder().setNodeId(createNodeId(hostNode))
.setTerminationPoint(tps);
- node.setKey(new NodeKey(node.getNodeId()));
+ node.withKey(new NodeKey(node.getNodeId()));
return node;
}
public synchronized void removeAttachmentPoints(AttachmentPointsBuilder apb) {
LOG.debug("Setting attachment points {} to inactive state", apb);
for (AttachmentPointsBuilder apbi : attachmentPointsBuilders) {
- if (apbi.getKey().equals(apb.getKey())) {
+ if (apbi.key().equals(apb.key())) {
apbi.setActive(Boolean.FALSE);
}
}
-/**
+/*
* Copyright (c) 2014 André Martins, Colin Dixon, Evan Zeller and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
-/**
+/*
* Copyright (c) 2014 André Martins, Colin Dixon, Evan Zeller and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
.setDestination(new DestinationBuilder()//
.setDestNode(dstNId).setDestTp(dstTpId).build())//
.setLinkId(new LinkId(srcTpId.getValue() + "/" + dstTpId.getValue()));
- srcdst.setKey(new LinkKey(srcdst.getLinkId()));
+ srcdst.withKey(new LinkKey(srcdst.getLinkId()));
LinkBuilder dstsrc = new LinkBuilder()//
.setSource(new SourceBuilder()//
.setSourceNode(dstNId)//
.setDestination(new DestinationBuilder()//
.setDestNode(srcNId).setDestTp(srcTpId).build())//
.setLinkId(new LinkId(dstTpId.getValue() + "/" + srcTpId.getValue()));
- dstsrc.setKey(new LinkKey(dstsrc.getLinkId()));
+ dstsrc.withKey(new LinkKey(dstsrc.getLinkId()));
links.add(dstsrc.build());
links.add(srcdst.build());
return links;
public static AttachmentPointsBuilder createAPsfromTP(TpId tpId) {
AttachmentPointsBuilder at = new AttachmentPointsBuilder()//
.setTpId(tpId)//
- .setKey(new AttachmentPointsKey(tpId));
+ .withKey(new AttachmentPointsKey(tpId));
return at;
}
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorRef;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeRef;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnector;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnectorKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.ethernet.match.fields.EthernetDestinationBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.ethernet.match.fields.EthernetSourceBuilder;
EthernetMatch ethernetMatch = ethernetMatchBuilder.build();
Match match = new MatchBuilder().setEthernetMatch(ethernetMatch).build();
- Uri destPortUri = destPort.getValue().firstKeyOf(NodeConnector.class, NodeConnectorKey.class).getId();
+ Uri destPortUri = destPort.getValue().firstKeyOf(NodeConnector.class).getId();
Action outputToControllerAction = new ActionBuilder() //
.setOrder(0)
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeRef;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
import org.opendaylight.yangtools.concepts.ListenerRegistration;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.common.RpcResult;
for (InstanceIdentifier<?> nodeId : nodeIds) {
if (Node.class.isAssignableFrom(nodeId.getTargetType())) {
InstanceIdentifier<Node> invNodeId = (InstanceIdentifier<Node>) nodeId;
- if (invNodeId.firstKeyOf(Node.class, NodeKey.class).getId().getValue().contains("openflow:")) {
+ if (invNodeId.firstKeyOf(Node.class).getId().getValue().contains("openflow:")) {
addInitialFlows(invNodeId);
}
}
InstanceIdentifier<Table> tableInstanceId,
InstanceIdentifier<Flow> flowPath,
Flow flow) {
- LOG.trace("Adding flow to node {}",nodeInstanceId.firstKeyOf(Node.class, NodeKey.class).getId().getValue());
+ LOG.trace("Adding flow to node {}",nodeInstanceId.firstKeyOf(Node.class).getId().getValue());
final AddFlowInputBuilder builder = new AddFlowInputBuilder(flow);
builder.setNode(new NodeRef(nodeInstanceId));
builder.setFlowRef(new FlowRef(flowPath));
LOG.debug("Looking address{} in node : {}", macAddress, nodeInsId);
for (NodeConnector nc : node.getNodeConnector()) {
// Don't look for mac in discarding node connectors
- StpStatusAwareNodeConnector saNodeConnector = nc.getAugmentation(StpStatusAwareNodeConnector.class);
+ StpStatusAwareNodeConnector saNodeConnector = nc.augmentation(StpStatusAwareNodeConnector.class);
if (saNodeConnector != null && StpStatus.Discarding.equals(saNodeConnector.getStatus())) {
continue;
}
- LOG.debug("Looking address{} in nodeconnector : {}", macAddress, nc.getKey());
- AddressCapableNodeConnector acnc = nc.getAugmentation(AddressCapableNodeConnector.class);
+ LOG.debug("Looking address{} in nodeconnector : {}", macAddress, nc.key());
+ AddressCapableNodeConnector acnc = nc.augmentation(AddressCapableNodeConnector.class);
if (acnc != null) {
List<Addresses> addressesList = acnc.getAddresses();
for (Addresses add : addressesList) {
if (macAddress.equals(add.getMac())) {
if (add.getLastSeen() > latest) {
destNodeConnector = new NodeConnectorRef(
- nodeInsId.child(NodeConnector.class, nc.getKey()));
+ nodeInsId.child(NodeConnector.class, nc.key()));
latest = add.getLastSeen();
- LOG.debug("Found address{} in nodeconnector : {}", macAddress, nc.getKey());
+ LOG.debug("Found address{} in nodeconnector : {}", macAddress, nc.key());
break;
}
}
import org.junit.Before;
import org.junit.Test;
+import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.AddFlowInput;
public class FlowWriterServiceImplTest {
- @MockitoAnnotations.Mock
+ @Mock
private SalFlowService salFlowService;
private FlowWriterServiceImpl flowWriterService;
private InstanceIdentifier<NodeConnector> nodeConnectorInstanceIdentifier;
import java.util.Collections;
import org.junit.Before;
import org.junit.Test;
+import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.opendaylight.controller.md.sal.binding.api.DataObjectModification;
public class InitialFlowWriterTest {
- @MockitoAnnotations.Mock private SalFlowService salFlowService;
+ @Mock private SalFlowService salFlowService;
private InitialFlowWriter initialFlowWriter;
@Before
import java.util.List;
import org.junit.Before;
import org.junit.Test;
+import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
public class InventoryReaderTest {
- @MockitoAnnotations.Mock
+ @Mock
private DataBroker dataService;
- @MockitoAnnotations.Mock
+ @Mock
private ReadOnlyTransaction readOnlyTransaction;
- @MockitoAnnotations.Mock
+ @Mock
private Optional<Node> dataObjectOptional;
- @MockitoAnnotations.Mock
+ @Mock
private CheckedFuture checkedFuture;
- @MockitoAnnotations.Mock
+ @Mock
private Node node;
private InventoryReader inventoryReader;
StpStatusAwareNodeConnector stpStatusAwareNodeConnector = new StpStatusAwareNodeConnectorBuilder()
.setStatus(StpStatus.Discarding).build();
- NodeConnector nc1 = new NodeConnectorBuilder().setKey(new NodeConnectorKey(new NodeConnectorId("1"))).build();
- NodeConnector nc2 = new NodeConnectorBuilder().setKey(new NodeConnectorKey(new NodeConnectorId("2")))
+ NodeConnector nc1 = new NodeConnectorBuilder().withKey(new NodeConnectorKey(new NodeConnectorId("1"))).build();
+ NodeConnector nc2 = new NodeConnectorBuilder().withKey(new NodeConnectorKey(new NodeConnectorId("2")))
.addAugmentation(AddressCapableNodeConnector.class, addressCapableNodeConnector).build();
- NodeConnector nc3 = new NodeConnectorBuilder().setKey(new NodeConnectorKey(new NodeConnectorId("3")))
+ NodeConnector nc3 = new NodeConnectorBuilder().withKey(new NodeConnectorKey(new NodeConnectorId("3")))
.addAugmentation(StpStatusAwareNodeConnector.class, stpStatusAwareNodeConnector)
.addAugmentation(AddressCapableNodeConnector.class, addressCapableNodeConnector).build();
- NodeConnector ncLocal = new NodeConnectorBuilder().setKey(new NodeConnectorKey(new NodeConnectorId("LOCAL")))
+ NodeConnector ncLocal = new NodeConnectorBuilder().withKey(new NodeConnectorKey(new NodeConnectorId("LOCAL")))
.addAugmentation(StpStatusAwareNodeConnector.class, stpStatusAwareNodeConnector)
.addAugmentation(AddressCapableNodeConnector.class, addressCapableNodeConnector).build();
import java.util.ArrayList;
import org.junit.Before;
import org.junit.Test;
+import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.opendaylight.l2switch.inventory.InventoryReader;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
public class ReactiveFlowWriterTest {
- @MockitoAnnotations.Mock private InventoryReader inventoryReader;
- @MockitoAnnotations.Mock private FlowWriterService flowWriterService;
- @MockitoAnnotations.Mock private NodeConnectorRef destNodeConnectorRef;
+ @Mock
+ private InventoryReader inventoryReader;
+ @Mock
+ private FlowWriterService flowWriterService;
+ @Mock
+ private NodeConnectorRef destNodeConnectorRef;
private ReactiveFlowWriter reactiveFlowWriter;
private InstanceIdentifier<Node> nodeInstanceIdentifier;
private NodeConnectorRef nodeConnectorRef;
InstanceIdentifier<Table> tableInsId = InstanceIdentifierUtils.generateFlowTableInstanceIdentifier(ncRef,
new TableKey(NUM_ID_1));
assertNotNull(tableInsId);
- assertEquals(NUM_ID_1, tableInsId.firstKeyOf(Table.class, TableKey.class).getId());
+ assertEquals(NUM_ID_1, tableInsId.firstKeyOf(Table.class).getId());
}
@Test
InstanceIdentifier<Flow> flowInsId = InstanceIdentifierUtils.generateFlowInstanceIdentifier(ncRef,
new TableKey(NUM_ID_1), new FlowKey(new FlowId(STR_ID_1)));
assertNotNull(flowInsId);
- assertEquals(NUM_ID_1, flowInsId.firstKeyOf(Table.class, TableKey.class).getId());
- assertEquals(STR_ID_1, flowInsId.firstKeyOf(Flow.class, FlowKey.class).getId().getValue());
+ assertEquals(NUM_ID_1, flowInsId.firstKeyOf(Table.class).getId());
+ assertEquals(STR_ID_1, flowInsId.firstKeyOf(Flow.class).getId().getValue());
}
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeRef;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.EtherType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.ethernet.match.fields.EthernetTypeBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.EthernetMatchBuilder;
for (InstanceIdentifier<?> nodeId : nodeIds) {
if (Node.class.isAssignableFrom(nodeId.getTargetType())) {
InstanceIdentifier<Node> topoNodeId = (InstanceIdentifier<Node>)nodeId;
- if (topoNodeId.firstKeyOf(Node.class,NodeKey.class).getId().getValue().contains("openflow:")) {
+ if (topoNodeId.firstKeyOf(Node.class).getId().getValue().contains("openflow:")) {
addInitialFlows(topoNodeId);
}
}
private Action getSendToControllerAction() {
Action sendToController = new ActionBuilder()
.setOrder(0)
- .setKey(new ActionKey(0))
+ .withKey(new ActionKey(0))
.setAction(new OutputActionCaseBuilder()
.setOutputAction(new OutputActionBuilder()
.setMaxLength(0xffff)
InstanceIdentifier<Table> tableInstanceId,
InstanceIdentifier<Flow> flowPath,
Flow flow) {
- LOG.trace("Adding flow to node {}",nodeInstanceId.firstKeyOf(Node.class, NodeKey.class).getId().getValue());
+ LOG.trace("Adding flow to node {}",nodeInstanceId.firstKeyOf(Node.class).getId().getValue());
final AddFlowInputBuilder builder = new AddFlowInputBuilder(flow);
builder.setNode(new NodeRef(nodeInstanceId));
builder.setFlowRef(new FlowRef(flowPath));
import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import javax.annotation.concurrent.GuardedBy;
+import org.checkerframework.checker.lock.qual.GuardedBy;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Link;
import org.slf4j.Logger;
}
if (nc != null) {
- if (sameStatusPresent(nc.getAugmentation(StpStatusAwareNodeConnector.class),
+ if (sameStatusPresent(nc.augmentation(StpStatusAwareNodeConnector.class),
stpStatusAwareNodeConnector.getStatus())) {
return;
}
* @return the table id
*/
public static Short getTableId(final InstanceIdentifier<Table> tablePath) {
- return tablePath.firstKeyOf(Table.class, TableKey.class).getId();
+ return tablePath.firstKeyOf(Table.class).getId();
}
/**
* Extracts NodeConnectorKey from node connector path.
*/
public static NodeConnectorKey getNodeConnectorKey(final InstanceIdentifier<?> nodeConnectorPath) {
- return nodeConnectorPath.firstKeyOf(NodeConnector.class, NodeConnectorKey.class);
+ return nodeConnectorPath.firstKeyOf(NodeConnector.class);
}
/**
* Extracts NodeKey from node path.
*/
public static NodeKey getNodeKey(final InstanceIdentifier<?> nodePath) {
- return nodePath.firstKeyOf(Node.class, NodeKey.class);
+ return nodePath.firstKeyOf(Node.class);
}
public static InstanceIdentifier<NodeConnector> createNodeConnectorIdentifier(final String nodeIdValue,
*/
package org.opendaylight.l2switch.loopremover.flow;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import java.util.Collections;
import org.junit.Before;
import org.junit.Test;
+import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.opendaylight.controller.md.sal.binding.api.DataObjectModification;
public class InitialFlowWriterTest {
- @MockitoAnnotations.Mock private SalFlowService salFlowService;
+ @Mock
+ private SalFlowService salFlowService;
private InitialFlowWriter initialFlowWriter;
@Before
*/
package org.opendaylight.l2switch.loopremover.topology;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
+import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
public class TopologyLinkDataChangeHandlerTest {
- @MockitoAnnotations.Mock
+ @Mock
private DataBroker dataBroker;
- @MockitoAnnotations.Mock
+ @Mock
private NetworkGraphService networkGraphService;
private TopologyLinkDataChangeHandler topologyLinkDataChangeHandler;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnector;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnectorKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
public class InstanceIdentifierUtilsTest {
InstanceIdentifier<Node> insId = InstanceIdentifierUtils.createNodePath(new NodeId(STR_ID_1));
assertNotNull(insId);
assertNotNull(insId.firstIdentifierOf(Nodes.class));
- assertEquals(STR_ID_1, insId.firstKeyOf(Node.class, NodeKey.class).getId().getValue());
+ assertEquals(STR_ID_1, insId.firstKeyOf(Node.class).getId().getValue());
}
@Test
InstanceIdentifier<Table> tableInsId = InstanceIdentifierUtils.createTablePath(
InstanceIdentifier.builder(Nodes.class).child(Node.class).build(), new TableKey(NUM_ID_1));
assertNotNull(tableInsId);
- assertEquals(NUM_ID_1.shortValue(), tableInsId.firstKeyOf(Table.class, TableKey.class).getId().shortValue());
+ assertEquals(NUM_ID_1.shortValue(), tableInsId.firstKeyOf(Table.class).getId().shortValue());
assertNotNull(tableInsId.firstIdentifierOf(FlowCapableNode.class));
}
InstanceIdentifier<NodeConnector> ncInsId = InstanceIdentifierUtils.createNodeConnectorIdentifier(STR_ID_1,
STR_ID_2);
assertNotNull(ncInsId);
- assertEquals(STR_ID_1, ncInsId.firstKeyOf(Node.class, NodeKey.class).getId().getValue());
- assertEquals(STR_ID_2, ncInsId.firstKeyOf(NodeConnector.class, NodeConnectorKey.class).getId().getValue());
+ assertEquals(STR_ID_1, ncInsId.firstKeyOf(Node.class).getId().getValue());
+ assertEquals(STR_ID_2, ncInsId.firstKeyOf(NodeConnector.class).getId().getValue());
}
@Test
InstanceIdentifier<Table> tableInsId = InstanceIdentifierUtils.generateFlowTableInstanceIdentifier(ncRef,
new TableKey(NUM_ID_1));
assertNotNull(tableInsId);
- assertEquals(NUM_ID_1, tableInsId.firstKeyOf(Table.class, TableKey.class).getId());
+ assertEquals(NUM_ID_1, tableInsId.firstKeyOf(Table.class).getId());
}
@Test
InstanceIdentifier<Topology> topologyInsId = InstanceIdentifierUtils
.generateTopologyInstanceIdentifier(STR_ID_1);
assertNotNull(topologyInsId);
- assertEquals(STR_ID_1, topologyInsId.firstKeyOf(Topology.class, TopologyKey.class).getTopologyId().getValue());
+ assertEquals(STR_ID_1, topologyInsId.firstKeyOf(Topology.class).getTopologyId().getValue());
}
}
<artifactId>yang-common</artifactId>
</dependency>
<dependency>
- <groupId>org.opendaylight.mdsal.model</groupId>
- <artifactId>ietf-yang-types-20130715</artifactId>
+ <groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
+ <artifactId>rfc6991-ietf-yang-types</artifactId>
</dependency>
</dependencies>
<groupId>org.opendaylight.openflowplugin.model</groupId>
<artifactId>model-flow-service</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ <optional>true</optional>
+ </dependency>
</dependencies>
<build>
"Unknown ProtocolType -- sourceProtocolAddress and destinationProtocolAddress are not decoded");
}
} catch (BufferException | UnknownHostException e) {
- LOG.debug("Exception while decoding APR packet", e.getMessage());
+ LOG.debug("Exception while decoding APR packet", e);
}
// build arp
builder.setPayloadOffset(start);
builder.setPayloadLength(end - start);
} catch (BufferException e) {
- LOG.debug("Exception while decoding ICMP packet", e.getMessage());
+ LOG.debug("Exception while decoding ICMP packet", e);
}
// build icmp
builder.setPayloadOffset(start);
builder.setPayloadLength(end - start);
} catch (BufferException | UnknownHostException e) {
- LOG.debug("Exception while decoding IPv4 packet", e.getMessage());
+ LOG.debug("Exception while decoding IPv4 packet", e);
}
// build ipv4
builder.setExtensionHeaders(extensionHeaders);
}
} catch (BufferException | UnknownHostException e) {
- LOG.debug("Exception while decoding IPv4 packet", e.getMessage());
+ LOG.debug("Exception while decoding IPv6 packet", e);
}
// build ipv6
* @return the IP address in InetAddress form
*/
public static InetAddress getInetAddress(int address) {
- InetAddress ip = null;
try {
- ip = InetAddress.getByAddress(NetUtils.intToByteArray4(address));
+ return InetAddress.getByAddress(NetUtils.intToByteArray4(address));
} catch (UnknownHostException e) {
- LOG.error("", e);
+ LOG.error("Failed to decode address {}", address, e);
+ return null;
}
- return ip;
}
/**
try {
return InetAddress.getByAddress(address);
} catch (UnknownHostException e) {
- LOG.error("", e);
+ LOG.error("Failed to decode {}", address, e);
}
return null;
}
try {
address = InetAddress.getByName(addressString);
} catch (UnknownHostException e) {
- LOG.error("", e);
+ LOG.error("Failed to decode address {}", addressString, e);
}
return address;
}
-/**
+/*
* Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
-/**
+/*
* Copyright (c) 2016 Hewlett Packard Enterprise, Co. and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
<artifactId>model-flow-service</artifactId>
</dependency>
<dependency>
- <groupId>org.opendaylight.mdsal.model</groupId>
- <artifactId>ietf-yang-types-20130715</artifactId>
+ <groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
+ <artifactId>rfc6991-ietf-yang-types</artifactId>
</dependency>
</dependencies>
<parent>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>binding-parent</artifactId>
- <version>0.13.0-SNAPSHOT</version>
+ <version>4.0.6</version>
<relativePath/>
</parent>
<groupId>org.opendaylight.l2switch</groupId>
<version>0.8.0-SNAPSHOT</version>
<packaging>pom</packaging>
- <properties>
- <jung2.version>2.1.1</jung2.version>
- <openflow.plugin.version>0.7.0-SNAPSHOT</openflow.plugin.version>
- </properties>
-
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>mdsal-artifacts</artifactId>
- <version>1.8.0-SNAPSHOT</version>
+ <version>1.10.1</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin</groupId>
<artifactId>openflowplugin-artifacts</artifactId>
- <version>${openflow.plugin.version}</version>
+ <version>0.9.1</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<scope>import</scope>
<type>pom</type>
</dependency>
-
- <dependency>
- <groupId>net.sf.jung</groupId>
- <artifactId>jung-api</artifactId>
- <version>${jung2.version}</version>
- </dependency>
- <dependency>
- <groupId>net.sf.jung</groupId>
- <artifactId>jung-algorithms</artifactId>
- <version>${jung2.version}</version>
- </dependency>
- <dependency>
- <groupId>net.sf.jung</groupId>
- <artifactId>jung-graph-impl</artifactId>
- <version>${jung2.version}</version>
- </dependency>
</dependencies>
</dependencyManagement>
</distributionManagement>
<build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>${maven.compile.plugin.version}</version>
- <configuration>
- <source>${java.version.source}</source>
- <target>${java.version.target}</target>
- </configuration>
- </plugin>
-
- <!-- Ignore/Execute plugin execution -->
- <plugin>
- <groupId>org.eclipse.m2e</groupId>
- <artifactId>lifecycle-mapping</artifactId>
- <version>1.0.0</version>
- <configuration>
- <lifecycleMappingMetadata>
- <pluginExecutions>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>properties-maven-plugin</artifactId>
- <versionRange>[0.0,)</versionRange>
- <goals>
- <goal>set-system-properties</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <versionRange>[0.0,)</versionRange>
- <goals>
- <goal>prepare-agent</goal>
- <goal>pre-test</goal>
- <goal>post-test</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.ops4j.pax.exam</groupId>
- <artifactId>maven-paxexam-plugin</artifactId>
- <versionRange>[1.2.4,)</versionRange>
- <goals>
- <goal>generate-depends-file</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <execute>
- <runOnIncremental>false</runOnIncremental>
- </execute>
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.opendaylight.yangtools</groupId>
- <artifactId>yang-maven-plugin</artifactId>
- <versionRange>[0.5,)</versionRange>
- <goals>
- <goal>generate-sources</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <execute />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.codehaus.groovy.maven</groupId>
- <artifactId>gmaven-plugin</artifactId>
- <versionRange>1.0</versionRange>
- <goals>
- <goal>execute</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-enforcer-plugin</artifactId>
- <versionRange>${enforcer.version}</versionRange>
- <goals>
- <goal>enforce</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- </pluginExecutions>
- </lifecycleMappingMetadata>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
<plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
</configuration>
</plugin>
<plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>findbugs-maven-plugin</artifactId>
+ <groupId>com.github.spotbugs</groupId>
+ <artifactId>spotbugs-maven-plugin</artifactId>
<configuration>
<failOnError>true</failOnError>
</configuration>
<version>0.8.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>l2switch</name> <!-- Used by Sonar to set project name -->
- <prerequisites>
- <maven>3.0</maven>
- </prerequisites>
+
<modules>
<module>parent</module>
<module>packethandler</module>