# HG changeset patch # User Felix Wolfsteller # Date 1380097812 -7200 # Node ID 8bd13f10d555bb5814e990b70367e2bf3a407032 # Parent 1866aa3a3bfc7be9947172df28efd2ef5cc08bb7 issue1494: Prepare HttpClient to use a specified encoding for collectionOut. Doc. diff -r 1866aa3a3bfc -r 8bd13f10d555 src/main/java/org/dive4elements/artifacts/httpclient/http/HttpClientImpl.java --- a/src/main/java/org/dive4elements/artifacts/httpclient/http/HttpClientImpl.java Mon Sep 16 17:11:21 2013 +0200 +++ b/src/main/java/org/dive4elements/artifacts/httpclient/http/HttpClientImpl.java Wed Sep 25 10:30:12 2013 +0200 @@ -10,6 +10,10 @@ import java.io.InputStream; import java.io.IOException; import java.io.OutputStream; +import java.io.OutputStreamWriter; + +import java.nio.charset.Charset; + import java.util.ArrayList; import java.util.List; @@ -41,6 +45,7 @@ /** + * Client to artifact-server. * @author Ingo Weinzierl */ public class HttpClientImpl implements HttpClient { @@ -76,6 +81,12 @@ private String localeString; + /** + * The Charset used for encoding the collectionOut output. + * If not set, the system/java default will be used (UTF-8). + */ + private Charset charset; + private static final ThreadLocal CLIENT = new ThreadLocal() { @Override @@ -87,6 +98,22 @@ public HttpClientImpl(String serverUrl) { this.serverUrl = serverUrl; + setEncoding(null); + } + + + /** + * Sets the encoding. + * + * Currently the encoding is only + * respected in the collectionOut-method! + * + * It was implemented to allow csv export to be in another than the + * sensible default (UTF-8) and allow easier integration + * e.g. in proprietary products. + */ + public void setEncoding(Charset charset) { + this.charset = charset; } @@ -409,9 +436,7 @@ /** - * This method triggers the out() operation of a Collection. The result of - * this operation is written to out directly - there is no return - * value. + * Write out() operation of a Collection to out. * * @param doc The request document for the out() operation. * @param uuid The identifier of the Collection.