Example usage for io.vertx.core.eventbus Message body

List of usage examples for io.vertx.core.eventbus Message body

Introduction

In this page you can find the example usage for io.vertx.core.eventbus Message body.

Prototype

@CacheReturn
T body();

Source Link

Document

The body of the message.

Usage

From source file:org.entcore.feeder.ManualFeeder.java

License:Open Source License

public void updateUser(final Message<JsonObject> message) {
    final JsonObject user = getMandatoryObject("data", message);
    if (user == null)
        return;/*from w ww .  j a  va  2s . c o m*/
    final String userId = getMandatoryString("userId", message);
    if (userId == null)
        return;
    String q = "MATCH (u:User { id : {userId}})-[:IN]->(pg:ProfileGroup)-[:HAS_PROFILE]->(p:Profile) "
            + "RETURN DISTINCT p.name as profile ";
    neo4j.execute(q, new JsonObject().put("userId", userId), new Handler<Message<JsonObject>>() {
        @Override
        public void handle(Message<JsonObject> r) {
            JsonArray res = r.body().getJsonArray("result");
            if ("ok".equals(r.body().getString("status")) && res != null && res.size() > 0) {
                for (Object o : res) {
                    if (!(o instanceof JsonObject))
                        continue;
                    String profile = ((JsonObject) o).getString("profile");
                    Validator v = profiles.get(profile);
                    if (v == null) {
                        sendError(message, "Invalid profile : " + profile);
                        return;
                    }
                    final String error = v.modifiableValidate(user);
                    if (error != null) {
                        logger.error(error);
                        sendError(message, error);
                        return;
                    }
                }
                String query = "MATCH (u:User { id : {userId}}) " + "SET "
                        + Neo4jUtils.nodeSetPropertiesFromJson("u", user) + "RETURN DISTINCT u.id as id ";
                JsonObject params = user.put("userId", userId);
                neo4j.execute(query, params, new Handler<Message<JsonObject>>() {
                    @Override
                    public void handle(Message<JsonObject> m) {
                        message.reply(m.body());
                    }
                });
            } else {
                sendError(message, "Invalid profile.");
            }
        }
    });
}

From source file:org.entcore.feeder.ManualFeeder.java

License:Open Source License

public void deleteUser(final Message<JsonObject> message) {
    final JsonArray users = message.body().getJsonArray("users");
    if (users == null || users.size() == 0) {
        sendError(message, "Missing users.");
        return;//from   www. j a  va 2s .  c om
    }
    String query = "MATCH (u:User)"
            + "WHERE u.id IN {users} AND (u.source IN ['MANUAL', 'CSV', 'CLASS_PARAM', 'BE1D'] OR HAS(u.disappearanceDate)) "
            + "return count(*) as count ";
    neo4j.execute(query, new JsonObject().put("users", users), new Handler<Message<JsonObject>>() {
        @Override
        public void handle(Message<JsonObject> event) {
            JsonArray res = event.body().getJsonArray("result");
            if ("ok".equals(event.body().getString("status")) && res != null && res.size() == 1) {
                JsonObject j = res.getJsonObject(0);
                if (users.size() == j.getInteger("count", 0)) {
                    executeTransaction(message, new VoidFunction<TransactionHelper>() {
                        @Override
                        public void apply(TransactionHelper tx) {
                            for (Object o : users) {
                                User.backupRelationship(o.toString(), tx);
                                User.preDelete(o.toString(), tx);
                            }
                        }
                    });
                } else {
                    sendError(message, "unauthorized.user");
                }
            } else {
                message.reply(event.body());
            }
        }
    });
}

From source file:org.entcore.feeder.ManualFeeder.java

License:Open Source License

public void restoreUser(final Message<JsonObject> message) {
    final JsonArray users = message.body().getJsonArray("users");
    if (users == null || users.size() == 0) {
        sendError(message, "Missing users.");
        return;//from   www  . java  2s . c om
    }
    executeTransaction(message, new VoidFunction<TransactionHelper>() {
        @Override
        public void apply(TransactionHelper tx) {
            for (Object o : users) {
                User.restorePreDeleted(o.toString(), tx);
            }
        }
    });
}

From source file:org.entcore.feeder.ManualFeeder.java

License:Open Source License

public void createFunction(final Message<JsonObject> message) {
    final JsonObject function = getMandatoryObject("data", message);
    if (function == null)
        return;//from  w  w  w .  j  a va 2 s  . c om
    final String profile = message.body().getString("profile", "");
    if (!profiles.containsKey(profile)) {
        sendError(message, "Invalid profile : " + profile);
        return;
    }
    executeTransaction(message, new VoidFunction<TransactionHelper>() {
        @Override
        public void apply(TransactionHelper tx) {
            Profile.createFunction(profile, null, function, tx);
        }
    });
}

From source file:org.entcore.feeder.ManualFeeder.java

License:Open Source License

private void executeTransaction(final Message<JsonObject> message, VoidFunction<TransactionHelper> f) {
    TransactionHelper tx;/* ww w  .ja va  2s.  com*/
    try {
        tx = TransactionManager.getInstance().begin();
        f.apply(tx);
        tx.commit(new Handler<Message<JsonObject>>() {
            @Override
            public void handle(Message<JsonObject> event) {
                message.reply(event.body());
            }
        });
    } catch (TransactionException | ValidationException e) {
        sendError(message, e.getMessage(), e);
    }
}

From source file:org.entcore.feeder.ManualFeeder.java

License:Open Source License

public void createFunctionGroup(Message<JsonObject> message) {
    final JsonArray functions = message.body().getJsonArray("functions");
    if (functions == null || functions.size() == 0) {
        sendError(message, "missing.functions");
        return;/*from w  w  w .j  a v  a  2  s. c  o m*/
    }
    final String name = message.body().getString("name");
    if (name == null || name.trim().isEmpty()) {
        sendError(message, "missing.name");
        return;
    }
    final String externalId = message.body().getString("externalId");
    if (externalId == null || externalId.trim().isEmpty()) {
        sendError(message, "missing.externalId");
        return;
    }
    executeTransaction(message, new VoidFunction<TransactionHelper>() {
        @Override
        public void apply(TransactionHelper tx) {
            Profile.createFunctionGroup(functions, name, externalId, tx);
        }
    });
}

From source file:org.entcore.feeder.ManualFeeder.java

License:Open Source License

public void addUserFunction(final Message<JsonObject> message) {
    final String userId = getMandatoryString("userId", message);
    final String function = message.body().getString("function");
    if (userId == null || function == null)
        return;/*w w w .  j  a v a 2 s .  com*/
    final JsonArray scope = message.body().getJsonArray("scope");
    String inherit = message.body().getString("inherit", "");
    if (scope != null && ("s".equals(inherit) || "sc".equals(inherit))) {
        String query;
        if ("sc".equals(inherit)) {
            query = "MATCH (s:Structure)<-[:HAS_ATTACHMENT*0..]-(:Structure)<-[:BELONGS*0..1]-(scope) "
                    + "WHERE s.id IN {scope} " + "RETURN COLLECT(scope.id) as ids ";
        } else {
            query = "MATCH (s:Structure)<-[:HAS_ATTACHMENT*0..]-(scope:Structure) " + "WHERE s.id IN {scope} "
                    + "RETURN COLLECT(scope.id) as ids ";
        }
        neo4j.execute(query, new JsonObject().put("scope", scope), new Handler<Message<JsonObject>>() {
            @Override
            public void handle(Message<JsonObject> event) {
                JsonArray result = event.body().getJsonArray("result");
                if ("ok".equals(event.body().getString("status")) && result != null && result.size() == 1) {
                    final JsonArray s = result.getJsonObject(0).getJsonArray("ids");
                    executeTransaction(message, new VoidFunction<TransactionHelper>() {
                        @Override
                        public void apply(TransactionHelper tx) {
                            User.addFunction(userId, function, s, tx);
                        }
                    });
                } else {
                    sendError(message, "invalid.scope");
                }
            }
        });
    } else {
        executeTransaction(message, new VoidFunction<TransactionHelper>() {
            @Override
            public void apply(TransactionHelper tx) {
                User.addFunction(userId, function, scope, tx);
            }
        });
    }
}

From source file:org.entcore.feeder.ManualFeeder.java

License:Open Source License

public void addUserHeadTeacherManual(final Message<JsonObject> message) {
    final String userId = getMandatoryString("userId", message);
    final String classExternalId = message.body().getString("classExternalId");
    final String structureExternalId = message.body().getString("structureExternalId");
    if (userId == null || classExternalId == null || structureExternalId == null)
        return;/*from   w w  w .  jav  a 2 s. c  o  m*/
    executeTransaction(message, new VoidFunction<TransactionHelper>() {
        @Override
        public void apply(TransactionHelper tx) {
            User.addHeadTeacherManual(userId, structureExternalId, classExternalId, tx);
        }
    });
}

From source file:org.entcore.feeder.ManualFeeder.java

License:Open Source License

public void updateUserHeadTeacherManual(final Message<JsonObject> message) {
    final String userId = getMandatoryString("userId", message);
    final String classExternalId = message.body().getString("classExternalId");
    final String structureExternalId = message.body().getString("structureExternalId");
    if (userId == null || classExternalId == null || structureExternalId == null)
        return;/*from  w w w .j av  a  2 s .  c o  m*/
    executeTransaction(message, new VoidFunction<TransactionHelper>() {
        @Override
        public void apply(TransactionHelper tx) {
            User.updateHeadTeacherManual(userId, structureExternalId, classExternalId, tx);
        }
    });
}

From source file:org.entcore.feeder.ManualFeeder.java

License:Open Source License

public void removeUserFunction(Message<JsonObject> message) {
    final String userId = getMandatoryString("userId", message);
    final String function = message.body().getString("function");
    if (userId == null || function == null)
        return;//w  ww.ja  v  a  2s. c  o  m
    executeTransaction(message, new VoidFunction<TransactionHelper>() {
        @Override
        public void apply(TransactionHelper tx) {
            User.removeFunction(userId, function, tx);
        }
    });
}