2 * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.openflowplugin.openflow.md.core.extension;
10 import org.opendaylight.openflowplugin.extension.api.GroupingLooseResolver;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchNodesNodeGroupBucketsBucketActionsSetField;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchNodesNodeTableFlow;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchNodesNodeTableFlowApplyActionsSetField;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchNodesNodeTableFlowWriteActionsSetField;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchNotifFlowsStatisticsUpdateApplyActionsSetField;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchNotifFlowsStatisticsUpdateWriteActionsSetField;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchNotifGroupDescStatsUpdatedSetField;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchNotifPacketIn;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchNotifSwitchFlowRemoved;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchNotifUpdateFlowStats;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchPacketInMessage;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchRpcAddFlow;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchRpcAddFlowApplyActionsSetField;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchRpcAddFlowWriteActionsSetField;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchRpcAddGroupSetField;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchRpcRemoveFlow;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchRpcRemoveFlowApplyActionsSetField;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchRpcRemoveFlowWriteActionsSetField;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchRpcRemoveGroupSetField;
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchRpcTransmitPacketSetField;
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchRpcUpdateFlowOriginal;
32 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchRpcUpdateFlowOriginalApplyActionsSetField;
33 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchRpcUpdateFlowOriginalWriteActionsSetField;
34 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchRpcUpdateFlowUpdated;
35 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchRpcUpdateFlowUpdatedApplyActionsSetField;
36 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchRpcUpdateFlowUpdatedWriteActionsSetField;
37 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchRpcUpdateGroupOriginalSetField;
38 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralAugMatchRpcUpdateGroupUpdatedSetField;
39 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.GeneralExtensionListGrouping;
41 public class ExtensionResolvers {
43 private static GroupingLooseResolver<GeneralExtensionListGrouping> matchExtensionResolver =
44 new GroupingLooseResolver<>(GeneralExtensionListGrouping.class)
45 .add(GeneralAugMatchRpcAddFlow.class)
46 .add(GeneralAugMatchRpcRemoveFlow.class)
47 .add(GeneralAugMatchRpcUpdateFlowOriginal.class)
48 .add(GeneralAugMatchRpcUpdateFlowUpdated.class)
49 .add(GeneralAugMatchNodesNodeTableFlow.class)
50 .add(GeneralAugMatchNotifPacketIn.class)
51 .add(GeneralAugMatchNotifUpdateFlowStats.class)
52 .add(GeneralAugMatchNotifSwitchFlowRemoved.class)
53 .add(GeneralAugMatchPacketInMessage.class)
54 // SetField extensions
55 .add(GeneralAugMatchRpcAddFlowWriteActionsSetField.class)
56 .add(GeneralAugMatchRpcAddFlowApplyActionsSetField.class)
57 .add(GeneralAugMatchRpcRemoveFlowWriteActionsSetField.class)
58 .add(GeneralAugMatchRpcRemoveFlowApplyActionsSetField.class)
59 .add(GeneralAugMatchRpcUpdateFlowOriginalWriteActionsSetField.class)
60 .add(GeneralAugMatchRpcUpdateFlowOriginalApplyActionsSetField.class)
61 .add(GeneralAugMatchRpcUpdateFlowUpdatedWriteActionsSetField.class)
62 .add(GeneralAugMatchRpcUpdateFlowUpdatedApplyActionsSetField.class)
63 .add(GeneralAugMatchRpcAddGroupSetField.class)
64 .add(GeneralAugMatchRpcRemoveGroupSetField.class)
65 .add(GeneralAugMatchRpcUpdateGroupOriginalSetField.class)
66 .add(GeneralAugMatchRpcUpdateGroupUpdatedSetField.class)
67 .add(GeneralAugMatchRpcTransmitPacketSetField.class)
68 .add(GeneralAugMatchNodesNodeTableFlowWriteActionsSetField.class)
69 .add(GeneralAugMatchNodesNodeTableFlowApplyActionsSetField.class)
70 .add(GeneralAugMatchNodesNodeGroupBucketsBucketActionsSetField.class)
71 .add(GeneralAugMatchNotifFlowsStatisticsUpdateWriteActionsSetField.class)
72 .add(GeneralAugMatchNotifFlowsStatisticsUpdateApplyActionsSetField.class)
73 .add(GeneralAugMatchNotifGroupDescStatsUpdatedSetField.class);
76 * @return the matchExtensionResolver (covers match rpcs and inventory augmentations)
78 public static GroupingLooseResolver<GeneralExtensionListGrouping> getMatchExtensionResolver() {
79 return matchExtensionResolver;