From 35343e9f334222b88700d9fc9c1b8359f14f04c8 Mon Sep 17 00:00:00 2001 From: Alessandro Boch Date: Fri, 7 Feb 2014 06:20:03 -0800 Subject: [PATCH] Fix incorrect validation in SwitchConfig Change-Id: Ie9267b97b8742f9bd5ebbd85a4f0dc05bf1cebd9 Signed-off-by: Alessandro Boch --- .../configuration/ConfigurationObject.java | 2 +- .../controller/switchmanager/SwitchConfig.java | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/opendaylight/configuration/api/src/main/java/org/opendaylight/controller/configuration/ConfigurationObject.java b/opendaylight/configuration/api/src/main/java/org/opendaylight/controller/configuration/ConfigurationObject.java index 720dc7b234..7151e561b1 100644 --- a/opendaylight/configuration/api/src/main/java/org/opendaylight/controller/configuration/ConfigurationObject.java +++ b/opendaylight/configuration/api/src/main/java/org/opendaylight/controller/configuration/ConfigurationObject.java @@ -12,7 +12,7 @@ import java.io.Serializable; public abstract class ConfigurationObject implements Serializable { private static final long serialVersionUID = 1L; - private static final String DEFAULT_REGEX = "^[\\w-=\\+\\*\\/\\.\\(\\)\\[\\]\\@\\|\\:]{1,256}$"; + private static final String DEFAULT_REGEX = "^[\\w-=\\+\\*\\.\\(\\)\\[\\]\\@\\|\\:]{1,256}$"; private static final String REGEX_PROP_NAME = "resourceNameRegularExpression"; private static String regex; diff --git a/opendaylight/switchmanager/api/src/main/java/org/opendaylight/controller/switchmanager/SwitchConfig.java b/opendaylight/switchmanager/api/src/main/java/org/opendaylight/controller/switchmanager/SwitchConfig.java index de18b021ff..b8d022f30e 100644 --- a/opendaylight/switchmanager/api/src/main/java/org/opendaylight/controller/switchmanager/SwitchConfig.java +++ b/opendaylight/switchmanager/api/src/main/java/org/opendaylight/controller/switchmanager/SwitchConfig.java @@ -21,7 +21,7 @@ import org.opendaylight.controller.sal.utils.Status; import org.opendaylight.controller.sal.utils.StatusCode; /** - * The class describes a switch configuration + * The class describes a switch configuration as a collection of properties */ public class SwitchConfig extends ConfigurationObject implements Cloneable, Serializable { private static final long serialVersionUID = 1L; @@ -123,15 +123,20 @@ public class SwitchConfig extends ConfigurationObject implements Cloneable, Seri } private Status validateNodeId() { - if (!isValidResourceName(nodeId)) { - return new Status(StatusCode.BADREQUEST, "Invalid NodeId"); + if (nodeId == null || nodeId.trim().isEmpty()) { + return new Status(StatusCode.BADREQUEST, "Invalid node id"); } return new Status(StatusCode.SUCCESS); } private Status validateNodeProperties() { if (nodeProperties == null) { - return new Status(StatusCode.BADREQUEST, "nodeProperties cannot be null"); + return new Status(StatusCode.BADREQUEST, "Node properties must be specified"); + } + if (nodeProperties.containsKey(Description.propertyName)) { + if (!isValidResourceName(((Description)nodeProperties.get(Description.propertyName)).getValue())) { + return new Status(StatusCode.BADREQUEST, "Invalid node description"); + } } return new Status(StatusCode.SUCCESS); } -- 2.36.6