\r
import java.math.BigInteger;\r
import java.util.ArrayList;\r
+import java.util.Collections;\r
import java.util.List;\r
+import java.util.Optional;\r
import org.junit.Assert;\r
import org.junit.Test;\r
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.VlanVid;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntry;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entries.grouping.MatchEntryBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table.features._case.MultipartReplyTableFeatures;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table.features._case.MultipartReplyTableFeaturesBuilder;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table.features._case.multipart.reply.table.features.TableFeaturesBuilder;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.table.features.properties.grouping.TableFeatureProperties;\r
/**\r
* @author michal.polkorab\r
*/\r
-public class TableFeaturesReplyConvertorTest {\r
+public class TableFeaturesResponseConvertorTest {\r
\r
/**\r
* Incorrect / empty input test\r
*/\r
@Test\r
public void test() {\r
- List<TableFeatures> list = TableFeaturesReplyConvertor.toTableFeaturesReply(null);\r
+ List<TableFeatures> list = convert(null);\r
Assert.assertEquals("Returned list is not empty", 0, list.size());\r
}\r
\r
@Test\r
public void test2() {\r
MultipartReplyTableFeaturesBuilder builder = new MultipartReplyTableFeaturesBuilder();\r
- List<TableFeatures> list = TableFeaturesReplyConvertor.toTableFeaturesReply(builder.build());\r
+ List<TableFeatures> list = convert(builder.build());\r
Assert.assertEquals("Returned list is not empty", 0, list.size());\r
}\r
\r
featuresBuilder.setMaxEntries(42L);\r
features.add(featuresBuilder.build());\r
builder.setTableFeatures(features);\r
- List<TableFeatures> list = TableFeaturesReplyConvertor.toTableFeaturesReply(builder.build());\r
+ List<TableFeatures> list = convert(builder.build());\r
Assert.assertEquals("Returned empty list", 1, list.size());\r
TableFeatures feature = list.get(0);\r
Assert.assertEquals("Wrong table-id", 5, feature.getTableId().intValue());\r
\r
propBuilder.addAugmentation(ActionRelatedTableFeatureProperty.class, actBuilder.build());\r
properties.add(propBuilder.build());\r
+\r
+ /* -------------------------------------------------- */\r
+\r
+ propBuilder = new TableFeaturePropertiesBuilder();\r
+ propBuilder.setType(TableFeaturesPropType.OFPTFPTEXPERIMENTER);\r
+ oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();\r
+ propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());\r
+ properties.add(propBuilder.build());\r
+\r
+ /* -------------------------------------------------- */\r
+\r
+ propBuilder = new TableFeaturePropertiesBuilder();\r
+ propBuilder.setType(TableFeaturesPropType.OFPTFPTEXPERIMENTERMISS);\r
+ oxmBuilder = new OxmRelatedTableFeaturePropertyBuilder();\r
+ propBuilder.addAugmentation(OxmRelatedTableFeatureProperty.class, oxmBuilder.build());\r
+ properties.add(propBuilder.build());\r
+\r
+ /* -------------------------------------------------- */\r
+\r
featuresBuilder.setTableFeatureProperties(properties);\r
features.add(featuresBuilder.build());\r
builder.setTableFeatures(features);\r
\r
- List<TableFeatures> list = TableFeaturesReplyConvertor.toTableFeaturesReply(builder.build());\r
+ List<TableFeatures> list = convert(builder.build());\r
\r
Assert.assertEquals("Returned empty list", 2, list.size());\r
TableFeatures feature = list.get(0);\r
Assert.assertEquals("Wrong metadata write", new BigInteger(1, metaWrite2), feature.getMetadataWrite());\r
Assert.assertEquals("Wrong config", false, feature.getConfig().isDEPRECATEDMASK());\r
Assert.assertEquals("Wrong max-entries", 24, feature.getMaxEntries().intValue());\r
- Assert.assertEquals("Wrong properties", 10, feature.getTableProperties().getTableFeatureProperties().size());\r
+ Assert.assertEquals("Wrong properties", 12, feature.getTableProperties().getTableFeatureProperties().size());\r
property = feature.getTableProperties().getTableFeatureProperties().get(0);\r
Assert.assertEquals("Wrong property type", "org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.table.feature.prop.type.table.feature.prop.type.Match",\r
property.getTableFeaturePropType().getImplementedInterface().getName());\r
return setFieldCaseBuilder.build();\r
}\r
\r
-}
+\r
+ private List<TableFeatures> convert(MultipartReplyTableFeatures features) {\r
+ Optional<List<TableFeatures>> listOptional = ConvertorManager.getInstance().convert(features);\r
+ return listOptional.orElse(Collections.emptyList());\r
+ }\r
+}
\ No newline at end of file