public static CheckStatus of(String key) { for (CheckStatus checkStatus : values()) { if (checkStatus.key.equals(key)) { return checkStatus; } } return null; }
@Override public int hashCode() { int result = id != null ? id.hashCode() : 0; result = 31 * result + (name != null ? name.hashCode() : 0); result = 31 * result + (status != null ? status.hashCode() : 0); result = 31 * result + (notes != null ? notes.hashCode() : 0); result = 31 * result + (output != null ? output.hashCode() : 0); result = 31 * result + (serviceId != null ? serviceId.hashCode() : 0); result = 31 * result + (serviceName != null ? serviceName.hashCode() : 0); result = 31 * result + (nodeName != null ? nodeName.hashCode() : 0); return result; } }
HttpHealthReporter(Vertx vertx) { this.port = Utils.getFreePort(); CountDownLatch latch = new CountDownLatch(1); this.server = vertx.createHttpServer().requestHandler(h -> h.response() .setStatusCode(statusCode(status)) .end(status.name())).listen(port, h -> latch.countDown()); try { latch.await(10, TimeUnit.SECONDS); } catch (InterruptedException e) { e.printStackTrace(); } }
case "status": if (member.getValue() instanceof String) { obj.setStatus(io.vertx.ext.consul.CheckStatus.valueOf((String)member.getValue()));
static Check parse(JsonObject check) { return new Check() .setId(check.getString(ID_KEY)) .setName(check.getString(NAME_KEY)) .setNodeName(check.getString(NODE_KEY)) .setStatus(CheckStatus.of(check.getString(STATUS_KEY))) .setNotes(check.getString(NOTES_KEY)) .setOutput(check.getString(OUTPUT_KEY)) .setServiceId(check.getString(SERVICE_ID_KEY)) .setServiceName(check.getString(SERVICE_NAME_KEY)); } }
public static void toJson(Check obj, java.util.Map<String, Object> json) { if (obj.getId() != null) { json.put("id", obj.getId()); } if (obj.getName() != null) { json.put("name", obj.getName()); } if (obj.getNodeName() != null) { json.put("nodeName", obj.getNodeName()); } if (obj.getNotes() != null) { json.put("notes", obj.getNotes()); } if (obj.getOutput() != null) { json.put("output", obj.getOutput()); } if (obj.getServiceId() != null) { json.put("serviceId", obj.getServiceId()); } if (obj.getServiceName() != null) { json.put("serviceName", obj.getServiceName()); } if (obj.getStatus() != null) { json.put("status", obj.getStatus().name()); } } }
case "status": if (member.getValue() instanceof String) { obj.setStatus(io.vertx.ext.consul.CheckStatus.valueOf((String)member.getValue()));
json.put("status", obj.getStatus().name());
public static CheckOptions randomCheckOptions() { return new CheckOptions() .setId(randomAlphaString(10)) .setName(randomAlphaString(10)) .setNotes(randomAlphaString(10)) .setServiceId(randomAlphaString(10)) .setStatus(randomElement(CheckStatus.values())) .setTtl(randomSeconds()); }
@Test public void watchService() throws InterruptedException { StateConsumer<String> consumer = new StateConsumer<>(); ServiceOptions service = new ServiceOptions() .setCheckOptions(new CheckOptions() .setStatus(CheckStatus.PASSING) .setTtl("4s") .setName(randomAlphaString(10))) .setId(randomAlphaString(10)) .setName(randomAlphaString(10)); Watch<ServiceEntryList> watch = Watch.service(service.getName(), vertx, ctx.readClientOptions()) .setHandler(list -> { if (list.succeeded()) { consumer.consume(list.nextResult().getList() .stream().filter(s -> s.getService().getName().equals(service.getName())) .map(e -> e.getService().getName() + "/" + e.getChecks().stream() .filter(c -> c.getId().equals("service:" + service.getId())) .map(c -> c.getStatus().name()).findFirst().orElse("")) .findFirst().orElse("")); } }) .start(); consumer.await(""); runAsync(h -> ctx.writeClient().registerService(service, h)); consumer.await(service.getName() + "/" + CheckStatus.PASSING.name()); consumer.await(service.getName() + "/" + CheckStatus.CRITICAL.name()); consumer.check(); watch.stop(); runAsync(h -> ctx.writeClient().deregisterService(service.getId(), h)); }
public static Check randomCheck() { return new Check() .setId(randomAlphaString(10)) .setName(randomAlphaString(10)) .setNodeName(randomAlphaString(10)) .setNotes(randomAlphaString(100)) .setOutput(randomAlphaString(100)) .setServiceId(randomAlphaString(10)) .setServiceName(randomAlphaString(10)) .setStatus(randomElement(CheckStatus.values())); }