Migrate users of Optional.get()
[openflowplugin.git] / openflowplugin / src / main / java / org / opendaylight / openflowplugin / openflow / md / core / sal / convertor / flow / FlowFlagsInjector.java
index b33b3d2c5345de08821c8897105ef771d9b3bc5b..26f5370fd9f26388c52f888443867dbbfcee779b 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.openflow.md.core.sal.convertor.flow;
 
 import java.util.HashMap;
@@ -18,23 +17,27 @@ import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.common.Res
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.FlowModFlags;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.FlowModFlagsV10;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.FlowModInputBuilder;
+import org.opendaylight.yangtools.yang.common.Uint8;
+
+public final class FlowFlagsInjector {
+    private FlowFlagsInjector() {
+    }
 
-public class FlowFlagsInjector {
     @SuppressWarnings("unchecked")
-    public static <FROM, TO> void inject(Optional<FROM> source, TO target, short version) {
-        FROM sourceResult;
+    public static <F, T> void inject(final Optional<F> source, final T target, final Uint8 version) {
+        F sourceResult;
         if (source.isPresent()) {
-            sourceResult = source.get();
-        } else if (version == EncodeConstants.OF10_VERSION_ID) {
-            sourceResult = (FROM) FlowFlagsV10Convertor.defaultResult();
+            sourceResult = source.orElseThrow();
+        } else if (version.equals(EncodeConstants.OF_VERSION_1_0)) {
+            sourceResult = (F) FlowFlagsV10Convertor.defaultResult();
         } else {
-            sourceResult = (FROM) FlowFlagsConvertor.defaultResult();
+            sourceResult = (F) FlowFlagsConvertor.defaultResult();
         }
 
         final Map<ConvertorKey, ResultInjector<?, ?>> injectorMap = new HashMap<>();
         addInjectors(injectorMap);
 
-        final ResultInjector<FROM, TO> injection = (ResultInjector<FROM, TO>) injectorMap
+        final ResultInjector<F, T> injection = (ResultInjector<F, T>) injectorMap
                 .get(new ConvertorKey(version, target.getClass()));
 
         injection.inject(sourceResult, target);
@@ -43,22 +46,10 @@ public class FlowFlagsInjector {
     private static void addInjectors(final Map<ConvertorKey, ResultInjector<?, ?>> injectionMapping) {
         // OF-1.3|FlowModFlags --> FlowModInputBuilder
         injectionMapping.put(new ConvertorKey(OFConstants.OFP_VERSION_1_3, FlowModInputBuilder.class),
-                new ResultInjector<FlowModFlags, FlowModInputBuilder>() {
-                    @Override
-                    public void inject(final FlowModFlags value,
-                                       final FlowModInputBuilder target) {
-                        target.setFlags(value);
-                    }
-                });
+            (ResultInjector<FlowModFlags, FlowModInputBuilder>)(value, target) -> target.setFlags(value));
 
         // OF-1.3|FlowModFlagsV10 --> FlowModInputBuilder
         injectionMapping.put(new ConvertorKey(OFConstants.OFP_VERSION_1_0, FlowModInputBuilder.class),
-                new ResultInjector<FlowModFlagsV10, FlowModInputBuilder>() {
-                    @Override
-                    public void inject(final FlowModFlagsV10 value,
-                                       final FlowModInputBuilder target) {
-                        target.setFlagsV10(value);
-                    }
-                });
+            (ResultInjector<FlowModFlagsV10, FlowModInputBuilder>)(value, target) -> target.setFlagsV10(value));
     }
-}
\ No newline at end of file
+}