From: Ed Warnicke Date: Mon, 10 Feb 2014 11:53:48 +0000 (+0000) Subject: Merge "BUG 408" X-Git-Tag: autorelease-tag-v20140601202136_82eb3f9~509 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=33f102dc5c43c1cbdcdb1a70255d6923ea9ee327;hp=2a32748fe64ddeeec7f0a3973d709e822a7df7cf Merge "BUG 408" --- 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/protocol_plugins/openflow/src/main/java/org/opendaylight/controller/protocol_plugin/openflow/internal/DiscoveryService.java b/opendaylight/protocol_plugins/openflow/src/main/java/org/opendaylight/controller/protocol_plugin/openflow/internal/DiscoveryService.java index 394be07dee..b29ce15f56 100644 --- a/opendaylight/protocol_plugins/openflow/src/main/java/org/opendaylight/controller/protocol_plugin/openflow/internal/DiscoveryService.java +++ b/opendaylight/protocol_plugins/openflow/src/main/java/org/opendaylight/controller/protocol_plugin/openflow/internal/DiscoveryService.java @@ -391,7 +391,12 @@ public class DiscoveryService implements IInventoryShimExternalListener, IDataPa updateProdEdge(edge, props); } catch (Exception e) { - logger.warn("Caught exception ", e); + if (logger.isDebugEnabled()) { + logger.debug( + "Caught exception while attempting to snoop non controller generated or malformed LLDP frame sent by {} and received on {}: {}", + HexEncode.bytesToHexStringFormat(ethPkt.getSourceMACAddress()), dstNodeConnector, + e.getMessage()); + } } } 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); }