public static Optional<RegisterEntry> toRegisterEntry(UriInfo uriInfo) { if (uriInfo.getQueryParameters().isEmpty()) { return Optional.empty(); } else { MultivaluedMap<String, String> parameters = uriInfo.getQueryParameters(); RegisterEntry re = RegisterEntry.builder() .context(parameters.getFirst("context")) .hostname(parameters.getFirst("hostname")) .port(toInt(parameters.getFirst("port"))) .target(parameters.getFirst("target")) .externalPort(toInt(parameters.getFirst("externalPort"))) .module(parameters.getFirst("module")) .health(toHealth(parameters.getFirst("health"))) .build(); Map<String, String> manifest = ReactiveSeq.fromIterable(parameters.entrySet()) .filter(e -> e.getKey().startsWith("manifest.")) .toMap(e -> e.getKey().replace("manifest.", ""), e -> parameters.getFirst(e.getKey())); re.getManifest().clear(); re.getManifest().putAll(manifest); return Optional.of(re); } }
@Before public void setUp() throws Exception { entry = RegisterEntry.builder() .port(8080) .hostname("host") .module("module") .context("context") .time(new Date()) .uuid("1") .target("target") .externalPort(9090) .build(); Map<String, String> manifest = entry.getManifest(); manifest.put("Implementation-revision", "a2edfe4bc"); manifest.put("Implementation-Version", "version"); manifest.put("Implementation-Timestamp", "2017_1201"); }
private void sendPing(String uuid, int port, String hostName, String module, String context, String target, int externalPort) { try { RegisterEntry re = RegisterEntry.builder() .port(port) .hostname(hostName) .module(module) .context(context) .time(new Date()) .uuid(uuid) .target(target) .externalPort(externalPort) .build(); re.getManifest().put("Implementation-revision", "rev" + uuid); re.getManifest().put("Implementation-Version", "version" + uuid); re.getManifest().put("Implementation-Timestamp", "2017_" + uuid); restAsync.post("http://localhost:8080/registry-app/service-registry/register", JacksonUtil.serializeToJson(re)) .get(); } catch (Exception e) { } } }
public static Optional<RegisterEntry> toRegisterEntry(UriInfo uriInfo) { if (uriInfo.getQueryParameters().isEmpty()) { return Optional.empty(); } else { MultivaluedMap<String, String> parameters = uriInfo.getQueryParameters(); RegisterEntry re = RegisterEntry.builder() .context(parameters.getFirst("context")) .hostname(parameters.getFirst("hostname")) .port(toInt(parameters.getFirst("port"))) .target(parameters.getFirst("target")) .externalPort(toInt(parameters.getFirst("externalPort"))) .module(parameters.getFirst("module")) .health(toHealth(parameters.getFirst("health"))) .build(); Map<String, String> manifest = ReactiveSeq.fromIterable(parameters.entrySet()) .filter(e -> e.getKey().startsWith("manifest.")) .toMap(e -> e.getKey().replace("manifest.", ""), e -> parameters.getFirst(e.getKey())); re.getManifest().clear(); re.getManifest().putAll(manifest); return Optional.of(re); } }
assertTrue(entry.matches(re)); re = RegisterEntry.builder().port(8080).hostname("host").externalPort(9090).build(); re.getManifest().clear(); assertTrue(entry.matches(re)); re = RegisterEntry.builder().port(8080).hostname("host1").externalPort(9090).build(); re.getManifest().clear(); assertFalse(entry.matches(re)); re = RegisterEntry.builder().port(8080).hostname("host").externalPort(9090).build(); re.getManifest().clear(); re.getManifest().put("Implementation-revision", "a2edfe4bc"); assertTrue(entry.matches(re)); re = RegisterEntry.builder().port(8080).hostname("host").externalPort(9090).build(); re.getManifest().clear(); re.getManifest().put("Implementation-Version", "version1");