@Slf4j
public class ChartMuseumDistributor implements ChartDistributor {
- @Value("${chartmuseum.baseurl}")
- private String chartMuseumUrl;
+ private final String chartMuseumUrl;
- @Value("${chartmuseum.auth.basic.username}")
- private String username;
+ private final String username;
- @Value("${chartmuseum.auth.basic.password}")
- private String password;
+ private final String password;
+
+ public ChartMuseumDistributor( @Value("${chartmuseum.baseurl}") String chartMuseumUrl,
+ @Value("${chartmuseum.auth.basic.username}") String username,
+ @Value("${chartmuseum.auth.basic.password}")String password) {
+ this.chartMuseumUrl = chartMuseumUrl;
+ this.username = username;
+ this.password = password;
+ }
/**
* distributes chart to Chart Museum
try {
Response response = client.newCall(request).execute();
log.info(Objects.requireNonNull(response.body()).string());
+ if(!response.isSuccessful()){
+ throw new RuntimeException("Distribution Failed.");
+ }
} catch (IOException e) {
throw new RuntimeException(e.getMessage());
}
MediaType mediaType = MediaType.parse("application/octet-stream");
RequestBody body = RequestBody.create(chartFile, mediaType);
return new Request.Builder()
- .url(chartMuseumUrl)
+ .url(chartMuseumUrl + "/api/charts")
.method("POST", body)
.addHeader("Content-Type", "application/octet-stream")
.addHeader("Authorization", credential)