package org.opennaas.extensions.openflowswitch.helpers; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.opennaas.extensions.openflowswitch.model.FloodlightOFMatch; import org.opennaas.extensions.openflowswitch.model.OFFlow; import org.opennaas.extensions.openflowswitch.model.OFFlowTable; import org.opennaas.extensions.openflowswitch.model.OpenflowSwitchModel; public abstract class OpenflowSwitchModelHelper { static Log log = LogFactory.getLog(OpenflowSwitchModelHelper.class); public static List<OFFlow> getSwitchForwardingRules(OpenflowSwitchModel model) { List<OFFlow> forwardingRules = new ArrayList<OFFlow>(); Iterator<OFFlowTable> iterator = model.getOfTables().iterator(); while (iterator.hasNext()) { OFFlowTable it = iterator.next(); forwardingRules.addAll(it.getOfForwardingRules()); } return forwardingRules; } public static OpenflowSwitchModel generateSampleModel() { OpenflowSwitchModel model = new OpenflowSwitchModel(); List<OFFlow> forwardingRules = generateSampleOFForwardingRules(); OFFlowTable table = new OFFlowTable(); table.setTableId("table1"); table.setOfForwardingRules(forwardingRules); model.getOfTables().add(table); return model; } public static List<OFFlow> generateSampleOFForwardingRules() { List<OFFlow> rules = new ArrayList<OFFlow>(); OFFlow rule1 = generateSampleOFForwardingRule("1", "1", "1"); OFFlow rule2 = generateSampleOFForwardingRule("2", "2", "2"); rules.add(rule1); rules.add(rule2); return rules; } public static OFFlow generateSampleOFForwardingRule(String flowId, String dstPort, String priority) { OFFlow rule = new OFFlow(); FloodlightOFMatch match = new FloodlightOFMatch(); match.setDstPort(dstPort); rule.setName(flowId); rule.setPriority(priority); rule.setMatch(match); return rule; } }