Migrate users of Optional.get() 20/105620/3
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 23 Apr 2023 12:33:31 +0000 (14:33 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 23 Apr 2023 15:24:44 +0000 (17:24 +0200)
Upgraded modernizer is flagging these users, migrate them to better
alternatives. Since we require Java 17, also convert switches on enum
to switch expressions.

Change-Id: Iffea317aedce4e2e6660217b2a9d4fd277f9c451
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
72 files changed:
applications/bulk-o-matic/src/main/java/org/opendaylight/openflowplugin/applications/bulk/o/matic/FlowReader.java
applications/bulk-o-matic/src/main/java/org/opendaylight/openflowplugin/applications/bulk/o/matic/FlowWriterDirectOFRpc.java
applications/device-ownership-service/src/main/java/org/opendaylight/openflowplugin/applications/deviceownershipservice/impl/DeviceOwnershipServiceImpl.java
applications/forwardingrules-manager/src/main/java/org/opendaylight/openflowplugin/applications/frm/impl/BundleFlowForwarder.java
applications/forwardingrules-manager/src/main/java/org/opendaylight/openflowplugin/applications/frm/impl/FlowForwarder.java
applications/forwardingrules-manager/src/main/java/org/opendaylight/openflowplugin/applications/frm/impl/FlowNodeReconciliationImpl.java
applications/forwardingrules-sync/src/main/java/org/opendaylight/openflowplugin/applications/frsync/dao/FlowCapableNodeSnapshotDao.java
applications/forwardingrules-sync/src/main/java/org/opendaylight/openflowplugin/applications/frsync/impl/AbstractFrmSyncListener.java
applications/forwardingrules-sync/src/main/java/org/opendaylight/openflowplugin/applications/frsync/impl/SimplifiedConfigListener.java
applications/forwardingrules-sync/src/main/java/org/opendaylight/openflowplugin/applications/frsync/impl/SimplifiedOperationalListener.java
applications/southbound-cli/src/main/java/org/opendaylight/openflowplugin/applications/southboundcli/ReconciliationServiceImpl.java
applications/southbound-cli/src/main/java/org/opendaylight/openflowplugin/applications/southboundcli/cli/GetReconciliationStateProvider.java
applications/southbound-cli/src/main/java/org/opendaylight/openflowplugin/applications/southboundcli/cli/Reconciliation.java
applications/southbound-cli/src/main/java/org/opendaylight/openflowplugin/applications/southboundcli/util/ShellUtil.java
applications/topology-lldp-discovery/src/main/java/org/opendaylight/openflowplugin/applications/topology/lldp/utils/LLDPDiscoveryUtils.java
applications/topology-manager/src/main/java/org/opendaylight/openflowplugin/applications/topology/manager/TopologyManagerUtil.java
extension/openflowplugin-extension-api/src/test/java/org/opendaylight/openflowplugin/extension/api/GroupingLooseResolverTest.java
extension/openflowplugin-extension-api/src/test/java/org/opendaylight/openflowplugin/extension/api/GroupingResolverTest.java
extension/openflowplugin-extension-api/src/test/java/org/opendaylight/openflowplugin/extension/api/SetFieldExtensionTest.java
extension/openflowplugin-extension-eric/src/main/java/org/opendaylight/openflowplugin/extension/vendor/eric/convertor/match/Icmpv6NDOptionsTypeConvertor.java
extension/openflowplugin-extension-eric/src/main/java/org/opendaylight/openflowplugin/extension/vendor/eric/convertor/match/Icmpv6NDReservedConvertor.java
extension/openflowplugin-extension-eric/src/test/java/org/opendaylight/openflowplugin/extension/vendor/eric/convertor/match/Icmpv6NDOptionsTypeConvertorTest.java
extension/openflowplugin-extension-eric/src/test/java/org/opendaylight/openflowplugin/extension/vendor/eric/convertor/match/Icmpv6NDReservedConvertorTest.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/ArpOpConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/ArpShaConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/ArpSpaConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/ArpThaConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/ArpTpaConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/CtMarkConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/CtStateConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/CtTpDstConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/CtTpSrcConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/CtZoneConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/EthDstConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/EthSrcConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/EthTypeConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/NshFlagsConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/NshMdtypeConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/NshNpConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/NshTtlConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/Nshc1Convertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/Nshc2Convertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/Nshc3Convertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/Nshc4Convertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/NsiConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/NspConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/NxmInPortConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/PktMarkConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/RegConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/TcpDstConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/TcpSrcConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/TunIdConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/UdpDstConvertor.java
extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/UdpSrcConvertor.java
extension/openflowplugin-extension-onf/src/main/java/org/opendaylight/openflowplugin/extension/onf/converter/BundleAddMessageConverter.java
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/ConvertorManager.java
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/GroupDescStatsResponseConvertor.java
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/ActionConvertor.java
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/action/ActionResponseConvertor.java
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/flow/FlowConvertor.java
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/flow/FlowFlagsInjector.java
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/flow/FlowStatsResponseConvertor.java
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchConvertor.java
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchInjector.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/ConvertorManagerTest.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/GroupConvertorTest.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/GroupStatsResponseConvertorTest.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/flow/FlowConvertorTest.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/flow/FlowStatsResponseConvertorTest.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchConvertorTest.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/match/MatchConvertorV10Test.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/TestProviderTransactionUtil.java

index 06b9a1ac69645caaf2b8ab18c9787068a0e1b5b5..9e6d4788411066af585b7aa03cf8640cfe1532ea 100644 (file)
@@ -91,7 +91,7 @@ public final class FlowReader implements Runnable, FlowCounterMBean {
                     if (flowOptional.isPresent()) {
                         flowCount.incrementAndGet();
                         if (verbose) {
-                            LOG.info("Flow found: {}", flowOptional.get());
+                            LOG.info("Flow found: {}", flowOptional.orElseThrow());
                         }
                     } else {
                         if (verbose) {
index 7755fcf44cb1ab83536dccbffbb657b57bcfa7b0..1ac1db7564058c466822374e3da57050aabaa473 100644 (file)
@@ -77,7 +77,7 @@ public class FlowWriterDirectOFRpc {
         try (ReadTransaction readOnlyTransaction = dataBroker.newReadOnlyTransaction()) {
             Optional<Nodes> nodesDataNode = readOnlyTransaction.read(LogicalDatastoreType.OPERATIONAL, nodes).get();
             if (nodesDataNode.isPresent()) {
-                Collection<Node> nodesCollection = nodesDataNode.get().nonnullNode().values();
+                Collection<Node> nodesCollection = nodesDataNode.orElseThrow().nonnullNode().values();
                 if (!nodesCollection.isEmpty()) {
                     for (Node node : nodesCollection) {
                         LOG.info("Switch with ID {} discovered !!", node.getId().getValue());
index 6ac688df46af723f96ea3f35262305a76e7029f5..e79e2f2eb25b991fd2bf222c0616e8d80a034a74 100644 (file)
@@ -55,7 +55,7 @@ public class DeviceOwnershipServiceImpl implements DeviceOwnershipService, Entit
             LOG.debug("The ownership state for node {} is not cached. Retrieving from the EOS Datastore", nodeId);
             Optional<EntityOwnershipState> status = getCurrentOwnershipStatus(nodeId);
             if (status.isPresent()) {
-                state = status.get();
+                state = status.orElseThrow();
                 ownershipStateCache.put(nodeId, state);
             } else {
                 LOG.warn("Fetching ownership status failed for node {}", nodeId);
@@ -87,7 +87,7 @@ public class DeviceOwnershipServiceImpl implements DeviceOwnershipService, Entit
         org.opendaylight.mdsal.eos.binding.api.Entity entity = createNodeEntity(nodeId);
         Optional<EntityOwnershipState> ownershipStatus = eos.getOwnershipState(entity);
         if (ownershipStatus.isPresent()) {
-            LOG.trace("Fetched ownership status for node {} is {}", nodeId, ownershipStatus.get());
+            LOG.trace("Fetched ownership status for node {} is {}", nodeId, ownershipStatus.orElseThrow());
         }
         return ownershipStatus;
     }
index 93ddbb3bd4b5e0f8725029d3308ca14bd06d7de8..37ec48bf9dfd7ea485bb8730e81ad938af31ed59 100644 (file)
@@ -164,14 +164,16 @@ public class BundleFlowForwarder implements BundleMessagesCommiter<Flow> {
                 InstanceIdentifier<Group> groupIdent = buildGroupInstanceIdentifier(nodeIdent, groupId);
                 LOG.info("Reading the group from config inventory: {}", groupId);
                 try (ReadTransaction readTransaction = forwardingRulesManager.getReadTransaction()) {
-                    Optional<Group> group = readTransaction.read(LogicalDatastoreType.CONFIGURATION, groupIdent).get();
-                    if (group.isPresent()) {
-                        final AddGroupInputBuilder builder = new AddGroupInputBuilder(group.get());
+                    Optional<Group> optGroup = readTransaction.read(LogicalDatastoreType.CONFIGURATION, groupIdent)
+                        .get();
+                    if (optGroup.isPresent()) {
+                        final Group group = optGroup.orElseThrow();
+                        final AddGroupInputBuilder builder = new AddGroupInputBuilder(group);
                         builder.setNode(new NodeRef(nodeIdent.firstIdentifierOf(Node.class)));
                         builder.setGroupRef(new GroupRef(nodeIdent));
                         builder.setTransactionUri(new Uri(forwardingRulesManager.getNewTransactionId()));
                         BundleInnerMessage bundleInnerMessage = new BundleAddGroupCaseBuilder()
-                                .setAddGroupCaseData(new AddGroupCaseDataBuilder(group.get()).build()).build();
+                                .setAddGroupCaseData(new AddGroupCaseDataBuilder(group).build()).build();
                         Message groupMessage = new MessageBuilder()
                                 .setNode(new NodeRef(nodeIdent.firstIdentifierOf(Node.class)))
                                 .setBundleInnerMessage(bundleInnerMessage)
index 75131a3cfa2cec1349bfae6966836c7b12921553..6b237623548778bde0c2fce9b364725f3cf95f07 100644 (file)
@@ -335,7 +335,7 @@ public class FlowForwarder extends AbstractListeningCommiter<Flow> {
         try (ReadTransaction readTransaction = provider.getReadTransaction()) {
             Optional<Group> group = readTransaction.read(LogicalDatastoreType.CONFIGURATION, groupIdent).get();
             if (group.isPresent()) {
-                final AddGroupInputBuilder builder = new AddGroupInputBuilder(group.get());
+                final AddGroupInputBuilder builder = new AddGroupInputBuilder(group.orElseThrow());
                 builder.setNode(new NodeRef(nodeIdent.firstIdentifierOf(Node.class)));
                 builder.setGroupRef(new GroupRef(nodeIdent));
                 builder.setTransactionUri(new Uri(provider.getNewTransactionId()));
index f9d2378e309891bdc59db42492e4d463698bb59d..4e932496f1d434bea5fd2b9f16a75ab1d278e0b5 100644 (file)
@@ -146,7 +146,7 @@ public class FlowNodeReconciliationImpl implements FlowNodeReconciliation {
     public FlowNodeReconciliationImpl(final ForwardingRulesManager manager, final DataBroker db,
                                       final String serviceName, final int priority, final ResultState resultState,
                                       final FlowGroupCacheManager flowGroupCacheManager) {
-        this.provider = requireNonNull(manager, "ForwardingRulesManager can not be null!");
+        provider = requireNonNull(manager, "ForwardingRulesManager can not be null!");
         dataBroker = requireNonNull(db, "DataBroker can not be null!");
         this.serviceName = serviceName;
         this.priority = priority;
@@ -261,25 +261,25 @@ public class FlowNodeReconciliationImpl implements FlowNodeReconciliation {
 
                 /* Push flows and groups via bundle add messages */
                 Optional<FlowCapableNode> finalFlowNode = flowNode;
-                ListenableFuture<List<RpcResult<AddBundleMessagesOutput>>> addbundlesFuture
-                        = Futures.transformAsync(deleteAllFlowGroupsFuture, rpcResult -> {
-                            if (rpcResult.isSuccessful()) {
-                                LOG.debug("Adding delete all flow/group message is successful for device {}", dpnId);
-                                return Futures.allAsList(addBundleMessages(finalFlowNode.get(), bundleIdValue,
-                                        nodeIdentity));
-                            }
-                            return Futures.immediateFuture(null);
-                        }, service);
+                ListenableFuture<List<RpcResult<AddBundleMessagesOutput>>> addbundlesFuture =
+                    Futures.transformAsync(deleteAllFlowGroupsFuture, rpcResult -> {
+                        if (rpcResult.isSuccessful()) {
+                            LOG.debug("Adding delete all flow/group message is successful for device {}", dpnId);
+                            return Futures.allAsList(addBundleMessages(finalFlowNode.orElseThrow(), bundleIdValue,
+                                nodeIdentity));
+                        }
+                        return Futures.immediateFuture(null);
+                    }, service);
 
                     /* Commit the bundle on the openflow switch */
-                ListenableFuture<RpcResult<ControlBundleOutput>> commitBundleFuture
-                        = Futures.transformAsync(addbundlesFuture, rpcResult -> {
-                            LOG.debug("Adding bundle messages completed for device {}", dpnId);
-                            return salBundleService.controlBundle(commitBundleInput);
-                        }, service);
+                ListenableFuture<RpcResult<ControlBundleOutput>> commitBundleFuture =
+                    Futures.transformAsync(addbundlesFuture, rpcResult -> {
+                        LOG.debug("Adding bundle messages completed for device {}", dpnId);
+                        return salBundleService.controlBundle(commitBundleInput);
+                    }, service);
 
                 /* Bundles not supported for meters */
-                Collection<Meter> meters = flowNode.get().nonnullMeter().values();
+                Collection<Meter> meters = finalFlowNode.orElseThrow().nonnullMeter().values();
                 Futures.transformAsync(commitBundleFuture,
                     rpcResult -> {
                         if (rpcResult.isSuccessful()) {
@@ -365,26 +365,26 @@ public class FlowNodeReconciliationImpl implements FlowNodeReconciliation {
             BigInteger dpnId = getDpnIdFromNodeName(node);
             OF_EVENT_LOG.debug("Reconciliation Start, Node: {}", dpnId);
 
-            Optional<FlowCapableNode> flowNode;
+            Optional<FlowCapableNode> optFlowNode;
             // initialize the counter
             int counter = 0;
             try (ReadTransaction trans = provider.getReadTransaction()) {
-                flowNode = trans.read(LogicalDatastoreType.CONFIGURATION, nodeIdentity).get();
+                optFlowNode = trans.read(LogicalDatastoreType.CONFIGURATION, nodeIdentity).get();
             } catch (ExecutionException | InterruptedException e) {
                 LOG.warn("Fail with read Config/DS for Node {} !", nodeIdentity, e);
                 return false;
             }
 
-            if (flowNode.isPresent()) {
+            if (optFlowNode.isPresent()) {
                 /* Tables - have to be pushed before groups */
                 // CHECK if while pushing the update, updateTableInput can be null to emulate a
                 // table add
-                ReconciliationState reconciliationState = new ReconciliationState(
-                        STARTED, LocalDateTime.now());
+                ReconciliationState reconciliationState = new ReconciliationState(STARTED, LocalDateTime.now());
                 //put the dpn info into the map
                 reconciliationStates.put(dpnId.toString(), reconciliationState);
                 LOG.debug("Triggering reconciliation for node {} with state: {}", dpnId, STARTED);
-                Collection<TableFeatures> tableList = flowNode.get().nonnullTableFeatures().values();
+                FlowCapableNode flowNode = optFlowNode.orElseThrow();
+                Collection<TableFeatures> tableList = flowNode.nonnullTableFeatures().values();
                 for (TableFeatures tableFeaturesItem : tableList) {
                     TableFeaturesKey tableKey = tableFeaturesItem.key();
                     KeyedInstanceIdentifier<TableFeatures, TableFeaturesKey> tableFeaturesII = nodeIdentity
@@ -393,9 +393,7 @@ public class FlowNodeReconciliationImpl implements FlowNodeReconciliation {
                 }
 
                 /* Groups - have to be first */
-                Collection<Group> groups = flowNode.get().nonnullGroup().values();
-                List<Group> toBeInstalledGroups = new ArrayList<>();
-                toBeInstalledGroups.addAll(groups);
+                List<Group> toBeInstalledGroups = new ArrayList<>(flowNode.nonnullGroup().values());
                 // new list for suspected groups pointing to ports .. when the ports come up
                 // late
                 List<Group> suspectedGroups = new ArrayList<>();
@@ -487,14 +485,13 @@ public class FlowNodeReconciliationImpl implements FlowNodeReconciliation {
                 if (!toBeInstalledGroups.isEmpty()) {
                     for (Group group : toBeInstalledGroups) {
                         LOG.debug(
-                                "Installing the group {} finally although "
-                                        + "the port is not up after checking for {} times ",
-                                group.getGroupId(), provider.getReconciliationRetryCount());
+                            "Installing the group {} finally although the port is not up after checking for {} times ",
+                            group.getGroupId(), provider.getReconciliationRetryCount());
                         addGroup(groupFutures, group);
                     }
                 }
                 /* Meters */
-                Collection<Meter> meters = flowNode.get().nonnullMeter().values();
+                Collection<Meter> meters = flowNode.nonnullMeter().values();
                 for (Meter meter : meters) {
                     final KeyedInstanceIdentifier<Meter, MeterKey> meterIdent = nodeIdentity.child(Meter.class,
                             meter.key());
@@ -506,10 +503,8 @@ public class FlowNodeReconciliationImpl implements FlowNodeReconciliation {
                 awaitGroups(node, groupFutures.values());
 
                 /* Flows */
-                Collection<Table> tables = flowNode.get().getTable() != null ? flowNode.get().nonnullTable().values()
-                        : Collections.<Table>emptyList();
                 int flowCount = 0;
-                for (Table table : tables) {
+                for (Table table : flowNode.nonnullTable().values()) {
                     final KeyedInstanceIdentifier<Table, TableKey> tableIdent = nodeIdentity.child(Table.class,
                             table.key());
                     Collection<Flow> flows = table.nonnullFlow().values();
@@ -604,20 +599,20 @@ public class FlowNodeReconciliationImpl implements FlowNodeReconciliation {
         List<InstanceIdentifier<StaleGroup>> staleGroupsToBeBulkDeleted = new ArrayList<>();
         List<InstanceIdentifier<StaleMeter>> staleMetersToBeBulkDeleted = new ArrayList<>();
 
-        Optional<FlowCapableNode> flowNode = Optional.empty();
+        Optional<FlowCapableNode> optFlowNode = Optional.empty();
 
         try (ReadTransaction trans = provider.getReadTransaction()) {
-            flowNode = trans.read(LogicalDatastoreType.CONFIGURATION, nodeIdent).get();
+            optFlowNode = trans.read(LogicalDatastoreType.CONFIGURATION, nodeIdent).get();
         } catch (ExecutionException | InterruptedException e) {
             LOG.warn("Reconciliation Pre-Processing Fail with read Config/DS for Node {} !", nodeIdent, e);
         }
 
-        if (flowNode.isPresent()) {
-
+        if (optFlowNode.isPresent()) {
+            final FlowCapableNode flowNode = optFlowNode.orElseThrow();
             LOG.debug("Proceeding with deletion of stale-marked Flows on switch {} using Openflow interface",
                     nodeIdent);
             /* Stale-Flows - Stale-marked Flows have to be removed first for safety */
-            Collection<Table> tables = flowNode.get().nonnullTable().values();
+            Collection<Table> tables = flowNode.nonnullTable().values();
             for (Table table : tables) {
                 final KeyedInstanceIdentifier<Table, TableKey> tableIdent = nodeIdent.child(Table.class,
                         table.key());
@@ -630,7 +625,7 @@ public class FlowNodeReconciliationImpl implements FlowNodeReconciliation {
                     final KeyedInstanceIdentifier<Flow, FlowKey> flowIdent = tableIdent.child(Flow.class,
                             toBeDeletedFlow.key());
 
-                    this.provider.getFlowCommiter().remove(flowIdent, toBeDeletedFlow, nodeIdent);
+                    provider.getFlowCommiter().remove(flowIdent, toBeDeletedFlow, nodeIdent);
 
                     staleFlowsToBeBulkDeleted.add(getStaleFlowInstanceIdentifier(staleFlow, nodeIdent));
                 }
@@ -644,16 +639,14 @@ public class FlowNodeReconciliationImpl implements FlowNodeReconciliation {
             // before attempting to delete groups - just in case there are references
 
             /* Stale-marked Groups - Can be deleted after flows */
-            Collection<StaleGroup> staleGroups = flowNode.get().nonnullStaleGroup().values();
-            for (StaleGroup staleGroup : staleGroups) {
-
+            for (StaleGroup staleGroup : flowNode.nonnullStaleGroup().values()) {
                 GroupBuilder groupBuilder = new GroupBuilder(staleGroup);
                 Group toBeDeletedGroup = groupBuilder.setGroupId(staleGroup.getGroupId()).build();
 
                 final KeyedInstanceIdentifier<Group, GroupKey> groupIdent = nodeIdent.child(Group.class,
                         toBeDeletedGroup.key());
 
-                this.provider.getGroupCommiter().remove(groupIdent, toBeDeletedGroup, nodeIdent);
+                provider.getGroupCommiter().remove(groupIdent, toBeDeletedGroup, nodeIdent);
 
                 staleGroupsToBeBulkDeleted.add(getStaleGroupInstanceIdentifier(staleGroup, nodeIdent));
             }
@@ -661,9 +654,7 @@ public class FlowNodeReconciliationImpl implements FlowNodeReconciliation {
             LOG.debug("Proceeding with deletion of stale-marked Meters for switch {} using Openflow interface",
                     nodeIdent);
             /* Stale-marked Meters - can be deleted anytime - so least priority */
-            Collection<StaleMeter> staleMeters = flowNode.get().getStaleMeter().values();
-
-            for (StaleMeter staleMeter : staleMeters) {
+            for (StaleMeter staleMeter : flowNode.nonnullStaleMeter().values()) {
 
                 MeterBuilder meterBuilder = new MeterBuilder(staleMeter);
                 Meter toBeDeletedMeter = meterBuilder.setMeterId(staleMeter.getMeterId()).build();
@@ -671,7 +662,7 @@ public class FlowNodeReconciliationImpl implements FlowNodeReconciliation {
                 final KeyedInstanceIdentifier<Meter, MeterKey> meterIdent = nodeIdent.child(Meter.class,
                         toBeDeletedMeter.key());
 
-                this.provider.getMeterCommiter().remove(meterIdent, toBeDeletedMeter, nodeIdent);
+                provider.getMeterCommiter().remove(meterIdent, toBeDeletedMeter, nodeIdent);
 
                 staleMetersToBeBulkDeleted.add(getStaleMeterInstanceIdentifier(staleMeter, nodeIdent));
             }
index e362ff52971b8478668384353c6a5623c52c2541..5b22407ef81173be23d7be8d1ed49871f7c51fa9 100644 (file)
@@ -17,20 +17,18 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
  * Adding cache to data access object of {@link FlowCapableNode}.
  */
 public class FlowCapableNodeSnapshotDao implements FlowCapableNodeDao {
-
     private final ConcurrentHashMap<String, FlowCapableNode> cache = new ConcurrentHashMap<>();
 
-    public void updateCache(@NonNull NodeId nodeId, Optional<FlowCapableNode> dataAfter) {
+    public void updateCache(final @NonNull NodeId nodeId, final Optional<FlowCapableNode> dataAfter) {
         if (dataAfter.isPresent()) {
-            cache.put(nodeId.getValue(), dataAfter.get());
+            cache.put(nodeId.getValue(), dataAfter.orElseThrow());
         } else {
             cache.remove(nodeId.getValue());
         }
     }
 
     @Override
-    public Optional<FlowCapableNode> loadByNodeId(@NonNull NodeId nodeId) {
-        final FlowCapableNode node = cache.get(nodeId.getValue());
-        return Optional.ofNullable(node);
+    public Optional<FlowCapableNode> loadByNodeId(final NodeId nodeId) {
+        return Optional.ofNullable(cache.get(nodeId.getValue()));
     }
 }
index 102a17672d457ede89c694bcaf0567fdc387e825..54fc53345e95cb97a0257ef053aff9a8eb7f2432 100644 (file)
@@ -13,7 +13,6 @@ import java.util.Optional;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
-import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.mdsal.binding.api.DataTreeModification;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.openflowplugin.applications.frsync.NodeListener;
@@ -27,28 +26,25 @@ import org.slf4j.LoggerFactory;
  * Abstract Listener for node changes.
  */
 public abstract class AbstractFrmSyncListener<T extends DataObject> implements NodeListener<T> {
-
     private static final Logger LOG = LoggerFactory.getLogger(AbstractFrmSyncListener.class);
 
     @Override
-    public void onDataTreeChanged(@NonNull final Collection<DataTreeModification<T>> modifications) {
+    public void onDataTreeChanged(final Collection<DataTreeModification<T>> modifications) {
         for (DataTreeModification<T> modification : modifications) {
             final NodeId nodeId = PathUtil.digNodeId(modification.getRootPath().getRootIdentifier());
             if (LOG.isTraceEnabled()) {
                 LOG.trace("DataTreeModification of {} in {} datastore", nodeId.getValue(), dsType());
             }
-            try {
-                final Optional<ListenableFuture<Boolean>> optFuture = processNodeModification(modification);
-                if (optFuture.isPresent()) {
-                    final ListenableFuture<Boolean> future = optFuture.get();
+            processNodeModification(modification).ifPresent(future -> {
+                try {
                     future.get(15000, TimeUnit.MILLISECONDS);
                     if (LOG.isTraceEnabled()) {
                         LOG.trace("Syncup for {} return from {} listener", nodeId.getValue(), dsType());
                     }
+                } catch (InterruptedException | ExecutionException | TimeoutException e) {
+                    LOG.error("Error processing inventory node modification: {}", nodeId.getValue(), e);
                 }
-            } catch (InterruptedException | ExecutionException | TimeoutException e) {
-                LOG.error("Error processing inventory node modification: {}", nodeId.getValue(), e);
-            }
+            });
         }
     }
 
@@ -56,5 +52,4 @@ public abstract class AbstractFrmSyncListener<T extends DataObject> implements N
             DataTreeModification<T> modification);
 
     protected abstract LogicalDatastoreType dsType();
-
 }
index fecc2ec2fd1751f60bb6d8b363becb76502f28f6..ef4de28ce689f44128c7e48c64e5f64587404b93 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.openflowplugin.applications.frsync.impl;
 import com.google.common.util.concurrent.ListenableFuture;
 import java.util.Collection;
 import java.util.Optional;
-import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.mdsal.binding.api.DataObjectModification;
 import org.opendaylight.mdsal.binding.api.DataTreeModification;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
@@ -44,7 +43,7 @@ public class SimplifiedConfigListener extends AbstractFrmSyncListener<FlowCapabl
     }
 
     @Override
-    public void onDataTreeChanged(@NonNull final Collection<DataTreeModification<FlowCapableNode>> modifications) {
+    public void onDataTreeChanged(final Collection<DataTreeModification<FlowCapableNode>> modifications) {
         super.onDataTreeChanged(modifications);
     }
 
@@ -61,7 +60,7 @@ public class SimplifiedConfigListener extends AbstractFrmSyncListener<FlowCapabl
         configSnapshot.updateCache(nodeId, Optional.ofNullable(modification.getRootNode().getDataAfter()));
 
         final Optional<FlowCapableNode> operationalNode = operationalDao.loadByNodeId(nodeId);
-        if (!operationalNode.isPresent()) {
+        if (operationalNode.isEmpty()) {
             LOG.debug("Skip syncup, {} operational is not present", nodeId.getValue());
             return Optional.empty();
         }
@@ -71,7 +70,7 @@ public class SimplifiedConfigListener extends AbstractFrmSyncListener<FlowCapabl
         final FlowCapableNode dataAfter = configModification.getDataAfter();
         final ListenableFuture<Boolean> endResult;
         if (dataBefore == null && dataAfter != null) {
-            endResult = onNodeAdded(nodePath, dataAfter, operationalNode.get());
+            endResult = onNodeAdded(nodePath, dataAfter, operationalNode.orElseThrow());
         } else if (dataBefore != null && dataAfter == null) {
             endResult = onNodeDeleted(nodePath, dataBefore);
         } else {
index d2620c2b35b5a9124472af2739511e97a1fa6203..6152d37957e288db4b979790fd3ea5b70551fa13 100644 (file)
@@ -14,7 +14,6 @@ import java.util.Collection;
 import java.util.Date;
 import java.util.Map;
 import java.util.Optional;
-import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.mdsal.binding.api.DataObjectModification;
 import org.opendaylight.mdsal.binding.api.DataTreeModification;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
@@ -65,7 +64,7 @@ public class SimplifiedOperationalListener extends AbstractFrmSyncListener<Node>
     }
 
     @Override
-    public void onDataTreeChanged(@NonNull final Collection<DataTreeModification<Node>> modifications) {
+    public void onDataTreeChanged(final Collection<DataTreeModification<Node>> modifications) {
         super.onDataTreeChanged(modifications);
     }
 
@@ -157,8 +156,8 @@ public class SimplifiedOperationalListener extends AbstractFrmSyncListener<Node>
                     .child(Node.class, new NodeKey(ModificationUtil.nodeId(modification)))
                     .augmentation(FlowCapableNode.class);
             final FlowCapableNode fcOperationalNode = ModificationUtil.flowCapableNodeAfter(modification);
-            final SyncupEntry syncupEntry = new SyncupEntry(nodeConfiguration.get(), LogicalDatastoreType.CONFIGURATION,
-                                                            fcOperationalNode, dsType());
+            final SyncupEntry syncupEntry = new SyncupEntry(nodeConfiguration.orElseThrow(),
+                LogicalDatastoreType.CONFIGURATION, fcOperationalNode, dsType());
             return Optional.of(reactor.syncup(nodePath, syncupEntry));
         } else {
             LOG.debug("Config not present for reconciliation: {}", nodeId.getValue());
index d20ba88a75700b86f3b9f8833dcb46d8da106623..fb00d4e0842dae27a56982655620e080ec5d7c22 100644 (file)
@@ -211,20 +211,18 @@ public class ReconciliationServiceImpl implements ReconciliationService, AutoClo
 
             if (isSuccess) {
                 if (count.isPresent()) {
-                    long successCount = count.get().getSuccessCount().toJava();
+                    long successCount = count.orElseThrow().getSuccessCount().toJava();
                     counterBuilder.setSuccessCount(Uint32.valueOf(++successCount));
                     LOG.debug("Reconcile success count {} for the node: {} ", successCount, nodeId);
                 } else {
                     counterBuilder.setSuccessCount(Uint32.ONE);
                 }
+            } else if (count.isPresent()) {
+                long failureCount = count.orElseThrow().getFailureCount().toJava();
+                counterBuilder.setFailureCount(Uint32.valueOf(++failureCount));
+                LOG.debug("Reconcile failure count {} for the node: {} ", failureCount, nodeId);
             } else {
-                if (count.isPresent()) {
-                    long failureCount = count.get().getFailureCount().toJava();
-                    counterBuilder.setFailureCount(Uint32.valueOf(++failureCount));
-                    LOG.debug("Reconcile failure count {} for the node: {} ", failureCount, nodeId);
-                } else {
-                    counterBuilder.setFailureCount(Uint32.ONE);
-                }
+                counterBuilder.setFailureCount(Uint32.ONE);
             }
             try {
                 tx.mergeParentStructureMerge(LogicalDatastoreType.OPERATIONAL, instanceIdentifier,
index c353a769c2ec53097f5e1753b69ce731b41e1213..b942d1df0c878cc163cf30cf3eebc98c68cca5b4 100644 (file)
@@ -105,7 +105,7 @@ public class GetReconciliationStateProvider extends OsgiCommandSupport {
         return reconciliationState;
     }
 
-    private void printReconciliationStates(List<String> result) {
+    private void printReconciliationStates(final List<String> result) {
         session.getConsole().println(getHeaderOutput());
         session.getConsole().println(getLineSeparator());
         result.stream().forEach(p -> session.getConsole().println(p));
@@ -147,7 +147,7 @@ public class GetReconciliationStateProvider extends OsgiCommandSupport {
     }
 
     @SuppressWarnings("IllegalCatch")
-    private Map<String, String> getRemoteReconciliationStates(String ipAddress) {
+    private Map<String, String> getRemoteReconciliationStates(final String ipAddress) {
         Map<String, String> jmxReconciliationStates = new HashMap<>();
         try {
             String getReconcilationRemoteResponse = invokeRemoteRestOperation(ipAddress);
@@ -167,7 +167,7 @@ public class GetReconciliationStateProvider extends OsgiCommandSupport {
         return reconciliationJMXServiceMBean.acquireReconciliationStates();
     }
 
-    private String invokeRemoteRestOperation(String ipAddress) throws Exception {
+    private String invokeRemoteRestOperation(final String ipAddress) throws Exception {
         String restUrl = buildRemoteReconcilationUrl(ipAddress);
         LOG.info("invokeRemoteReconcilationState() REST URL: {}", restUrl);
         String authString = JMX_REST_HTTP_AUTH_UNAME_PWD;
@@ -181,7 +181,7 @@ public class GetReconciliationStateProvider extends OsgiCommandSupport {
 
         LOG.debug("sending http request for accessing remote reconcilation");
         HttpResponse<String> response = HttpClient.newBuilder()
-                                .connectTimeout(request.timeout().get().plusMillis(1000))
+                                .connectTimeout(request.timeout().orElseThrow().plusMillis(1000))
                                 .build()
                                 .send(request, HttpResponse.BodyHandlers.ofString());
         // Response code for success should be 200
@@ -200,7 +200,7 @@ public class GetReconciliationStateProvider extends OsgiCommandSupport {
     }
 
 
-    String buildRemoteReconcilationUrl(String host) {
+    String buildRemoteReconcilationUrl(final String host) {
         String targetHostAsString;
         InetAddress hostInetAddress = InetAddresses.forString(host);
         if (hostInetAddress instanceof Inet6Address) {
index 5872cbd9831968b3a8ce77a32a86e4be66db0c8d..5a9cf4a21feacdbecc7d7e0d456ce37f0eabf879 100644 (file)
@@ -32,7 +32,7 @@ public class Reconciliation extends OsgiCommandSupport {
     private static final Logger LOG = LoggerFactory.getLogger(Reconciliation.class);
     private ReconciliationService reconciliationService;
 
-    public void setReconciliationService(ReconciliationService reconciliationService) {
+    public void setReconciliationService(final ReconciliationService reconciliationService) {
         this.reconciliationService = reconciliationService;
     }
 
@@ -58,7 +58,7 @@ public class Reconciliation extends OsgiCommandSupport {
                 System.out.println("Reconciliation triggered for the node(s)");
                 printInProgressNodes(rpcResult.getResult());
             } else {
-                System.out.println(rpcResult.getErrors().stream().findFirst().get().getMessage());
+                System.out.println(rpcResult.getErrors().stream().findFirst().orElseThrow().getMessage());
             }
         } catch (ExecutionException e) {
             LOG.error("Error occurred while invoking reconcile RPC for node {}", nodes, e);
@@ -67,7 +67,7 @@ public class Reconciliation extends OsgiCommandSupport {
     }
 
     @SuppressWarnings("checkstyle:RegexpSinglelineJava")
-    private static void printInProgressNodes(ReconcileOutput reconcileOutput) {
+    private static void printInProgressNodes(final ReconcileOutput reconcileOutput) {
         Set<Uint64> inprogressNodes = reconcileOutput.getInprogressNodes();
         if (inprogressNodes.size() > 0) {
             StringBuilder stringBuilder = new StringBuilder();
index 66112519edbaf0474fe2cf929cb75dc52e90b856..09271fba0c051a0214ae77762e8505ec4bae719a 100644 (file)
@@ -79,7 +79,7 @@ public final class ShellUtil {
         try (ReadTransaction tx = broker.newReadOnlyTransaction()) {
             Optional<Node> result = tx.read(LogicalDatastoreType.OPERATIONAL, path).get();
             if (result.isPresent()) {
-                Node node = result.get();
+                Node node = result.orElseThrow();
                 String name;
                 Collection<NodeConnector> nodeConnectors = node.nonnullNodeConnector().values();
                 List<String> portList = new ArrayList<>();
@@ -115,16 +115,12 @@ public final class ShellUtil {
     public static Collection<ReconcileCounter> getReconcileCount(final DataBroker dataBroker) {
         InstanceIdentifier<ReconciliationCounter> instanceIdentifier = InstanceIdentifier
                 .builder(ReconciliationCounter.class).build();
-        Collection<ReconcileCounter> output = Collections.emptyList();
         try (ReadTransaction tx = dataBroker.newReadOnlyTransaction()) {
-            Optional<ReconciliationCounter> result =
-                    tx.read(LogicalDatastoreType.OPERATIONAL, instanceIdentifier).get();
-            if (result.isPresent()) {
-                output = result.get().nonnullReconcileCounter().values();
-            }
+            final var result = tx.read(LogicalDatastoreType.OPERATIONAL, instanceIdentifier).get();
+            return result.map(counter -> counter.nonnullReconcileCounter().values()).orElse(List.of());
         } catch (ExecutionException | InterruptedException e) {
             LOG.error("Error reading reconciliation counter from datastore", e);
+            return List.of();
         }
-        return output;
     }
 }
index 76161fc21541b32e2ca496e98519044714afd8bb..bbdddcfe5ac2fd31600130fe7feff943480fb7e8 100644 (file)
@@ -18,7 +18,7 @@ import java.nio.ByteBuffer;
 import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
-import java.util.Optional;
+import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.mdsal.eos.binding.api.Entity;
 import org.opendaylight.mdsal.eos.binding.api.EntityOwnershipService;
 import org.opendaylight.mdsal.eos.common.api.EntityOwnershipState;
@@ -155,15 +155,7 @@ public final class LLDPDiscoveryUtils {
 
     public static boolean isEntityOwned(final EntityOwnershipService eos, final String nodeId) {
         requireNonNull(eos, "Entity ownership service must not be null");
-
-        EntityOwnershipState state = null;
-        Optional<EntityOwnershipState> status = getCurrentOwnershipStatus(eos, nodeId);
-        if (status.isPresent()) {
-            state = status.get();
-        } else {
-            LOG.error("Fetching ownership status failed for node {}", nodeId);
-        }
-        return state != null && state.equals(EntityOwnershipState.IS_OWNER);
+        return EntityOwnershipState.IS_OWNER == currentOwnershipStatus(eos, nodeId);
     }
 
     public static org.opendaylight.yang.gen.v1.urn.opendaylight.flow.topology.discovery.rev130819
@@ -207,34 +199,26 @@ public final class LLDPDiscoveryUtils {
         return secAuthenticatorOk;
     }
 
-    private static Optional<EntityOwnershipState> getCurrentOwnershipStatus(final EntityOwnershipService eos,
+    private static @Nullable EntityOwnershipState currentOwnershipStatus(final EntityOwnershipService eos,
             final String nodeId) {
-        Entity entity = createNodeEntity(nodeId);
-        Optional<EntityOwnershipState> ownershipStatus = eos.getOwnershipState(entity);
-
-        if (ownershipStatus.isPresent()) {
-            LOG.debug("Fetched ownership status for node {} is {}", nodeId, ownershipStatus.get());
+        var optStatus = eos.getOwnershipState(new Entity(SERVICE_ENTITY_TYPE, nodeId));
+        if (optStatus.isEmpty()) {
+            LOG.error("Fetching ownership status failed for node {}", nodeId);
+            return null;
         }
-        return ownershipStatus;
-    }
 
-    private static Entity createNodeEntity(final String nodeId) {
-        return new Entity(SERVICE_ENTITY_TYPE, nodeId);
+        final var status = optStatus.orElseThrow();
+        LOG.debug("Fetched ownership status for node {} is {}", nodeId, status);
+        return status;
     }
 
     private static NodeConnectorRef getNodeConnectorRefFromLink(final TpId tpId, final org.opendaylight.yang.gen.v1.urn
             .tbd.params.xml.ns.yang.network.topology.rev131021.NodeId nodeId) {
         String nodeConnectorId = tpId.getValue();
-        InstanceIdentifier<NodeConnector> nciid
-                = InstanceIdentifier.builder(Nodes.class)
-                .child(
-                        Node.class,
-                        new NodeKey(new org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819
-                                .NodeId(nodeId)))
-                .child(
-                        NodeConnector.class,
-                        new NodeConnectorKey(new NodeConnectorId(nodeConnectorId)))
-                .build();
-        return new NodeConnectorRef(nciid);
+        return new NodeConnectorRef(InstanceIdentifier.builder(Nodes.class)
+            .child(Node.class,
+                new NodeKey(new org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId(nodeId)))
+            .child(NodeConnector.class, new NodeConnectorKey(new NodeConnectorId(nodeConnectorId)))
+            .build());
     }
 }
index c2605a334e81ad36c32bc37498cdc21ba56f6cea..f99fb50c06050e915dd8bd23b526f810c541c9a2 100644 (file)
@@ -20,64 +20,46 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 final class TopologyManagerUtil {
-
     private static final Logger LOG = LoggerFactory.getLogger(TopologyManagerUtil.class);
 
     private TopologyManagerUtil() {
+        // Hidden on purpose
     }
 
     static void removeAffectedLinks(final NodeId id, final TransactionChainManager manager,
-                                    InstanceIdentifier<Topology> topology) {
-        Optional<Topology> topologyOptional = Optional.empty();
+                                    final InstanceIdentifier<Topology> topology) {
+        final Optional<Topology> topologyOptional;
         try {
             topologyOptional = manager.readFromTransaction(LogicalDatastoreType.OPERATIONAL, topology).get();
         } catch (InterruptedException | ExecutionException e) {
             LOG.warn("Error reading topology data for topology {}: {}", topology, e.getMessage());
             LOG.debug("Error reading topology data for topology.. ", e);
-        }
-        if (topologyOptional.isPresent()) {
-            removeAffectedLinks(id, topologyOptional, manager, topology);
-        }
-    }
-
-    private static void removeAffectedLinks(final NodeId id, Optional<Topology> topologyOptional,
-                                            TransactionChainManager manager,
-                                            final InstanceIdentifier<Topology> topology) {
-        if (!topologyOptional.isPresent()) {
             return;
         }
-
-        for (Link link : topologyOptional.get().nonnullLink().values()) {
-            if (id.equals(link.getSource().getSourceNode()) || id.equals(link.getDestination().getDestNode())) {
-                manager.addDeleteOperationToTxChain(LogicalDatastoreType.OPERATIONAL, linkPath(link, topology));
+        if (topologyOptional.isPresent()) {
+            for (Link link : topologyOptional.orElseThrow().nonnullLink().values()) {
+                if (id.equals(link.getSource().getSourceNode()) || id.equals(link.getDestination().getDestNode())) {
+                    manager.addDeleteOperationToTxChain(LogicalDatastoreType.OPERATIONAL, linkPath(link, topology));
+                }
             }
         }
     }
 
     static void removeAffectedLinks(final TpId id, final TransactionChainManager manager,
                                     final InstanceIdentifier<Topology> topology) {
-        Optional<Topology> topologyOptional = Optional.empty();
+        final Optional<Topology> topologyOptional;
         try {
             topologyOptional = manager.readFromTransaction(LogicalDatastoreType.OPERATIONAL, topology).get();
         } catch (InterruptedException | ExecutionException e) {
             LOG.warn("Error reading topology data for topology {}: {}", topology, e.getMessage());
             LOG.debug("Error reading topology data for topology..", e);
-        }
-        if (topologyOptional.isPresent()) {
-            removeAffectedLinks(id, topologyOptional, manager, topology);
-        }
-    }
-
-    private static void removeAffectedLinks(final TpId id, Optional<Topology> topologyOptional,
-                                            TransactionChainManager manager,
-                                            final InstanceIdentifier<Topology> topology) {
-        if (!topologyOptional.isPresent()) {
             return;
         }
-
-        for (Link link : topologyOptional.get().nonnullLink().values()) {
-            if (id.equals(link.getSource().getSourceTp()) || id.equals(link.getDestination().getDestTp())) {
-                manager.addDeleteOperationToTxChain(LogicalDatastoreType.OPERATIONAL, linkPath(link, topology));
+        if (topologyOptional.isPresent()) {
+            for (Link link : topologyOptional.orElseThrow().nonnullLink().values()) {
+                if (id.equals(link.getSource().getSourceTp()) || id.equals(link.getDestination().getDestTp())) {
+                    manager.addDeleteOperationToTxChain(LogicalDatastoreType.OPERATIONAL, linkPath(link, topology));
+                }
             }
         }
     }
@@ -85,6 +67,4 @@ final class TopologyManagerUtil {
     static InstanceIdentifier<Link> linkPath(final Link link, final InstanceIdentifier<Topology> topology) {
         return topology.child(Link.class, link.key());
     }
-
-
 }
index 1228d63eed72992419e69b527b5e6be3a638a546..f6e53fcd5268020d3626ed725f0d5c31218eaed3 100644 (file)
@@ -7,8 +7,8 @@
  */
 package org.opendaylight.openflowplugin.extension.api;
 
-import java.util.Collections;
-import org.junit.Assert;
+import static org.junit.Assert.assertEquals;
+
 import org.junit.Test;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.MatchBuilder;
@@ -18,8 +18,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ge
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchNotifPacketIn;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchNotifPacketInBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralExtensionListGrouping;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.general.extension.list.grouping.ExtensionList;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.general.extension.list.grouping.ExtensionListBuilder;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 
 /**
  *  Test of {@link GroupingLooseResolver}.
@@ -33,25 +33,25 @@ public class GroupingLooseResolverTest {
         eqGroup.add(GeneralAugMatchNodesNodeTableFlow.class);
         eqGroup.add(GeneralAugMatchNotifPacketIn.class);
 
-        ExtensionList extension1 = new ExtensionListBuilder().setExtensionKey(JoachimTheBig.VALUE).build();
         Match match1 = new MatchBuilder()
-                .addAugmentation(new GeneralAugMatchNodesNodeTableFlowBuilder()
-                    .setExtensionList(Collections.singletonMap(extension1.key(), extension1))
-                    .build())
-                .build();
+            .addAugmentation(new GeneralAugMatchNodesNodeTableFlowBuilder()
+                .setExtensionList(BindingMap.of(new ExtensionListBuilder()
+                    .setExtensionKey(JoachimTheBig.VALUE)
+                    .build()))
+                .build())
+            .build();
 
-        org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.packet.received.MatchBuilder mb2 =
-                new org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service
-                    .rev130709.packet.received.MatchBuilder();
-        ExtensionList extension2 = new ExtensionListBuilder().setExtensionKey(JoachimTheTiny.VALUE).build();
-        org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.packet.received.Match match2 =
-                mb2.addAugmentation(new GeneralAugMatchNotifPacketInBuilder()
-                    .setExtensionList(Collections.singletonMap(extension2.key(), extension2)).build()).build();
+        var match2 = new org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service .rev130709.packet.received
+            .MatchBuilder().addAugmentation(new GeneralAugMatchNotifPacketInBuilder()
+                .setExtensionList(BindingMap.of(
+                    new ExtensionListBuilder().setExtensionKey(JoachimTheTiny.VALUE).build()))
+                .build())
+            .build();
 
-        Assert.assertEquals(JoachimTheBig.VALUE,
-                eqGroup.getExtension(match1).get().nonnullExtensionList().values().iterator().next().getExtensionKey());
-        Assert.assertEquals(JoachimTheTiny.VALUE,
-                eqGroup.getExtension(match2).get().nonnullExtensionList().values().iterator().next().getExtensionKey());
+        assertEquals(JoachimTheBig.VALUE, eqGroup.getExtension(match1).orElseThrow()
+            .nonnullExtensionList().values().iterator().next().getExtensionKey());
+        assertEquals(JoachimTheTiny.VALUE, eqGroup.getExtension(match2).orElseThrow()
+            .nonnullExtensionList().values().iterator().next().getExtensionKey());
     }
 
     private interface JoachimTheBig extends ExtensionKey {
index bdee555be45e61febcbdbc58ef4b85947658fab6..d4b8b79ab6d7d54e0e7d80302ee2e933cb336233 100644 (file)
@@ -7,8 +7,8 @@
  */
 package org.opendaylight.openflowplugin.extension.api;
 
-import java.util.Collections;
-import org.junit.Assert;
+import static org.junit.Assert.assertEquals;
+
 import org.junit.Test;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.MatchBuilder;
@@ -20,6 +20,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ge
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.general.extension.list.grouping.ExtensionList;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.general.extension.list.grouping.ExtensionListBuilder;
 import org.opendaylight.yangtools.yang.binding.Augmentable;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 
 /**
  *  Test of {@link GroupingResolver}.
@@ -38,22 +39,22 @@ public class GroupingResolverTest {
 
         ExtensionList extension1 = new ExtensionListBuilder().setExtensionKey(JoachimTheBig.VALUE).build();
         Match match1 = new MatchBuilder()
-                .addAugmentation(new GeneralAugMatchNodesNodeTableFlowBuilder()
-                    .setExtensionList(Collections.singletonMap(extension1.key(), extension1))
-                    .build())
-                .build();
+            .addAugmentation(new GeneralAugMatchNodesNodeTableFlowBuilder()
+                .setExtensionList(BindingMap.of(extension1))
+                .build())
+            .build();
 
         ExtensionList extension2 = new ExtensionListBuilder().setExtensionKey(JoachimTheTiny.VALUE).build();
         Match match2 = new MatchBuilder()
-                .addAugmentation(new GeneralAugMatchNodesNodeTableFlowBuilder()
-                    .setExtensionList(Collections.singletonMap(extension2.key(), extension2))
-                    .build())
-                .build();
+            .addAugmentation(new GeneralAugMatchNodesNodeTableFlowBuilder()
+                .setExtensionList(BindingMap.of(extension2))
+                .build())
+            .build();
 
-        Assert.assertEquals(JoachimTheBig.VALUE,
-                eqGroup.getExtension(match1).get().nonnullExtensionList().values().iterator().next().getExtensionKey());
-        Assert.assertEquals(JoachimTheTiny.VALUE,
-                eqGroup.getExtension(match2).get().nonnullExtensionList().values().iterator().next().getExtensionKey());
+        assertEquals(JoachimTheBig.VALUE, eqGroup.getExtension(match1).orElseThrow()
+            .nonnullExtensionList().values().iterator().next().getExtensionKey());
+        assertEquals(JoachimTheTiny.VALUE, eqGroup.getExtension(match2).orElseThrow()
+            .nonnullExtensionList().values().iterator().next().getExtensionKey());
     }
 
     private interface JoachimTheBig extends ExtensionKey {
index 9eb5b6a7e649ebae29db88ff05e8b19cc931dffd..8d5b7a02aeb603bf73dee0999675ec92a8cb27ce 100755 (executable)
@@ -7,8 +7,8 @@
  */
 package org.opendaylight.openflowplugin.extension.api;
 
-import java.util.Collections;
-import org.junit.Assert;
+import static org.junit.Assert.assertEquals;
+
 import org.junit.Test;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.set.field._case.SetField;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.set.field._case.SetFieldBuilder;
@@ -18,8 +18,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ge
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchRpcAddFlowWriteActionsSetField;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchRpcAddFlowWriteActionsSetFieldBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralExtensionListGrouping;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.general.extension.list.grouping.ExtensionList;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.general.extension.list.grouping.ExtensionListBuilder;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 
 public class SetFieldExtensionTest {
     @Test
@@ -29,26 +29,22 @@ public class SetFieldExtensionTest {
         eqGroup.add(GeneralAugMatchRpcAddFlowWriteActionsSetField.class);
         eqGroup.add(GeneralAugMatchNodesNodeTableFlowWriteActionsSetField.class);
 
-        ExtensionList extension1 = new ExtensionListBuilder().setExtensionKey(ZVendorExt1.VALUE).build();
         SetField setField1 = new SetFieldBuilder()
-                .addAugmentation(new GeneralAugMatchRpcAddFlowWriteActionsSetFieldBuilder()
-                    .setExtensionList(Collections.singletonMap(extension1.key(), extension1))
-                    .build())
-                .build();
+            .addAugmentation(new GeneralAugMatchRpcAddFlowWriteActionsSetFieldBuilder()
+                .setExtensionList(BindingMap.of(new ExtensionListBuilder().setExtensionKey(ZVendorExt1.VALUE).build()))
+                .build())
+            .build();
 
-        ExtensionList extension2 = new ExtensionListBuilder().setExtensionKey(ZVendorExt2.VALUE).build();
         SetField setField2 = new SetFieldBuilder()
-                .addAugmentation(new GeneralAugMatchNodesNodeTableFlowWriteActionsSetFieldBuilder()
-                    .setExtensionList(Collections.singletonMap(extension2.key(), extension2))
-                    .build())
-                .build();
-
-        Assert.assertEquals(ZVendorExt1.VALUE,
-                eqGroup.getExtension(setField1).get().nonnullExtensionList().values().iterator().next()
-                        .getExtensionKey());
-        Assert.assertEquals(ZVendorExt2.VALUE,
-                eqGroup.getExtension(setField2).get().nonnullExtensionList().values().iterator().next()
-                        .getExtensionKey());
+            .addAugmentation(new GeneralAugMatchNodesNodeTableFlowWriteActionsSetFieldBuilder()
+                .setExtensionList(BindingMap.of(new ExtensionListBuilder().setExtensionKey(ZVendorExt2.VALUE).build()))
+                .build())
+            .build();
+
+        assertEquals(ZVendorExt1.VALUE, eqGroup.getExtension(setField1).orElseThrow()
+            .nonnullExtensionList().values().iterator().next().getExtensionKey());
+        assertEquals(ZVendorExt2.VALUE, eqGroup.getExtension(setField2).orElseThrow()
+            .nonnullExtensionList().values().iterator().next() .getExtensionKey());
     }
 
     private interface ZVendorExt1 extends ExtensionKey {
index 4f17aef871d911f4f0699ae250755c7bfeaa5a71..74aec420a6d1a438280d20e93e8a8ec4ae304a8a 100644 (file)
@@ -57,10 +57,10 @@ public class Icmpv6NDOptionsTypeConvertor implements ConvertorToOFJava<MatchEntr
     public MatchEntry convert(final Extension extension) {
         Optional<EricOfIcmpv6NdOptionsTypeGrouping> matchGrouping = MatchUtil.ICMPV6_ND_OPTIONS_TYPE_RESOLVER
                 .getExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        Uint8 value = matchGrouping.get().getEricOfIcmpv6NdOptionsType().getIcmpv6NdOptionsType();
+        Uint8 value = matchGrouping.orElseThrow().getEricOfIcmpv6NdOptionsType().getIcmpv6NdOptionsType();
         Icmpv6NdOptionsTypeCaseValueBuilder icmpv6NdOptionsTypeCaseValueBuilder
                 = new Icmpv6NdOptionsTypeCaseValueBuilder();
         icmpv6NdOptionsTypeCaseValueBuilder.setIcmpv6NdOptionsTypeValues(new Icmpv6NdOptionsTypeValuesBuilder()
@@ -71,24 +71,17 @@ public class Icmpv6NDOptionsTypeConvertor implements ConvertorToOFJava<MatchEntr
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(
             final EricOfIcmpv6NdOptionsType value, final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(EricAugMatchNodesNodeTableFlow.class,
-                        new EricAugMatchNodesNodeTableFlowBuilder().setEricOfIcmpv6NdOptionsType(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(EricAugMatchRpcGetFlowStats.class,
-                        new EricAugMatchRpcGetFlowStatsBuilder().setEricOfIcmpv6NdOptionsType(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(EricAugMatchNotifPacketIn.class, new EricAugMatchNotifPacketInBuilder()
-                        .setEricOfIcmpv6NdOptionsType(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(EricAugMatchNotifSwitchFlowRemoved.class,
-                      new EricAugMatchNotifSwitchFlowRemovedBuilder().setEricOfIcmpv6NdOptionsType(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(EricAugMatchPacketInMessage.class,
-                        new EricAugMatchPacketInMessageBuilder().setEricOfIcmpv6NdOptionsType(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(EricAugMatchNodesNodeTableFlow.class,
+                new EricAugMatchNodesNodeTableFlowBuilder().setEricOfIcmpv6NdOptionsType(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(EricAugMatchRpcGetFlowStats.class,
+                new EricAugMatchRpcGetFlowStatsBuilder().setEricOfIcmpv6NdOptionsType(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(EricAugMatchNotifPacketIn.class,
+                new EricAugMatchNotifPacketInBuilder().setEricOfIcmpv6NdOptionsType(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(EricAugMatchNotifSwitchFlowRemoved.class,
+                new EricAugMatchNotifSwitchFlowRemovedBuilder().setEricOfIcmpv6NdOptionsType(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(EricAugMatchPacketInMessage.class,
+                new EricAugMatchPacketInMessageBuilder().setEricOfIcmpv6NdOptionsType(value).build(), key);
+        };
     }
 }
\ No newline at end of file
index fc49b8ba151104ce5749ad75a055cf2780bb60d1..2f975e826d1eb1b5301dc8c1ff0f4a310ac015d7 100644 (file)
@@ -56,10 +56,10 @@ public class Icmpv6NDReservedConvertor implements ConvertorToOFJava<MatchEntry>,
     public MatchEntry convert(final Extension extension) {
         Optional<EricOfIcmpv6NdReservedGrouping> matchGrouping
                 = MatchUtil.ICMPV6_ND_RESERVED_RESOLVER.getExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        Uint32 value = matchGrouping.get().getEricOfIcmpv6NdReserved().getIcmpv6NdReserved();
+        Uint32 value = matchGrouping.orElseThrow().getEricOfIcmpv6NdReserved().getIcmpv6NdReserved();
         Icmpv6NdReservedCaseValueBuilder icmpv6NdReservedCaseValueBuilder = new Icmpv6NdReservedCaseValueBuilder();
         icmpv6NdReservedCaseValueBuilder.setIcmpv6NdReservedValues(new Icmpv6NdReservedValuesBuilder()
                 .setIcmpv6NdReserved(value).build());
@@ -69,24 +69,17 @@ public class Icmpv6NDReservedConvertor implements ConvertorToOFJava<MatchEntry>,
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(
             final EricOfIcmpv6NdReserved value, final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(EricAugMatchNodesNodeTableFlow.class,
-                        new EricAugMatchNodesNodeTableFlowBuilder().setEricOfIcmpv6NdReserved(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(EricAugMatchRpcGetFlowStats.class,
-                        new EricAugMatchRpcGetFlowStatsBuilder().setEricOfIcmpv6NdReserved(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(EricAugMatchNotifPacketIn.class, new EricAugMatchNotifPacketInBuilder()
-                        .setEricOfIcmpv6NdReserved(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(EricAugMatchNotifSwitchFlowRemoved.class,
-                        new EricAugMatchNotifSwitchFlowRemovedBuilder().setEricOfIcmpv6NdReserved(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(EricAugMatchPacketInMessage.class,
-                        new EricAugMatchPacketInMessageBuilder().setEricOfIcmpv6NdReserved(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(EricAugMatchNodesNodeTableFlow.class,
+                new EricAugMatchNodesNodeTableFlowBuilder().setEricOfIcmpv6NdReserved(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(EricAugMatchRpcGetFlowStats.class,
+                new EricAugMatchRpcGetFlowStatsBuilder().setEricOfIcmpv6NdReserved(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(EricAugMatchNotifPacketIn.class,
+                new EricAugMatchNotifPacketInBuilder().setEricOfIcmpv6NdReserved(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(EricAugMatchNotifSwitchFlowRemoved.class,
+                new EricAugMatchNotifSwitchFlowRemovedBuilder().setEricOfIcmpv6NdReserved(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(EricAugMatchPacketInMessage.class,
+                new EricAugMatchPacketInMessageBuilder().setEricOfIcmpv6NdReserved(value).build(), key);
+        };
     }
 }
\ No newline at end of file
index 8cc4c6c37eb7b977ef6d701a82687eb417e18395..d786ac2b5d43de3c5e2affab3807d2bffc8db06d 100644 (file)
@@ -138,7 +138,7 @@ public class Icmpv6NDOptionsTypeConvertorTest {
                     .setExtensionList(BindingMap.of(extListBld.build())).build())
                 .build();
 
-        assertEquals(Icmpv6NdOptionsTypeKey.VALUE, eqGroup.getExtension(setField).get().nonnullExtensionList()
-                 .values().iterator().next().getExtensionKey());
+        assertEquals(Icmpv6NdOptionsTypeKey.VALUE, eqGroup.getExtension(setField).orElseThrow()
+            .nonnullExtensionList().values().iterator().next().getExtensionKey());
     }
 }
index 0918abbd4a1289af99bde1f912e527b1fb2abb7f..f4b50581e22b47e82af70028a1e5cc5f9b3e997a 100644 (file)
@@ -138,8 +138,8 @@ public class Icmpv6NDReservedConvertorTest {
                     .build())
                 .build();
 
-        assertEquals(Icmpv6NdReservedKey.VALUE, eqGroup.getExtension(setField).get().nonnullExtensionList()
-                .values().iterator().next().getExtensionKey());
+        assertEquals(Icmpv6NdReservedKey.VALUE, eqGroup.getExtension(setField).orElseThrow()
+            .nonnullExtensionList().values().iterator().next().getExtensionKey());
     }
 
 }
index 7a634e8c537be5bf3b58a9aa5ca7a9b897e9f763..c82e7a876509cf4122e44d7b33bdf871bf1e819a 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
 import org.opendaylight.openflowplugin.extension.api.ExtensionAugment;
@@ -30,12 +29,10 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfArpOpGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfArpOpKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of.arp.op.grouping.NxmOfArpOp;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of.arp.op.grouping.NxmOfArpOpBuilder;
 import org.opendaylight.yangtools.yang.binding.Augmentation;
-import org.opendaylight.yangtools.yang.common.Uint16;
 
 /**
  * Convert to/from SAL flow model to openflowjava model for ArpOpCase.
@@ -53,38 +50,31 @@ public class ArpOpConvertor implements ConvertorToOFJava<MatchEntry>, ConvertorF
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmOfArpOpGrouping> matchGrouping = MatchUtil.ARP_OP_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.ARP_OP_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        Uint16 value = matchGrouping.get().getNxmOfArpOp().getValue();
-        ArpOpCaseValueBuilder arpOpCaseValueBuilder = new ArpOpCaseValueBuilder();
-        arpOpCaseValueBuilder.setArpOpValues(new ArpOpValuesBuilder()
-                .setValue(value).build());
         return MatchUtil.createDefaultMatchEntryBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx
-                .match.rev140421.NxmOfArpOp.VALUE, Nxm0Class.VALUE, arpOpCaseValueBuilder.build()).build();
+            .match.rev140421.NxmOfArpOp.VALUE, Nxm0Class.VALUE, new ArpOpCaseValueBuilder()
+                .setArpOpValues(new ArpOpValuesBuilder()
+                    .setValue(matchGrouping.orElseThrow().getNxmOfArpOp().getValue()).build())
+                .build())
+            .build();
     }
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmOfArpOp value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmOfArpOp(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmOfArpOp(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmOfArpOp(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmOfArpOp(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmOfArpOp(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmOfArpOp(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmOfArpOp(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmOfArpOp(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmOfArpOp(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmOfArpOp(value).build(), key);
+        };
     }
 }
index b32641ff574c846e8f4f4f064875c7c8b39e0a3b..4fc3eaae7e827e68acac917fcf74901428a55d27 100644 (file)
@@ -7,13 +7,11 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
 import org.opendaylight.openflowplugin.extension.api.ExtensionAugment;
 import org.opendaylight.openflowplugin.extension.api.path.MatchPath;
 import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException;
-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.openflow.oxm.rev150225.Nxm1Class;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.ArpShaCaseValue;
@@ -31,7 +29,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxArpShaGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxArpShaKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.arp.sha.grouping.NxmNxArpSha;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.arp.sha.grouping.NxmNxArpShaBuilder;
@@ -53,38 +50,34 @@ public class ArpShaConvertor implements ConvertorToOFJava<MatchEntry>, Convertor
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmNxArpShaGrouping> matchGrouping = MatchUtil.ARP_SHA_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.ARP_SHA_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        MacAddress macAddress = matchGrouping.get().getNxmNxArpSha().getMacAddress();
-        ArpShaCaseValueBuilder arpShaCaseValueBuilder = new ArpShaCaseValueBuilder();
-        arpShaCaseValueBuilder.setArpShaValues(new ArpShaValuesBuilder()
-                .setMacAddress(macAddress).build());
-        return MatchUtil.createDefaultMatchEntryBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx
-                .match.rev140421.NxmNxArpSha.VALUE, Nxm1Class.VALUE, arpShaCaseValueBuilder.build()).build();
+        return MatchUtil.createDefaultMatchEntryBuilder(
+            org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxArpSha.VALUE,
+            Nxm1Class.VALUE,
+            new ArpShaCaseValueBuilder()
+                .setArpShaValues(new ArpShaValuesBuilder()
+                    .setMacAddress(matchGrouping.orElseThrow().getNxmNxArpSha().getMacAddress())
+                    .build())
+                .build())
+            .build();
     }
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmNxArpSha value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxArpSha(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxArpSha(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmNxArpSha(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxArpSha(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmNxArpSha(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxArpSha(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxArpSha(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmNxArpSha(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxArpSha(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmNxArpSha(value).build(), key);
+        };
     }
 }
index 43ba8363e68a766e718c06ef70f4f8bc475d2801..6c2a2afaad6b466dfbe5cf1753bf1895c75db3fe 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
 import org.opendaylight.openflowplugin.extension.api.ExtensionAugment;
@@ -32,7 +31,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfArpSpaGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfArpSpaKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of.arp.spa.grouping.NxmOfArpSpa;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of.arp.spa.grouping.NxmOfArpSpaBuilder;
@@ -56,16 +54,16 @@ public class ArpSpaConvertor implements ConvertorToOFJava<MatchEntry>, Convertor
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmOfArpSpaGrouping> matchGrouping = MatchUtil.ARP_SPA_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.ARP_SPA_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
         return MatchUtil.createDefaultMatchEntryBuilder(
             org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmOfArpSpa.VALUE,
             Nxm0Class.VALUE, new ArpSpaCaseValueBuilder()
                 .setArpSpaValues(new ArpSpaValuesBuilder()
-                    .setValue(Uint32.valueOf(IpConverter.ipv4AddressToLong(matchGrouping.get().getNxmOfArpSpa()
-                        .getIpv4Address())))
+                    .setValue(Uint32.valueOf(
+                        IpConverter.ipv4AddressToLong(matchGrouping.orElseThrow().getNxmOfArpSpa().getIpv4Address())))
                     .build())
                 .build())
             .build();
@@ -73,24 +71,17 @@ public class ArpSpaConvertor implements ConvertorToOFJava<MatchEntry>, Convertor
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmOfArpSpa value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmOfArpSpa(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmOfArpSpa(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmOfArpSpa(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmOfArpSpa(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmOfArpSpa(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmOfArpSpa(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmOfArpSpa(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmOfArpSpa(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmOfArpSpa(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmOfArpSpa(value).build(), key);
+        };
     }
 }
index c73b2d57de4a853a81a0e03caaeeba87c71a3661..a90bac72b2eca77302e17afc9375e4e4c664b11a 100644 (file)
@@ -7,13 +7,11 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
 import org.opendaylight.openflowplugin.extension.api.ExtensionAugment;
 import org.opendaylight.openflowplugin.extension.api.path.MatchPath;
 import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException;
-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.openflow.oxm.rev150225.Nxm1Class;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.ArpThaCaseValue;
@@ -31,7 +29,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxArpThaGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxArpThaKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.arp.tha.grouping.NxmNxArpTha;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.arp.tha.grouping.NxmNxArpThaBuilder;
@@ -54,39 +51,34 @@ public class ArpThaConvertor implements ConvertorToOFJava<MatchEntry>, Convertor
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmNxArpThaGrouping> matchGrouping = MatchUtil.ARP_THA_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.ARP_THA_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        MacAddress macAddress = matchGrouping.get().getNxmNxArpTha().getMacAddress();
-        ArpThaCaseValueBuilder arpThaCaseValueBuilder = new ArpThaCaseValueBuilder();
-        arpThaCaseValueBuilder.setArpThaValues(new ArpThaValuesBuilder()
-                .setMacAddress(macAddress).build());
-        return MatchUtil.createDefaultMatchEntryBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx
-                .match.rev140421.NxmNxArpTha.VALUE, Nxm1Class.VALUE, arpThaCaseValueBuilder.build()).build();
-
+        return MatchUtil.createDefaultMatchEntryBuilder(
+            org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxArpTha.VALUE,
+            Nxm1Class.VALUE,
+            new ArpThaCaseValueBuilder()
+                .setArpThaValues(new ArpThaValuesBuilder()
+                    .setMacAddress(matchGrouping.orElseThrow().getNxmNxArpTha().getMacAddress())
+                    .build())
+                .build())
+            .build();
     }
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmNxArpTha value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxArpTha(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxArpTha(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmNxArpTha(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxArpTha(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmNxArpTha(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxArpTha(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxArpTha(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmNxArpTha(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxArpTha(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmNxArpTha(value).build(), key);
+        };
     }
 }
index 61fb8d5340504ee3d8caf3e0e07f18d0ce69b44f..aeddb99c6f28d55013460b32c5b755024c1973ef 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
 import org.opendaylight.openflowplugin.extension.api.ExtensionAugment;
@@ -32,7 +31,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfArpTpaGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfArpTpaKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of.arp.tpa.grouping.NxmOfArpTpa;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of.arp.tpa.grouping.NxmOfArpTpaBuilder;
@@ -56,40 +54,34 @@ public class ArpTpaConvertor implements ConvertorToOFJava<MatchEntry>, Convertor
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmOfArpTpaGrouping> matchGrouping = MatchUtil.ARP_TPA_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.ARP_TPA_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
         return MatchUtil.createDefaultMatchEntryBuilder(
             org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmOfArpTpa.VALUE,
             Nxm0Class.VALUE, new ArpTpaCaseValueBuilder()
                 .setArpTpaValues(new ArpTpaValuesBuilder()
-                    .setValue(Uint32.valueOf(
-                        IpConverter.ipv4AddressToLong(matchGrouping.get().getNxmOfArpTpa().getIpv4Address()))).build())
+                    .setValue(Uint32.valueOf(IpConverter.ipv4AddressToLong(
+                        matchGrouping.orElseThrow().getNxmOfArpTpa().getIpv4Address())))
+                    .build())
                 .build())
             .build();
     }
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmOfArpTpa value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmOfArpTpa(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmOfArpTpa(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmOfArpTpa(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmOfArpTpa(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmOfArpTpa(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmOfArpTpa(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmOfArpTpa(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmOfArpTpa(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmOfArpTpa(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmOfArpTpa(value).build(), key);
+        };
     }
 }
index f4a779b9bf0462e70616d2c95704ed9148a87cf8..bfa979f5b003335f5d18f5e6034fba03db7acc0d 100755 (executable)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
 import org.opendaylight.openflowplugin.extension.api.ExtensionAugment;
@@ -15,7 +14,6 @@ import org.opendaylight.openflowplugin.extension.api.path.MatchPath;
 import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm1Class;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntryBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.CtMarkCaseValue;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.CtMarkCaseValueBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.nx.match.ct.mark.grouping.CtMarkValuesBuilder;
@@ -31,7 +29,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxCtMarkGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxCtMarkKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.ct.mark.grouping.NxmNxCtMark;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.ct.mark.grouping.NxmNxCtMarkBuilder;
@@ -67,43 +64,37 @@ public class CtMarkConvertor implements ConvertorToOFJava<MatchEntry>, Convertor
      */
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmNxCtMarkGrouping> matchGrouping = MatchUtil.CT_MARK_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.CT_MARK_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        CtMarkCaseValueBuilder ctMarkCaseValueBuilder = new CtMarkCaseValueBuilder();
-        CtMarkValuesBuilder ctMarkValuesBuilder = new CtMarkValuesBuilder();
-        ctMarkValuesBuilder.setCtMark(matchGrouping.get().getNxmNxCtMark().getCtMark());
-        ctMarkValuesBuilder.setMask(matchGrouping.get().getNxmNxCtMark().getMask());
-        ctMarkCaseValueBuilder.setCtMarkValues(ctMarkValuesBuilder.build());
-        MatchEntryBuilder ofMatch = MatchUtil
-                .createDefaultMatchEntryBuilder(org.opendaylight.yang.gen.v1.urn
-                                                .opendaylight.openflowjava.nx.match.rev140421.NxmNxCtMark.VALUE,
-                                                Nxm1Class.VALUE, ctMarkCaseValueBuilder.build());
-        ofMatch.setHasMask(true);
-        return ofMatch.build();
+        final var ctMark = matchGrouping.orElseThrow().getNxmNxCtMark();
+        return MatchUtil.createDefaultMatchEntryBuilder(
+            org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxCtMark.VALUE,
+            Nxm1Class.VALUE,
+            new CtMarkCaseValueBuilder()
+                .setCtMarkValues(new CtMarkValuesBuilder()
+                    .setCtMark(ctMark.getCtMark())
+                    .setMask(ctMark.getMask())
+                    .build())
+                .build())
+            .setHasMask(true)
+            .build();
     }
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmNxCtMark value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxCtMark(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxCtMark(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmNxCtMark(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxCtMark(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmNxCtMark(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxCtMark(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxCtMark(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmNxCtMark(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxCtMark(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmNxCtMark(value).build(), key);
+        };
     }
 }
index fe463b47b08b541c85bb93b52b7a5bca30349e4e..974fef841faaa8ed0e1f85af8cb94a54951176d6 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
 import org.opendaylight.openflowplugin.extension.api.ExtensionAugment;
@@ -15,7 +14,6 @@ import org.opendaylight.openflowplugin.extension.api.path.MatchPath;
 import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm1Class;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntryBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.CtStateCaseValue;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.CtStateCaseValueBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.nx.match.ct.state.grouping.CtStateValuesBuilder;
@@ -31,7 +29,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxCtStateGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxCtStateKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.ct.state.grouping.NxmNxCtState;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.ct.state.grouping.NxmNxCtStateBuilder;
@@ -55,42 +52,37 @@ public class CtStateConvertor implements ConvertorToOFJava<MatchEntry>, Converto
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmNxCtStateGrouping> matchGrouping = MatchUtil.CT_STATE_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.CT_STATE_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        CtStateCaseValueBuilder ctStateCaseValueBuilder = new CtStateCaseValueBuilder();
-        CtStateValuesBuilder ctStateValuesBuilder = new CtStateValuesBuilder();
-        ctStateValuesBuilder.setCtState(matchGrouping.get().getNxmNxCtState().getCtState());
-        ctStateValuesBuilder.setMask(matchGrouping.get().getNxmNxCtState().getMask());
-        ctStateCaseValueBuilder.setCtStateValues(ctStateValuesBuilder.build());
-        MatchEntryBuilder ofMatch = MatchUtil.createDefaultMatchEntryBuilder(
+        final var ctState = matchGrouping.orElseThrow().getNxmNxCtState();
+        return MatchUtil.createDefaultMatchEntryBuilder(
             org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxCtState.VALUE,
-            Nxm1Class.VALUE, ctStateCaseValueBuilder.build());
-        ofMatch.setHasMask(true);
-        return ofMatch.build();
+            Nxm1Class.VALUE,
+            new CtStateCaseValueBuilder()
+                .setCtStateValues(new CtStateValuesBuilder()
+                    .setCtState(ctState.getCtState())
+                    .setMask(ctState.getMask())
+                    .build())
+                .build())
+            .setHasMask(true)
+            .build();
     }
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmNxCtState value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxCtState(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxCtState(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmNxCtState(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxCtState(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmNxCtState(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxCtState(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxCtState(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmNxCtState(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxCtState(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmNxCtState(value).build(), key);
+        };
     }
 }
index 72af5f1a1dfdf66eb35b60c40f948e6eebc3ea0d..fa778b7a9cb3598e72e7a832b6c2f91f367e4eff 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
 import org.opendaylight.openflowplugin.extension.api.ExtensionAugment;
@@ -15,7 +14,6 @@ import org.opendaylight.openflowplugin.extension.api.path.MatchPath;
 import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm1Class;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntryBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.CtTpDstCaseValue;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.CtTpDstCaseValueBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.nx.match.ct.tp.dst.grouping.CtTpDstValuesBuilder;
@@ -31,7 +29,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxCtTpDstGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxCtTpDstKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.ct.tp.dst.grouping.NxmNxCtTpDst;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.ct.tp.dst.grouping.NxmNxCtTpDstBuilder;
@@ -41,19 +38,18 @@ public class CtTpDstConvertor implements ConvertorToOFJava<MatchEntry>, Converto
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmNxCtTpDstGrouping> matchGrouping = MatchUtil.CT_TP_DST_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.CT_TP_DST_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        CtTpDstCaseValueBuilder ctTpDstCaseValueBuilder = new CtTpDstCaseValueBuilder();
-        CtTpDstValuesBuilder ctTpDstValuesBuilder = new CtTpDstValuesBuilder();
-        ctTpDstValuesBuilder.setCtTpDst(matchGrouping.get().getNxmNxCtTpDst().getCtTpDst());
-        ctTpDstCaseValueBuilder.setCtTpDstValues(ctTpDstValuesBuilder.build());
-        MatchEntryBuilder ofMatch = MatchUtil
-                .createDefaultMatchEntryBuilder(org.opendaylight.yang.gen.v1.urn
-                                .opendaylight.openflowjava.nx.match.rev140421.NxmNxCtTpSrc.VALUE,
-                        Nxm1Class.VALUE, ctTpDstCaseValueBuilder.build());
-        return ofMatch.build();
+        return MatchUtil.createDefaultMatchEntryBuilder(org.opendaylight.yang.gen.v1.urn
+            .opendaylight.openflowjava.nx.match.rev140421.NxmNxCtTpSrc.VALUE,
+            Nxm1Class.VALUE, new CtTpDstCaseValueBuilder()
+                .setCtTpDstValues(new CtTpDstValuesBuilder()
+                    .setCtTpDst(matchGrouping.orElseThrow().getNxmNxCtTpDst().getCtTpDst())
+                    .build())
+                .build())
+            .build();
     }
 
     @Override
@@ -66,24 +62,17 @@ public class CtTpDstConvertor implements ConvertorToOFJava<MatchEntry>, Converto
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmNxCtTpDst value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxCtTpDst(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxCtTpDst(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmNxCtTpDst(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxCtTpDst(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmNxCtTpDst(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxCtTpDst(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxCtTpDst(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmNxCtTpDst(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxCtTpDst(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmNxCtTpDst(value).build(), key);
+        };
     }
 }
index edb5d8cdd51576b94d4f3626c3d2ae1ae6faab57..e9db4b706be1b46fcde443739111dd11e90e7956 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
 import org.opendaylight.openflowplugin.extension.api.ExtensionAugment;
@@ -15,7 +14,6 @@ import org.opendaylight.openflowplugin.extension.api.path.MatchPath;
 import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm1Class;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntryBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.CtTpSrcCaseValue;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.CtTpSrcCaseValueBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.nx.match.ct.tp.src.grouping.CtTpSrcValuesBuilder;
@@ -31,7 +29,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxCtTpSrcGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxCtTpSrcKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.ct.tp.src.grouping.NxmNxCtTpSrc;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.ct.tp.src.grouping.NxmNxCtTpSrcBuilder;
@@ -41,49 +38,42 @@ public class CtTpSrcConvertor implements ConvertorToOFJava<MatchEntry>, Converto
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmNxCtTpSrcGrouping> matchGrouping = MatchUtil.CT_TP_SRC_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.CT_TP_SRC_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        CtTpSrcCaseValueBuilder ctTpSrcCaseValueBuilder = new CtTpSrcCaseValueBuilder();
-        CtTpSrcValuesBuilder ctTpSrcValuesBuilder = new CtTpSrcValuesBuilder();
-        ctTpSrcValuesBuilder.setCtTpSrc(matchGrouping.get().getNxmNxCtTpSrc().getCtTpSrc());
-        ctTpSrcCaseValueBuilder.setCtTpSrcValues(ctTpSrcValuesBuilder.build());
-        MatchEntryBuilder ofMatch = MatchUtil
-                .createDefaultMatchEntryBuilder(org.opendaylight.yang.gen.v1.urn
-                                .opendaylight.openflowjava.nx.match.rev140421.NxmNxCtTpSrc.VALUE,
-                        Nxm1Class.VALUE, ctTpSrcCaseValueBuilder.build());
-        return ofMatch.build();
+        return MatchUtil.createDefaultMatchEntryBuilder(
+            org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxCtTpSrc.VALUE,
+            Nxm1Class.VALUE,
+            new CtTpSrcCaseValueBuilder()
+                .setCtTpSrcValues(new CtTpSrcValuesBuilder()
+                    .setCtTpSrc(matchGrouping.orElseThrow().getNxmNxCtTpSrc().getCtTpSrc())
+                    .build())
+                .build())
+            .build();
     }
 
     @Override
     public ExtensionAugment<? extends Augmentation<Extension>> convert(final MatchEntry input, final MatchPath path) {
         CtTpSrcCaseValue ctTpSrcCaseValue = (CtTpSrcCaseValue) input.getMatchEntryValue();
-        NxmNxCtTpSrcBuilder ctTpSrcBuilder = new NxmNxCtTpSrcBuilder();
-        ctTpSrcBuilder.setCtTpSrc(ctTpSrcCaseValue.getCtTpSrcValues().getCtTpSrc());
-        return resolveAugmentation(ctTpSrcBuilder.build(), path, NxmNxCtTpSrcKey.VALUE);
+        return resolveAugmentation(new NxmNxCtTpSrcBuilder()
+            .setCtTpSrc(ctTpSrcCaseValue.getCtTpSrcValues().getCtTpSrc())
+            .build(), path, NxmNxCtTpSrcKey.VALUE);
     }
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmNxCtTpSrc value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxCtTpSrc(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxCtTpSrc(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmNxCtTpSrc(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxCtTpSrc(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmNxCtTpSrc(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxCtTpSrc(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxCtTpSrc(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmNxCtTpSrc(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxCtTpSrc(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmNxCtTpSrc(value).build(), key);
+        };
     }
 }
index 357903b22d4ce50118703b30f6ce5e7ac686730e..6e21f076ce43af7c82a794f386d60bd9923c3e20 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
 import org.opendaylight.openflowplugin.extension.api.ExtensionAugment;
@@ -15,7 +14,6 @@ import org.opendaylight.openflowplugin.extension.api.path.MatchPath;
 import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm1Class;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntryBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.CtZoneCaseValue;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.CtZoneCaseValueBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.nx.match.ct.zone.grouping.CtZoneValuesBuilder;
@@ -31,7 +29,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxCtZoneGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxCtZoneKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.ct.zone.grouping.NxmNxCtZone;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.ct.zone.grouping.NxmNxCtZoneBuilder;
@@ -54,41 +51,34 @@ public class CtZoneConvertor implements ConvertorToOFJava<MatchEntry>, Convertor
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmNxCtZoneGrouping> matchGrouping = MatchUtil.CT_ZONE_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.CT_ZONE_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        CtZoneCaseValueBuilder ctZoneCaseValueBuilder = new CtZoneCaseValueBuilder();
-        CtZoneValuesBuilder ctZoneValuesBuilder = new CtZoneValuesBuilder();
-        ctZoneValuesBuilder.setCtZone(matchGrouping.get().getNxmNxCtZone().getCtZone());
-        ctZoneCaseValueBuilder.setCtZoneValues(ctZoneValuesBuilder.build());
-        MatchEntryBuilder ofMatch = MatchUtil
-                .createDefaultMatchEntryBuilder(org.opendaylight.yang.gen.v1.urn
-                                                .opendaylight.openflowjava.nx.match.rev140421.NxmNxCtZone.VALUE,
-                                                Nxm1Class.VALUE, ctZoneCaseValueBuilder.build());
-        return ofMatch.build();
+        return MatchUtil.createDefaultMatchEntryBuilder(
+            org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxCtZone.VALUE,
+            Nxm1Class.VALUE,
+            new CtZoneCaseValueBuilder()
+                .setCtZoneValues(new CtZoneValuesBuilder()
+                    .setCtZone(matchGrouping.orElseThrow().getNxmNxCtZone().getCtZone())
+                    .build())
+                .build())
+            .build();
     }
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmNxCtZone value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxCtZone(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxCtZone(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmNxCtZone(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxCtZone(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmNxCtZone(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxCtZone(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxCtZone(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmNxCtZone(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxCtZone(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmNxCtZone(value).build(), key);
+        };
     }
 }
index eab29f8360b18cf48656430e6859621943a53be0..3b69e890ace47e09af82e4802064810141551b40 100644 (file)
@@ -7,13 +7,11 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
 import org.opendaylight.openflowplugin.extension.api.ExtensionAugment;
 import org.opendaylight.openflowplugin.extension.api.path.MatchPath;
 import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException;
-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.openflow.oxm.rev150225.Nxm0Class;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.EthDstCaseValue;
@@ -31,7 +29,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfEthDstGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfEthDstKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of.eth.dst.grouping.NxmOfEthDst;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of.eth.dst.grouping.NxmOfEthDstBuilder;
@@ -54,39 +51,34 @@ public class EthDstConvertor implements ConvertorToOFJava<MatchEntry>, Convertor
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmOfEthDstGrouping> matchGrouping = MatchUtil.ETH_DST_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.ETH_DST_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        MacAddress macAddress = matchGrouping.get().getNxmOfEthDst().getMacAddress();
-        EthDstCaseValueBuilder ethDstCaseValueBuilder = new EthDstCaseValueBuilder();
-        ethDstCaseValueBuilder.setEthDstValues(new EthDstValuesBuilder()
-                .setMacAddress(macAddress).build());
         return MatchUtil.createDefaultMatchEntryBuilder(
-                org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmOfEthDst.VALUE,
-                Nxm0Class.VALUE, ethDstCaseValueBuilder.build()).build();
+            org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmOfEthDst.VALUE,
+            Nxm0Class.VALUE,
+            new EthDstCaseValueBuilder()
+                .setEthDstValues(new EthDstValuesBuilder()
+                    .setMacAddress(matchGrouping.orElseThrow().getNxmOfEthDst().getMacAddress())
+                    .build())
+                .build())
+            .build();
     }
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmOfEthDst value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmOfEthDst(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmOfEthDst(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmOfEthDst(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmOfEthDst(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmOfEthDst(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmOfEthDst(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmOfEthDst(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmOfEthDst(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmOfEthDst(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmOfEthDst(value).build(), key);
+        };
     }
 }
index f293088d34a946e7762816e5d4612f7f7c690b54..90cb03b6e15412a8a588d993c80c774a03d664ff 100644 (file)
@@ -7,13 +7,11 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
 import org.opendaylight.openflowplugin.extension.api.ExtensionAugment;
 import org.opendaylight.openflowplugin.extension.api.path.MatchPath;
 import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException;
-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.openflow.oxm.rev150225.Nxm0Class;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.EthSrcCaseValue;
@@ -31,7 +29,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfEthSrcGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfEthSrcKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of.eth.src.grouping.NxmOfEthSrc;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of.eth.src.grouping.NxmOfEthSrcBuilder;
@@ -54,39 +51,34 @@ public class EthSrcConvertor implements ConvertorToOFJava<MatchEntry>, Convertor
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmOfEthSrcGrouping> matchGrouping = MatchUtil.ETH_SRC_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.ETH_SRC_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        MacAddress macAddress = matchGrouping.get().getNxmOfEthSrc().getMacAddress();
-        EthSrcCaseValueBuilder ethSrcCaseValueBuilder = new EthSrcCaseValueBuilder();
-        ethSrcCaseValueBuilder.setEthSrcValues(new EthSrcValuesBuilder()
-                .setMacAddress(macAddress).build());
         return MatchUtil.createDefaultMatchEntryBuilder(
-                org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmOfEthSrc.VALUE,
-                Nxm0Class.VALUE, ethSrcCaseValueBuilder.build()).build();
+            org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmOfEthSrc.VALUE,
+            Nxm0Class.VALUE,
+            new EthSrcCaseValueBuilder()
+                .setEthSrcValues(new EthSrcValuesBuilder()
+                    .setMacAddress(matchGrouping.orElseThrow().getNxmOfEthSrc().getMacAddress())
+                    .build())
+                .build())
+            .build();
     }
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmOfEthSrc value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmOfEthSrc(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmOfEthSrc(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmOfEthSrc(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmOfEthSrc(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmOfEthSrc(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmOfEthSrc(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmOfEthSrc(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmOfEthSrc(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmOfEthSrc(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmOfEthSrc(value).build(), key);
+        };
     }
 }
index 6c77fdf0b1da950f47c19107ed44557c279b88e5..400aa5be815f9edd3e6b6ba1f7c083e9b0ecfd46 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
 import org.opendaylight.openflowplugin.extension.api.ExtensionAugment;
@@ -30,12 +29,10 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfEthTypeGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfEthTypeKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of.eth.type.grouping.NxmOfEthType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of.eth.type.grouping.NxmOfEthTypeBuilder;
 import org.opendaylight.yangtools.yang.binding.Augmentation;
-import org.opendaylight.yangtools.yang.common.Uint16;
 
 /**
  * Convert to/from SAL flow model to openflowjava model for EthTypeCase.
@@ -54,40 +51,33 @@ public class EthTypeConvertor implements ConvertorToOFJava<MatchEntry>, Converto
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmOfEthTypeGrouping> matchGrouping = MatchUtil.ETH_TYPE_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.ETH_TYPE_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        Uint16 value = matchGrouping.get().getNxmOfEthType().getValue();
-        EthTypeCaseValueBuilder ethTypeCaseValueBuilder = new EthTypeCaseValueBuilder();
-        ethTypeCaseValueBuilder.setEthTypeValues(new EthTypeValuesBuilder()
-                .setValue(value).build());
         return MatchUtil.createDefaultMatchEntryBuilder(
-                org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmOfEthType.VALUE,
-                Nxm0Class.VALUE, ethTypeCaseValueBuilder.build()).build();
-
+            org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmOfEthType.VALUE,
+            Nxm0Class.VALUE, new EthTypeCaseValueBuilder()
+                .setEthTypeValues(new EthTypeValuesBuilder()
+                    .setValue(matchGrouping.orElseThrow().getNxmOfEthType().getValue())
+                    .build())
+                .build())
+            .build();
     }
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmOfEthType value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmOfEthType(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmOfEthType(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmOfEthType(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmOfEthType(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmOfEthType(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmOfEthType(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmOfEthType(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmOfEthType(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmOfEthType(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmOfEthType(value).build(), key);
+        };
     }
 }
index 8527d8781d0af6dcd1f6927bd9f1ada06fc6e17d..0f7e688ea77e916b544b5353c26d572db1991f05 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowjava.nx.api.NiciraConstants;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
@@ -34,7 +33,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshFlagsGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshFlagsKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nsh.flags.grouping.NxmNxNshFlags;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nsh.flags.grouping.NxmNxNshFlagsBuilder;
@@ -53,21 +51,17 @@ public class NshFlagsConvertor implements ConvertorToOFJava<MatchEntry>, Convert
                 .setNshFlags(nshFlagsValues.getNshFlags())
                 .setMask(nshFlagsValues.getMask())
                 .build();
-        return resolveAugmentation(
-                nxmNxNshFlags,
-                path,
-                NxmNxNshFlagsKey.VALUE);
+        return resolveAugmentation(nxmNxNshFlags, path, NxmNxNshFlagsKey.VALUE);
     }
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmNxNshFlagsGrouping> matchGrouping = MatchUtil.NSH_FLAGS_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.NSH_FLAGS_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        Uint8 flags = matchGrouping.get().getNxmNxNshFlags().getNshFlags();
-        Uint8 mask = matchGrouping.get().getNxmNxNshFlags().getMask();
-        return buildMatchEntry(flags, mask);
+        final var nshFlags = matchGrouping.orElseThrow().getNxmNxNshFlags();
+        return buildMatchEntry(nshFlags.getNshFlags(), nshFlags.getMask());
     }
 
     public static MatchEntry buildMatchEntry(final Uint8 flags, final Uint8 mask) {
@@ -79,27 +73,19 @@ public class NshFlagsConvertor implements ConvertorToOFJava<MatchEntry>, Convert
                 value).setHasMask(mask != null).build();
     }
 
-    private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(
-            final NxmNxNshFlags value,
+    private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmNxNshFlags value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxNshFlags(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxNshFlags(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
-                        new NxAugMatchNotifPacketInBuilder().setNxmNxNshFlags(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNshFlags(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmNxNshFlags(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxNshFlags(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxNshFlags(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmNxNshFlags(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNshFlags(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmNxNshFlags(value).build(), key);
+        };
     }
 }
index 3d8654e9a6e6f2d39b1296f10e0a85968810c594..4e3b02831c06a49e81269e41b58681c9fdfa30bc 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowjava.nx.api.NiciraConstants;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
@@ -34,7 +33,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshMdtypeGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshMdtypeKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nsh.mdtype.grouping.NxmNxNshMdtype;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nsh.mdtype.grouping.NxmNxNshMdtypeBuilder;
@@ -52,20 +50,16 @@ public class NshMdtypeConvertor implements ConvertorToOFJava<MatchEntry>, Conver
         NxmNxNshMdtype nxmNxNshMdtype = new NxmNxNshMdtypeBuilder()
                 .setValue(nshMdtypeValues.getValue())
                 .build();
-        return resolveAugmentation(
-                nxmNxNshMdtype,
-                path,
-                NxmNxNshMdtypeKey.VALUE);
+        return resolveAugmentation(nxmNxNshMdtype, path, NxmNxNshMdtypeKey.VALUE);
     }
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmNxNshMdtypeGrouping> matchGrouping = MatchUtil.NSH_MDTYPE_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.NSH_MDTYPE_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        Uint8 value = matchGrouping.get().getNxmNxNshMdtype().getValue();
-        return buildMatchEntry(value, null);
+        return buildMatchEntry(matchGrouping.orElseThrow().getNxmNxNshMdtype().getValue(), null);
     }
 
     public static MatchEntry buildMatchEntry(final Uint8 value, final Uint8 mask) {
@@ -77,27 +71,19 @@ public class NshMdtypeConvertor implements ConvertorToOFJava<MatchEntry>, Conver
                 entryValue).setHasMask(mask != null).build();
     }
 
-    private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(
-            final NxmNxNshMdtype value,
+    private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmNxNshMdtype value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxNshMdtype(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxNshMdtype(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
-                        new NxAugMatchNotifPacketInBuilder().setNxmNxNshMdtype(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNshMdtype(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmNxNshMdtype(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxNshMdtype(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxNshMdtype(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmNxNshMdtype(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNshMdtype(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmNxNshMdtype(value).build(), key);
+        };
     }
 }
index 01ec5f2b8e7840f67b3ada3b6b76f45bd302863b..d9231a6c48eac0c777f6ed23347cacdea1ff48c6 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowjava.nx.api.NiciraConstants;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
@@ -34,7 +33,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshNpGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshNpKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nsh.np.grouping.NxmNxNshNp;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nsh.np.grouping.NxmNxNshNpBuilder;
@@ -60,12 +58,11 @@ public class NshNpConvertor implements ConvertorToOFJava<MatchEntry>, ConvertorF
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmNxNshNpGrouping> matchGrouping = MatchUtil.NSH_NP_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.NSH_NP_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        Uint8 value = matchGrouping.get().getNxmNxNshNp().getValue();
-        return buildMatchEntry(value, null);
+        return buildMatchEntry(matchGrouping.orElseThrow().getNxmNxNshNp().getValue(), null);
     }
 
     public static MatchEntry buildMatchEntry(final Uint8 value, final Uint8 mask) {
@@ -79,24 +76,17 @@ public class NshNpConvertor implements ConvertorToOFJava<MatchEntry>, ConvertorF
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(
             final NxmNxNshNp value, final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxNshNp(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxNshNp(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
-                        new NxAugMatchNotifPacketInBuilder().setNxmNxNshNp(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNshNp(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmNxNshNp(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxNshNp(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxNshNp(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmNxNshNp(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNshNp(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmNxNshNp(value).build(), key);
+        };
     }
 }
index 8eaa285a4a14ae189389204d0e27b58a0f8c22b1..5907e16a3dce1b54d16e25d02add0bb6733b6b70 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowjava.nx.api.NiciraConstants;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
@@ -17,10 +16,8 @@ import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPr
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.augments.rev150225.experimenter.id.match.entry.ExperimenterIdCase;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.OfjAugNxExpMatch;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.exp.match.NxExpMatchEntryValue;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.exp.match.nx.exp.match.entry.value.NshTtlCaseValue;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.exp.match.nx.exp.match.entry.value.NshTtlCaseValueBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.nx.match.nsh.ttl.grouping.NshTtlValues;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.nx.match.nsh.ttl.grouping.NshTtlValuesBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.ExtensionKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.general.extension.grouping.Extension;
@@ -34,7 +31,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshTtlGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshTtlKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nsh.ttl.grouping.NxmNxNshTtl;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nsh.ttl.grouping.NxmNxNshTtlBuilder;
@@ -58,42 +54,37 @@ public class NshTtlConvertor implements ConvertorToOFJava<MatchEntry>, Convertor
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmNxNshTtlGrouping> matchGrouping = MatchUtil.NSH_TTL_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.NSH_TTL_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        return buildMatchEntry(matchGrouping.get().getNxmNxNshTtl().getNshTtl(), null);
+        return buildMatchEntry(matchGrouping.orElseThrow().getNxmNxNshTtl().getNshTtl(), null);
     }
 
     public static MatchEntry buildMatchEntry(final Uint8 flags, final Uint8 mask) {
-        NshTtlValues nshTtlValues = new NshTtlValuesBuilder().setNshTtl(flags).setMask(mask).build();
-        NxExpMatchEntryValue value = new NshTtlCaseValueBuilder().setNshTtlValues(nshTtlValues).build();
         return MatchUtil.createExperimenterMatchEntryBuilder(
-                org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxNshTtl.VALUE,
-                NiciraConstants.NX_NSH_VENDOR_ID,
-                value).setHasMask(mask != null).build();
+            org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxNshTtl.VALUE,
+            NiciraConstants.NX_NSH_VENDOR_ID,
+            new NshTtlCaseValueBuilder()
+                .setNshTtlValues(new NshTtlValuesBuilder().setNshTtl(flags).setMask(mask).build())
+                .build())
+            .setHasMask(mask != null)
+            .build();
     }
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(
             final NxmNxNshTtl value, final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxNshTtl(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxNshTtl(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
-                        new NxAugMatchNotifPacketInBuilder().setNxmNxNshTtl(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNshTtl(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmNxNshTtl(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxNshTtl(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxNshTtl(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmNxNshTtl(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNshTtl(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmNxNshTtl(value).build(), key);
+        };
     }
 }
index 208e1d640f9f8744ae316cfe550368d22d339a8b..155bfa225c0309c45b68890bc160df61645393f0 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowjava.nx.api.NiciraConstants;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
@@ -31,7 +30,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshc1Grouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshc1Key;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nshc._1.grouping.NxmNxNshc1;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nshc._1.grouping.NxmNxNshc1Builder;
@@ -54,14 +52,13 @@ public class Nshc1Convertor implements ConvertorToOFJava<MatchEntry>, ConvertorF
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmNxNshc1Grouping> matchGrouping = MatchUtil.NSC1_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        var matchGrouping = MatchUtil.NSC1_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        Uint32 value = matchGrouping.get().getNxmNxNshc1().getValue();
-        Uint32 mask = matchGrouping.get().getNxmNxNshc1().getMask();
-        MatchEntry matchEntry = buildMatchEntry(value, mask);
-        return matchEntry;
+        final var nshc1 = matchGrouping.orElseThrow().getNxmNxNshc1();
+
+        return buildMatchEntry(nshc1.getValue(), nshc1.getMask());
     }
 
     public static MatchEntry buildMatchEntry(final Uint32 value, final Uint32 mask) {
@@ -74,24 +71,17 @@ public class Nshc1Convertor implements ConvertorToOFJava<MatchEntry>, ConvertorF
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(
             final NxmNxNshc1 value, final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxNshc1(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxNshc1(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmNxNshc1(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNshc1(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmNxNshc1(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxNshc1(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxNshc1(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmNxNshc1(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNshc1(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmNxNshc1(value).build(), key);
+        };
     }
 }
index 39c1f2d2f7b05ab20cb4f8be0f2de93608e4d519..460db1bb64dbc69e245bbf29db36e9f3ea664513 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowjava.nx.api.NiciraConstants;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
@@ -31,7 +30,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshc2Grouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshc2Key;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nshc._2.grouping.NxmNxNshc2;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nshc._2.grouping.NxmNxNshc2Builder;
@@ -54,44 +52,36 @@ public class Nshc2Convertor implements ConvertorToOFJava<MatchEntry>, ConvertorF
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmNxNshc2Grouping> matchGrouping = MatchUtil.NSC2_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        var matchGrouping = MatchUtil.NSC2_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        Uint32 value = matchGrouping.get().getNxmNxNshc2().getValue();
-        Uint32 mask = matchGrouping.get().getNxmNxNshc2().getMask();
-        MatchEntry matchEntry = buildMatchEntry(value, mask);
-        return matchEntry;
+        final var nshc2 = matchGrouping.orElseThrow().getNxmNxNshc2();
+        return buildMatchEntry(nshc2.getValue(), nshc2.getMask());
     }
 
     public static MatchEntry buildMatchEntry(final Uint32 value, final Uint32 mask) {
         NshcCaseValue nshcCaseValue = new NshcCaseValueBuilder().setNshc(value).setMask(mask).build();
         return MatchUtil.createExperimenterMatchEntryBuilder(
                 org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxNshc2.VALUE,
-                NiciraConstants.NX_NSH_VENDOR_ID,
-                nshcCaseValue).setHasMask(mask != null).build();
+                NiciraConstants.NX_NSH_VENDOR_ID, nshcCaseValue)
+            .setHasMask(mask != null)
+            .build();
     }
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(
             final NxmNxNshc2 value, final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxNshc2(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxNshc2(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmNxNshc2(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNshc2(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmNxNshc2(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxNshc2(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxNshc2(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmNxNshc2(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNshc2(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmNxNshc2(value).build(), key);
+        };
     }
 }
index a1f74b0b7a8e2a75ccc738fe32a019c6cbff3cf3..18ba9d9e736c117e26da86097135830a3a9c4659 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowjava.nx.api.NiciraConstants;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
@@ -31,7 +30,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshc3Grouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshc3Key;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nshc._3.grouping.NxmNxNshc3;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nshc._3.grouping.NxmNxNshc3Builder;
@@ -54,45 +52,35 @@ public class Nshc3Convertor implements ConvertorToOFJava<MatchEntry>, ConvertorF
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmNxNshc3Grouping> matchGrouping = MatchUtil.NSC3_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.NSC3_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        Uint32 value = matchGrouping.get().getNxmNxNshc3().getValue();
-        Uint32 mask = matchGrouping.get().getNxmNxNshc3().getMask();
-        MatchEntry matchEntry = buildMatchEntry(value, mask);
-        return matchEntry;
+        final var nshc3 = matchGrouping.orElseThrow().getNxmNxNshc3();
+        return buildMatchEntry(nshc3.getValue(), nshc3.getMask());
     }
 
     public static MatchEntry buildMatchEntry(final Uint32 value, final Uint32 mask) {
-        NshcCaseValue nshcCaseValue = new NshcCaseValueBuilder().setNshc(value).setMask(mask).build();
         return MatchUtil.createExperimenterMatchEntryBuilder(
-                org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxNshc3.VALUE,
-                NiciraConstants.NX_NSH_VENDOR_ID,
-                nshcCaseValue).setHasMask(mask != null).build();
+            org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxNshc3.VALUE,
+            NiciraConstants.NX_NSH_VENDOR_ID,
+            new NshcCaseValueBuilder().setNshc(value).setMask(mask).build()).setHasMask(mask != null).build();
     }
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(
             final NxmNxNshc3 value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxNshc3(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxNshc3(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmNxNshc3(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNshc3(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmNxNshc3(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxNshc3(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxNshc3(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmNxNshc3(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNshc3(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmNxNshc3(value).build(), key);
+        };
     }
 }
index 131dd8155f74a6988eea1ccd10803394ff2764a8..f4dbfcd2f871160db914561e3be0d3789f205b96 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowjava.nx.api.NiciraConstants;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
@@ -31,7 +30,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshc4Grouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNshc4Key;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nshc._4.grouping.NxmNxNshc4;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nshc._4.grouping.NxmNxNshc4Builder;
@@ -45,54 +43,44 @@ public class Nshc4Convertor implements ConvertorToOFJava<MatchEntry>, ConvertorF
         ExperimenterIdCase experimenterIdCase = (ExperimenterIdCase) input.getMatchEntryValue();
         OfjAugNxExpMatch ofjAugNxExpMatch = experimenterIdCase.augmentation(OfjAugNxExpMatch.class);
         NshcCaseValue nshcCaseValue = (NshcCaseValue) ofjAugNxExpMatch.getNxExpMatchEntryValue();
-        NxmNxNshc4 nxmNxNshc4 = new NxmNxNshc4Builder()
-                .setValue(nshcCaseValue.getNshc())
-                .setMask(nshcCaseValue.getMask())
-                .build();
-        return resolveAugmentation(nxmNxNshc4, path, NxmNxNshc4Key.VALUE);
+        return resolveAugmentation(new NxmNxNshc4Builder()
+            .setValue(nshcCaseValue.getNshc())
+            .setMask(nshcCaseValue.getMask())
+            .build(), path, NxmNxNshc4Key.VALUE);
     }
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmNxNshc4Grouping> matchGrouping = MatchUtil.NSC4_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.NSC4_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        Uint32 value = matchGrouping.get().getNxmNxNshc4().getValue();
-        Uint32 mask = matchGrouping.get().getNxmNxNshc4().getMask();
-        MatchEntry matchEntry = buildMatchEntry(value, mask);
-        return matchEntry;
+        final var nshc4 = matchGrouping.orElseThrow().getNxmNxNshc4();
+        return buildMatchEntry(nshc4.getValue(), nshc4.getMask());
     }
 
     public static MatchEntry buildMatchEntry(final Uint32 value, final Uint32 mask) {
         NshcCaseValue nshcCaseValue = new NshcCaseValueBuilder().setNshc(value).setMask(mask).build();
         return MatchUtil.createExperimenterMatchEntryBuilder(
                 org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxNshc4.VALUE,
-                NiciraConstants.NX_NSH_VENDOR_ID,
-                nshcCaseValue).setHasMask(mask != null).build();
+                NiciraConstants.NX_NSH_VENDOR_ID, nshcCaseValue)
+            .setHasMask(mask != null)
+            .build();
     }
 
-    private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(
-            final NxmNxNshc4 value,
+    private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmNxNshc4 value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxNshc4(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxNshc4(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmNxNshc4(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNshc4(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmNxNshc4(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxNshc4(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxNshc4(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmNxNshc4(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNshc4(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmNxNshc4(value).build(), key);
+        };
     }
 }
index 54c107e9cf65a5e5020ed5add2b9d17ee629bc97..bbc8a6f5ada7ef52fc714d383425d3c16e922b0f 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowjava.nx.api.NiciraConstants;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
@@ -33,7 +32,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNsiGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNsiKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nsi.grouping.NxmNxNsi;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nsi.grouping.NxmNxNsiBuilder;
@@ -55,13 +53,11 @@ public class NsiConvertor implements ConvertorToOFJava<MatchEntry>, ConvertorFro
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmNxNsiGrouping> matchGrouping = MatchUtil.NSI_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.NSI_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        Uint8 nsiValue = matchGrouping.get().getNxmNxNsi().getNsi();
-        MatchEntry matchEntry = buildMatchEntry(nsiValue, null);
-        return matchEntry;
+        return buildMatchEntry(matchGrouping.orElseThrow().getNxmNxNsi().getNsi(), null);
     }
 
     public static MatchEntry buildMatchEntry(final Uint8 nsi, final Uint8 mask) {
@@ -69,30 +65,24 @@ public class NsiConvertor implements ConvertorToOFJava<MatchEntry>, ConvertorFro
         NsiCaseValue nsiCaseValue = new NsiCaseValueBuilder().setNsiValues(nsiValues).build();
         return MatchUtil.createExperimenterMatchEntryBuilder(
                 org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxNsi.VALUE,
-                NiciraConstants.NX_NSH_VENDOR_ID,
-                nsiCaseValue).setHasMask(mask != null).build();
+                NiciraConstants.NX_NSH_VENDOR_ID, nsiCaseValue)
+            .setHasMask(mask != null)
+            .build();
     }
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmNxNsi value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxNsi(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxNsi(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmNxNsi(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNsi(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmNxNsi(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxNsi(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxNsi(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmNxNsi(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNsi(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmNxNsi(value).build(), key);
+        };
     }
 }
index a685ccbce84a28b033f651695e0d7cb735745819..98bcc541c33b9166a51ccefd297f569d2376328c 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowjava.nx.api.NiciraConstants;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
@@ -19,7 +18,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.matc
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.OfjAugNxExpMatch;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.exp.match.nx.exp.match.entry.value.NspCaseValue;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.exp.match.nx.exp.match.entry.value.NspCaseValueBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.nx.match.nsp.grouping.NspValues;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.nx.match.nsp.grouping.NspValuesBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.ExtensionKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.general.extension.grouping.Extension;
@@ -33,7 +31,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNspGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxNspKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nsp.grouping.NxmNxNsp;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.nsp.grouping.NxmNxNspBuilder;
@@ -48,52 +45,41 @@ public class NspConvertor implements ConvertorToOFJava<MatchEntry>, ConvertorFro
         OfjAugNxExpMatch ofjAugNxExpMatch = experimenterIdCase.augmentation(OfjAugNxExpMatch.class);
         NspCaseValue nshNspCaseValue = (NspCaseValue) ofjAugNxExpMatch.getNxExpMatchEntryValue();
 
-        return resolveAugmentation(
-                new NxmNxNspBuilder().setValue(nshNspCaseValue.getNspValues().getNsp()).build(),
-                path,
-                NxmNxNspKey.VALUE);
+        return resolveAugmentation(new NxmNxNspBuilder().setValue(nshNspCaseValue.getNspValues().getNsp()).build(),
+            path, NxmNxNspKey.VALUE);
     }
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmNxNspGrouping> matchGrouping = MatchUtil.NSP_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.NSP_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        Uint32 nspValue = matchGrouping.get().getNxmNxNsp().getValue();
-        MatchEntry matchEntry = buildMatchEntry(nspValue, null);
-        return matchEntry;
+        return buildMatchEntry(matchGrouping.orElseThrow().getNxmNxNsp().getValue(), null);
     }
 
     public static MatchEntry buildMatchEntry(final Uint32 nsp, final Uint32 mask) {
-        NspValues nspValues = new NspValuesBuilder().setNsp(nsp).setMask(mask).build();
-        NspCaseValue nspCaseValue = new NspCaseValueBuilder().setNspValues(nspValues).build();
         return MatchUtil.createExperimenterMatchEntryBuilder(
-                org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxNsp.VALUE,
-                NiciraConstants.NX_NSH_VENDOR_ID,
-                nspCaseValue).setHasMask(mask != null).build();
+            org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxNsp.VALUE,
+            NiciraConstants.NX_NSH_VENDOR_ID,
+            new NspCaseValueBuilder().setNspValues(new NspValuesBuilder().setNsp(nsp).setMask(mask).build()).build())
+            .setHasMask(mask != null)
+            .build();
     }
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmNxNsp value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxNsp(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxNsp(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmNxNsp(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNsp(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmNxNsp(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxNsp(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxNsp(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmNxNsp(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNsp(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmNxNsp(value).build(), key);
+        };
     }
 }
index d0714014c7f2fcb72b0e10cbdb1090d314f1b9a4..76922399bc89887febcb858eb3b9bfd82506a5f9 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
 import org.opendaylight.openflowplugin.extension.api.ExtensionAugment;
@@ -30,20 +29,16 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfInPortGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfInPortKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of.in.port.grouping.OfInPortBuilder;
 import org.opendaylight.yangtools.yang.binding.Augmentation;
-import org.opendaylight.yangtools.yang.common.Uint16;
 
-public class NxmInPortConvertor implements ConvertorToOFJava<MatchEntry>,
-        ConvertorFromOFJava<MatchEntry, MatchPath> {
+public class NxmInPortConvertor implements ConvertorToOFJava<MatchEntry>, ConvertorFromOFJava<MatchEntry, MatchPath> {
 
     @Override
     public ExtensionAugment<? extends Augmentation<Extension>> convert(
             final MatchEntry input, final MatchPath path) {
-        OfInPortCaseValue inPortCaseValue = (OfInPortCaseValue) input
-                .getMatchEntryValue();
+        OfInPortCaseValue inPortCaseValue = (OfInPortCaseValue) input.getMatchEntryValue();
         return NxmInPortConvertor.resolveAugmentation(new OfInPortBuilder()
                 .setValue(inPortCaseValue.getNxmOfInPortValues().getValue())
                 .build(), path, NxmOfInPortKey.VALUE);
@@ -51,41 +46,35 @@ public class NxmInPortConvertor implements ConvertorToOFJava<MatchEntry>,
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmOfInPortGrouping> matchGrouping = MatchUtil.NXM_OF_INPORT_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.NXM_OF_INPORT_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        Uint16 value = matchGrouping.get().getOfInPort().getValue();
-        OfInPortCaseValueBuilder inPortCaseValueBuilder = new OfInPortCaseValueBuilder();
-        inPortCaseValueBuilder.setNxmOfInPortValues(
-                new NxmOfInPortValuesBuilder().setValue(value).build());
         return MatchUtil.createDefaultMatchEntryBuilder(
             org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmOfInPort.VALUE,
-            Nxm0Class.VALUE, inPortCaseValueBuilder.build())
+            Nxm0Class.VALUE,
+            new OfInPortCaseValueBuilder()
+                .setNxmOfInPortValues(new NxmOfInPortValuesBuilder()
+                    .setValue(matchGrouping.orElseThrow().getOfInPort().getValue())
+                    .build())
+                .build())
             .build();
     }
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(
             final org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of
                 .in.port.grouping.OfInPort value, final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setOfInPort(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setOfInPort(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
-                        new NxAugMatchNotifPacketInBuilder().setOfInPort(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setOfInPort(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setOfInPort(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setOfInPort(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setOfInPort(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setOfInPort(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setOfInPort(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setOfInPort(value).build(), key);
+        };
     }
 }
index 9a74cbac8f00d54f7be3e6d9d4b1cc9c061a35a4..8b73cd549078e11a972aad0e4ff860aa1f634771 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
 import org.opendaylight.openflowplugin.extension.api.ExtensionAugment;
@@ -15,7 +14,6 @@ import org.opendaylight.openflowplugin.extension.api.path.MatchPath;
 import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm1Class;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntryBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.PktMarkCaseValue;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.PktMarkCaseValueBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.nx.match.pkt.mark.grouping.PktMarkValuesBuilder;
@@ -31,7 +29,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxPktMarkGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxPktMarkKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.pkt.mark.grouping.NxmNxPktMark;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.pkt.mark.grouping.NxmNxPktMarkBuilder;
@@ -41,51 +38,46 @@ public class PktMarkConvertor implements ConvertorToOFJava<MatchEntry>, Converto
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmNxPktMarkGrouping> matchGrouping = MatchUtil.PKT_MARK_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.PKT_MARK_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        PktMarkCaseValueBuilder pktMarkCaseValueBuilder = new PktMarkCaseValueBuilder();
-        PktMarkValuesBuilder pktMarkValuesBuilder = new PktMarkValuesBuilder();
-        pktMarkValuesBuilder.setPktMark(matchGrouping.get().getNxmNxPktMark().getPktMark());
-        pktMarkValuesBuilder.setMask(matchGrouping.get().getNxmNxPktMark().getMask());
-        pktMarkCaseValueBuilder.setPktMarkValues(pktMarkValuesBuilder.build());
-        MatchEntryBuilder ofMatch = MatchUtil
-                .createDefaultMatchEntryBuilder(org.opendaylight.yang.gen.v1.urn
-                                .opendaylight.openflowjava.nx.match.rev140421.NxmNxPktMark.VALUE,
-                        Nxm1Class.VALUE, pktMarkCaseValueBuilder.build());
-        return ofMatch.build();
+        final var pktMark = matchGrouping.orElseThrow().getNxmNxPktMark();
+
+        return MatchUtil.createDefaultMatchEntryBuilder(
+            org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxPktMark.VALUE,
+            Nxm1Class.VALUE,
+            new PktMarkCaseValueBuilder()
+                .setPktMarkValues(new PktMarkValuesBuilder()
+                    .setPktMark(pktMark.getPktMark())
+                    .setMask(pktMark.getMask())
+                    .build())
+                .build())
+            .build();
     }
 
     @Override
     public ExtensionAugment<? extends Augmentation<Extension>> convert(final MatchEntry input, final MatchPath path) {
-        PktMarkCaseValue pktMarkCaseValue = (PktMarkCaseValue) input.getMatchEntryValue();
-        NxmNxPktMarkBuilder pktMarkBuilder = new NxmNxPktMarkBuilder();
-        pktMarkBuilder.setPktMark(pktMarkCaseValue.getPktMarkValues().getPktMark());
-        pktMarkBuilder.setMask(pktMarkCaseValue.getPktMarkValues().getMask());
-        return resolveAugmentation(pktMarkBuilder.build(), path, NxmNxPktMarkKey.VALUE);
+        final var pktMark = ((PktMarkCaseValue) input.getMatchEntryValue()).getPktMarkValues();
+        return resolveAugmentation(new NxmNxPktMarkBuilder()
+            .setPktMark(pktMark.getPktMark())
+            .setMask(pktMark.getMask())
+            .build(), path, NxmNxPktMarkKey.VALUE);
     }
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmNxPktMark value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxPktMark(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxPktMark(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmNxPktMark(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxPktMark(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmNxPktMark(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxPktMark(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxPktMark(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmNxPktMark(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxPktMark(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmNxPktMark(value).build(), key);
+        };
     }
 }
index 42bb027d1ea4e2592ef0a63133d4fd842dab3c51..c4037c0917bc6f620e1481fd38ef0edb816c0356 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowjava.nx.codec.match.NiciraMatchCodecs;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
@@ -40,7 +39,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxReg5Key;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxReg6Key;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxReg7Key;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxRegGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.reg.grouping.NxmNxReg;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.reg.grouping.NxmNxRegBuilder;
 import org.opendaylight.yangtools.yang.binding.Augmentation;
@@ -82,20 +80,16 @@ public class RegConvertor implements ConvertorToOFJava<MatchEntry>, ConvertorFro
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmNxRegGrouping> matchGrouping = MatchUtil.REG_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.REG_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        NxmNxReg nxmNxReg = matchGrouping.get().getNxmNxReg();
-        RegValuesBuilder regValuesBuilder = new RegValuesBuilder()
-            .setValue(nxmNxReg.getValue())
-            .setMask(nxmNxReg.getMask());
+        final var nxmNxReg = matchGrouping.orElseThrow().getNxmNxReg();
 
-        RegCaseValueBuilder regCaseValueBuilder = new RegCaseValueBuilder();
-        regCaseValueBuilder.setRegValues(regValuesBuilder.build());
-        return MatchUtil.createDefaultMatchEntryBuilder(nxmNxReg.getReg(),
-                Nxm1Class.VALUE,
-                regCaseValueBuilder.build())
+        return MatchUtil.createDefaultMatchEntryBuilder(nxmNxReg.getReg(), Nxm1Class.VALUE,
+            new RegCaseValueBuilder()
+                .setRegValues(new RegValuesBuilder().setValue(nxmNxReg.getValue()).setMask(nxmNxReg.getMask()).build())
+                .build())
             .setHasMask(nxmNxReg.getMask() != null)
             .build();
     }
@@ -131,24 +125,17 @@ public class RegConvertor implements ConvertorToOFJava<MatchEntry>, ConvertorFro
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmNxReg nxmNxReg,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxReg(nxmNxReg).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxReg(nxmNxReg).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmNxReg(nxmNxReg).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxReg(nxmNxReg).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmNxReg(nxmNxReg).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxReg(nxmNxReg).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxReg(nxmNxReg).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmNxReg(nxmNxReg).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxReg(nxmNxReg).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmNxReg(nxmNxReg).build(), key);
+        };
     }
 }
index fa7cb6fc4351ff26e2e55e1c75d603c2f5a77fc2..eadb8ffcc6ca1f83604f5ca80718665edd73e302 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
 import org.opendaylight.openflowplugin.extension.api.ExtensionAugment;
@@ -15,7 +14,6 @@ import org.opendaylight.openflowplugin.extension.api.path.MatchPath;
 import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm0Class;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntryBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.TcpDstCaseValue;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.TcpDstCaseValueBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.of.match.tcp.dst.grouping.TcpDstValuesBuilder;
@@ -31,7 +29,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfTcpDstGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfTcpDstKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of.tcp.dst.grouping.NxmOfTcpDst;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of.tcp.dst.grouping.NxmOfTcpDstBuilder;
@@ -55,43 +52,37 @@ public class TcpDstConvertor implements ConvertorToOFJava<MatchEntry>, Convertor
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmOfTcpDstGrouping> matchGrouping = MatchUtil.TCP_DST_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.TCP_DST_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        TcpDstCaseValueBuilder tcpDstCaseValueBuilder = new TcpDstCaseValueBuilder();
-        TcpDstValuesBuilder tcpDstValuesBuilder = new TcpDstValuesBuilder();
-        tcpDstValuesBuilder.setPort(matchGrouping.get().getNxmOfTcpDst().getPort());
-        tcpDstValuesBuilder.setMask(matchGrouping.get().getNxmOfTcpDst().getMask());
-        tcpDstCaseValueBuilder.setTcpDstValues(tcpDstValuesBuilder.build());
-        MatchEntryBuilder ofMatch = MatchUtil
-                .createDefaultMatchEntryBuilder(org.opendaylight.yang.gen.v1.urn
-                                                .opendaylight.openflowjava.nx.match.rev140421.NxmOfTcpDst.VALUE,
-                                                Nxm0Class.VALUE, tcpDstCaseValueBuilder.build());
-        ofMatch.setHasMask(true);
-        return ofMatch.build();
+        final var tcpDst = matchGrouping.orElseThrow().getNxmOfTcpDst();
+        return MatchUtil.createDefaultMatchEntryBuilder(
+            org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmOfTcpDst.VALUE,
+            Nxm0Class.VALUE,
+            new TcpDstCaseValueBuilder()
+                .setTcpDstValues(new TcpDstValuesBuilder()
+                    .setPort(tcpDst.getPort())
+                    .setMask(tcpDst.getMask())
+                    .build())
+                .build())
+            .setHasMask(true)
+            .build();
     }
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmOfTcpDst value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmOfTcpDst(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmOfTcpDst(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmOfTcpDst(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmOfTcpDst(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmOfTcpDst(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmOfTcpDst(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmOfTcpDst(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmOfTcpDst(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmOfTcpDst(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmOfTcpDst(value).build(), key);
+        };
     }
 }
index 6e8c0f4e9631906163570ac80a079f46b36bc1ba..5b2e229fb89a9e80fcd8af84db1683c0b3481eb8 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
 import org.opendaylight.openflowplugin.extension.api.ExtensionAugment;
@@ -15,7 +14,6 @@ import org.opendaylight.openflowplugin.extension.api.path.MatchPath;
 import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm0Class;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntryBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.TcpSrcCaseValue;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.TcpSrcCaseValueBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.of.match.tcp.src.grouping.TcpSrcValuesBuilder;
@@ -31,7 +29,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfTcpSrcGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfTcpSrcKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of.tcp.src.grouping.NxmOfTcpSrc;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of.tcp.src.grouping.NxmOfTcpSrcBuilder;
@@ -54,43 +51,34 @@ public class TcpSrcConvertor implements ConvertorToOFJava<MatchEntry>, Convertor
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmOfTcpSrcGrouping> matchGrouping = MatchUtil.TCP_SRC_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.TCP_SRC_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        TcpSrcCaseValueBuilder tcpSrcCaseValueBuilder = new TcpSrcCaseValueBuilder();
-        TcpSrcValuesBuilder tcpSrcValuesBuilder = new TcpSrcValuesBuilder();
-        tcpSrcValuesBuilder.setPort(matchGrouping.get().getNxmOfTcpSrc().getPort());
-        tcpSrcValuesBuilder.setMask(matchGrouping.get().getNxmOfTcpSrc().getMask());
-        tcpSrcCaseValueBuilder.setTcpSrcValues(tcpSrcValuesBuilder.build());
-        MatchEntryBuilder ofMatch = MatchUtil
-                .createDefaultMatchEntryBuilder(org.opendaylight.yang.gen.v1.urn
-                                                .opendaylight.openflowjava.nx.match.rev140421.NxmOfTcpSrc.VALUE,
-                                                Nxm0Class.VALUE, tcpSrcCaseValueBuilder.build());
-        ofMatch.setHasMask(true);
-        return ofMatch.build();
+        final var tcpSrc = matchGrouping.orElseThrow().getNxmOfTcpSrc();
+        return MatchUtil.createDefaultMatchEntryBuilder(
+            org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmOfTcpSrc.VALUE,
+            Nxm0Class.VALUE,
+            new TcpSrcCaseValueBuilder()
+                .setTcpSrcValues(new TcpSrcValuesBuilder().setPort(tcpSrc.getPort()).setMask(tcpSrc.getMask()).build())
+                .build())
+            .setHasMask(true)
+            .build();
     }
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmOfTcpSrc value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmOfTcpSrc(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmOfTcpSrc(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmOfTcpSrc(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmOfTcpSrc(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmOfTcpSrc(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmOfTcpSrc(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmOfTcpSrc(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmOfTcpSrc(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmOfTcpSrc(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmOfTcpSrc(value).build(), key);
+        };
     }
 }
index 5c31948d1b12c3b5c7c8d3ac54a7f90c82c209f8..e4f476ea9582b130c5d5a7f98768a7584ad7bcd1 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
 import org.opendaylight.openflowplugin.extension.api.ExtensionAugment;
@@ -30,12 +29,10 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxTunIdGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmNxTunIdKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.tun.id.grouping.NxmNxTunId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.nx.tun.id.grouping.NxmNxTunIdBuilder;
 import org.opendaylight.yangtools.yang.binding.Augmentation;
-import org.opendaylight.yangtools.yang.common.Uint64;
 
 /**
  * Convert to/from SAL flow model to openflowjava model for TunIdCase.
@@ -52,44 +49,34 @@ public class TunIdConvertor implements ConvertorToOFJava<MatchEntry>, ConvertorF
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmNxTunIdGrouping> matchGrouping = MatchUtil.TUN_ID_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        var matchGrouping = MatchUtil.TUN_ID_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        Uint64 value = matchGrouping.get().getNxmNxTunId().getValue();
-
-        TunIdCaseValueBuilder tunnelIdCaseBuilder = new TunIdCaseValueBuilder();
-
-        TunIdValuesBuilder tunnelIdBuilder = new TunIdValuesBuilder();
-        tunnelIdBuilder.setValue(value);
-        tunnelIdCaseBuilder.setTunIdValues(tunnelIdBuilder.build());
 
         return MatchUtil.createDefaultMatchEntryBuilder(
                 org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxTunId.VALUE,
-                Nxm1Class.VALUE, tunnelIdCaseBuilder.build()).build();
-
+                Nxm1Class.VALUE,
+                new TunIdCaseValueBuilder().setTunIdValues(new TunIdValuesBuilder()
+                    .setValue(matchGrouping.orElseThrow().getNxmNxTunId().getValue())
+                    .build())
+                .build())
+            .build();
     }
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmNxTunId value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxTunId(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxTunId(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmNxTunId(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxTunId(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmNxTunId(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxTunId(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxTunId(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmNxTunId(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxTunId(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmNxTunId(value).build(), key);
+        };
     }
 }
index 47b7dd4ef0d391763d7378804864c3b8034f3452..b55f25f01021e0b7fdf08c6ff6419c11ea0c378a 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
 import org.opendaylight.openflowplugin.extension.api.ExtensionAugment;
@@ -15,7 +14,6 @@ import org.opendaylight.openflowplugin.extension.api.path.MatchPath;
 import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm0Class;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntryBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.UdpDstCaseValue;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.UdpDstCaseValueBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.of.match.udp.dst.grouping.UdpDstValuesBuilder;
@@ -31,7 +29,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfUdpDstGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfUdpDstKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of.udp.dst.grouping.NxmOfUdpDst;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of.udp.dst.grouping.NxmOfUdpDstBuilder;
@@ -55,43 +52,34 @@ public class UdpDstConvertor implements ConvertorToOFJava<MatchEntry>, Convertor
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmOfUdpDstGrouping> matchGrouping = MatchUtil.UDP_DST_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.UDP_DST_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        UdpDstCaseValueBuilder udpDstCaseValueBuilder = new UdpDstCaseValueBuilder();
-        UdpDstValuesBuilder udpDstValuesBuilder = new UdpDstValuesBuilder();
-        udpDstValuesBuilder.setPort(matchGrouping.get().getNxmOfUdpDst().getPort());
-        udpDstValuesBuilder.setMask(matchGrouping.get().getNxmOfUdpDst().getMask());
-        udpDstCaseValueBuilder.setUdpDstValues(udpDstValuesBuilder.build());
-        MatchEntryBuilder ofMatch = MatchUtil
-                .createDefaultMatchEntryBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight
-                                                .openflowjava.nx.match.rev140421.NxmOfUdpDst.VALUE,
-                Nxm0Class.VALUE, udpDstCaseValueBuilder.build());
-        ofMatch.setHasMask(true);
-        return ofMatch.build();
+        final var udpDst = matchGrouping.orElseThrow().getNxmOfUdpDst();
+        return MatchUtil.createDefaultMatchEntryBuilder(
+            org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmOfUdpDst.VALUE,
+            Nxm0Class.VALUE,
+            new UdpDstCaseValueBuilder()
+                .setUdpDstValues(new UdpDstValuesBuilder().setPort(udpDst.getPort()).setMask(udpDst.getMask()).build())
+                .build())
+            .setHasMask(true)
+            .build();
     }
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmOfUdpDst value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmOfUdpDst(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmOfUdpDst(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmOfUdpDst(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmOfUdpDst(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmOfUdpDst(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmOfUdpDst(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmOfUdpDst(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmOfUdpDst(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmOfUdpDst(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmOfUdpDst(value).build(), key);
+        };
     }
 }
index 139805c50ea8a0fde25c657bd77dfa7899714073..1baa18128d64062e9ab3b074b00a2a6762622083 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.match;
 
-import java.util.Optional;
 import org.opendaylight.openflowplugin.extension.api.ConvertorFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.ConvertorToOFJava;
 import org.opendaylight.openflowplugin.extension.api.ExtensionAugment;
@@ -15,7 +14,6 @@ import org.opendaylight.openflowplugin.extension.api.path.MatchPath;
 import org.opendaylight.openflowplugin.extension.vendor.nicira.convertor.CodecPreconditionException;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.Nxm0Class;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntryBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.UdpSrcCaseValue;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.aug.nx.match.UdpSrcCaseValueBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.ofj.nxm.of.match.udp.src.grouping.UdpSrcValuesBuilder;
@@ -31,7 +29,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.ni
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchPacketInMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxAugMatchRpcGetFlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfUdpSrcGrouping;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.NxmOfUdpSrcKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of.udp.src.grouping.NxmOfUdpSrc;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.match.rev140714.nxm.of.udp.src.grouping.NxmOfUdpSrcBuilder;
@@ -55,43 +52,34 @@ public class UdpSrcConvertor implements ConvertorToOFJava<MatchEntry>, Convertor
 
     @Override
     public MatchEntry convert(final Extension extension) {
-        Optional<NxmOfUdpSrcGrouping> matchGrouping = MatchUtil.UDP_SRC_RESOLVER.findExtension(extension);
-        if (!matchGrouping.isPresent()) {
+        final var matchGrouping = MatchUtil.UDP_SRC_RESOLVER.findExtension(extension);
+        if (matchGrouping.isEmpty()) {
             throw new CodecPreconditionException(extension);
         }
-        UdpSrcCaseValueBuilder udpSrcCaseValueBuilder = new UdpSrcCaseValueBuilder();
-        UdpSrcValuesBuilder udpSrcValuesBuilder = new UdpSrcValuesBuilder();
-        udpSrcValuesBuilder.setPort(matchGrouping.get().getNxmOfUdpSrc().getPort());
-        udpSrcValuesBuilder.setMask(matchGrouping.get().getNxmOfUdpSrc().getMask());
-        udpSrcCaseValueBuilder.setUdpSrcValues(udpSrcValuesBuilder.build());
-        MatchEntryBuilder ofMatch = MatchUtil
-                .createDefaultMatchEntryBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight
-                                                .openflowjava.nx.match.rev140421.NxmOfUdpSrc.VALUE,
-                Nxm0Class.VALUE, udpSrcCaseValueBuilder.build());
-        ofMatch.setHasMask(true);
-        return ofMatch.build();
+        final var udpSrc = matchGrouping.orElseThrow().getNxmOfUdpSrc();
+        return MatchUtil.createDefaultMatchEntryBuilder(
+            org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmOfUdpSrc.VALUE,
+            Nxm0Class.VALUE,
+            new UdpSrcCaseValueBuilder()
+                .setUdpSrcValues(new UdpSrcValuesBuilder().setPort(udpSrc.getPort()).setMask(udpSrc.getMask()).build())
+                .build())
+            .setHasMask(true)
+            .build();
     }
 
     private static ExtensionAugment<? extends Augmentation<Extension>> resolveAugmentation(final NxmOfUdpSrc value,
             final MatchPath path, final ExtensionKey key) {
-        switch (path) {
-            case FLOWS_STATISTICS_UPDATE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
-                        new NxAugMatchNodesNodeTableFlowBuilder().setNxmOfUdpSrc(value).build(), key);
-            case FLOWS_STATISTICS_RPC_MATCH:
-                return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
-                        new NxAugMatchRpcGetFlowStatsBuilder().setNxmOfUdpSrc(value).build(), key);
-            case PACKET_RECEIVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder()
-                        .setNxmOfUdpSrc(value).build(), key);
-            case SWITCH_FLOW_REMOVED_MATCH:
-                return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
-                        new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmOfUdpSrc(value).build(), key);
-            case PACKET_IN_MESSAGE_MATCH:
-                return new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
-                        new NxAugMatchPacketInMessageBuilder().setNxmOfUdpSrc(value).build(), key);
-            default:
-                throw new CodecPreconditionException(path);
-        }
+        return switch (path) {
+            case FLOWS_STATISTICS_UPDATE_MATCH -> new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class,
+                new NxAugMatchNodesNodeTableFlowBuilder().setNxmOfUdpSrc(value).build(), key);
+            case FLOWS_STATISTICS_RPC_MATCH -> new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class,
+                new NxAugMatchRpcGetFlowStatsBuilder().setNxmOfUdpSrc(value).build(), key);
+            case PACKET_RECEIVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifPacketIn.class,
+                new NxAugMatchNotifPacketInBuilder().setNxmOfUdpSrc(value).build(), key);
+            case SWITCH_FLOW_REMOVED_MATCH -> new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class,
+                new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmOfUdpSrc(value).build(), key);
+            case PACKET_IN_MESSAGE_MATCH -> new ExtensionAugment<>(NxAugMatchPacketInMessage.class,
+                new NxAugMatchPacketInMessageBuilder().setNxmOfUdpSrc(value).build(), key);
+        };
     }
 }
index 8b0d5264e0ca0b45fac158dc131e0c9de4afead0..285a59ca3081329611e6c09c451d9604751afbe2 100644 (file)
@@ -5,7 +5,6 @@
  * 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.openflowplugin.extension.onf.converter;
 
 import java.util.Collection;
@@ -125,10 +124,10 @@ public class BundleAddMessageConverter implements
             flowModInputs = Optional.empty();
         }
 
-        if (!flowModInputs.isPresent()) {
+        if (flowModInputs.isEmpty()) {
             throw new ConversionException("BundleFlowCase conversion unsuccessful.");
         }
-        final List<FlowModInputBuilder> inputs = flowModInputs.get();
+        final List<FlowModInputBuilder> inputs = flowModInputs.orElseThrow();
         if (inputs.size() != 1) {
             throw new ConversionException(
                 "BundleFlowCase conversion unsuccessful - not able to convert to multiple flows.");
@@ -158,14 +157,14 @@ public class BundleAddMessageConverter implements
             groupModInput = Optional.empty();
         }
 
-        if (!groupModInput.isPresent()) {
+        if (groupModInput.isEmpty()) {
             throw new ConversionException("BundleGroupCase conversion unsuccessful.");
         }
 
         return new BundleGroupModCaseBuilder()
-                .setGroupModCaseData(new GroupModCaseDataBuilder(groupModInput.get().setXid(data.getXid()).build())
-                    .build())
-                .build();
+            .setGroupModCaseData(new GroupModCaseDataBuilder(groupModInput.orElseThrow().setXid(data.getXid()).build())
+                .build())
+            .build();
     }
 
     private static BundlePortModCase convertBundlePortCase(final BundleInnerMessage messageCase,
@@ -181,12 +180,12 @@ public class BundleAddMessageConverter implements
             portModInput = Optional.empty();
         }
 
-        if (!portModInput.isPresent()) {
+        if (portModInput.isEmpty()) {
             throw new ConversionException("BundlePortCase conversion unsuccessful.");
         }
         return new BundlePortModCaseBuilder()
-                .setPortModCaseData(new PortModCaseDataBuilder(portModInput.get()).setXid(data.getXid()).build())
-                .build();
+            .setPortModCaseData(new PortModCaseDataBuilder(portModInput.orElseThrow()).setXid(data.getXid()).build())
+            .build();
     }
 
     @Override
index 61d55bc8e2f1ee5948ba7fcfc3dcd857a2a53f5a..34291789bd0655edf2d0005b939ec561a69aa73b 100644 (file)
@@ -108,15 +108,14 @@ public class ConvertorManager implements ConvertorExecutor, ConvertorRegistrator
         }
 
         final Optional<F> firstOptional = source.values().stream().findFirst();
-
-        if (!firstOptional.isPresent()) {
+        if (firstOptional.isEmpty()) {
             LOG.trace("Cannot extract type from empty collection");
             return result;
         }
 
-        final F first = firstOptional.get();
+        final F first = firstOptional.orElseThrow();
 
-        final Class<?> type = first instanceof DataContainer ? ((DataContainer) first).implementedInterface()
+        final Class<?> type = first instanceof DataContainer dataContainer ? dataContainer.implementedInterface()
                 : first.getClass();
 
         if (type == null) {
@@ -138,15 +137,13 @@ public class ConvertorManager implements ConvertorExecutor, ConvertorRegistrator
         }
 
         final Optional<F> firstOptional = source.stream().findFirst();
-
-        if (!firstOptional.isPresent()) {
+        if (firstOptional.isEmpty()) {
             LOG.trace("Cannot extract type from empty collection");
             return result;
         }
 
-        final F first = firstOptional.get();
-
-        final Class<?> type = first instanceof DataContainer ? ((DataContainer) first).implementedInterface()
+        final F first = firstOptional.orElseThrow();
+        final Class<?> type = first instanceof DataContainer dataContainer ? dataContainer.implementedInterface()
                 : first.getClass();
 
         if (type == null) {
index 13b6352a476b2f990d2ffbe88159d8469e704669..c28963e43c2d7b801232dba8e9f19dee15723029 100644 (file)
@@ -47,9 +47,8 @@ import org.opendaylight.yangtools.yang.common.Uint8;
  * }
  * </pre>
  */
-public class GroupDescStatsResponseConvertor extends Convertor<List<GroupDesc>, List<GroupDescStats>,
-        VersionConvertorData> {
-
+public class GroupDescStatsResponseConvertor
+        extends Convertor<List<GroupDesc>, List<GroupDescStats>, VersionConvertorData> {
     private static final Set<Class<?>> TYPES = Set.of(GroupDesc.class);
 
     private org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.Buckets toSALBucketsDesc(
@@ -70,13 +69,12 @@ public class GroupDescStatsResponseConvertor extends Convertor<List<GroupDesc>,
 
                 int actionKey = 0;
 
-                for (org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action action :
-                        convertedSalActions.get()) {
-                    ActionBuilder wrappedAction = new ActionBuilder();
-                    wrappedAction.setAction(action);
-                    wrappedAction.withKey(new ActionKey(actionKey));
-                    wrappedAction.setOrder(actionKey);
-                    actions.add(wrappedAction.build());
+                for (var action : convertedSalActions.orElseThrow()) {
+                    actions.add(new ActionBuilder()
+                        .setAction(action)
+                        .withKey(new ActionKey(actionKey))
+                        .setOrder(actionKey)
+                        .build());
                     actionKey++;
                 }
 
index b60b517bc2ef46142e15373e94c21bec17b33c8d..ca534b77f95e7899ea1d569a1869242f123f6b4c 100644 (file)
@@ -5,15 +5,12 @@
  * 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.openflowplugin.openflow.md.core.sal.convertor.action;
 
 import com.google.common.collect.Ordering;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.List;
-import java.util.Optional;
 import java.util.Set;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.action.cases.SalToOfCopyTtlInCase;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.action.cases.SalToOfCopyTtlOutCase;
@@ -132,7 +129,7 @@ public final class ActionConvertor extends Convertor<
             // Try to convert action grouping using converters from openflowplugin-extension
             .addCase(new SalToOfGeneralExtensionGroupingCase());
 
-    private static final Set<Class<?>> TYPES = Collections.singleton(org.opendaylight.yang.gen.v1.urn.opendaylight
+    private static final Set<Class<?>> TYPES = Set.of(org.opendaylight.yang.gen.v1.urn.opendaylight
             .action.types.rev131112.action.list.Action.class);
     private static final Ordering<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112
             .action.list.Action> ACTION_ORDERING = Ordering.from(OrderComparator.build());
@@ -143,24 +140,15 @@ public final class ActionConvertor extends Convertor<
     }
 
     @Override
-    public List<Action> convert(Collection<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action
-            .list.Action> source, ActionConvertorData data) {
+    public List<Action> convert(final Collection<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112
+            .action.list.Action> source, final ActionConvertorData data) {
         // Prepare list of converted actions
-        final List<Action> result = new ArrayList<>();
+        final var result = new ArrayList<Action>();
 
         // Iterate over SAL actions, run them through tokenizer and then add them to list of converted actions
         if (source != null) {
-            final List<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action>
-                sortedActions = ACTION_ORDERING.sortedCopy(source);
-
-            for (final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action action :
-                    sortedActions) {
-                final Optional<Action> convertedAction = PROCESSOR.process(action.getAction(), data,
-                        getConvertorExecutor());
-
-                if (convertedAction.isPresent()) {
-                    result.add(convertedAction.get());
-                }
+            for (var action : ACTION_ORDERING.sortedCopy(source)) {
+                PROCESSOR.process(action.getAction(), data, getConvertorExecutor()).ifPresent(result::add);
             }
         }
 
index 8f9d620126d2b2d0b5978eeb6c80e6cbe1e35e6c..b507d868756925378938168e93636b92a346894a 100644 (file)
@@ -5,14 +5,11 @@
  * 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.openflowplugin.openflow.md.core.sal.convertor.action;
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.List;
-import java.util.Optional;
 import java.util.Set;
 import org.opendaylight.openflowplugin.api.openflow.md.util.OpenflowVersion;
 import org.opendaylight.openflowplugin.openflow.md.core.extension.ActionExtensionHelper;
@@ -100,7 +97,7 @@ public final class ActionResponseConvertor extends Convertor<
             .addCase(new OfToSalSetVlanPcpCase())
             .addCase(new OfToSalSetVlanIdCase())
             .addCase(new OfToSalStripVlanCase());
-    private static final Set<Class<?>> TYPES = Collections.singleton(Action.class);
+    private static final Set<Class<?>> TYPES = Set.of(Action.class);
 
     @Override
     public Collection<Class<?>> getTypes() {
@@ -109,28 +106,25 @@ public final class ActionResponseConvertor extends Convertor<
 
     @Override
     public List<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action>
-            convert(List<Action> source, ActionResponseConvertorData data) {
-        final List<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action> result =
-                new ArrayList<>();
-        final OpenflowVersion ofVersion = OpenflowVersion.get(data.getVersion());
+            convert(final List<Action> source, final ActionResponseConvertorData data) {
+        final var result =
+            new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action>();
 
         // Iterate over Openflow actions, run them through tokenizer and then add them to list of converted actions
         if (source != null) {
-            for (final Action action : source) {
-                final Optional<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action>
-                    convertedAction = PROCESSOR.process(action.getActionChoice(), data, getConvertorExecutor());
-
+            final var ofVersion = OpenflowVersion.get(data.getVersion());
+            for (var action : source) {
+                final var convertedAction = PROCESSOR.process(action.getActionChoice(), data, getConvertorExecutor());
                 if (convertedAction.isPresent()) {
-                    result.add(convertedAction.get());
+                    result.add(convertedAction.orElseThrow());
                 } else {
                     /*
                      * TODO: EXTENSION PROPOSAL (action, OFJava to MD-SAL)
                      * - we might also need a way on how to identify exact type of augmentation to be
                      *   used as match can be bound to multiple models
                      */
-                    org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action processedAction =
-                            ActionExtensionHelper.processAlienAction(action, ofVersion, data.getActionPath());
-
+                    var processedAction = ActionExtensionHelper.processAlienAction(action, ofVersion,
+                        data.getActionPath());
                     if (processedAction != null) {
                         result.add(processedAction);
                     }
index 7f0cbe2c7147925509fb548acf4cd5c0a7b77015..71cba4512ebb9f05e321ef84f6424e7671bf96f4 100644 (file)
@@ -335,7 +335,7 @@ public class FlowConvertor extends Convertor<Flow, List<FlowModInputBuilder>, Ve
                     .build())
                 .build());
             if (optional.isPresent()) {
-                list.add(toFlowModInput(optional.get(), versionDatapathIdConverterData));
+                list.add(toFlowModInput(optional.orElseThrow(), versionDatapathIdConverterData));
             }
         } else {
             // create 2 flows
@@ -344,7 +344,7 @@ public class FlowConvertor extends Convertor<Flow, List<FlowModInputBuilder>, Ve
             Optional<? extends Flow> optional1 = injectMatchAndAction(srcFlow,
                 new MatchBuilder(srcMatch).setVlanMatch(VLAN_MATCH_FALSE).build());
             if (optional1.isPresent()) {
-                list.add(toFlowModInput(optional1.get(), versionDatapathIdConverterData));
+                list.add(toFlowModInput(optional1.orElseThrow(), versionDatapathIdConverterData));
             }
 
             //flow2
@@ -352,7 +352,7 @@ public class FlowConvertor extends Convertor<Flow, List<FlowModInputBuilder>, Ve
             Optional<? extends Flow> optional2 = injectMatchToFlow(srcFlow,
                 new MatchBuilder(srcMatch).setVlanMatch(VLAN_MATCH_TRUE).build());
             if (optional2.isPresent()) {
-                list.add(toFlowModInput(optional2.get(), versionDatapathIdConverterData));
+                list.add(toFlowModInput(optional2.orElseThrow(), versionDatapathIdConverterData));
             }
         }
         return list;
@@ -408,10 +408,9 @@ public class FlowConvertor extends Convertor<Flow, List<FlowModInputBuilder>, Ve
         for (var srcInstruction : srcInstructionList.values()) {
             final var curSrcInstruction = srcInstruction.getInstruction();
 
-            if (curSrcInstruction instanceof org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026
-                    .instruction.instruction.ApplyActionsCase) {
-                final var applyActionscase = (org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types
-                            .rev131026.instruction.instruction.ApplyActionsCase) curSrcInstruction;
+            if (curSrcInstruction
+                    instanceof org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026
+                        .instruction.instruction.ApplyActionsCase applyActionscase) {
                 final var srcActionList = applyActionscase.getApplyActions().nonnullAction();
 
                 int offset = 0;
index 692d49377b59ad3fbbaac2da4c1285a080ff78c0..26f5370fd9f26388c52f888443867dbbfcee779b 100644 (file)
@@ -27,7 +27,7 @@ public final class FlowFlagsInjector {
     public static <F, T> void inject(final Optional<F> source, final T target, final Uint8 version) {
         F sourceResult;
         if (source.isPresent()) {
-            sourceResult = source.get();
+            sourceResult = source.orElseThrow();
         } else if (version.equals(EncodeConstants.OF_VERSION_1_0)) {
             sourceResult = (F) FlowFlagsV10Convertor.defaultResult();
         } else {
index 840b8136e37f494f466d7fd1119fbf0941981728..192c83cfca49970a7931905afa86912c578ef77f 100644 (file)
@@ -126,7 +126,7 @@ public class FlowStatsResponseConvertor extends Convertor<List<FlowStats>, List<
                 Uint8 ipProtocol = null;
 
                 if (matchBuilderOptional.isPresent()) {
-                    final MatchBuilder matchBuilder = matchBuilderOptional.get();
+                    final MatchBuilder matchBuilder = matchBuilderOptional.orElseThrow();
                     final IpMatch ipMatch = matchBuilder.getIpMatch();
                     if (ipMatch != null) {
                         ipProtocol = ipMatch.getIpProtocol();
@@ -146,7 +146,7 @@ public class FlowStatsResponseConvertor extends Convertor<List<FlowStats>, List<
                         flowStats.getMatch(), data);
 
                 if (matchBuilderOptional.isPresent()) {
-                    final MatchBuilder matchBuilder = matchBuilderOptional.get();
+                    final MatchBuilder matchBuilder = matchBuilderOptional.orElseThrow();
 
                     final AugmentTuple<Match> matchExtensionWrap =
                             MatchExtensionHelper.processAllExtensions(
index af6c98d2e8cee141efa8f704208da339fa2c5e64..20b111f1da9011437beb64191fc30498c9a3a918 100644 (file)
@@ -8,7 +8,6 @@
 package org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
 import java.util.Optional;
@@ -133,7 +132,7 @@ import org.opendaylight.yangtools.yang.common.Uint8;
  * Utility class for converting a MD-SAL Flow into the OF flow mod.
  */
 public class MatchConvertor extends Convertor<Match, List<MatchEntry>, VersionConvertorData> {
-    private static final List<Class<?>> TYPES = Arrays.asList(
+    private static final List<Class<?>> TYPES = List.of(
             Match.class,
             org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match.class,
             org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.mod.removed.Match.class,
@@ -163,22 +162,12 @@ public class MatchConvertor extends Convertor<Match, List<MatchEntry>, VersionCo
     private static void layer3Match(final List<MatchEntry> matchEntryList, final Layer3Match layer3Match,
                                     final ConvertorExecutor converterExecutor,
                                     final ExtensionConverterProvider extensionConvertorProvider) {
-        java.util.Optional<List<MatchEntry>> result = LAYER3_PROCESSOR.process(layer3Match, converterExecutor
-        );
-
-        if (result.isPresent()) {
-            matchEntryList.addAll(result.get());
-        }
+        LAYER3_PROCESSOR.process(layer3Match, converterExecutor).ifPresent(matchEntryList::addAll);
     }
 
     private static void layer4Match(final List<MatchEntry> matchEntryList, final Layer4Match layer4Match,
             final ConvertorExecutor converterExecutor, final ExtensionConverterProvider extensionConvertorProvider) {
-        java.util.Optional<List<MatchEntry>> result = LAYER4_PROCESSOR.process(layer4Match, converterExecutor
-        );
-
-        if (result.isPresent()) {
-            matchEntryList.addAll(result.get());
-        }
+        LAYER4_PROCESSOR.process(layer4Match, converterExecutor).ifPresent(matchEntryList::addAll);
     }
 
     private static void inPortMatch(final List<MatchEntry> matchEntryList, final NodeConnectorId inPort) {
@@ -650,7 +639,7 @@ public class MatchConvertor extends Convertor<Match, List<MatchEntry>, VersionCo
         Optional<GeneralExtensionListGrouping> extensionListOpt =
                 ExtensionResolvers.getMatchExtensionResolver().getExtension(source);
         if (extensionListOpt.isPresent()) {
-            for (ExtensionList extensionItem : extensionListOpt.get().nonnullExtensionList().values()) {
+            for (ExtensionList extensionItem : extensionListOpt.orElseThrow().nonnullExtensionList().values()) {
                 // TODO: get real version
                 ConverterExtensionKey<? extends ExtensionKey> key =
                         new ConverterExtensionKey<>(extensionItem.getExtensionKey(), OFConstants.OFP_VERSION_1_3);
@@ -658,8 +647,7 @@ public class MatchConvertor extends Convertor<Match, List<MatchEntry>, VersionCo
                 if (convertor == null) {
                     throw new IllegalStateException("No converter found for key: " + key.toString());
                 }
-                MatchEntry ofMatch = convertor.convert(extensionItem.getExtension());
-                result.add(ofMatch);
+                result.add(convertor.convert(extensionItem.getExtension()));
             }
         }
 
index bc6a95a23b0a4c7d9930e3a494ea9c262f0e5068..47455d01a9f77b5e53385c94d350054b0ab4e8be 100644 (file)
@@ -33,7 +33,7 @@ public final class MatchInjector {
     public static <F, T> void inject(final Optional<F> source, final T target, final Uint8 version) {
         F sourceResult;
         if (source.isPresent()) {
-            sourceResult = source.get();
+            sourceResult = source.orElseThrow();
         } else if (OFConstants.OFP_VERSION_1_0.equals(version)) {
             sourceResult = (F) MatchV10Convertor.defaultResult();
         } else {
index ca6a81cc6bef60d43ece92d8941bd3a59e110500..a2e4e13d57ec20b05dcd5773203645cb0949553f 100644 (file)
@@ -5,16 +5,15 @@
  * 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.openflowplugin.openflow.md.core.sal.convertor;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 import java.util.Collection;
-import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
+import java.util.Set;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.junit.MockitoJUnitRunner;
@@ -36,11 +35,11 @@ public class ConvertorManagerTest {
                 .registerConvertor(OFConstants.OFP_VERSION_1_3, new Convertor<Action, String, VersionConvertorData>() {
                     @Override
                     public Collection<Class<?>> getTypes() {
-                        return Collections.singleton(Action.class);
+                        return Set.of(Action.class);
                     }
 
                     @Override
-                    public String convert(Action source, VersionConvertorData data) {
+                    public String convert(final Action source, final VersionConvertorData data) {
                         return null;
                     }
                 });
@@ -55,11 +54,11 @@ public class ConvertorManagerTest {
                 .registerConvertor(OFConstants.OFP_VERSION_1_3, new Convertor<Action, String, VersionConvertorData>() {
                     @Override
                     public Collection<Class<?>> getTypes() {
-                        return Collections.singleton(Action.class);
+                        return Set.of(Action.class);
                     }
 
                     @Override
-                    public String convert(Action source, VersionConvertorData data) {
+                    public String convert(final Action source, final VersionConvertorData data) {
                         return String.valueOf(source) + String.valueOf(data);
                     }
                 });
@@ -67,10 +66,7 @@ public class ConvertorManagerTest {
         final Action source = new ActionBuilder().setOrder(0).build();
         final VersionConvertorData data = new VersionConvertorData(OFConstants.OFP_VERSION_1_3);
         final String expectedResult = String.valueOf(source) + String.valueOf(data);
-        final Optional<String> result = convertorManager.convert(source, data);
-
-        assertTrue("Failed to convert action to string", result.isPresent());
-        assertEquals("Result and expected result do not match", result.get(), expectedResult);
+        assertEquals(Optional.of(expectedResult), convertorManager.convert(source, data));
     }
 
     /**
@@ -83,21 +79,18 @@ public class ConvertorManagerTest {
                 new Convertor<List<Action>, String, VersionConvertorData>() {
                     @Override
                     public Collection<Class<?>> getTypes() {
-                        return Collections.singleton(Action.class);
+                        return Set.of(Action.class);
                     }
 
                     @Override
-                    public String convert(List<Action> source, VersionConvertorData data) {
+                    public String convert(final List<Action> source, final VersionConvertorData data) {
                         return String.valueOf(source) + String.valueOf(data);
                     }
                 });
 
-        final List<Action> source = Collections.singletonList(new ActionBuilder().setOrder(0).build());
+        final List<Action> source = List.of(new ActionBuilder().setOrder(0).build());
         final VersionConvertorData data = new VersionConvertorData(OFConstants.OFP_VERSION_1_3);
         final String expectedResult = String.valueOf(source) + String.valueOf(data);
-        final Optional<String> result = convertorManager.convert(source, data);
-
-        assertTrue("Failed to convert action to string", result.isPresent());
-        assertEquals("Result and expected result do not match", result.get(), expectedResult);
+        assertEquals(Optional.of(expectedResult), convertorManager.convert(source, data));
     }
 }
index bda8ec712d524f9c636cf3bbf32afa6c43d3f856..a021f5e49ce7eafd7b97ad65dbaeed0b86faffa4 100644 (file)
@@ -479,6 +479,6 @@ public class GroupConvertorTest {
     private GroupModInputBuilder convert(final Group group, final VersionDatapathIdConvertorData data) {
         final Optional<GroupModInputBuilder> outAddGroupInputOptional = convertorManager.convert(group, data);
         assertTrue("Group convertor not found", outAddGroupInputOptional.isPresent());
-        return outAddGroupInputOptional.get();
+        return outAddGroupInputOptional.orElseThrow();
     }
 }
index 97bf52534f181487e381c552a351d23ce1b310a4..0d7aafd63bd5f9662e6d9df3315b1dd2559229b6 100644 (file)
@@ -43,13 +43,8 @@ public class GroupStatsResponseConvertorTest {
      */
     @Test
     public void testEmptyGroupStats() {
-        List<GroupStats> groupStats = new ArrayList<>();
-
-        Optional<List<org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.statistics.reply
-                .GroupStats>> salGroupStats = convertorManager.convert(groupStats,
-                        new VersionConvertorData(OFConstants.OFP_VERSION_1_3));
-
-        Assert.assertFalse("Group stats response should be not present", salGroupStats.isPresent());
+        Assert.assertEquals(Optional.empty(), convertorManager.convert(List.of(),
+            new VersionConvertorData(OFConstants.OFP_VERSION_1_3)));
     }
 
     /**
@@ -73,7 +68,7 @@ public class GroupStatsResponseConvertorTest {
                         new VersionConvertorData(OFConstants.OFP_VERSION_1_3));
         Assert.assertTrue("Group stats response convertor not found", salGroupStatsOptional.isPresent());
         List<org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.statistics.reply
-                .GroupStats> salGroupStats = salGroupStatsOptional.get();
+                .GroupStats> salGroupStats = salGroupStatsOptional.orElseThrow();
 
         Assert.assertEquals("Wrong group stats size", 1, salGroupStats.size());
         org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.statistics.reply
@@ -118,7 +113,7 @@ public class GroupStatsResponseConvertorTest {
                         new VersionConvertorData(OFConstants.OFP_VERSION_1_3));
         Assert.assertTrue("Group stats response convertor not found", salGroupStatsOptional.isPresent());
         List<org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.statistics.reply
-                .GroupStats> salGroupStats = salGroupStatsOptional.get();
+                .GroupStats> salGroupStats = salGroupStatsOptional.orElseThrow();
 
         Assert.assertEquals("Wrong group stats size", 2, salGroupStats.size());
         org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.statistics.reply
@@ -173,7 +168,7 @@ public class GroupStatsResponseConvertorTest {
                         new VersionConvertorData(OFConstants.OFP_VERSION_1_3));
         Assert.assertTrue("Group stats response convertor not found", salGroupStatsOptional.isPresent());
         List<org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.statistics.reply
-                .GroupStats> salGroupStats = salGroupStatsOptional.get();
+                .GroupStats> salGroupStats = salGroupStatsOptional.orElseThrow();
 
         Assert.assertEquals("Wrong group stats size", 1, salGroupStats.size());
         org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.statistics.reply
index 69dfe10e8e5ac1958ae5653369c957a3b4a00ddf..e2c41cbcb815d36bc95ce5e4f4274a707b0fa1b7 100644 (file)
@@ -266,7 +266,7 @@ public class FlowConvertorTest {
     private List<FlowModInputBuilder> convert(final Flow flow, final VersionDatapathIdConvertorData data) {
         Optional<List<FlowModInputBuilder>> flowModOptional = convertorManager.convert(flow, data);
         assertTrue("Flow convertor not found", flowModOptional.isPresent());
-        return flowModOptional.get();
+        return flowModOptional.orElseThrow();
     }
 
     private static Action createAction(
index 7dc26fe24496115b762f7fea29dbd8542327039a..957cd2867e45c4e4f9b9a9ca146d62ff3b3f9f51 100644 (file)
@@ -160,10 +160,10 @@ public class FlowStatsResponseConvertorTest {
         assertEquals(PRESET_COUNT, instructions.getInstruction().size());
     }
 
-    private Instructions convert(List<Instruction> instructionsList, VersionConvertorData data) {
+    private Instructions convert(final List<Instruction> instructionsList, final VersionConvertorData data) {
         Optional<Instructions> instructionsOptional = convertorManager.convert(instructionsList, data);
         assertTrue("Flow instruction response convertor not found", instructionsOptional.isPresent());
-        return instructionsOptional.get();
+        return instructionsOptional.orElseThrow();
     }
 
     private interface MockActionBase extends ActionBase {
index 7d4fd894954c3e45dc547856bf0298faf9698bfd..4087ff0cf7219fe5abd6cd21bcd2e5c9bedcaa55 100644 (file)
@@ -230,7 +230,7 @@ public class MatchConvertorTest {
 
         Optional<List<MatchEntry>> entriesOptional =
                 converterManager.convert(match, new VersionConvertorData(OFConstants.OFP_VERSION_1_3));
-        List<MatchEntry> entries = entriesOptional.get();
+        List<MatchEntry> entries = entriesOptional.orElseThrow();
         assertEquals("Wrong entries size", 24, entries.size());
         MatchEntry entry = entries.get(0);
         checkEntryHeader(entry, InPort.VALUE, false);
@@ -351,7 +351,7 @@ public class MatchConvertorTest {
 
         Optional<List<MatchEntry>> entriesOptional = converterManager.convert(match,
                 new VersionConvertorData(OFConstants.OFP_VERSION_1_3));
-        List<MatchEntry> entries = entriesOptional.get();
+        List<MatchEntry> entries = entriesOptional.orElseThrow();
         assertEquals("Wrong entries size", 2, entries.size());
 
         MatchEntry entry = entries.get(0);
@@ -378,7 +378,7 @@ public class MatchConvertorTest {
 
         Optional<List<MatchEntry>> entriesOptional = converterManager.convert(match,
                 new VersionConvertorData(OFConstants.OFP_VERSION_1_3));
-        List<MatchEntry> entries = entriesOptional.get();
+        List<MatchEntry> entries = entriesOptional.orElseThrow();
         assertEquals("Wrong entries size", 2, entries.size());
 
         MatchEntry entry = entries.get(0);
@@ -402,7 +402,7 @@ public class MatchConvertorTest {
 
         Optional<List<MatchEntry>> entriesOptional =
                 converterManager.convert(match, new VersionConvertorData(OFConstants.OFP_VERSION_1_3));
-        List<MatchEntry> entries = entriesOptional.get();
+        List<MatchEntry> entries = entriesOptional.orElseThrow();
         assertEquals("Wrong entries size", 2, entries.size());
         MatchEntry entry = entries.get(0);
         checkEntryHeader(entry, UdpSrc.VALUE, false);
@@ -425,7 +425,7 @@ public class MatchConvertorTest {
 
         Optional<List<MatchEntry>> entriesOptional =
                 converterManager.convert(match, new VersionConvertorData(OFConstants.OFP_VERSION_1_3));
-        List<MatchEntry> entries = entriesOptional.get();
+        List<MatchEntry> entries = entriesOptional.orElseThrow();
         assertEquals("Wrong entries size", 2, entries.size());
         MatchEntry entry = entries.get(0);
         checkEntryHeader(entry, Ipv4Src.VALUE, false);
@@ -448,7 +448,7 @@ public class MatchConvertorTest {
 
         Optional<List<MatchEntry>> entriesOptional =
                 converterManager.convert(match, new VersionConvertorData(OFConstants.OFP_VERSION_1_3));
-        List<MatchEntry> entries = entriesOptional.get();
+        List<MatchEntry> entries = entriesOptional.orElseThrow();
         assertEquals("Wrong entries size", 2, entries.size());
         MatchEntry entry = entries.get(0);
         checkEntryHeader(entry, SctpSrc.VALUE, false);
@@ -479,7 +479,7 @@ public class MatchConvertorTest {
 
         Optional<List<MatchEntry>> entriesOptional =
                 converterManager.convert(match, new VersionConvertorData(OFConstants.OFP_VERSION_1_3));
-        List<MatchEntry> entries = entriesOptional.get();
+        List<MatchEntry> entries = entriesOptional.orElseThrow();
         assertEquals("Wrong entries size", 5, entries.size());
         MatchEntry entry = entries.get(0);
         checkEntryHeader(entry, ArpOp.VALUE, false);
@@ -524,7 +524,7 @@ public class MatchConvertorTest {
 
         Optional<List<MatchEntry>> entriesOptional =
                 converterManager.convert(match, new VersionConvertorData(OFConstants.OFP_VERSION_1_3));
-        List<MatchEntry> entries = entriesOptional.get();
+        List<MatchEntry> entries = entriesOptional.orElseThrow();
         assertEquals("Wrong entries size", 4, entries.size());
         MatchEntry entry = entries.get(0);
         entry = entries.get(0);
@@ -574,7 +574,7 @@ public class MatchConvertorTest {
 
         Optional<List<MatchEntry>> entriesOptional =
                 converterManager.convert(match, new VersionConvertorData(OFConstants.OFP_VERSION_1_3));
-        List<MatchEntry> entries = entriesOptional.get();
+        List<MatchEntry> entries = entriesOptional.orElseThrow();
         assertEquals("Wrong entries size", 7, entries.size());
         MatchEntry entry = entries.get(0);
         /* Due to conversion ambiguities, we always get "has mask" because
@@ -620,7 +620,7 @@ public class MatchConvertorTest {
 
         Optional<List<MatchEntry>> entriesOptional =
                 converterManager.convert(match, new VersionConvertorData(OFConstants.OFP_VERSION_1_3));
-        List<MatchEntry> entries = entriesOptional.get();
+        List<MatchEntry> entries = entriesOptional.orElseThrow();
         assertEquals("Wrong entries size", 2, entries.size());
         MatchEntry entry = entries.get(0);
         checkEntryHeader(entry, Ipv6Src.VALUE, true);
@@ -651,7 +651,7 @@ public class MatchConvertorTest {
 
         Optional<List<MatchEntry>> entriesOptional =
                 converterManager.convert(match, new VersionConvertorData(OFConstants.OFP_VERSION_1_3));
-        List<MatchEntry> entries = entriesOptional.get();
+        List<MatchEntry> entries = entriesOptional.orElseThrow();
         assertEquals("Wrong entries size", 1, entries.size());
         MatchEntry entry = entries.get(0);
         checkEntryHeader(entry, Ipv6Exthdr.VALUE, true);
@@ -702,7 +702,7 @@ public class MatchConvertorTest {
 
         Optional<List<MatchEntry>> entriesOptional =
                 converterManager.convert(match, new VersionConvertorData(OFConstants.OFP_VERSION_1_3));
-        List<MatchEntry> entries = entriesOptional.get();
+        List<MatchEntry> entries = entriesOptional.orElseThrow();
         assertEquals("Wrong entries size", 8, entries.size());
         MatchEntry entry = entries.get(0);
         checkEntryHeader(entry, Metadata.VALUE, true);
@@ -773,7 +773,7 @@ public class MatchConvertorTest {
 
         Optional<List<MatchEntry>> entriesOptional = converterManager.convert(match,
                 new VersionConvertorData(OFConstants.OFP_VERSION_1_3));
-        List<MatchEntry> entries = entriesOptional.get();
+        List<MatchEntry> entries = entriesOptional.orElseThrow();
         assertEquals("Wrong entries size", 2, entries.size());
 
         MatchEntry entry = entries.get(0);
@@ -794,7 +794,7 @@ public class MatchConvertorTest {
 
         Optional<List<MatchEntry>> entriesOptional =
                 converterManager.convert(match, new VersionConvertorData(OFConstants.OFP_VERSION_1_3));
-        List<MatchEntry> entries = entriesOptional.get();
+        List<MatchEntry> entries = entriesOptional.orElseThrow();
         assertEquals("Wrong entries size", 1, entries.size());
         MatchEntry entry = entries.get(0);
         checkEntryHeader(entry, PacketType.VALUE, false);
index 4371be706910c6a2bb2d5e4ca8062c35d8cc7604..d8d10e31f2f32a08ad2884ef8b7907e5c66070fa 100644 (file)
@@ -72,7 +72,7 @@ public class MatchConvertorV10Test {
 
         Optional<MatchV10> matchV10Optional = converterManager.convert(createL4UdpMatch().build(),
                 new VersionConvertorData(OFConstants.OFP_VERSION_1_0));
-        MatchV10 matchV10 = matchV10Optional.get();
+        MatchV10 matchV10 = matchV10Optional.orElseThrow();
 
         assertEquals(ZERO_MAC, matchV10.getDlDst());
         assertEquals(FF_MAC, matchV10.getDlSrc());
@@ -89,13 +89,13 @@ public class MatchConvertorV10Test {
 
         matchV10Optional = converterManager.convert(createL4TcpMatch().build(),
                 new VersionConvertorData(OFConstants.OFP_VERSION_1_0));
-        matchV10 = matchV10Optional.get();
+        matchV10 = matchV10Optional.orElseThrow();
         assertEquals(DEFAULT_PORT.getValue(), matchV10.getTpSrc());
         assertEquals(DEFAULT_PORT.getValue(), matchV10.getTpDst());
 
         matchV10Optional = converterManager.convert(createVlanTcpMatch().build(),
                 new VersionConvertorData(OFConstants.OFP_VERSION_1_0));
-        matchV10 = matchV10Optional.get();
+        matchV10 = matchV10Optional.orElseThrow();
         assertEquals(DEFAULT_VLAN_ID.getValue(), matchV10.getDlVlan());
     }
 
@@ -105,7 +105,7 @@ public class MatchConvertorV10Test {
         Match match = matchBuilder.build();
         Optional<MatchV10> matchV10Optional = converterManager.convert(match,
                 new VersionConvertorData(OFConstants.OFP_VERSION_1_0));
-        MatchV10 matchV10 = matchV10Optional.get();
+        MatchV10 matchV10 = matchV10Optional.orElseThrow();
 
         assertEquals(ZERO_MAC, matchV10.getDlDst());
         assertEquals(FF_MAC, matchV10.getDlSrc());
@@ -135,7 +135,7 @@ public class MatchConvertorV10Test {
         match = matchBuilder.setIcmpv4Match(icmpv4MatchBuilder.build()).build();
         matchV10Optional = converterManager.convert(match,
                 new VersionConvertorData(OFConstants.OFP_VERSION_1_0));
-        matchV10 = matchV10Optional.get();
+        matchV10 = matchV10Optional.orElseThrow();
         assertEquals(ZERO_MAC, matchV10.getDlDst());
         assertEquals(FF_MAC, matchV10.getDlSrc());
         assertEquals(0, matchV10.getDlType().intValue());
@@ -161,7 +161,7 @@ public class MatchConvertorV10Test {
         match = matchBuilder.setIcmpv4Match(icmpv4MatchBuilder.build()).build();
         matchV10Optional = converterManager.convert(match,
                 new VersionConvertorData(OFConstants.OFP_VERSION_1_0));
-        matchV10 = matchV10Optional.get();
+        matchV10 = matchV10Optional.orElseThrow();
         assertEquals(ZERO_MAC, matchV10.getDlDst());
         assertEquals(FF_MAC, matchV10.getDlSrc());
         assertEquals(Uint16.ZERO, matchV10.getDlType());
@@ -183,7 +183,7 @@ public class MatchConvertorV10Test {
         wc = new FlowWildcardsV10(false, false, false, true, true, false, false, false, wcTpDst, wcTpSrc);
         match = matchBuilder.setIcmpv4Match(icmpv4MatchBuilder.build()).build();
         matchV10Optional = converterManager.convert(match, new VersionConvertorData(OFConstants.OFP_VERSION_1_0));
-        matchV10 = matchV10Optional.get();
+        matchV10 = matchV10Optional.orElseThrow();
         assertEquals(ZERO_MAC, matchV10.getDlDst());
         assertEquals(FF_MAC, matchV10.getDlSrc());
         assertEquals(Uint16.ZERO, matchV10.getDlType());
index aa701c70c801a4ffd817a08917a407a188bb323e..c5705b28a8fc6b35f14cd4bffce04160a71f9d08 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.openflowplugin.test;
 
-import java.util.Optional;
 import java.util.concurrent.ExecutionException;
 import org.opendaylight.mdsal.binding.api.ReadTransaction;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
@@ -26,17 +25,13 @@ public final class TestProviderTransactionUtil {
         // Hidden on purpose
     }
 
-    public static <T extends DataObject> T getDataObject(ReadTransaction readOnlyTransaction,
-            InstanceIdentifier<T> identifier) {
-        Optional<T> optionalData = null;
+    public static <T extends DataObject> T getDataObject(final ReadTransaction readOnlyTransaction,
+            final InstanceIdentifier<T> identifier) {
         try {
-            optionalData = readOnlyTransaction.read(LogicalDatastoreType.OPERATIONAL, identifier).get();
-            if (optionalData.isPresent()) {
-                return optionalData.get();
-            }
+            return readOnlyTransaction.read(LogicalDatastoreType.OPERATIONAL, identifier).get().orElse(null);
         } catch (ExecutionException | InterruptedException e) {
             LOG.error("Read transaction for identifier {} failed.", identifier, e);
+            return null;
         }
-        return null;
     }
 }