@Override public void getRecords(JsonObject filter, Handler<AsyncResult<List<Record>>> resultHandler) { boolean includeOutOfService = false; Function<Record, Boolean> accept; if (filter == null) { accept = r -> true; } else { includeOutOfService = filter.getString("status") != null; accept = r -> r.match(filter); } getRecords(accept, includeOutOfService, resultHandler); }
@Override public void getRecords(JsonObject filter, Handler<AsyncResult<List<Record>>> resultHandler) { boolean includeOutOfService = false; Function<Record, Boolean> accept; if (filter == null) { accept = r -> true; } else { includeOutOfService = filter.getString("status") != null; accept = r -> r.match(filter); } getRecords(accept, includeOutOfService, resultHandler); }
@Override public void getRecord(JsonObject filter, Handler<AsyncResult<Record>> resultHandler) { boolean includeOutOfService = false; Function<Record, Boolean> accept; if (filter == null) { accept = r -> true; } else { includeOutOfService = filter.getString("status") != null; accept = r -> r.match(filter); } getRecord(accept, includeOutOfService, resultHandler); }
@Override public void getRecord(JsonObject filter, Handler<AsyncResult<Record>> resultHandler) { boolean includeOutOfService = false; Function<Record, Boolean> accept; if (filter == null) { accept = r -> true; } else { includeOutOfService = filter.getString("status") != null; accept = r -> r.match(filter); } getRecord(accept, includeOutOfService, resultHandler); }
switch (key) { case "name": match = match(getName(), filter.getString("name")); break; case "registration": match = match(getRegistration(), filter.getString("registration")); break; case "status": match = match(getStatus().name(), filter.getString("status")); break; case "type": match = match(getType(), filter.getString("type")); break; default: match = match(getMetadata().getValue(key), filter.getValue(key)); break;
switch (key) { case "name": match = match(getName(), filter.getString("name")); break; case "registration": match = match(getRegistration(), filter.getString("registration")); break; case "status": match = match(getStatus().name(), filter.getString("status")); break; case "type": match = match(getType(), filter.getString("type")); break; default: match = match(getMetadata().getValue(key), filter.getValue(key)); break;
@Test public void TestTypeMatch() { Record record = new Record().setName("Name").setType(HttpEndpoint.TYPE); assertThat(record.match(new JsonObject().put("name", "Name").put("type", "any"))).isFalse(); assertThat(record.match(new JsonObject().put("name", "Name").put("type", HttpEndpoint.TYPE))).isTrue(); assertThat(record.match(new JsonObject().put("type", HttpEndpoint.TYPE))).isTrue(); assertThat(record.match(new JsonObject().put("name", "Name").put("type", "*"))).isTrue(); }
@Test public void TestTypeMatch() { Record record = new Record().setName("Name").setType(HttpEndpoint.TYPE); assertThat(record.match(new JsonObject().put("name", "Name").put("type", "any"))).isFalse(); assertThat(record.match(new JsonObject().put("name", "Name").put("type", HttpEndpoint.TYPE))).isTrue(); assertThat(record.match(new JsonObject().put("type", HttpEndpoint.TYPE))).isTrue(); assertThat(record.match(new JsonObject().put("name", "Name").put("type", "*"))).isTrue(); }
@Test public void testMatch() { Record record = new Record().setName("Name"); assertThat(record.match(new JsonObject().put("name", "Name"))).isTrue(); assertThat(record.match(new JsonObject().put("name", "Name-2"))).isFalse(); record.setStatus(Status.UP); assertThat(record.match(new JsonObject().put("status", "Up"))).isTrue(); assertThat(record.match(new JsonObject().put("status", "Down"))).isFalse(); assertThat(record.match(new JsonObject().put("status", "Up").put("name", "Name"))).isTrue(); assertThat(record.match(new JsonObject().put("status", "Down").put("name", "Name"))).isFalse(); record.setRegistration("the-registration"); assertThat(record.match(new JsonObject().put("registration", "the-registration"))).isTrue(); assertThat(record.match(new JsonObject().put("registration", "wrong"))).isFalse(); record.getMetadata().put("foo", "bar").put("key", 2); assertThat(record.match(new JsonObject().put("foo", "bar"))).isTrue(); assertThat(record.match(new JsonObject().put("foo", "bar2"))).isFalse(); assertThat(record.match(new JsonObject().put("foo", "bar").put("other", "nope"))).isFalse(); assertThat(record.match(new JsonObject().put("foo", "bar").put("other", "*"))).isFalse(); assertThat(record.match(new JsonObject().put("foo", "bar").put("key", 2))).isTrue(); assertThat(record.match(new JsonObject().put("foo", "*").put("key", 2))).isTrue(); }
@Test public void testMatch() { Record record = new Record().setName("Name"); assertThat(record.match(new JsonObject().put("name", "Name"))).isTrue(); assertThat(record.match(new JsonObject().put("name", "Name-2"))).isFalse(); record.setStatus(Status.UP); assertThat(record.match(new JsonObject().put("status", "Up"))).isTrue(); assertThat(record.match(new JsonObject().put("status", "Down"))).isFalse(); assertThat(record.match(new JsonObject().put("status", "Up").put("name", "Name"))).isTrue(); assertThat(record.match(new JsonObject().put("status", "Down").put("name", "Name"))).isFalse(); record.setRegistration("the-registration"); assertThat(record.match(new JsonObject().put("registration", "the-registration"))).isTrue(); assertThat(record.match(new JsonObject().put("registration", "wrong"))).isFalse(); record.getMetadata().put("foo", "bar").put("key", 2); assertThat(record.match(new JsonObject().put("foo", "bar"))).isTrue(); assertThat(record.match(new JsonObject().put("foo", "bar2"))).isFalse(); assertThat(record.match(new JsonObject().put("foo", "bar").put("other", "nope"))).isFalse(); assertThat(record.match(new JsonObject().put("foo", "bar").put("other", "*"))).isFalse(); assertThat(record.match(new JsonObject().put("foo", "bar").put("key", 2))).isTrue(); assertThat(record.match(new JsonObject().put("foo", "*").put("key", 2))).isTrue(); }