blob: d10c877170f9d6f21e3972cece99c06e3efd8736 [file] [log] [blame]
/*
* Copyright 2016-present Open Networking Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.onosproject.provider.te.utils;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectWriter;
import com.fasterxml.jackson.databind.node.ObjectNode;
import org.slf4j.Logger;
import java.io.IOException;
import java.io.InputStream;
import static org.onlab.util.Tools.readTreeFromStream;
import static org.slf4j.LoggerFactory.getLogger;
/**
* Convert utility methods for IETF SB.
*/
public final class CodecTools {
private static final Logger log = getLogger(CodecTools.class);
private static final ObjectMapper MAPPER = new ObjectMapper();
//no instantiation
private CodecTools() {
}
/**
* Returns an object node from a InputStream type input which usually comes
* from the HTTP response.
*
* @param stream stream data comes from a HTTP response
* @return object node
*/
public static ObjectNode toJson(InputStream stream) {
ObjectNode response = null;
try {
response = readTreeFromStream(MAPPER, stream);
} catch (IOException e) {
log.error("Parse json string failed {}", e.getMessage());
}
return response;
}
/**
* Returns an object node from a string.
*
* @param jsonString string with JSON format
* @return object node
*/
public static ObjectNode toJson(String jsonString) {
ObjectNode response = null;
try {
response = (ObjectNode) MAPPER.readTree(jsonString);
} catch (IOException e) {
log.error("Parse json string failed {}", e.getMessage());
}
return response;
}
/**
* Returns a JSON format string from a Jackson object node.
*
* @param node JSON object node
* @return string with JSON format
*/
public static String jsonToString(ObjectNode node) {
ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
String jsonString = null;
try {
jsonString = ow.writeValueAsString(node);
} catch (JsonProcessingException e) {
log.error("Parse json to string failed {}", e.getMessage());
}
return jsonString;
}
}