/** * Get a stream of the entries in the JSON object. * * @return a stream of the entries. */ public Stream<Map.Entry<String, Object>> stream() { return Json.asStream(iterator()); }
@Test public void testJsonObjectEquality2() { JsonObject obj1 = new JsonObject().put("arr", new JsonArray().add("x")); List < Object > list = new ArrayList<>(); list.add("x"); Map<String, Object> map = new HashMap<>(); map.put("arr", list); JsonObject obj2 = new JsonObject(map); Iterator<Map.Entry<String, Object>> iter = obj2.iterator(); // There was a bug where iteration of entries caused the underlying object to change resulting in a // subsequent equals changing while (iter.hasNext()) { Map.Entry<String, Object> entry = iter.next(); } assertEquals(obj2, obj1); }
@Test public void testIteratorDoesntChangeObject() { Map<String, Object> map = new LinkedHashMap<>(); map.put("nestedMap", new HashMap<>()); map.put("nestedList", new ArrayList<>()); JsonObject obj = new JsonObject(map); Iterator<Map.Entry<String, Object>> iter = obj.iterator(); Map.Entry<String, Object> entry1 = iter.next(); assertEquals("nestedMap", entry1.getKey()); Object val1 = entry1.getValue(); assertTrue(val1 instanceof JsonObject); Map.Entry<String, Object> entry2 = iter.next(); assertEquals("nestedList", entry2.getKey()); Object val2 = entry2.getValue(); assertTrue(val2 instanceof JsonArray); assertTrue(map.get("nestedMap") instanceof HashMap); assertTrue(map.get("nestedList") instanceof ArrayList); }
@Test public void testIterator() { jsonObject.put("foo", "bar"); jsonObject.put("quux", 123); JsonObject obj = createJsonObject(); jsonObject.put("wibble", obj); Iterator<Map.Entry<String, Object>> iter = jsonObject.iterator(); assertTrue(iter.hasNext()); Map.Entry<String, Object> entry = iter.next(); assertEquals("foo", entry.getKey()); assertEquals("bar", entry.getValue()); assertTrue(iter.hasNext()); entry = iter.next(); assertEquals("quux", entry.getKey()); assertEquals(123, entry.getValue()); assertTrue(iter.hasNext()); entry = iter.next(); assertEquals("wibble", entry.getKey()); assertEquals(obj, entry.getValue()); assertFalse(iter.hasNext()); iter.remove(); assertFalse(obj.containsKey("wibble")); assertEquals(2, jsonObject.size()); }
/** * Get a stream of the entries in the JSON object. * * @return a stream of the entries. */ public Stream<Map.Entry<String, Object>> stream() { return Json.asStream(iterator()); }
@Test public void testJsonObjectEquality2() { JsonObject obj1 = new JsonObject().put("arr", new JsonArray().add("x")); List < Object > list = new ArrayList<>(); list.add("x"); Map<String, Object> map = new HashMap<>(); map.put("arr", list); JsonObject obj2 = new JsonObject(map); Iterator<Map.Entry<String, Object>> iter = obj2.iterator(); // There was a bug where iteration of entries caused the underlying object to change resulting in a // subsequent equals changing while (iter.hasNext()) { Map.Entry<String, Object> entry = iter.next(); } assertEquals(obj2, obj1); }
@Test public void testIteratorDoesntChangeObject() { Map<String, Object> map = new LinkedHashMap<>(); map.put("nestedMap", new HashMap<>()); map.put("nestedList", new ArrayList<>()); JsonObject obj = new JsonObject(map); Iterator<Map.Entry<String, Object>> iter = obj.iterator(); Map.Entry<String, Object> entry1 = iter.next(); assertEquals("nestedMap", entry1.getKey()); Object val1 = entry1.getValue(); assertTrue(val1 instanceof JsonObject); Map.Entry<String, Object> entry2 = iter.next(); assertEquals("nestedList", entry2.getKey()); Object val2 = entry2.getValue(); assertTrue(val2 instanceof JsonArray); assertTrue(map.get("nestedMap") instanceof HashMap); assertTrue(map.get("nestedList") instanceof ArrayList); }
@Test public void testIterator() { jsonObject.put("foo", "bar"); jsonObject.put("quux", 123); JsonObject obj = createJsonObject(); jsonObject.put("wibble", obj); Iterator<Map.Entry<String, Object>> iter = jsonObject.iterator(); assertTrue(iter.hasNext()); Map.Entry<String, Object> entry = iter.next(); assertEquals("foo", entry.getKey()); assertEquals("bar", entry.getValue()); assertTrue(iter.hasNext()); entry = iter.next(); assertEquals("quux", entry.getKey()); assertEquals(123, entry.getValue()); assertTrue(iter.hasNext()); entry = iter.next(); assertEquals("wibble", entry.getKey()); assertEquals(obj, entry.getValue()); assertFalse(iter.hasNext()); iter.remove(); assertFalse(obj.containsKey("wibble")); assertEquals(2, jsonObject.size()); }
@Override public Iterator<Entry<String, String>> iterator() { final Iterator<Entry<String, Object>> propertiesIterator = jsonObject.iterator(); return new Iterator<Entry<String, String>>() { @Override public boolean hasNext() { return propertiesIterator.hasNext(); } @Override public Entry<String, String> next() { final Entry<String, Object> nextEntry = propertiesIterator.next(); return new AbstractMap.SimpleEntry<>(nextEntry.getKey(), nextEntry.getValue().toString()); } }; }
/** * The top-level members of the Claims request JSON object are: userinfo and id_token * @param claimsRequest claims request * @param parameterName userinfo or id_token parameter * @return top level members of Claims request */ private Map<String, Object> resolveClaimsRequest(JsonObject claimsRequest, String parameterName) { JsonObject claimsParameterValue = claimsRequest.getJsonObject(parameterName); if (claimsParameterValue != null) { Map<String, Object> claimsParameter = new HashMap<>(); claimsParameterValue.iterator().forEachRemaining(entry -> resolveIndividualClaimsRequests(entry.getKey(), entry.getValue(), claimsParameter)); return claimsParameter; } return null; }
/** * The top-level members of the Claims request JSON object are: userinfo and id_token * @param claimsRequest claims request * @param parameterName userinfo or id_token parameter * @return top level members of Claims request */ private Map<String, Object> resolveClaimsRequest(JsonObject claimsRequest, String parameterName) { JsonObject claimsParameterValue = claimsRequest.getJsonObject(parameterName); if (claimsParameterValue != null) { Map<String, Object> claimsParameter = new HashMap<>(); claimsParameterValue.iterator().forEachRemaining(entry -> resolveIndividualClaimsRequests(entry.getKey(), entry.getValue(), claimsParameter)); return claimsParameter; } return null; }
if (claimValue instanceof JsonObject) { JsonObject individualClaim = (JsonObject) claimValue; individualClaim.iterator().forEachRemaining(entry -> {
if (claimValue instanceof JsonObject) { JsonObject individualClaim = (JsonObject) claimValue; individualClaim.iterator().forEachRemaining(entry -> {
private int getExposedPort(JsonObject b) { JsonObject config = b.getJsonObject("Config"); if (config == null) { throw (new IllegalArgumentException(messages.getMessage("11302"))); } JsonObject exposedPorts = config.getJsonObject("ExposedPorts"); if (exposedPorts == null) { throw (new IllegalArgumentException(messages.getMessage("11301"))); } int exposedPort = 0; Iterator<Map.Entry<String, Object>> iterator = exposedPorts.iterator(); while (iterator.hasNext()) { Map.Entry<String, Object> next = iterator.next(); String key = next.getKey(); String sPort = key.split("/")[0]; if (exposedPort == 0) { exposedPort = Integer.valueOf(sPort); } } return exposedPort; }