You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sqoop.apache.org by ja...@apache.org on 2015/09/07 15:27:24 UTC
sqoop git commit: SQOOP-2551: Sqoop2: Explicit encode data sent in
SqoopClient with charset
Repository: sqoop
Updated Branches:
refs/heads/sqoop2 1b9f7b116 -> 57b97ee1b
SQOOP-2551: Sqoop2: Explicit encode data sent in SqoopClient with charset
(Dian Fu via Jarek Jarcec Cecho)
Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/57b97ee1
Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/57b97ee1
Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/57b97ee1
Branch: refs/heads/sqoop2
Commit: 57b97ee1b0bac249ba5e86091c374a0492584901
Parents: 1b9f7b1
Author: Jarek Jarcec Cecho <ja...@apache.org>
Authored: Mon Sep 7 15:26:58 2015 +0200
Committer: Jarek Jarcec Cecho <ja...@apache.org>
Committed: Mon Sep 7 15:26:58 2015 +0200
----------------------------------------------------------------------
.../apache/sqoop/client/request/ResourceRequest.java | 12 +++++++-----
.../org/apache/sqoop/common/SqoopProtocolConstants.java | 4 +++-
2 files changed, 10 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/sqoop/blob/57b97ee1/client/src/main/java/org/apache/sqoop/client/request/ResourceRequest.java
----------------------------------------------------------------------
diff --git a/client/src/main/java/org/apache/sqoop/client/request/ResourceRequest.java b/client/src/main/java/org/apache/sqoop/client/request/ResourceRequest.java
index 1d41183..3deb135 100644
--- a/client/src/main/java/org/apache/sqoop/client/request/ResourceRequest.java
+++ b/client/src/main/java/org/apache/sqoop/client/request/ResourceRequest.java
@@ -52,7 +52,7 @@ public class ResourceRequest {
/**
* Charset used for Sqoop 2 protocol
*/
- private static final Charset CHARSET = Charset.forName("UTF-8");
+ private static final Charset CHARSET = Charset.forName(SqoopProtocolConstants.charset);
private static final Logger LOG = Logger.getLogger(ResourceRequest.class);
private DelegationTokenAuthenticatedURL.Token authToken;
@@ -64,11 +64,12 @@ public class ResourceRequest {
public ResourceRequest(DelegationTokenAuthenticatedURL.Token token) {
this.authToken = token == null ? new DelegationTokenAuthenticatedURL.Token() : token;
}
- protected String doHttpRequest(String strURL, String method) {
+
+ private String doHttpRequest(String strURL, String method) {
return doHttpRequest(strURL, method, "");
}
- protected String doHttpRequest(String strURL, String method, String data) {
+ private String doHttpRequest(String strURL, String method, String data) {
DataOutputStream wr = null;
BufferedReader reader = null;
try {
@@ -85,10 +86,11 @@ public class ResourceRequest {
if (method.equalsIgnoreCase(HttpMethod.PUT) || method.equalsIgnoreCase(HttpMethod.POST)) {
conn.setDoOutput(true);
data = data == null ? "" : data;
- conn.setRequestProperty("Content-Length", Integer.toString(data.getBytes(CHARSET).length));
+ byte[] dataBytes = data.getBytes(CHARSET);
+ conn.setRequestProperty("Content-Length", Integer.toString(dataBytes.length));
// Send request
wr = new DataOutputStream(conn.getOutputStream());
- wr.writeBytes(data);
+ wr.write(dataBytes);
wr.flush();
wr.close();
}
http://git-wip-us.apache.org/repos/asf/sqoop/blob/57b97ee1/common/src/main/java/org/apache/sqoop/common/SqoopProtocolConstants.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/sqoop/common/SqoopProtocolConstants.java b/common/src/main/java/org/apache/sqoop/common/SqoopProtocolConstants.java
index 72b5d87..29927c0 100644
--- a/common/src/main/java/org/apache/sqoop/common/SqoopProtocolConstants.java
+++ b/common/src/main/java/org/apache/sqoop/common/SqoopProtocolConstants.java
@@ -33,8 +33,10 @@ public final class SqoopProtocolConstants {
public static final String HEADER_SQOOP_INTERNAL_ERROR_MESSAGE =
"sqoop-internal-error-message";
+ public static final String charset = "UTF-8";
+
public static final String JSON_CONTENT_TYPE =
- "application/json; charset=\"UTF-8\"";
+ "application/json; charset=\"" + charset + "\"";
private SqoopProtocolConstants() {
// Disable explicit object creation