public static Joiner<Object> on(String delimiter) { return new Joiner<>(delimiter); }
/** * Run job which deploy root source. <p/> * For deploy only one cluster you must simply use RootSource with one cluster. * @param root * @return */ public JobInstance setRootSource(RootSource root, DeployOptions options) { JobParameters.Builder jpb = JobParameters.builder(); jpb.setType(DeploySourceJob.NAME); Joiner<ClusterSource> joiner = Joiner.on(", ") .append("Deploy clusters: ") .<ClusterSource>converter((sb, i) -> sb.append('\"').append(i.getName()).append('\"')) .join(root.getClusters()); jpb.setTitle(joiner.toString()); jpb.parameter("source", root); if(options != null) { jpb.parameter("options", options); } JobInstance jobInstance = jobsManager.create(jpb.build()); try { jobInstance.start().get(); } catch (InterruptedException e) { Thread.currentThread().interrupt(); } catch (ExecutionException e) { throw Throwables.asRuntime(e.getCause()); } return jobInstance; } }