@Override public void stop() { if(null != scheduled) { Try.catchAll(() -> scheduled.cancel(true)); scheduled = null; } }
public static void sleep(long ms) { Try.throwUnchecked(() -> Thread.sleep(ms)); }
@Override public boolean initBean(Object bean) { return Try.throwUncheckedWithResult(() -> doInitBean(null, bean)); }
@Override public void postReadApi(MetaApi api) { for(Plugin plugin : plugins) { Try.catchAll(() -> plugin.postReadApi(api)); } }
private void renderAndWriteFile(Mustache template, Map data, String filepath) { File file = folder.resolve(filepath).toFile(); if(filepath.indexOf('/') > 0) { Try.throwUnchecked(() -> Files.createDirectories(file.getParentFile().toPath())); } log.debug("Render template '{}' and write to '{}'", template.getName(), filepath); IO.writeString(file, template.render(data)); }
protected static String extractServerFromJdbcUrl(DatabaseMetaData md) { return Try.throwUncheckedWithResult(() -> { return JDBC.tryExtractServerString(md.getURL()); }); } }
@Override public void preDeployApi(MetaApi api) { for(Plugin plugin : plugins) { Try.catchAll(() -> plugin.preDeployApi(api)); } }
public static ExProperties loadKeyValues(String content) { ExProperties props = new ExProperties(); if(null != content) { Try.throwUnchecked(() -> { try(Reader reader = new StringReader(content)) { props.load(reader); } }); } return props; }
public ExecutionSqls resolveExecutionSqls(SqlContext sc, Params params) { if(null != sqls) { return sqls; } return Try.throwUncheckedWithResult(() -> { String text = sql.resolveDynamicSql(sc, params); return lang.parseExecutionSqls(context, text, options); }); }
@Override public void postMappingEntity(OrmContext oc, MetaApi api, MetaEntity entity, EntityMappingBuilder emb) { for(Plugin plugin : plugins) { Try.catchAll(() -> plugin.postMappingEntity(oc, api, entity, emb)); } }
/** * Executes the main. */ protected static void main(Class<? extends AppMainBase> mainClass, Object[] args) { Try.throwUnchecked(() -> factory.createBean(mainClass).run(args)); }
protected static boolean isJarResource(Resource resource) { return Try.throwUncheckedWithResult(() -> Urls.isJarUrl(resource.getURL())); }
@Override public void postCreateApi(MetaApi api, OrmContext oc, DynaApi dynaApi) { for(Plugin plugin : plugins) { Try.catchAll(() -> plugin.postCreateApi(api, oc, dynaApi)); } }
protected void setSwagger(ApiImpl api) { Try.throwUnchecked(() -> { StringBuilder s = new StringBuilder(); swaggerJsonWriter.write(api.getMetadata(), s); JsonObject swagger = JSON.parse(s.toString()).asJsonObject(); api.setSwagger(swagger); }); }
@Override public void preCreateApi(MetaApi api, OrmContext oc, Routes routes) { for(Plugin plugin : plugins) { Try.catchAll(() -> plugin.preCreateApi(api, oc, routes)); } }
@Override public void addObserver(FileChangeObserver observer) { super.addObserver(observer); if(!running) { if(config.isReloadEnabled()) { log.trace("Start app file monitor at interval : " + interval); Try.throwUnchecked(this::start); } } }
@Override public void dispose() throws Throwable { if(!fixedThreadPoolSchedulers.isEmpty()) { for(FixedThreadPoolScheduler scheduler : fixedThreadPoolSchedulers) { Try.catchAll(() -> scheduler.dispose()); } } }
void execute(JsonObject swagger) { Templates templates = Templates.markdown(dir, locale); Try.throwUnchecked(() -> Files.createDirectories(folder)); Map data = data(swagger); templates.all().forEach(template -> { String file; if(template.getName().indexOf('.') > 0) { file = template.getName(); }else { file = template.getName() + ".md"; } renderAndWriteFile(template, data, file); }); }
@Override public void preConvertEntity(OrmContext oc, MetaApi api, MetaEntity entity) { for(Plugin plugin : plugins) { Try.catchAll(() -> plugin.preConvertEntity(oc, api, entity)); } }
@Override public void loadProperties(AppPropertySetter props) { Try.throwUnchecked(() -> { log.info("Load properties from db : {}", jdbcUrl); Class.forName(driverClassName); Statement stmt = null; ResultSet rs = null; Connection conn = null; try { log.debug("Obtain db connection..."); conn = DriverManager.getConnection(jdbcUrl, username, password); log.debug("Execute sql ->\n{}\n", sql); stmt = conn.createStatement(); rs = stmt.executeQuery(sql); int count = 0; while (rs.next()) { String key = rs.getString(1); String value = rs.getString(2); props.putProperty(this, key, value); count++; } log.info("Load {} properties from db!", count); } finally { JDBC.closeResultSetOnly(rs); JDBC.closeStatementOnly(stmt); JDBC.closeConnection(conn); } }); }