Bump upstreams
[openflowplugin.git] / openflowplugin-impl / src / main / java / org / opendaylight / openflowplugin / impl / util / DeviceInitializationUtil.java
index 819674df8062f65bf9f6acc9c69f57ceea577570..1c1613db9cc8bfed778acb3607eab9c2de4b3e6d 100644 (file)
@@ -8,11 +8,12 @@
 package org.opendaylight.openflowplugin.impl.util;
 
 import java.net.InetSocketAddress;
-import java.util.Optional;
 import java.util.concurrent.ExecutionException;
+import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.mdsal.binding.api.WriteTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.openflowjava.protocol.api.connection.ConnectionAdapter;
 import org.opendaylight.openflowplugin.api.openflow.connection.ConnectionContext;
 import org.opendaylight.openflowplugin.api.openflow.device.DeviceInfo;
 import org.opendaylight.openflowplugin.api.openflow.device.TxFacade;
@@ -31,6 +32,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodesBu
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetFeaturesOutputBuilder;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.common.Uint16;
+import org.opendaylight.yangtools.yang.common.Uint8;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -73,13 +76,14 @@ public final class DeviceInitializationUtil {
         }
 
         for (int i = 0; i < nrOfTables; i++) {
+            final Uint8 tableId = Uint8.valueOf(i);
             txFacade.writeToTransaction(LogicalDatastoreType.OPERATIONAL,
                     deviceInfo
                             .getNodeInstanceIdentifier()
                             .augmentation(FlowCapableNode.class)
-                            .child(Table.class, new TableKey((short) i)),
+                            .child(Table.class, new TableKey(tableId)),
                     new TableBuilder()
-                            .setId((short) i)
+                            .setId(tableId)
                             .addAugmentation(new FlowTableStatisticsDataBuilder().build())
                             .build());
         }
@@ -95,14 +99,13 @@ public final class DeviceInitializationUtil {
     public static IpAddress getIpAddress(final ConnectionContext connectionContext,
                                          final InstanceIdentifier<Node> instanceIdentifier) {
         final String node = PathUtil.extractNodeId(instanceIdentifier).getValue();
-
-        return getRemoteAddress(connectionContext, instanceIdentifier)
-                .map(inetSocketAddress -> {
-                    final IpAddress ipAddress = IetfInetUtil.INSTANCE.ipAddressFor(inetSocketAddress.getAddress());
-                    LOG.info("IP address of the node {} is: {}", node, ipAddress);
-                    return ipAddress;
-                })
-                .orElse(null);
+        final InetSocketAddress address = getRemoteAddress(connectionContext, instanceIdentifier);
+        if (address == null) {
+            return null;
+        }
+        final IpAddress ipAddress = IetfInetUtil.ipAddressFor(address.getAddress());
+        LOG.info("IP address of the node {} is: {}", node, ipAddress);
+        return ipAddress;
     }
 
     /**
@@ -115,15 +118,13 @@ public final class DeviceInitializationUtil {
     public static PortNumber getPortNumber(final ConnectionContext connectionContext,
                                            final InstanceIdentifier<Node> instanceIdentifier) {
         final String node = PathUtil.extractNodeId(instanceIdentifier).getValue();
-
-        return getRemoteAddress(connectionContext, instanceIdentifier)
-                .map(inetSocketAddress -> {
-                    final int port = inetSocketAddress.getPort();
-                    LOG.info("Port number of the node {} is: {}", node, port);
-                    return new PortNumber(port);
-                })
-                .orElse(null);
-
+        final InetSocketAddress address = getRemoteAddress(connectionContext, instanceIdentifier);
+        if (address == null) {
+            return null;
+        }
+        final int port = address.getPort();
+        LOG.info("Port number of the node {} is: {}", node, port);
+        return new PortNumber(Uint16.valueOf(port));
     }
 
     /**
@@ -133,25 +134,18 @@ public final class DeviceInitializationUtil {
      * @return switch features
      */
     public static SwitchFeatures getSwitchFeatures(final ConnectionContext connectionContext) {
-        return SwitchFeaturesUtil
-                .getInstance()
-                .buildSwitchFeatures(new GetFeaturesOutputBuilder(connectionContext
-                        .getFeatures())
-                        .build());
+        return SwitchFeaturesUtil.buildSwitchFeatures(new GetFeaturesOutputBuilder(connectionContext.getFeatures())
+            .build());
     }
 
-    private static Optional<InetSocketAddress> getRemoteAddress(final ConnectionContext connectionContext,
+    private static @Nullable InetSocketAddress getRemoteAddress(final ConnectionContext connectionContext,
                                                                 final InstanceIdentifier<Node> instanceIdentifier) {
-        final Optional<InetSocketAddress> inetSocketAddress = Optional
-                .ofNullable(connectionContext.getConnectionAdapter())
-                .flatMap(connectionAdapter -> Optional.ofNullable(connectionAdapter.getRemoteAddress()));
-
-        if (!inetSocketAddress.isPresent()) {
-            LOG.warn("Remote address of the node {} cannot be obtained. No connection with switch.", PathUtil
-                    .extractNodeId(instanceIdentifier));
+        final ConnectionAdapter adapter = connectionContext.getConnectionAdapter();
+        final InetSocketAddress remoteAddress = adapter == null ? null : adapter.getRemoteAddress();
+        if (remoteAddress == null) {
+            LOG.warn("Remote address of the node {} cannot be obtained. No connection with switch.",
+                PathUtil.extractNodeId(instanceIdentifier));
         }
-
-        return inetSocketAddress;
+        return remoteAddress;
     }
-
 }