package jp.aegif.nemaki.bjornloka.util; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.text.SimpleDateFormat; import java.util.Date; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; import com.google.gson.Gson; import com.google.gson.JsonObject; import jp.aegif.nemaki.bjornloka.proxy.ProxyType; public class Util { public static byte[] readAll(InputStream inputStream) throws IOException { ByteArrayOutputStream bout = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; while (true) { int len = inputStream.read(buffer); if (len < 0) { break; } bout.write(buffer, 0, len); } byte[] result = bout.toByteArray(); bout.close(); return result; } public static String getCurrentDateString() { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); return sdf.format(date); } public static ProxyType checkProxyType(String url){ try { URL _url = new URL(url); //TODO trim slash if(_url.getHost().endsWith("cloudant.com") || _url.getHost().endsWith("cloudant.com/")){ return ProxyType.CLOUDANT; } } catch (MalformedURLException e) { e.printStackTrace(); } return ProxyType.EKTORP; } public static JsonObject convertToGson(ObjectNode jackson){ String json = jackson.toString(); JsonObject gson = new Gson().fromJson(json, JsonObject.class); return gson; } public static ObjectNode convertToJackson(JsonObject gson){ String json = gson.toString(); ObjectMapper mapper = new ObjectMapper(); JsonNode jackson; try { jackson = mapper.readTree(json); return (ObjectNode)jackson; } catch (JsonProcessingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } //izPack replace "/" to "¥" in arguments public static String sanitizeUrl(String url){ return url.replaceAll("\\\\", "/"); } }