From 9cc86f4fb17ee61f45c2a9709f26ac05ac09ae55 Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Mon, 1 Dec 2014 10:00:03 +0100 Subject: [PATCH] fix bundle upload --- .../main/java/sonia/scm/client/JerseyClientProvider.java | 6 +++++- .../sonia/scm/client/JerseyRepositoryClientHandler.java | 4 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/scm-clients/scm-client-impl/src/main/java/sonia/scm/client/JerseyClientProvider.java b/scm-clients/scm-client-impl/src/main/java/sonia/scm/client/JerseyClientProvider.java index 48111de0d8..6ad74d748a 100644 --- a/scm-clients/scm-client-impl/src/main/java/sonia/scm/client/JerseyClientProvider.java +++ b/scm-clients/scm-client-impl/src/main/java/sonia/scm/client/JerseyClientProvider.java @@ -51,8 +51,11 @@ import com.sun.jersey.api.client.ClientHandlerException; import com.sun.jersey.api.client.ClientRequest; import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.WebResource; +import com.sun.jersey.api.client.config.ClientConfig; +import com.sun.jersey.api.client.config.DefaultClientConfig; import com.sun.jersey.api.client.filter.ClientFilter; import com.sun.jersey.core.util.MultivaluedMapImpl; +import com.sun.jersey.multipart.impl.MultiPartWriter; import java.util.ArrayList; import java.util.Collections; @@ -122,7 +125,8 @@ public class JerseyClientProvider implements ScmClientProvider UrlProvider urlProvider = UrlProviderFactory.createUrlProvider(url, UrlProviderFactory.TYPE_RESTAPI_XML); - Client client = Client.create(); + Client client = + Client.create(new DefaultClientConfig(MultiPartWriter.class)); client.addFilter(new CookieClientFilter()); diff --git a/scm-clients/scm-client-impl/src/main/java/sonia/scm/client/JerseyRepositoryClientHandler.java b/scm-clients/scm-client-impl/src/main/java/sonia/scm/client/JerseyRepositoryClientHandler.java index 42caf76038..8b91db96ee 100644 --- a/scm-clients/scm-client-impl/src/main/java/sonia/scm/client/JerseyRepositoryClientHandler.java +++ b/scm-clients/scm-client-impl/src/main/java/sonia/scm/client/JerseyRepositoryClientHandler.java @@ -58,6 +58,7 @@ import java.io.InputStream; import java.util.Collection; import java.util.List; +import javax.ws.rs.core.MediaType; /** * @@ -125,7 +126,8 @@ public class JerseyRepositoryClientHandler form.field(PARAM_NAME, request.getName()); form.bodyPart(new StreamDataBodyPart(PARAM_BUNDLE, stream)); - ClientResponse response = r.post(ClientResponse.class); + ClientResponse response = + r.type(MediaType.MULTIPART_FORM_DATA).post(ClientResponse.class, form); ClientUtil.checkResponse(response);