List of usage examples for io.vertx.core.json JsonArray size
public int size()
From source file:org.entcore.common.events.impl.GenericEventStore.java
License:Open Source License
@Override public void createAndStoreEvent(final String eventType, final String login) { String query = "MATCH (n:User {login : {login}}) " + "OPTIONAL MATCH n-[:IN]->(gp:ProfileGroup) " + "OPTIONAL MATCH n-[:IN]->()-[:DEPENDS]->(s:Structure) " + "OPTIONAL MATCH n-[:IN]->()-[:DEPENDS]->(c:Class) " + "OPTIONAL MATCH n-[:IN]->()-[:HAS_PROFILE]->(p:Profile) " + "RETURN distinct n.id as userId, p.name as type, COLLECT(distinct gp.id) as profilGroupsIds, " + "COLLECT(distinct c.id) as classes, COLLECT(distinct s.id) as structures"; Neo4j.getInstance().execute(query, new JsonObject().put("login", login), new Handler<Message<JsonObject>>() { @Override/*from w ww . jav a 2 s . c o m*/ public void handle(Message<JsonObject> event) { JsonArray res = event.body().getJsonArray("result"); if ("ok".equals(event.body().getString("status")) && res.size() == 1) { execute(UserUtils.sessionToUserInfos(res.getJsonObject(0)), eventType, null, null); } else { logger.error("Error : user " + login + " not found."); } } }); }
From source file:org.entcore.common.http.BasicFilter.java
License:Open Source License
@Override protected void validateClientScope(String clientId, String secret, final Handler<String> handler) { String query = "MATCH (n:Application {name: {clientId}, secret: {secret}, grantType: 'Basic'}) " + "RETURN n.scope as scope"; JsonObject params = new JsonObject().put("clientId", clientId).put("secret", secret); Neo4j.getInstance().execute(query, params, new Handler<Message<JsonObject>>() { @Override//from ww w .j av a 2 s . co m public void handle(Message<JsonObject> event) { JsonArray res = event.body().getJsonArray("result"); if ("ok".equals(event.body().getString("status")) && res != null && res.size() == 1) { handler.handle(Joiner.on(" ").join(res.getJsonObject(0).getJsonArray("scope"))); } else { handler.handle(null); } } }); }
From source file:org.entcore.common.http.filter.AbstractActionFilter.java
License:Open Source License
private void authorizeWorkflowAction(JsonObject session, Binding binding, Handler<Boolean> handler) { JsonArray actions = session.getJsonArray("authorizedActions"); if (binding != null && binding.getServiceMethod() != null && actions != null && actions.size() > 0) { for (Object a : actions) { JsonObject action = (JsonObject) a; if (binding.getServiceMethod().equals(action.getString("name"))) { handler.handle(true);// w w w .j ava 2 s . co m return; } } } if (session.getJsonObject("functions", new JsonObject()).containsKey("SUPER_ADMIN")) { handler.handle(true); return; } handler.handle(false); }
From source file:org.entcore.common.http.filter.AdmlResourcesProvider.java
License:Open Source License
protected void validateQuery(final HttpServerRequest request, final Handler<Boolean> handler, String query, JsonObject params) {//from w w w .j a v a 2 s .c o m request.pause(); neo4j.execute(query, params, new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> r) { request.resume(); JsonArray res = r.body().getJsonArray("result"); handler.handle("ok".equals(r.body().getString("status")) && res.size() == 1 && (res.getJsonObject(0)).getBoolean("exists", false)); } }); }
From source file:org.entcore.common.http.filter.AdmlResourcesProvider.java
License:Open Source License
protected void validateQueries(final HttpServerRequest request, final Handler<Boolean> handler, StatementsBuilder statementsBuilder) { request.pause();// w w w. ja v a2 s. c om final JsonArray statements = statementsBuilder.build(); neo4j.executeTransaction(statements, null, true, new Handler<Message<JsonObject>>() { @Override public void handle(Message<JsonObject> r) { request.resume(); JsonArray res = r.body().getJsonArray("results"); if (!"ok".equals(r.body().getString("status")) || res == null || res.size() != statements.size()) { handler.handle(false); return; } for (int i = 0; i < statements.size(); i++) { JsonArray j = res.getJsonArray(i); if (j.size() != 1 || !j.getJsonObject(0).getBoolean("exists", false)) { handler.handle(false); return; } } handler.handle(true); } }); }
From source file:org.entcore.common.http.filter.VisibleFilter.java
License:Open Source License
@Override public void authorize(HttpServerRequest request, Binding binding, UserInfos user, Handler<Boolean> handler) { final String userId = request.params().get("userId"); if (userId == null || userId.trim().isEmpty()) { handler.handle(false);/*from w ww. j a va 2 s . c om*/ return; } neo4j.execute(query, new JsonObject().put("queryUserId", user.getUserId()).put("userId", userId), event -> { final JsonArray res = event.body().getJsonArray("result"); handler.handle("ok".equals(event.body().getString("status")) && res != null && res.size() == 1 && res.getJsonObject(0).getBoolean("exists", false)); }); }
From source file:org.entcore.common.neo4j.Neo4j.java
License:Open Source License
public void init(Vertx vertx, JsonObject config) { this.eb = Server.getEventBus(vertx); JsonArray serverUris = config.getJsonArray("server-uris"); String serverUri = config.getString("server-uri"); if (serverUris == null && serverUri != null) { serverUris = new fr.wseduc.webutils.collections.JsonArray().add(serverUri); }//ww w . j a v a 2s. c o m if (serverUris != null) { try { URI[] uris = new URI[serverUris.size()]; for (int i = 0; i < serverUris.size(); i++) { uris[i] = new URI(serverUris.getString(i)); } database = new Neo4jRest(uris, config.getBoolean("slave-readonly", false), vertx, config.getLong("checkDelay", 3000l), config.getInteger("poolSize", 16), config.getBoolean("keepAlive", true), config); } catch (Exception e) { log.error(e.getMessage(), e); } } else { log.error("Invalid Neo4j URI"); } }
From source file:org.entcore.common.neo4j.Neo4jRest.java
License:Open Source License
public Neo4jRest(URI[] uris, boolean ro, Vertx vertx, long checkDelay, int poolSize, boolean keepAlive, JsonObject neo4jConfig) {//from w w w. j a v a2s . co m nodeManager = new Neo4jRestNodeClient(uris, vertx, checkDelay, poolSize, keepAlive); this.ro = ro; String path = uris[0].getPath(); if (path != null && path.endsWith("/")) { this.basePath = path.substring(0, path.length() - 1); } else { this.basePath = path; } if (neo4jConfig != null) { JsonArray legacyIndexes = neo4jConfig.getJsonArray("legacy-indexes"); if (legacyIndexes != null && legacyIndexes.size() > 0) { for (Object o : legacyIndexes) { if (!(o instanceof JsonObject)) continue; JsonObject j = (JsonObject) o; createIndex(j); } } } }
From source file:org.entcore.common.neo4j.Neo4jRest.java
License:Open Source License
private JsonArray transformJson(JsonObject json) { final JsonArray columns = json.getJsonArray("columns"); final JsonArray data = json.getJsonArray("data"); final JsonArray out = new fr.wseduc.webutils.collections.JsonArray(); if (data != null && columns != null) { for (Object r : data) { JsonArray row; if (r instanceof JsonArray) { row = (JsonArray) r;//from ww w. ja va2s .c o m } else if (r instanceof JsonObject) { row = ((JsonObject) r).getJsonArray("row"); } else { continue; } JsonObject outRow = new fr.wseduc.webutils.collections.JsonObject(); out.add(outRow); for (int j = 0; j < row.size(); j++) { Object value = row.getValue(j); if (value == null) { outRow.put(columns.getString(j), (String) null); } else if (value instanceof String) { outRow.put(columns.getString(j), (String) value); } else if (value instanceof JsonArray) { outRow.put(columns.getString(j), (JsonArray) value); } else if (value instanceof JsonObject) { outRow.put(columns.getString(j), (JsonObject) value); } else if (value instanceof Boolean) { outRow.put(columns.getString(j), (Boolean) value); } else if (value instanceof Number) { outRow.put(columns.getString(j), (Number) value); } else { outRow.put(columns.getString(j), value.toString()); } } } } return out; }
From source file:org.entcore.common.neo4j.Neo4jResult.java
License:Open Source License
public static Either<String, JsonObject> validUniqueResult(Message<JsonObject> res) { Either<String, JsonArray> r = validResult(res); if (r.isRight()) { JsonArray results = r.right().getValue(); if (results == null || results.size() == 0) { return new Either.Right<>(new JsonObject()); }//from www .j a v a 2s .c o m if (results.size() == 1 && (results.getValue(0) instanceof JsonObject)) { return new Either.Right<>(results.getJsonObject(0)); } return new Either.Left<>("non.unique.result"); } else { return new Either.Left<>(r.left().getValue()); } }