changeset 851:ff0f033570c2

Keep Commons Codec at newest version, ship with Eclipse client Since the version of commons-codec available in Eclipse is so old (v1.3), I propose reverting my previous change found here [1] in favour of a different solution. Rather than lower Thermostat to an older version of commons-codec, I feel we might as well just ship the newer version with the Eclipse client's core Thermostat dependencies. This will avoid potentially introducing bugs to core Thermostat. Reviewed-by: vanaltj Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2012-December/004595.html
author Elliott Baron <ebaron@redhat.com>
date Wed, 12 Dec 2012 16:11:10 -0500
parents 9f569536d421
children c78625c43086
files agent/command/pom.xml agent/command/src/main/java/com/redhat/thermostat/agent/command/internal/ServerHandler.java client/command/pom.xml client/command/src/main/java/com/redhat/thermostat/client/command/internal/RequestQueueImpl.java common/core/src/main/java/com/redhat/thermostat/common/utils/StringUtils.java distribution/pom.xml eclipse/com.redhat.thermostat.client.feature/feature.xml pom.xml web/client/pom.xml web/server/pom.xml web/server/src/main/java/com/redhat/thermostat/web/server/WebStorageEndPoint.java web/server/src/test/java/com/redhat/thermostat/web/server/WebStorageEndpointTest.java
diffstat 12 files changed, 25 insertions(+), 44 deletions(-) [+]
line wrap: on
line diff
--- a/agent/command/pom.xml	Wed Dec 12 15:52:00 2012 -0500
+++ b/agent/command/pom.xml	Wed Dec 12 16:11:10 2012 -0500
@@ -81,8 +81,8 @@
     </dependency>
 
     <dependency>
-      <groupId>org.apache.servicemix.bundles</groupId>
-      <artifactId>org.apache.servicemix.bundles.commons-codec</artifactId>
+      <groupId>commons-codec</groupId>
+      <artifactId>commons-codec</artifactId>
       <version>${commons-codec.version}</version>
     </dependency>
 
--- a/agent/command/src/main/java/com/redhat/thermostat/agent/command/internal/ServerHandler.java	Wed Dec 12 15:52:00 2012 -0500
+++ b/agent/command/src/main/java/com/redhat/thermostat/agent/command/internal/ServerHandler.java	Wed Dec 12 16:11:10 2012 -0500
@@ -54,10 +54,10 @@
 import com.redhat.thermostat.agent.command.ReceiverRegistry;
 import com.redhat.thermostat.agent.command.RequestReceiver;
 import com.redhat.thermostat.common.command.Request;
+import com.redhat.thermostat.common.command.Request.RequestType;
 import com.redhat.thermostat.common.command.Response;
 import com.redhat.thermostat.common.command.Response.ResponseType;
 import com.redhat.thermostat.common.utils.LoggingUtils;
-import com.redhat.thermostat.common.utils.StringUtils;
 import com.redhat.thermostat.storage.core.AuthToken;
 import com.redhat.thermostat.storage.core.SecureStorage;
 import com.redhat.thermostat.storage.core.Storage;
@@ -112,9 +112,9 @@
 
     private boolean authenticateRequest(Request request, SecureStorage storage) {
         String clientTokenStr = request.getParameter(Request.CLIENT_TOKEN);
-        byte[] clientToken = Base64.decodeBase64(StringUtils.fromUtf8String((clientTokenStr)));
+        byte[] clientToken = Base64.decodeBase64(clientTokenStr);
         String authTokenStr = request.getParameter(Request.AUTH_TOKEN);
-        byte[] authToken = Base64.decodeBase64(StringUtils.fromUtf8String((authTokenStr)));
+        byte[] authToken = Base64.decodeBase64(authTokenStr);
         AuthToken token = new AuthToken(authToken, clientToken);
         return storage.verifyToken(token);
     }
@@ -124,5 +124,5 @@
         logger.log(Level.WARNING, "Unexpected exception from downstream.", e.getCause());
         e.getChannel().close();
     }
-    
+
 }
--- a/client/command/pom.xml	Wed Dec 12 15:52:00 2012 -0500
+++ b/client/command/pom.xml	Wed Dec 12 16:11:10 2012 -0500
@@ -72,8 +72,8 @@
     </dependency>
 
     <dependency>
-      <groupId>org.apache.servicemix.bundles</groupId>
-      <artifactId>org.apache.servicemix.bundles.commons-codec</artifactId>
+      <groupId>commons-codec</groupId>
+      <artifactId>commons-codec</artifactId>
       <version>${commons-codec.version}</version>
     </dependency>
     <dependency>
--- a/client/command/src/main/java/com/redhat/thermostat/client/command/internal/RequestQueueImpl.java	Wed Dec 12 15:52:00 2012 -0500
+++ b/client/command/src/main/java/com/redhat/thermostat/client/command/internal/RequestQueueImpl.java	Wed Dec 12 16:11:10 2012 -0500
@@ -52,7 +52,6 @@
 import com.redhat.thermostat.common.command.RequestResponseListener;
 import com.redhat.thermostat.common.command.Response;
 import com.redhat.thermostat.common.command.Response.ResponseType;
-import com.redhat.thermostat.common.utils.StringUtils;
 import com.redhat.thermostat.storage.core.AuthToken;
 import com.redhat.thermostat.storage.core.SecureStorage;
 import com.redhat.thermostat.storage.core.Storage;
@@ -89,8 +88,8 @@
     private void authenticateRequest(Request request, SecureStorage storage) {
         try {
             AuthToken token = storage.generateToken();
-            request.setParameter(Request.CLIENT_TOKEN, StringUtils.toUtf8String(Base64.encodeBase64Chunked(token.getClientToken())));
-            request.setParameter(Request.AUTH_TOKEN, StringUtils.toUtf8String(Base64.encodeBase64Chunked(token.getToken())));
+            request.setParameter(Request.CLIENT_TOKEN, Base64.encodeBase64String(token.getClientToken()));
+            request.setParameter(Request.AUTH_TOKEN, Base64.encodeBase64String(token.getToken()));
         } catch (StorageException ex) {
             fireComplete(request, new Response(ResponseType.AUTH_FAILED));
         }
@@ -154,5 +153,4 @@
             listener.fireComplete(request, response);
         }
     }
-    
 }
--- a/common/core/src/main/java/com/redhat/thermostat/common/utils/StringUtils.java	Wed Dec 12 15:52:00 2012 -0500
+++ b/common/core/src/main/java/com/redhat/thermostat/common/utils/StringUtils.java	Wed Dec 12 16:11:10 2012 -0500
@@ -39,7 +39,6 @@
 import java.io.ByteArrayInputStream;
 import java.io.InputStream;
 import java.io.UnsupportedEncodingException;
-import java.nio.charset.Charset;
 
 public class StringUtils {
 
@@ -66,13 +65,5 @@
         }
         return builder.toString();
     }
-    
-    public static String toUtf8String(byte[] data) {
-    	return new String(data, Charset.forName("UTF-8"));
-    }
-    
-    public static byte[] fromUtf8String(String str) {
-    	return str.getBytes(Charset.forName("UTF-8"));
-    }
 
 }
--- a/distribution/pom.xml	Wed Dec 12 15:52:00 2012 -0500
+++ b/distribution/pom.xml	Wed Dec 12 16:11:10 2012 -0500
@@ -214,7 +214,7 @@
             <configuration>
               <target>
                 <symlink link="${project.build.directory}/libs/commons-codec.jar"
-                         resource="${project.build.directory}/libs/org.apache.servicemix.bundles.commons-codec-1.3_5.jar" />
+                         resource="${project.build.directory}/libs/commons-codec-1.7.jar" />
                 <symlink link="${project.build.directory}/libs/netty.jar"
                          resource="${project.build.directory}/libs/netty-3.2.4.Final.jar" />
                 <symlink link="${project.build.directory}/libs/jline2.jar"
--- a/eclipse/com.redhat.thermostat.client.feature/feature.xml	Wed Dec 12 15:52:00 2012 -0500
+++ b/eclipse/com.redhat.thermostat.client.feature/feature.xml	Wed Dec 12 16:11:10 2012 -0500
@@ -127,6 +127,13 @@
          unpack="false"/>
 
    <plugin
+         id="org.apache.commons.codec"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
          id="com.redhat.thermostat.host.overview.client.core"
          download-size="0"
          install-size="0"
--- a/pom.xml	Wed Dec 12 15:52:00 2012 -0500
+++ b/pom.xml	Wed Dec 12 16:11:10 2012 -0500
@@ -76,7 +76,7 @@
     <commons-io.version>2.4</commons-io.version>
     <commons-collections.version>3.2.1</commons-collections.version>
     <commons-logging.version>1.1.1</commons-logging.version>
-    <commons-codec.version>1.3_5</commons-codec.version>
+    <commons-codec.version>1.7</commons-codec.version>
 
     <jline.version>2.9</jline.version>
     <lucene.version>3.6.0_1</lucene.version>
--- a/web/client/pom.xml	Wed Dec 12 15:52:00 2012 -0500
+++ b/web/client/pom.xml	Wed Dec 12 16:11:10 2012 -0500
@@ -110,11 +110,6 @@
       <version>${project.version}</version>
     </dependency>
 
-    <dependency>
-      <groupId>org.apache.servicemix.bundles</groupId>
-      <artifactId>org.apache.servicemix.bundles.commons-codec</artifactId>
-      <version>${commons-codec.version}</version>
-    </dependency>
   </dependencies>
 
   <build>
@@ -131,8 +126,6 @@
             <Private-Package>
               com.redhat.thermostat.web.client.internal
             </Private-Package>
-            <!-- Eclipse needs v1.3 -->
-            <Import-Package>org.apache.commons.codec.*;version="[1.3,2)",*</Import-Package>
             <!-- Do not autogenerate uses clauses in Manifests -->
             <_nouses>true</_nouses>
           </instructions>
--- a/web/server/pom.xml	Wed Dec 12 15:52:00 2012 -0500
+++ b/web/server/pom.xml	Wed Dec 12 16:11:10 2012 -0500
@@ -106,8 +106,8 @@
       <version>${commons-io.version}</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.servicemix.bundles</groupId>
-      <artifactId>org.apache.servicemix.bundles.commons-codec</artifactId>
+      <groupId>commons-codec</groupId>
+      <artifactId>commons-codec</artifactId>
       <version>${commons-codec.version}</version>
     </dependency>
 
--- a/web/server/src/main/java/com/redhat/thermostat/web/server/WebStorageEndPoint.java	Wed Dec 12 15:52:00 2012 -0500
+++ b/web/server/src/main/java/com/redhat/thermostat/web/server/WebStorageEndPoint.java	Wed Dec 12 16:11:10 2012 -0500
@@ -61,7 +61,6 @@
 import com.google.gson.GsonBuilder;
 import com.google.gson.JsonArray;
 import com.google.gson.JsonParser;
-import com.redhat.thermostat.common.utils.StringUtils;
 import com.redhat.thermostat.storage.core.AbstractQuery.Sort;
 import com.redhat.thermostat.storage.core.Category;
 import com.redhat.thermostat.storage.core.Cursor;
@@ -395,7 +394,7 @@
         TokenManager tokenManager = (TokenManager) getServletContext().getAttribute(TOKEN_MANAGER_KEY);
         assert tokenManager != null;
         String clientToken = req.getParameter("client-token");
-        byte[] token = Base64.decodeBase64(StringUtils.fromUtf8String(req.getParameter("token")));
+        byte[] token = Base64.decodeBase64(req.getParameter("token"));
         boolean verified = tokenManager.verifyToken(clientToken, token);
         if (! verified) {
             resp.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
--- a/web/server/src/test/java/com/redhat/thermostat/web/server/WebStorageEndpointTest.java	Wed Dec 12 15:52:00 2012 -0500
+++ b/web/server/src/test/java/com/redhat/thermostat/web/server/WebStorageEndpointTest.java	Wed Dec 12 16:11:10 2012 -0500
@@ -76,7 +76,6 @@
 import sun.misc.BASE64Encoder;
 
 import com.google.gson.Gson;
-import com.redhat.thermostat.common.utils.StringUtils;
 import com.redhat.thermostat.storage.core.Categories;
 import com.redhat.thermostat.storage.core.Category;
 import com.redhat.thermostat.storage.core.Cursor;
@@ -561,9 +560,7 @@
         conn.setDoOutput(true);
         conn.setDoInput(true);
         OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream());
-		out.write("client-token=fluff&token="
-				+ URLEncoder.encode(StringUtils.toUtf8String(Base64
-						.encodeBase64Chunked(token)), "UTF-8"));
+        out.write("client-token=fluff&token=" + URLEncoder.encode(Base64.encodeBase64String(token), "UTF-8"));
         out.flush();
         assertEquals(200, conn.getResponseCode());
     }
@@ -585,9 +582,7 @@
         conn.setDoOutput(true);
         conn.setDoInput(true);
         OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream());
-		out.write("client-token=fluff&token="
-				+ URLEncoder.encode(StringUtils.toUtf8String(Base64
-						.encodeBase64Chunked(token)), "UTF-8"));
+        out.write("client-token=fluff&token=" + URLEncoder.encode(Base64.encodeBase64String(token), "UTF-8"));
         out.flush();
         assertEquals(401, conn.getResponseCode());
     }
@@ -607,9 +602,7 @@
         conn.setDoOutput(true);
         conn.setDoInput(true);
         OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream());
-		out.write("client-token=fluff&token="
-				+ URLEncoder.encode(StringUtils.toUtf8String(Base64
-						.encodeBase64Chunked(token)), "UTF-8"));
+        out.write("client-token=fluff&token=" + URLEncoder.encode(Base64.encodeBase64String(token), "UTF-8"));
         out.flush();
         assertEquals(401, conn.getResponseCode());
     }