Migrate users of Optional.get()
[openflowplugin.git] / extension / openflowplugin-extension-api / src / test / java / org / opendaylight / openflowplugin / extension / api / GroupingLooseResolverTest.java
index 40d72978803706b77533a62c8ddb9ec81ffae44a..f6e53fcd5268020d3626ed725f0d5c31218eaed3 100644 (file)
@@ -7,9 +7,8 @@
  */
 package org.opendaylight.openflowplugin.extension.api;
 
-import java.util.Collections;
+import static org.junit.Assert.assertEquals;
 
-import org.junit.Assert;
 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;
@@ -19,46 +18,47 @@ 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.Augmentable;
+import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 
 /**
- *  Test of {@link GroupingLooseResolver}
+ *  Test of {@link GroupingLooseResolver}.
  */
 public class GroupingLooseResolverTest {
 
-    /**
-     * test of method {@link GroupingLooseResolver#getExtension(Augmentable)}
-     */
     @Test
     public void testGetExtension() {
-        GroupingLooseResolver<GeneralExtensionListGrouping> eqGroup = new GroupingLooseResolver<>(GeneralExtensionListGrouping.class);
+        GroupingLooseResolver<GeneralExtensionListGrouping> eqGroup =
+                new GroupingLooseResolver<>(GeneralExtensionListGrouping.class);
         eqGroup.add(GeneralAugMatchNodesNodeTableFlow.class);
         eqGroup.add(GeneralAugMatchNotifPacketIn.class);
 
-        MatchBuilder mb1 = new MatchBuilder();
-        ExtensionList extension1 = new ExtensionListBuilder().setExtensionKey(JoachimTheBig.class).build();
-        GeneralAugMatchNodesNodeTableFlow odlxxx1 = new GeneralAugMatchNodesNodeTableFlowBuilder()
-            .setExtensionList(Collections.singletonList(extension1)).build();
-        Match match1 = mb1.addAugmentation(GeneralAugMatchNodesNodeTableFlow.class, odlxxx1).build();
+        Match match1 = new MatchBuilder()
+            .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.class).build();
-        GeneralAugMatchNotifPacketIn odlxxx2 = new GeneralAugMatchNotifPacketInBuilder()
-            .setExtensionList(Collections.singletonList(extension2)).build();
-        org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.packet.received.Match match2 = mb2.addAugmentation(GeneralAugMatchNotifPacketIn.class, odlxxx2).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.class, eqGroup.getExtension(match1).get().getExtensionList().get(0).getExtensionKey());
-        Assert.assertEquals(JoachimTheTiny.class, eqGroup.getExtension(match2).get().getExtensionList().get(0).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 static class JoachimTheBig extends ExtensionKey {
-        // nobody
-    }
-    
-    private static class JoachimTheTiny extends ExtensionKey {
-        // nobody
+
+    private interface JoachimTheBig extends ExtensionKey {
+        JoachimTheBig VALUE = () -> JoachimTheBig.class;
     }
 
+    private interface JoachimTheTiny extends ExtensionKey {
+        JoachimTheTiny VALUE = () -> JoachimTheTiny.class;
+    }
 }