2 * Copyright (c) 2016 Hewlett-Packard Enterprise 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.extension.vendor.nicira.convertor.action;
10 import java.util.ArrayList;
11 import java.util.List;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.learn.grouping.NxActionLearn;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.learn.grouping.NxActionLearnBuilder;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.NxActionLearnGrouping;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flow.mod.spec.FlowModSpec;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flow.mod.spec.flow.mod.spec.FlowModAddMatchFromFieldCase;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flow.mod.spec.flow.mod.spec.FlowModAddMatchFromFieldCaseBuilder;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flow.mod.spec.flow.mod.spec.FlowModAddMatchFromValueCase;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flow.mod.spec.flow.mod.spec.FlowModAddMatchFromValueCaseBuilder;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flow.mod.spec.flow.mod.spec.FlowModCopyFieldIntoFieldCase;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flow.mod.spec.flow.mod.spec.FlowModCopyFieldIntoFieldCaseBuilder;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flow.mod.spec.flow.mod.spec.FlowModCopyValueIntoFieldCase;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flow.mod.spec.flow.mod.spec.FlowModCopyValueIntoFieldCaseBuilder;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flow.mod.spec.flow.mod.spec.FlowModOutputToPortCase;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flow.mod.spec.flow.mod.spec.FlowModOutputToPortCaseBuilder;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flow.mod.spec.flow.mod.spec.flow.mod.add.match.from.field._case.FlowModAddMatchFromField;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flow.mod.spec.flow.mod.spec.flow.mod.add.match.from.field._case.FlowModAddMatchFromFieldBuilder;
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flow.mod.spec.flow.mod.spec.flow.mod.add.match.from.value._case.FlowModAddMatchFromValue;
29 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flow.mod.spec.flow.mod.spec.flow.mod.add.match.from.value._case.FlowModAddMatchFromValueBuilder;
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flow.mod.spec.flow.mod.spec.flow.mod.copy.field.into.field._case.FlowModCopyFieldIntoField;
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flow.mod.spec.flow.mod.spec.flow.mod.copy.field.into.field._case.FlowModCopyFieldIntoFieldBuilder;
32 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flow.mod.spec.flow.mod.spec.flow.mod.copy.value.into.field._case.FlowModCopyValueIntoField;
33 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flow.mod.spec.flow.mod.spec.flow.mod.copy.value.into.field._case.FlowModCopyValueIntoFieldBuilder;
34 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flow.mod.spec.flow.mod.spec.flow.mod.output.to.port._case.FlowModOutputToPort;
35 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.flow.mod.spec.flow.mod.spec.flow.mod.output.to.port._case.FlowModOutputToPortBuilder;
36 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.learn.grouping.NxLearn;
37 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.learn.grouping.NxLearnBuilder;
38 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.learn.grouping.nx.learn.FlowMods;
39 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.learn.grouping.nx.learn.FlowModsBuilder;
41 public final class LearnConvertorUtil {
42 private LearnConvertorUtil() {
49 static void convertUp(NxActionLearn action, NxLearnBuilder builder) {
50 builder.setFlags(action.getFlags());
51 builder.setCookie(action.getCookie());
52 builder.setFinHardTimeout(action.getFinHardTimeout());
53 builder.setFinIdleTimeout(action.getFinIdleTimeout());
54 builder.setHardTimeout(action.getHardTimeout());
55 builder.setIdleTimeout(action.getIdleTimeout());
56 builder.setPriority(action.getPriority());
57 builder.setTableId(action.getTableId());
58 builder.setFlowMods(getFlowMods(action));
61 private static List<FlowMods> getFlowMods(NxActionLearn action) {
62 if (action.getFlowMods() == null) {
66 List<FlowMods> flowMods = new ArrayList<>();
67 for (org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.learn
68 .grouping.nx.action.learn.FlowMods flowMod : action.getFlowMods()) {
69 FlowModsBuilder flowModBuilder = new FlowModsBuilder();
70 FlowModSpec flowModSpec = buildExtFlowModSpec(flowMod.getFlowModSpec());
71 flowModBuilder.setFlowModSpec(flowModSpec);
72 flowMods.add(flowModBuilder.build());
77 private static List<org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action
78 .learn.grouping.nx.action.learn.FlowMods> getFlowMods(NxLearn nxLearn) {
79 if (nxLearn.getFlowMods() == null) {
83 List<org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.learn
84 .grouping.nx.action.learn.FlowMods> flowMods = new ArrayList<>();
85 for (FlowMods flowMod : nxLearn.getFlowMods()) {
86 org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.learn
87 .grouping.nx.action.learn.FlowModsBuilder flowModBuilder = new org.opendaylight.yang.gen.v1.urn
88 .opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.learn.grouping.nx.action.learn
90 org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec.FlowModSpec
91 flowModSpec = buildFlowModSpec(flowMod.getFlowModSpec());
92 flowModBuilder.setFlowModSpec(flowModSpec);
93 flowMods.add(flowModBuilder.build());
98 private static FlowModSpec buildExtFlowModSpec(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action
99 .rev140421.flow.mod.spec.FlowModSpec flowModSpec) {
100 if (flowModSpec instanceof org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow
101 .mod.spec.flow.mod.spec.FlowModAddMatchFromFieldCase) {
102 org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec.flow.mod.spec
103 .flow.mod.add.match.from.field._case.FlowModAddMatchFromField flowModAdd2 =
104 ((org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec
105 .flow.mod.spec.FlowModAddMatchFromFieldCase) flowModSpec).getFlowModAddMatchFromField();
106 FlowModAddMatchFromFieldBuilder flowModAdd = new FlowModAddMatchFromFieldBuilder();
107 flowModAdd.setDstField(flowModAdd2.getDstField());
108 flowModAdd.setSrcField(flowModAdd2.getSrcField());
109 flowModAdd.setDstOfs(flowModAdd2.getDstOfs());
110 flowModAdd.setSrcOfs(flowModAdd2.getSrcOfs());
111 flowModAdd.setFlowModNumBits(flowModAdd2.getFlowModNumBits());
112 FlowModAddMatchFromFieldCaseBuilder caseBuilder = new FlowModAddMatchFromFieldCaseBuilder();
113 caseBuilder.setFlowModAddMatchFromField(flowModAdd.build());
114 return caseBuilder.build();
115 } else if (flowModSpec instanceof org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action
116 .rev140421.flow.mod.spec.flow.mod.spec.FlowModAddMatchFromValueCase) {
117 org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec.flow.mod
118 .spec.flow.mod.add.match.from.value._case.FlowModAddMatchFromValue flowModAdd2 =
119 ((org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec
120 .flow.mod.spec.FlowModAddMatchFromValueCase) flowModSpec).getFlowModAddMatchFromValue();
121 FlowModAddMatchFromValueBuilder flowModAdd = new FlowModAddMatchFromValueBuilder();
122 flowModAdd.setValue(flowModAdd2.getValue());
123 flowModAdd.setSrcField(flowModAdd2.getSrcField());
124 flowModAdd.setSrcOfs(flowModAdd2.getSrcOfs());
125 flowModAdd.setFlowModNumBits(flowModAdd2.getFlowModNumBits());
126 FlowModAddMatchFromValueCaseBuilder caseBuilder = new FlowModAddMatchFromValueCaseBuilder();
127 caseBuilder.setFlowModAddMatchFromValue(flowModAdd.build());
128 return caseBuilder.build();
129 } else if (flowModSpec instanceof org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action
130 .rev140421.flow.mod.spec.flow.mod.spec.FlowModCopyFieldIntoFieldCase) {
131 org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec.flow.mod
132 .spec.flow.mod.copy.field.into.field._case.FlowModCopyFieldIntoField flowModCopy2 =
133 ((org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec
134 .flow.mod.spec.FlowModCopyFieldIntoFieldCase) flowModSpec).getFlowModCopyFieldIntoField();
135 FlowModCopyFieldIntoFieldBuilder flowModCopy = new FlowModCopyFieldIntoFieldBuilder();
136 flowModCopy.setDstField(flowModCopy2.getDstField());
137 flowModCopy.setDstOfs(flowModCopy2.getDstOfs());
138 flowModCopy.setSrcField(flowModCopy2.getSrcField());
139 flowModCopy.setSrcOfs(flowModCopy2.getSrcOfs());
140 flowModCopy.setFlowModNumBits(flowModCopy2.getFlowModNumBits());
141 FlowModCopyFieldIntoFieldCaseBuilder caseBuilder = new FlowModCopyFieldIntoFieldCaseBuilder();
142 caseBuilder.setFlowModCopyFieldIntoField(flowModCopy.build());
143 return caseBuilder.build();
144 } else if (flowModSpec instanceof org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action
145 .rev140421.flow.mod.spec.flow.mod.spec.FlowModCopyValueIntoFieldCase) {
146 org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec.flow.mod
147 .spec.flow.mod.copy.value.into.field._case.FlowModCopyValueIntoField flowModCopy2 =
148 ((org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec
149 .flow.mod.spec.FlowModCopyValueIntoFieldCase) flowModSpec).getFlowModCopyValueIntoField();
150 FlowModCopyValueIntoFieldBuilder flowModCopy = new FlowModCopyValueIntoFieldBuilder();
151 flowModCopy.setValue(flowModCopy2.getValue());
152 flowModCopy.setDstField(flowModCopy2.getDstField());
153 flowModCopy.setDstOfs(flowModCopy2.getDstOfs());
154 flowModCopy.setFlowModNumBits(flowModCopy2.getFlowModNumBits());
155 FlowModCopyValueIntoFieldCaseBuilder caseBuilder = new FlowModCopyValueIntoFieldCaseBuilder();
156 caseBuilder.setFlowModCopyValueIntoField(flowModCopy.build());
157 return caseBuilder.build();
158 } else if (flowModSpec instanceof org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action
159 .rev140421.flow.mod.spec.flow.mod.spec.FlowModOutputToPortCase) {
160 org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec.flow.mod
161 .spec.flow.mod.output.to.port._case.FlowModOutputToPort flowModOut2 =
162 ((org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec
163 .flow.mod.spec.FlowModOutputToPortCase) flowModSpec).getFlowModOutputToPort();
164 FlowModOutputToPortBuilder flowModOut = new FlowModOutputToPortBuilder();
165 flowModOut.setSrcField(flowModOut2.getSrcField());
166 flowModOut.setSrcOfs(flowModOut2.getSrcOfs());
167 flowModOut.setFlowModNumBits(flowModOut2.getFlowModNumBits());
168 FlowModOutputToPortCaseBuilder caseBuilder = new FlowModOutputToPortCaseBuilder();
169 caseBuilder.setFlowModOutputToPort(flowModOut.build());
170 return caseBuilder.build();
179 static void convertDown(NxActionLearnGrouping nxAction, NxActionLearnBuilder nxActionLearnBuilder) {
180 nxActionLearnBuilder.setFlags(nxAction.getNxLearn().getFlags());
181 nxActionLearnBuilder.setCookie(nxAction.getNxLearn().getCookie());
182 nxActionLearnBuilder.setFinHardTimeout(nxAction.getNxLearn().getFinHardTimeout());
183 nxActionLearnBuilder.setFinIdleTimeout(nxAction.getNxLearn().getFinIdleTimeout());
184 nxActionLearnBuilder.setHardTimeout(nxAction.getNxLearn().getHardTimeout());
185 nxActionLearnBuilder.setIdleTimeout(nxAction.getNxLearn().getIdleTimeout());
186 nxActionLearnBuilder.setPriority(nxAction.getNxLearn().getPriority());
187 nxActionLearnBuilder.setTableId(nxAction.getNxLearn().getTableId());
188 nxActionLearnBuilder.setFlowMods(getFlowMods(nxAction.getNxLearn()));
191 private static org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec
192 .FlowModSpec buildFlowModSpec(FlowModSpec flowModSpec) {
193 if (flowModSpec instanceof FlowModAddMatchFromFieldCase) {
194 FlowModAddMatchFromField flowModAdd2 = ((FlowModAddMatchFromFieldCase) flowModSpec)
195 .getFlowModAddMatchFromField();
196 org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec.flow.mod
197 .spec.flow.mod.add.match.from.field._case.FlowModAddMatchFromFieldBuilder flowModAdd =
198 new org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec
199 .flow.mod.spec.flow.mod.add.match.from.field._case.FlowModAddMatchFromFieldBuilder();
200 flowModAdd.setDstField(flowModAdd2.getDstField());
201 flowModAdd.setSrcField(flowModAdd2.getSrcField());
202 flowModAdd.setDstOfs(flowModAdd2.getDstOfs());
203 flowModAdd.setSrcOfs(flowModAdd2.getSrcOfs());
204 flowModAdd.setFlowModNumBits(flowModAdd2.getFlowModNumBits());
205 org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec.flow.mod.spec
206 .FlowModAddMatchFromFieldCaseBuilder caseBuilder = new org.opendaylight.yang.gen.v1.urn.opendaylight
207 .openflowjava.nx.action.rev140421.flow.mod.spec.flow.mod.spec.FlowModAddMatchFromFieldCaseBuilder();
208 caseBuilder.setFlowModAddMatchFromField(flowModAdd.build());
209 return caseBuilder.build();
210 } else if (flowModSpec instanceof FlowModAddMatchFromValueCase) {
211 FlowModAddMatchFromValue flowModAdd2 = ((FlowModAddMatchFromValueCase) flowModSpec)
212 .getFlowModAddMatchFromValue();
213 org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec.flow.mod.spec
214 .flow.mod.add.match.from.value._case.FlowModAddMatchFromValueBuilder flowModAdd =
215 new org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec
216 .flow.mod.spec.flow.mod.add.match.from.value._case.FlowModAddMatchFromValueBuilder();
217 flowModAdd.setValue(flowModAdd2.getValue());
218 flowModAdd.setSrcField(flowModAdd2.getSrcField());
219 flowModAdd.setSrcOfs(flowModAdd2.getSrcOfs());
220 flowModAdd.setFlowModNumBits(flowModAdd2.getFlowModNumBits());
221 org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec.flow.mod.spec
222 .FlowModAddMatchFromValueCaseBuilder caseBuilder = new org.opendaylight.yang.gen.v1.urn.opendaylight
223 .openflowjava.nx.action.rev140421.flow.mod.spec.flow.mod.spec.FlowModAddMatchFromValueCaseBuilder();
224 caseBuilder.setFlowModAddMatchFromValue(flowModAdd.build());
225 return caseBuilder.build();
226 } else if (flowModSpec instanceof FlowModCopyFieldIntoFieldCase) {
227 FlowModCopyFieldIntoField flowModCopy2 = ((FlowModCopyFieldIntoFieldCase) flowModSpec)
228 .getFlowModCopyFieldIntoField();
229 org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec.flow.mod.spec
230 .flow.mod.copy.field.into.field._case.FlowModCopyFieldIntoFieldBuilder flowModCopy =
231 new org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec
232 .flow.mod.spec.flow.mod.copy.field.into.field._case.FlowModCopyFieldIntoFieldBuilder();
233 flowModCopy.setDstField(flowModCopy2.getDstField());
234 flowModCopy.setDstOfs(flowModCopy2.getDstOfs());
235 flowModCopy.setSrcField(flowModCopy2.getSrcField());
236 flowModCopy.setSrcOfs(flowModCopy2.getSrcOfs());
237 flowModCopy.setFlowModNumBits(flowModCopy2.getFlowModNumBits());
238 org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec.flow.mod.spec
239 .FlowModCopyFieldIntoFieldCaseBuilder caseBuilder = new org.opendaylight.yang.gen.v1.urn.opendaylight
240 .openflowjava.nx.action.rev140421.flow.mod.spec.flow.mod.spec
241 .FlowModCopyFieldIntoFieldCaseBuilder();
242 caseBuilder.setFlowModCopyFieldIntoField(flowModCopy.build());
243 return caseBuilder.build();
244 } else if (flowModSpec instanceof FlowModCopyValueIntoFieldCase) {
245 FlowModCopyValueIntoField flowModCopy2 = ((FlowModCopyValueIntoFieldCase) flowModSpec)
246 .getFlowModCopyValueIntoField();
247 org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec.flow.mod.spec
248 .flow.mod.copy.value.into.field._case.FlowModCopyValueIntoFieldBuilder flowModCopy =
249 new org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec
250 .flow.mod.spec.flow.mod.copy.value.into.field._case.FlowModCopyValueIntoFieldBuilder();
251 flowModCopy.setDstField(flowModCopy2.getDstField());
252 flowModCopy.setDstOfs(flowModCopy2.getDstOfs());
253 flowModCopy.setValue(flowModCopy2.getValue());
254 flowModCopy.setFlowModNumBits(flowModCopy2.getFlowModNumBits());
255 org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec.flow.mod.spec
256 .FlowModCopyValueIntoFieldCaseBuilder caseBuilder = new org.opendaylight.yang.gen.v1.urn.opendaylight
257 .openflowjava.nx.action.rev140421.flow.mod.spec.flow.mod.spec
258 .FlowModCopyValueIntoFieldCaseBuilder();
259 caseBuilder.setFlowModCopyValueIntoField(flowModCopy.build());
260 return caseBuilder.build();
261 } else if (flowModSpec instanceof FlowModOutputToPortCase) {
262 FlowModOutputToPort flowModOut2 = ((FlowModOutputToPortCase) flowModSpec).getFlowModOutputToPort();
263 org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec.flow.mod.spec
264 .flow.mod.output.to.port._case.FlowModOutputToPortBuilder flowModOut =
265 new org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec
266 .flow.mod.spec.flow.mod.output.to.port._case.FlowModOutputToPortBuilder();
267 flowModOut.setSrcField(flowModOut2.getSrcField());
268 flowModOut.setSrcOfs(flowModOut2.getSrcOfs());
269 flowModOut.setFlowModNumBits(flowModOut2.getFlowModNumBits());
270 org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.flow.mod.spec.flow.mod.spec
271 .FlowModOutputToPortCaseBuilder caseBuilder = new org.opendaylight.yang.gen.v1.urn.opendaylight
272 .openflowjava.nx.action.rev140421.flow.mod.spec.flow.mod.spec.FlowModOutputToPortCaseBuilder();
273 caseBuilder.setFlowModOutputToPort(flowModOut.build());
274 return caseBuilder.build();