/** * Get a Stream over the entries in the JSON array * * @return a Stream */ public Stream<Object> stream() { return Json.asStream(iterator()); }
public void removeFromHA(String depID) { Deployment dep = deploymentManager.getDeployment(depID); if (dep == null || !dep.deploymentOptions().isHa()) { return; } synchronized (haInfo) { JsonArray haMods = haInfo.getJsonArray("verticles"); Iterator<Object> iter = haMods.iterator(); while (iter.hasNext()) { Object obj = iter.next(); JsonObject mod = (JsonObject) obj; if (mod.getString("dep_id").equals(depID)) { iter.remove(); } } clusterMap.put(nodeID, haInfo.encode()); } }
@Test public void testIterator() { jsonArray.add("foo"); jsonArray.add(123); JsonObject obj = new JsonObject().put("foo", "bar"); jsonArray.add(obj); Iterator<Object> iter = jsonArray.iterator(); assertTrue(iter.hasNext()); Object entry = iter.next(); assertEquals("foo", entry); assertTrue(iter.hasNext()); entry = iter.next(); assertEquals(123, entry); assertTrue(iter.hasNext()); entry = iter.next(); assertEquals(obj, entry); assertFalse(iter.hasNext()); iter.remove(); assertFalse(jsonArray.contains(obj)); assertEquals(2, jsonArray.size()); }
/** * Get a Stream over the entries in the JSON array * * @return a Stream */ public Stream<Object> stream() { return Json.asStream(iterator()); }
public void removeFromHA(String depID) { Deployment dep = deploymentManager.getDeployment(depID); if (dep == null || !dep.deploymentOptions().isHa()) { return; } synchronized (haInfo) { JsonArray haMods = haInfo.getJsonArray("verticles"); Iterator<Object> iter = haMods.iterator(); while (iter.hasNext()) { Object obj = iter.next(); JsonObject mod = (JsonObject) obj; if (mod.getString("dep_id").equals(depID)) { iter.remove(); } } clusterMap.put(nodeID, haInfo.encode()); } }
@Test public void testIterator() { jsonArray.add("foo"); jsonArray.add(123); JsonObject obj = new JsonObject().put("foo", "bar"); jsonArray.add(obj); Iterator<Object> iter = jsonArray.iterator(); assertTrue(iter.hasNext()); Object entry = iter.next(); assertEquals("foo", entry); assertTrue(iter.hasNext()); entry = iter.next(); assertEquals(123, entry); assertTrue(iter.hasNext()); entry = iter.next(); assertEquals(obj, entry); assertFalse(iter.hasNext()); iter.remove(); assertFalse(jsonArray.contains(obj)); assertEquals(2, jsonArray.size()); }
private boolean removeCredentialsFromCredentialsArray(final String deviceId, final String type, final JsonArray credentialsForAuthId) { boolean removedElement = false; if (credentialsForAuthId != null) { // the credentials in the array always have the same authId, but possibly different types // use an iterator here to allow removal during looping (streams currently do not allow this) final Iterator<Object> credentialsIterator = credentialsForAuthId.iterator(); while (credentialsIterator.hasNext()) { final JsonObject element = (JsonObject) credentialsIterator.next(); final String credType = element.getString(CredentialsConstants.FIELD_TYPE); final String credDevice = element.getString(CredentialsConstants.FIELD_PAYLOAD_DEVICE_ID); if (!CredentialsConstants.SPECIFIER_WILDCARD.equals(type) && credType.equals(type)) { // delete a single credentials instance credentialsIterator.remove(); removedElement = true; break; // there can only be one matching instance due to uniqueness guarantees } else if (CredentialsConstants.SPECIFIER_WILDCARD.equalsIgnoreCase(type) && credDevice.equals(deviceId)) { // delete all credentials for device credentialsIterator.remove(); removedElement = true; } else if (credDevice.equals(deviceId) && credType.equals(type)) { // delete all credentials for device of given type credentialsIterator.remove(); removedElement = true; } } } return removedElement; }
private boolean removeCredentialsFromCredentialsArray(final String deviceId, final String type, final JsonArray credentialsForAuthId) { boolean removedElement = false; if (credentialsForAuthId != null) { // the credentials in the array always have the same authId, but possibly different types // use an iterator here to allow removal during looping (streams currently do not allow this) final Iterator<Object> credentialsIterator = credentialsForAuthId.iterator(); while (credentialsIterator.hasNext()) { final JsonObject element = (JsonObject) credentialsIterator.next(); final String credType = element.getString(CredentialsConstants.FIELD_TYPE); final String credDevice = element.getString(CredentialsConstants.FIELD_PAYLOAD_DEVICE_ID); if (!CredentialsConstants.SPECIFIER_WILDCARD.equals(type) && credType.equals(type)) { // delete a single credentials instance credentialsIterator.remove(); removedElement = true; break; // there can only be one matching instance due to uniqueness guarantees } else if (CredentialsConstants.SPECIFIER_WILDCARD.equalsIgnoreCase(type) && credDevice.equals(deviceId)) { // delete all credentials for device credentialsIterator.remove(); removedElement = true; } else if (credDevice.equals(deviceId) && credType.equals(type)) { // delete all credentials for device of given type credentialsIterator.remove(); removedElement = true; } } } return removedElement; }
final Iterator<Object> credentialsIterator = credentialsForAuthId.iterator(); while (credentialsIterator.hasNext()) { final JsonObject creds = (JsonObject) credentialsIterator.next();
final Iterator<Object> credentialsIterator = credentialsForAuthId.iterator(); while (credentialsIterator.hasNext()) { final JsonObject creds = (JsonObject) credentialsIterator.next();
public static MultiMap fromJson(JsonArray json) { MultiMap result = new CaseInsensitiveHeaders(); Iterator<Object> it = json.iterator(); while(it.hasNext()) { Object next = it.next(); if(next instanceof JsonArray) { JsonArray pair = (JsonArray)next; if(pair.size() == 2) { result.add(pair.getString(0), pair.getString(1)); } } } return result; } }
String generator = obj.getString(Constants.GENERATOR); JsonArray members = obj.getJsonArray(Constants.MEMBERS); Iterator<?> iter = members.iterator(); while (iter.hasNext()) { JsonObject member = (JsonObject) iter.next();