Remove guava dependency

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

Branch: refs/heads/jms-dev-1.1.0
Commit: f28dffe232d8c2a59c415a89818258682e09bc5d
Parents: 5b6ae8b
Author: zhangke <zhangke_beij...@qq.com>
Authored: Thu Mar 2 18:48:44 2017 +0800
Committer: zhangke <zhangke_beij...@qq.com>
Committed: Thu Mar 2 18:54:59 2017 +0800

----------------------------------------------------------------------
 pom.xml                                         | 13 +++---
 .../apache/rocketmq/jms/RocketMQSession.java    |  4 +-
 .../rocketmq/jms/msg/AbstractJMSMessage.java    | 12 +++---
 .../jms/msg/serialize/StringSerialize.java      | 18 ++------
 .../apache/rocketmq/jms/support/JMSUtils.java   | 19 +++++++++
 .../apache/rocketmq/jms/support/Prediction.java | 33 ++++++++++++++
 .../jms/integration/source/RocketMQAdmin.java   |  5 ++-
 .../rocketmq/jms/support/JMSUtilsTest.java      |  6 +++
 .../rocketmq/jms/support/PredictionTest.java    | 45 ++++++++++++++++++++
 9 files changed, 123 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/f28dffe2/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 7bd3af1..2b5ce14 100644
--- a/pom.xml
+++ b/pom.xml
@@ -56,11 +56,11 @@
             <artifactId>javax.jms-api</artifactId>
             <version>2.0.1</version>
         </dependency>
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-            <version>18.0</version>
-        </dependency>
+        <!--<dependency>-->
+            <!--<groupId>com.google.guava</groupId>-->
+            <!--<artifactId>guava</artifactId>-->
+            <!--<version>18.0</version>-->
+        <!--</dependency>-->
         <dependency>
             <groupId>commons-lang</groupId>
             <artifactId>commons-lang</artifactId>
@@ -139,7 +139,6 @@
                 <configuration>
                     <forkCount>1</forkCount>
                     <reuseForks>true</reuseForks>
-                    <argLine>@{failsafeArgLine}</argLine>
                     <includes>
                         <include>**/integration/**</include>
                     </includes>
@@ -251,7 +250,7 @@
                                         <limit 
implementation="org.jacoco.report.check.Limit">
                                             <counter>COMPLEXITY</counter>
                                             <value>COVEREDRATIO</value>
-                                            <minimum>0.20</minimum>
+                                            <minimum>0.30</minimum>
                                         </limit>
                                     </limits>
                                 </rule>

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/f28dffe2/src/main/java/org/apache/rocketmq/jms/RocketMQSession.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/rocketmq/jms/RocketMQSession.java 
b/src/main/java/org/apache/rocketmq/jms/RocketMQSession.java
index 59d5789..583b151 100644
--- a/src/main/java/org/apache/rocketmq/jms/RocketMQSession.java
+++ b/src/main/java/org/apache/rocketmq/jms/RocketMQSession.java
@@ -17,7 +17,6 @@
 
 package org.apache.rocketmq.jms;
 
-import com.google.common.base.Preconditions;
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.HashSet;
@@ -55,6 +54,7 @@ import org.apache.rocketmq.jms.msg.JMSMapMessage;
 import org.apache.rocketmq.jms.msg.JMSObjectMessage;
 import org.apache.rocketmq.jms.msg.JMSTextMessage;
 import org.apache.rocketmq.jms.support.JMSUtils;
+import org.apache.rocketmq.jms.support.Prediction;
 import org.apache.rocketmq.remoting.exception.RemotingException;
 import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
 import org.slf4j.Logger;
@@ -242,7 +242,7 @@ public class RocketMQSession implements Session {
 
     @Override
     public Topic createTopic(String topicName) throws JMSException {
-        Preconditions.checkNotNull(topicName);
+        Prediction.checkNotBlank(topicName, "TopicName could not be blank");
 
         return new RocketMQTopic(topicName);
     }

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/f28dffe2/src/main/java/org/apache/rocketmq/jms/msg/AbstractJMSMessage.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/rocketmq/jms/msg/AbstractJMSMessage.java 
b/src/main/java/org/apache/rocketmq/jms/msg/AbstractJMSMessage.java
index fecff14..b629024 100644
--- a/src/main/java/org/apache/rocketmq/jms/msg/AbstractJMSMessage.java
+++ b/src/main/java/org/apache/rocketmq/jms/msg/AbstractJMSMessage.java
@@ -17,16 +17,16 @@
 
 package org.apache.rocketmq.jms.msg;
 
-import com.google.common.collect.Maps;
-import com.google.common.io.BaseEncoding;
 import java.util.Collections;
 import java.util.Enumeration;
+import java.util.HashMap;
 import java.util.Map;
 import javax.jms.Destination;
 import javax.jms.JMSException;
 import javax.jms.MessageNotWriteableException;
 import org.apache.commons.lang.builder.ToStringBuilder;
 import org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum;
+import org.apache.rocketmq.jms.support.JMSUtils;
 
 import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSCorrelationID;
 import static org.apache.rocketmq.jms.msg.enums.JMSHeaderEnum.JMSDeliveryMode;
@@ -53,8 +53,8 @@ import static 
org.apache.rocketmq.jms.support.ObjectTypeCast.cast2String;
 
 public abstract class AbstractJMSMessage implements javax.jms.Message {
 
-    protected Map<JMSHeaderEnum, Object> headers = Maps.newHashMap();
-    protected Map<String, Object> properties = Maps.newHashMap();
+    protected Map<JMSHeaderEnum, Object> headers = new HashMap();
+    protected Map<String, Object> properties = new HashMap();
 
     protected boolean writeOnly;
 
@@ -86,7 +86,7 @@ public abstract class AbstractJMSMessage implements 
javax.jms.Message {
         String jmsCorrelationID = getJMSCorrelationID();
         if (jmsCorrelationID != null) {
             try {
-                return BaseEncoding.base64().decode(jmsCorrelationID);
+                return JMSUtils.string2Bytes(jmsCorrelationID);
             }
             catch (Exception e) {
                 return jmsCorrelationID.getBytes();
@@ -97,7 +97,7 @@ public abstract class AbstractJMSMessage implements 
javax.jms.Message {
 
     @Override
     public void setJMSCorrelationIDAsBytes(byte[] correlationID) {
-        String encodedText = BaseEncoding.base64().encode(correlationID);
+        String encodedText = JMSUtils.bytes2String(correlationID);
         setJMSCorrelationID(encodedText);
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/f28dffe2/src/main/java/org/apache/rocketmq/jms/msg/serialize/StringSerialize.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/rocketmq/jms/msg/serialize/StringSerialize.java 
b/src/main/java/org/apache/rocketmq/jms/msg/serialize/StringSerialize.java
index 9ee0d3b..b6119a5 100644
--- a/src/main/java/org/apache/rocketmq/jms/msg/serialize/StringSerialize.java
+++ b/src/main/java/org/apache/rocketmq/jms/msg/serialize/StringSerialize.java
@@ -17,15 +17,13 @@
 
 package org.apache.rocketmq.jms.msg.serialize;
 
-import com.google.common.base.Charsets;
-import java.nio.charset.Charset;
 import javax.jms.JMSException;
+import org.apache.rocketmq.jms.support.JMSUtils;
 
 public class StringSerialize implements Serialize<String> {
 
     private static final String EMPTY_STRING = "";
     private static final byte[] EMPTY_BYTES = new byte[0];
-    private static final Charset DEFAULT_CHARSET = Charsets.UTF_8;
     private static StringSerialize ins = new StringSerialize();
 
     public static StringSerialize instance() {
@@ -39,23 +37,13 @@ public class StringSerialize implements Serialize<String> {
         if (null == s) {
             return EMPTY_BYTES;
         }
-        try {
-            return s.getBytes(DEFAULT_CHARSET);
-        }
-        catch (Exception e) {
-            throw new JMSException(e.getMessage());
-        }
+        return JMSUtils.string2Bytes(s);
     }
 
     @Override public String deserialize(byte[] bytes) throws JMSException {
         if (null == bytes) {
             return EMPTY_STRING;
         }
-        try {
-            return new String(bytes, DEFAULT_CHARSET);
-        }
-        catch (Exception e) {
-            throw new JMSException(e.getMessage());
-        }
+        return JMSUtils.bytes2String(bytes);
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/f28dffe2/src/main/java/org/apache/rocketmq/jms/support/JMSUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/rocketmq/jms/support/JMSUtils.java 
b/src/main/java/org/apache/rocketmq/jms/support/JMSUtils.java
index bed8165..3558167 100644
--- a/src/main/java/org/apache/rocketmq/jms/support/JMSUtils.java
+++ b/src/main/java/org/apache/rocketmq/jms/support/JMSUtils.java
@@ -17,6 +17,8 @@
 
 package org.apache.rocketmq.jms.support;
 
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.Charset;
 import java.util.UUID;
 import javax.jms.Destination;
 import javax.jms.JMSException;
@@ -29,6 +31,8 @@ import org.apache.rocketmq.jms.RocketMQConsumer;
 
 public class JMSUtils {
 
+    public static final String  DEFAULT_CHARSET = "UTF-8";
+
     public static String getDestinationName(Destination destination) {
         try {
             String topicName;
@@ -91,4 +95,19 @@ public class JMSUtils {
     public static String uuid() {
         return UUID.randomUUID().toString();
     }
+
+    public static String bytes2String(byte[] bytes) {
+        Prediction.checkNotNull(bytes, "bytes could not be null");
+        return new String(bytes, Charset.forName(DEFAULT_CHARSET));
+    }
+
+    public static byte[] string2Bytes(String source) {
+        Prediction.checkNotNull(source, "source could be null");
+        try {
+            return source.getBytes(DEFAULT_CHARSET);
+        }
+        catch (UnsupportedEncodingException e) {
+            throw new JMSRuntimeException(ExceptionUtils.getStackTrace(e));
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/f28dffe2/src/main/java/org/apache/rocketmq/jms/support/Prediction.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/rocketmq/jms/support/Prediction.java 
b/src/main/java/org/apache/rocketmq/jms/support/Prediction.java
new file mode 100644
index 0000000..868c5d8
--- /dev/null
+++ b/src/main/java/org/apache/rocketmq/jms/support/Prediction.java
@@ -0,0 +1,33 @@
+/*
+ * 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.jms.support;
+
+public class Prediction {
+
+    public static void checkNotNull(Object obj, String errorMsg) {
+        if (obj == null) {
+            throw new IllegalArgumentException(errorMsg);
+        }
+    }
+
+    public static void checkNotBlank(String source, String errorMsg) {
+        if (source == null || source.trim().length() == 0) {
+            throw new IllegalArgumentException(errorMsg);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/f28dffe2/src/test/java/org/apache/rocketmq/jms/integration/source/RocketMQAdmin.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/rocketmq/jms/integration/source/RocketMQAdmin.java 
b/src/test/java/org/apache/rocketmq/jms/integration/source/RocketMQAdmin.java
index e602601..071dd5f 100644
--- 
a/src/test/java/org/apache/rocketmq/jms/integration/source/RocketMQAdmin.java
+++ 
b/src/test/java/org/apache/rocketmq/jms/integration/source/RocketMQAdmin.java
@@ -17,7 +17,8 @@
 
 package org.apache.rocketmq.jms.integration.source;
 
-import com.google.common.collect.Sets;
+import java.util.Arrays;
+import java.util.HashSet;
 import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
 import org.apache.commons.lang.exception.ExceptionUtils;
@@ -84,7 +85,7 @@ public class RocketMQAdmin {
 
     public void deleteTopic(String topic) {
         try {
-            
defaultMQAdminExt.deleteTopicInBroker(Sets.newHashSet(BROKER_ADDRESS), topic);
+            defaultMQAdminExt.deleteTopicInBroker(new 
HashSet(Arrays.asList(BROKER_ADDRESS)), topic);
         }
         catch (Exception e) {
             log.error("Delete topic:{}, addr:{} failed:{}", topic, 
BROKER_ADDRESS, ExceptionUtils.getStackTrace(e));

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/f28dffe2/src/test/java/org/apache/rocketmq/jms/support/JMSUtilsTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/rocketmq/jms/support/JMSUtilsTest.java 
b/src/test/java/org/apache/rocketmq/jms/support/JMSUtilsTest.java
index db15fee..2d9c901 100644
--- a/src/test/java/org/apache/rocketmq/jms/support/JMSUtilsTest.java
+++ b/src/test/java/org/apache/rocketmq/jms/support/JMSUtilsTest.java
@@ -59,4 +59,10 @@ public class JMSUtilsTest {
         assertThat(JMSUtils.uuid(), notNullValue());
     }
 
+    @Test
+    public void string2Bytes() throws Exception {
+        String source = "source";
+
+        assertThat(JMSUtils.bytes2String(JMSUtils.string2Bytes(source)), 
is(source));
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-externals/blob/f28dffe2/src/test/java/org/apache/rocketmq/jms/support/PredictionTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/rocketmq/jms/support/PredictionTest.java 
b/src/test/java/org/apache/rocketmq/jms/support/PredictionTest.java
new file mode 100644
index 0000000..50a29a8
--- /dev/null
+++ b/src/test/java/org/apache/rocketmq/jms/support/PredictionTest.java
@@ -0,0 +1,45 @@
+package org.apache.rocketmq.jms.support;
+
+import java.util.Date;
+import org.junit.Test;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.core.Is.is;
+
+public class PredictionTest {
+
+    @Test
+    public void checkNotNull() throws Exception {
+        Prediction.checkNotNull(new Date(), "Date could not be null");
+
+        try {
+            Prediction.checkNotNull(null, "Argument could not be null");
+            assertThat("Haven't throw IllegalArgumentException", false);
+        }
+        catch (IllegalArgumentException e) {
+            assertThat(e.getMessage(), is("Argument could not be null"));
+        }
+    }
+
+    @Test
+    public void checkNotBlank() throws Exception {
+        Prediction.checkNotBlank("name", "Name could not be null");
+
+        try {
+            Prediction.checkNotBlank(null, "Name could not be null");
+            assertThat("Haven't throw IllegalArgumentException", false);
+        }
+        catch (IllegalArgumentException e) {
+            assertThat(e.getMessage(), is("Name could not be null"));
+        }
+
+        try {
+            Prediction.checkNotBlank(" ", "Name could not be null");
+            assertThat("Haven't throw IllegalArgumentException", false);
+        }
+        catch (IllegalArgumentException e) {
+            assertThat(e.getMessage(), is("Name could not be null"));
+        }
+    }
+
+}
\ No newline at end of file

Reply via email to