@Override public String convertToString(InputStream value) throws Throwable { return IO.readString(value, Charsets.UTF_8); } }
@Override public String convertToString(Blob value) throws Throwable { return IO.readString(value.getBinaryStream(), Charsets.UTF_8); } }
public static String getResourceAsString(Class<?> loaderClass,String resource,Charset charset){ InputStream is = null; try{ is = loaderClass.getResourceAsStream(resource); if(null == is){ return null; } return IO.readString(is,charset); }finally{ IO.close(is); } }
public static String readString(String path,String encoding){ File file = new File(path); Charset charset = Charsets.forName(encoding); return IO.readString(file, charset); }
public static String readStringAndClose(InputStream is, Charset charset) { try{ return readString(is, charset); }finally{ close(is); } }
public static String readStringAndClose(Reader reader) { try{ return readString(reader); }finally{ close(reader); } }
public static String readString(String path){ return IO.readString(new File(path),Charsets.defaultCharset()); }
/** * Get the contents of an {@link File} as a String using the specified character encoding. */ public static String readString(File file,Charset encoding) throws NestedIOException { FileInputStream fis = null; try{ fis = new FileInputStream(file); return readString(fis, encoding); }catch(IOException e){ throw Exceptions.wrap(e); }finally{ close(fis); } }
@Override public String getContent() throws NestedIOException { InputStreamReader r = null; try { r = getInputStreamReader(); return IO.readString(r); }finally{ IO.close(r); } }
public SwaggerDoc(String dir) { this.dir = leap.lang.path.Paths.suffixWithSlash(dir); Map map = null; File swaggerFile = Paths.get(dir).resolve("./swagger.json").toFile(); if(swaggerFile.exists()) { map = JSON.decodeMap(IO.readString(swaggerFile, Charsets.UTF_8)); }else { swaggerFile = Paths.get(dir).resolve("./swagger.yaml").toFile(); if(swaggerFile.exists()) { map = YAML.decode(Resources.createFileResource(swaggerFile).getContent()); } } if(null != map) { this.swagger = JsonObject.of(map); } }
@Override public ApiMetadataBuilder read(Reader reader) throws IOException { String content = IO.readString(reader).trim(); Map<String,Object> swagger; if(content.startsWith("{")) { swagger = JSON.decode(content); }else{ swagger = YAML.decode(content); } ApiMetadataBuilder m = new ApiMetadataBuilder(); readSwagger(swagger, m); return m; }
@Override protected Object readInternal(Class clazz, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException { try(InputStream is = inputMessage.getBody()) { if(clazz.isArray()) { try(InputStreamReader reader = new InputStreamReader(is, getCharset(inputMessage))) { try { JsonArray a = JSON.parse(reader).asJsonArray(); Object o = Array.newInstance(clazz.getComponentType(), a.length()); for(int i=0;i<a.length();i++) { Object item = Reflection.newInstance(clazz.getComponentType()); ((JsonParsable)item).parseJson(a.getObject(i)); Array.set(o, i, item); } return o; }catch (Exception e) { throw new HttpMessageNotReadableException(e.getMessage(), e); } } }else { Object o = Reflection.newInstance(clazz); try { ((JsonParsable)o).parseJson(IO.readString(is, getCharset(inputMessage))); return o; }catch (Exception e) { throw new HttpMessageNotReadableException(e.getMessage(), e); } } } }
protected String generateOrGetKeyFileContent(){ FileResource userDir = Resources.createFileResource(System.getProperty("user.dir")); FileResource targetDir = userDir.createRelative("./target"); File keyFile = targetDir.exists() ? targetDir.createRelative("./.rsa_key").getFile() : userDir.createRelative("./.rsa_key").getFile(); if(keyFile.exists()){ String keyContent = Strings.trim(IO.readString(keyFile, Charsets.UTF_8)); if(Strings.isEmpty(keyContent)){ keyContent = writeKeyContent(keyFile); } return keyContent; } return writeKeyContent(keyFile); }
protected String loadOrGenerateSecret() { FileResource userDir = Resources.createFileResource(System.getProperty("user.dir")); FileResource targetDir = userDir.createRelative("./target"); File secretFile = targetDir.exists() ? targetDir.createRelative("./.secret").getFile() : userDir.createRelative("./.secret").getFile(); if(secretFile.exists()) { String secret = Strings.trim(IO.readString(secretFile, Charsets.UTF_8)); if(!Strings.isEmpty(secret)) { return secret; } } String secret = Randoms.nextString(32); if(getBooleanProperty("app.config.save-generated-secret", true)) { IO.writeString(secretFile, secret, Charsets.UTF_8); } return secret; }