You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by yu...@apache.org on 2017/08/01 07:27:13 UTC

[48/50] [abbrv] incubator-rocketmq git commit: [ROCKETMQ-244] Message#putUserProperty uses == for String comparison.

[ROCKETMQ-244] Message#putUserProperty uses == for String comparison.

Signed-off-by: shroman <rs...@yahoo.com>


Project: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/commit/118bdec9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/tree/118bdec9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/diff/118bdec9

Branch: refs/heads/master
Commit: 118bdec96005ce695295bcf0d9082e0230e69bf7
Parents: 3672f70
Author: shroman <rs...@yahoo.com>
Authored: Fri Jul 14 13:51:36 2017 +0900
Committer: shroman <rs...@yahoo.com>
Committed: Fri Jul 14 13:51:36 2017 +0900

----------------------------------------------------------------------
 .../apache/rocketmq/common/message/Message.java |  6 +-
 .../rocketmq/common/message/MessageTest.java    | 68 ++++++++++++++++++++
 2 files changed, 72 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/118bdec9/common/src/main/java/org/apache/rocketmq/common/message/Message.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/rocketmq/common/message/Message.java b/common/src/main/java/org/apache/rocketmq/common/message/Message.java
index 2c81f5c..15ba214 100644
--- a/common/src/main/java/org/apache/rocketmq/common/message/Message.java
+++ b/common/src/main/java/org/apache/rocketmq/common/message/Message.java
@@ -81,12 +81,14 @@ public class Message implements Serializable {
             throw new RuntimeException(String.format(
                 "The Property<%s> is used by system, input another please", name));
         }
-        if (value == null || value == "" || value.trim() == ""
-            || name == null || name == "" || name.trim() == "") {
+
+        if (value == null || value.trim().isEmpty()
+            || name == null || name.trim().isEmpty()) {
             throw new IllegalArgumentException(
                 "The name or value of property can not be null or blank string!"
             );
         }
+
         this.putProperty(name, value);
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/118bdec9/common/src/test/java/org/apache/rocketmq/common/message/MessageTest.java
----------------------------------------------------------------------
diff --git a/common/src/test/java/org/apache/rocketmq/common/message/MessageTest.java b/common/src/test/java/org/apache/rocketmq/common/message/MessageTest.java
new file mode 100644
index 0000000..c867360
--- /dev/null
+++ b/common/src/test/java/org/apache/rocketmq/common/message/MessageTest.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.rocketmq.common.message;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import static org.apache.rocketmq.common.message.MessageConst.PROPERTY_TRACE_SWITCH;
+import static org.junit.Assert.*;
+
+public class MessageTest {
+    @Test(expected = RuntimeException.class)
+    public void putUserPropertyWithRuntimeException() throws Exception {
+        Message m = new Message();
+
+        m.putUserProperty(PROPERTY_TRACE_SWITCH, "");
+    }
+
+    @Test(expected = IllegalArgumentException.class)
+    public void putUserNullValuePropertyWithException() throws Exception {
+        Message m = new Message();
+
+        m.putUserProperty("prop1", null);
+    }
+
+    @Test(expected = IllegalArgumentException.class)
+    public void putUserEmptyValuePropertyWithException() throws Exception {
+        Message m = new Message();
+
+        m.putUserProperty("prop1", "   ");
+    }
+
+    @Test(expected = IllegalArgumentException.class)
+    public void putUserNullNamePropertyWithException() throws Exception {
+        Message m = new Message();
+
+        m.putUserProperty(null, "val1");
+    }
+
+    @Test(expected = IllegalArgumentException.class)
+    public void putUserEmptyNamePropertyWithException() throws Exception {
+        Message m = new Message();
+
+        m.putUserProperty("   ", "val1");
+    }
+
+    @Test
+    public void putUserProperty() throws Exception {
+        Message m = new Message();
+
+        m.putUserProperty("prop1", "val1");
+        Assert.assertEquals("val1", m.getUserProperty("prop1"));
+    }
+}