* ============LICENSE_START=======================================================
* VID
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * Modifications Copyright (C) 2018 Nokia. All rights reserved.
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2018 - 2019 Nokia. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
package org.onap.vid.mso;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
import io.joshworks.restclient.http.HttpResponse;
+import org.apache.commons.lang3.exception.ExceptionUtils;
-import java.util.Objects;
public class MsoUtil {
+ final static ObjectMapper objectMapper = new ObjectMapper();
+
private MsoUtil() {
}
return new MsoResponseWrapper(status, response);
}
- public static <T> MsoResponseWrapper wrapResponse(HttpResponse<T> httpResponse) {
+ public static <T> MsoResponseWrapper wrapResponse(HttpResponse<T> httpResponse) {
MsoResponseWrapper msoResponseWrapper = new MsoResponseWrapper();
msoResponseWrapper.setStatus(httpResponse.getStatus());
if (httpResponse.getRawBody() != null) {
- msoResponseWrapper.setEntity(Objects.toString(httpResponse.getBody()));
+ try {
+ T body = httpResponse.getBody();
+ String entityStr = body instanceof String ? (String) body : objectMapper.writeValueAsString(httpResponse.getBody());
+ msoResponseWrapper.setEntity(entityStr);
+ }
+ catch(JsonProcessingException e)
+ {
+ ExceptionUtils.rethrow(e);
+ }
}
return msoResponseWrapper;
}