X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fforwardingrulesmanager%2Fapi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fforwardingrulesmanager%2FFlowConfig.java;h=c56eb60a6b47d7f4093e56ade0a4d0b1d3262583;hb=a360d770ab0e49dbaed475178e9b5c1569ee8fca;hp=3ec9f8443a1264063ef79c4f192c0a9c9ea727ca;hpb=ce5411ee96b9430bddc3d83d753f377577e13c8f;p=controller.git diff --git a/opendaylight/forwardingrulesmanager/api/src/main/java/org/opendaylight/controller/forwardingrulesmanager/FlowConfig.java b/opendaylight/forwardingrulesmanager/api/src/main/java/org/opendaylight/controller/forwardingrulesmanager/FlowConfig.java index 3ec9f8443a..c56eb60a6b 100644 --- a/opendaylight/forwardingrulesmanager/api/src/main/java/org/opendaylight/controller/forwardingrulesmanager/FlowConfig.java +++ b/opendaylight/forwardingrulesmanager/api/src/main/java/org/opendaylight/controller/forwardingrulesmanager/FlowConfig.java @@ -8,19 +8,7 @@ package org.opendaylight.controller.forwardingrulesmanager; -import java.io.Serializable; -import java.net.Inet6Address; -import java.net.InetAddress; -import java.util.ArrayList; -import java.util.List; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - +import org.opendaylight.controller.configuration.ConfigurationObject; import org.opendaylight.controller.sal.action.Action; import org.opendaylight.controller.sal.action.ActionType; import org.opendaylight.controller.sal.action.Controller; @@ -62,16 +50,27 @@ import org.opendaylight.controller.switchmanager.Switch; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import java.io.Serializable; +import java.net.Inet6Address; +import java.net.InetAddress; +import java.util.ArrayList; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + /** * Configuration Java Object which represents a flow configuration information * for Forwarding Rules Manager. */ @XmlRootElement @XmlAccessorType(XmlAccessType.NONE) -public class FlowConfig implements Serializable { +public class FlowConfig extends ConfigurationObject implements Serializable { private static final long serialVersionUID = 1L; private static final Logger log = LoggerFactory.getLogger(FlowConfig.class); - private static final String NAMEREGEX = "^[a-zA-Z0-9]+$"; public static final String STATICFLOWGROUP = "__StaticFlows__"; public static final String INTERNALSTATICFLOWGROUP = "__InternalStaticFlows__"; public static final String INTERNALSTATICFLOWBEGIN = "__"; @@ -688,7 +687,8 @@ public class FlowConfig implements Serializable { Switch sw = null; try { - if (name == null || name.trim().isEmpty() || !name.matches(FlowConfig.NAMEREGEX)) { + // Flow name cannot be internal flow signature + if (!isValidResourceName(name) || isInternalFlow()) { return new Status(StatusCode.BADREQUEST, "Invalid name"); } @@ -1044,6 +1044,7 @@ public class FlowConfig implements Serializable { } Flow flow = new Flow(match, getActionList()); + if (this.cookie != null) { flow.setId(Long.parseLong(cookie)); } @@ -1056,6 +1057,8 @@ public class FlowConfig implements Serializable { if (this.priority != null) { flow.setPriority(Integer.decode(this.priority).shortValue()); } + + return flow; }