Example usage for io.vertx.core.json JsonArray size

List of usage examples for io.vertx.core.json JsonArray size

Introduction

In this page you can find the example usage for io.vertx.core.json JsonArray size.

Prototype

public int size() 

Source Link

Document

Get the number of values in this JSON array

Usage

From source file:org.entcore.feeder.export.eliot.BaseExportProcessing.java

License:Open Source License

protected void export(final Handler<Message<JsonObject>> handler, final ExportProcessing exportProcessing) {
    count(new Handler<Integer>() {
        @Override/*from   w  w  w . j  a  v  a2 s . co m*/
        public void handle(Integer nb) {
            if (nb == null) {
                error("invalid.count", handler);
                return;
            }
            final int nbHandlers = (nb % nbByFile == 0) ? nb / nbByFile : nb / nbByFile + 1;
            final Handler[] handlers = new Handler[nbHandlers + 1];
            handlers[handlers.length - 1] = new Handler<Void>() {
                @Override
                public void handle(Void v) {
                    if (concat && xmlEventWriter != null) {
                        try {
                            closeDocument();
                        } catch (IOException | XMLStreamException e) {
                            error(e, handler);
                            return;
                        }
                    }
                    if (exportProcessing != null) {
                        exportProcessing.start(handler);
                    } else {
                        handler.handle(new ResultMessage());
                    }
                }
            };
            for (int i = handlers.length - 2; i >= 0; i--) {
                final int j = i;
                handlers[i] = new Handler<Void>() {
                    @Override
                    public void handle(Void v) {
                        list(j * nbByFile, nbByFile, new Handler<JsonArray>() {
                            @Override
                            public void handle(JsonArray objects) {
                                if (objects == null) {
                                    error("list.return.null.array", handler);
                                    return;
                                }
                                if (objects.size() > 0) {
                                    try {
                                        if (!concat) {
                                            writeDocument(j, objects);
                                        } else {
                                            if (xmlEventWriter == null) {
                                                xmlEventFactory = XMLEventFactory.newInstance();
                                                openDocument();
                                            }
                                            for (Object o : objects) {
                                                if (!(o instanceof JsonObject))
                                                    continue;
                                                writeElement(xmlEventWriter, xmlEventFactory, (JsonObject) o);
                                            }
                                        }
                                    } catch (IOException | XMLStreamException e) {
                                        error(e, handler);
                                        return;
                                    }
                                }
                                handlers[j + 1].handle(null);
                            }
                        });

                    }
                };
            }
            handlers[0].handle(null);
        }
    });
}

From source file:org.entcore.feeder.export.eliot.EliotExporter.java

License:Open Source License

@Override
public void export(final Handler<Message<JsonObject>> handler) throws Exception {
    TransactionManager.executeTransaction(new Function<TransactionHelper, Message<JsonObject>>() {
        @Override//  ww  w  .j ava  2 s .com
        public void apply(TransactionHelper value) {
            Tenant.list(new fr.wseduc.webutils.collections.JsonArray().add("name").add("academy"), null, null,
                    value);
            Structure.list(ELIOT, new fr.wseduc.webutils.collections.JsonArray().add("academy"), null, null,
                    value);
        }

        @Override
        public void handle(Message<JsonObject> result) {
            JsonArray r = result.body().getJsonArray("results");
            if ("ok".equals(result.body().getString("status")) && r != null && r.size() == 2) {
                final String tenant = r.getJsonArray(0).getJsonObject(0).getString("name");
                final String academy = r.getJsonArray(0).getJsonObject(0).getString("academy",
                        r.getJsonArray(1).getJsonObject(0).getString("academy"));
                final Date exportDate = new Date();
                final String path = exportBasePath + File.separator + tenant + "_Complet_"
                        + datetime.format(exportDate) + "_Export";
                log.info("Export path " + path);
                vertx.fileSystem().mkdirs(path, new Handler<AsyncResult<Void>>() {
                    @Override
                    public void handle(AsyncResult<Void> ar) {
                        if (ar.succeeded()) {
                            new EleveExportProcessing(path, date.format(exportDate), tenant + "_" + academy,
                                    concatFiles).start(new Handler<Message<JsonObject>>() {
                                        @Override
                                        public void handle(Message<JsonObject> message) {
                                            if ("ok".equals(message.body().getString("status"))) {
                                                if (exportDestination != null
                                                        && !exportDestination.trim().isEmpty()) {
                                                    zipAndSend(path, handler);
                                                } else {
                                                    log.warn("export not send");
                                                    message.body().put("exportPath", path);
                                                    handler.handle(message);
                                                }
                                            } else {
                                                log.error(message.body().encode());
                                                handler.handle(message);
                                            }
                                        }
                                    });
                        } else {
                            log.error(ar.cause().getMessage(), ar.cause());
                            handler.handle(new ResultMessage().error(ar.cause().getMessage()));
                        }
                    }
                });
            } else {
                log.error(result.body().encode());
                handler.handle(result);
            }
        }
    });
}

From source file:org.entcore.feeder.export.eliot.EtabEducNatExportProcessing.java

License:Open Source License

@Override
protected void count(final Handler<Integer> handler) {
    TransactionManager.executeTransaction(new Function<TransactionHelper, Message<JsonObject>>() {
        @Override/*from   ww w .ja  va 2 s  .  c  o  m*/
        public void apply(TransactionHelper value) {
            Structure.count(EliotExporter.ELIOT, value);
        }

        @Override
        public void handle(Message<JsonObject> result) {
            JsonArray r = result.body().getJsonArray("results");
            if ("ok".equals(result.body().getString("status")) && r != null && r.size() == 1) {
                JsonArray rs = r.getJsonArray(0);
                if (rs != null && rs.size() == 1) {
                    JsonObject row = rs.getJsonObject(0);
                    handler.handle(row.getInteger("nb", 0));
                    return;
                }
            }
            handler.handle(null);
        }
    });
}

From source file:org.entcore.feeder.export.eliot.EtabEducNatExportProcessing.java

License:Open Source License

@Override
protected void list(final Integer skip, final Integer limit, final Handler<JsonArray> handler) {
    TransactionManager.executeTransaction(new Function<TransactionHelper, Message<JsonObject>>() {
        @Override/*from  www . jav a  2 s  .co m*/
        public void apply(TransactionHelper value) {
            Structure.list(EliotExporter.ELIOT, attributes, skip, limit, value);
        }

        @Override
        public void handle(Message<JsonObject> result) {
            JsonArray r = result.body().getJsonArray("results");
            if ("ok".equals(result.body().getString("status")) && r != null && r.size() == 1) {
                JsonArray rs = r.getJsonArray(0);
                handler.handle(rs);
            } else {
                handler.handle(null);
            }
        }
    });
}

From source file:org.entcore.feeder.export.eliot.PersALExportProcessing.java

License:Open Source License

@Override
protected void list(final Integer skip, final Integer limit, final Handler<JsonArray> handler) {
    TransactionManager.executeTransaction(new Function<TransactionHelper, Message<JsonObject>>() {
        @Override/*w  ww. ja v  a  2  s.c o m*/
        public void apply(TransactionHelper value) {
            User.listByFunctions(EliotExporter.ELIOT, function, value);
        }

        @Override
        public void handle(Message<JsonObject> result) {
            JsonArray r = result.body().getJsonArray("results");
            if ("ok".equals(result.body().getString("status")) && r != null && r.size() == 1) {
                JsonArray rs = r.getJsonArray(0);
                handler.handle(rs);
            } else {
                handler.handle(null);
            }
        }
    });
}

From source file:org.entcore.feeder.export.eliot.PorteurENTExportProcessing.java

License:Open Source License

@Override
protected void count(final Handler<Integer> handler) {
    TransactionManager.executeTransaction(new Function<TransactionHelper, Message<JsonObject>>() {
        @Override/*from   w ww  . ja  v  a2s .co m*/
        public void apply(TransactionHelper value) {
            Tenant.count(value);
        }

        @Override
        public void handle(Message<JsonObject> result) {
            JsonArray r = result.body().getJsonArray("results");
            if ("ok".equals(result.body().getString("status")) && r != null && r.size() == 1) {
                JsonArray rs = r.getJsonArray(0);
                if (rs != null && rs.size() == 1) {
                    JsonObject row = rs.getJsonObject(0);
                    handler.handle(row.getInteger("nb", 0));
                    return;
                }
            }
            handler.handle(null);
        }
    });
}

From source file:org.entcore.feeder.export.eliot.PorteurENTExportProcessing.java

License:Open Source License

@Override
protected void list(final Integer skip, final Integer limit, final Handler<JsonArray> handler) {
    TransactionManager.executeTransaction(new Function<TransactionHelper, Message<JsonObject>>() {
        @Override//from  www .jav a  2s. co  m
        public void apply(TransactionHelper value) {
            Tenant.list(attributes, skip, limit, value);
        }

        @Override
        public void handle(Message<JsonObject> result) {
            JsonArray r = result.body().getJsonArray("results");
            if ("ok".equals(result.body().getString("status")) && r != null && r.size() == 1) {
                JsonArray rs = r.getJsonArray(0);
                handler.handle(rs);
            } else {
                handler.handle(null);
            }
        }
    });
}

From source file:org.entcore.feeder.export.eliot.UserExportProcessing.java

License:Open Source License

@Override
protected void count(final Handler<Integer> handler) {
    TransactionManager.executeTransaction(new Function<TransactionHelper, Message<JsonObject>>() {
        @Override/*from  w  ww . j a v a 2s .  co m*/
        public void apply(TransactionHelper value) {
            User.count(EliotExporter.ELIOT, profiles, value);
        }

        @Override
        public void handle(Message<JsonObject> result) {
            JsonArray r = result.body().getJsonArray("results");
            if ("ok".equals(result.body().getString("status")) && r != null && r.size() == 1) {
                JsonArray rs = r.getJsonArray(0);
                if (rs != null && rs.size() == 1) {
                    JsonObject row = rs.getJsonObject(0);
                    handler.handle(row.getInteger("nb", 0));
                    return;
                }
            }
            handler.handle(null);
        }
    });
}

From source file:org.entcore.feeder.export.eliot.UserExportProcessing.java

License:Open Source License

@Override
protected void list(final Integer skip, final Integer limit, final Handler<JsonArray> handler) {
    TransactionManager.executeTransaction(new Function<TransactionHelper, Message<JsonObject>>() {
        @Override/*  w  ww  .j  a va2 s. c  o  m*/
        public void apply(TransactionHelper value) {
            User.list(EliotExporter.ELIOT, profiles, attributes, skip, limit, value);
        }

        @Override
        public void handle(Message<JsonObject> result) {
            JsonArray r = result.body().getJsonArray("results");
            if ("ok".equals(result.body().getString("status")) && r != null && r.size() == 1) {
                JsonArray rs = r.getJsonArray(0);
                handler.handle(rs);
            } else {
                handler.handle(null);
            }
        }
    });
}

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

License:Open Source License

private void validateAndImport(final Message<JsonObject> message, final Feed feed, final boolean preDelete,
        final String structureExternalId, final String source) {
    launchImportValidation(message, new Handler<Report>() {
        @Override//from ww w.ja  v  a2 s.c o  m
        public void handle(final Report report) {
            if (report != null && !report.containsErrors()) {
                doImport(message, feed, new Handler<Report>() {
                    @Override
                    public void handle(final Report importReport) {
                        if (importReport == null) {
                            sendError(message, "import.error");
                            return;
                        }
                        final JsonObject ir = importReport.getResult();
                        final JsonArray existingUsers = ir.getJsonArray("usersExternalIds");
                        final JsonArray profiles = ir.getJsonArray(Report.PROFILES);
                        if (preDelete && structureExternalId != null && existingUsers != null
                                && existingUsers.size() > 0 && !importReport.containsErrors()) {
                            new User.PreDeleteTask(0).preDeleteMissingUsersInStructure(structureExternalId,
                                    source, existingUsers, profiles, new Handler<Message<JsonObject>>() {
                                        @Override
                                        public void handle(Message<JsonObject> event) {
                                            if (!"ok".equals(event.body().getString("status"))) {
                                                importReport.addError("preDelete.error");
                                            }
                                            sendOK(message,
                                                    new JsonObject().put("result", importReport.getResult()));
                                        }
                                    });
                        } else {
                            sendOK(message, new JsonObject().put("result", importReport.getResult()));
                        }
                    }
                });
            } else if (report != null) {
                sendOK(message, new JsonObject().put("result", report.getResult()));
            } else {
                sendError(message, "validation.error");
            }
        }
    });
}