@Override public ConsulClient registerService(ServiceOptions serviceOptions, Handler<AsyncResult<Void>> resultHandler) { JsonObject jsonOpts = new JsonObject() .put("ID", serviceOptions.getId()) .put("Name", serviceOptions.getName()) .put("Tags", serviceOptions.getTags()) .put("Address", serviceOptions.getAddress()) .put("Port", serviceOptions.getPort()); if (serviceOptions.getCheckOptions() != null) { jsonOpts.put("Check", checkOpts(serviceOptions.getCheckOptions(), false)); } if (serviceOptions.getMeta() != null && !serviceOptions.getMeta().isEmpty()) { jsonOpts.put("Meta", serviceOptions.getMeta()); } requestVoid(HttpMethod.PUT, "/v1/agent/service/register", null, jsonOpts.encode(), resultHandler); return this; }
public static void toJson(ServiceOptions obj, java.util.Map<String, Object> json) { if (obj.getAddress() != null) { json.put("address", obj.getAddress()); } if (obj.getCheckOptions() != null) { json.put("checkOptions", obj.getCheckOptions().toJson()); } if (obj.getId() != null) { json.put("id", obj.getId()); } if (obj.getMeta() != null) { JsonObject map = new JsonObject(); obj.getMeta().forEach((key, value) -> map.put(key, value)); json.put("meta", map); } if (obj.getName() != null) { json.put("name", obj.getName()); } json.put("port", obj.getPort()); if (obj.getTags() != null) { JsonArray array = new JsonArray(); obj.getTags().forEach(item -> array.add(item)); json.put("tags", array); } } }
private static String checkService(TestContext tc, List<Service> list, String name, ServiceOptions options) { Service s = list.stream() .filter(i -> name.equals(i.getName())) .findFirst() .orElseThrow(NoSuchElementException::new); String serviceId = s.getId(); tc.assertEquals(s.getTags(), options.getTags()); tc.assertEquals(s.getAddress(), options.getAddress()); tc.assertEquals(s.getPort(), options.getPort()); for (Map.Entry<String, String> entry : options.getMeta().entrySet()) { tc.assertEquals(s.getMeta().get(entry.getKey()), entry.getValue()); } return serviceId; }