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

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

Introduction

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

Prototype

public JsonArray add(Object value) 

Source Link

Document

Add an Object to the JSON array.

Usage

From source file:org.entcore.feeder.timetable.edt.EDTHandler.java

License:Open Source License

@Override
public void startElement(String uri, String localName, String qName, Attributes attributes)
        throws SAXException {
    currentTag = localName;/*from   w  w  w.  j  a  va2s.c o m*/
    final JsonObject o = attributesToJsonObject(attributes);
    if (isNotEmpty(currentEntityType)) {
        JsonArray a = currentEntity.getJsonArray(currentTag);
        if (a == null) {
            a = new fr.wseduc.webutils.collections.JsonArray();
            currentEntity.put(currentTag, a);
        }
        a.add(o);
        return;
    }

    if (persEducNatOnly) {
        switch (localName) {
        case "Professeur":
        case "Personnel":
        case "Cours":
        case "Absence":
            currentEntityType = localName;
            currentEntity = o;
            break;
        }
    } else {
        switch (localName) {
        case "Cours":
            if (firstCours) {
                firstCours = false;
            } else {
                currentEntityType = localName;
                currentEntity = o;
            }
            break;
        case "Matiere":
        case "Eleve":
            //            case "Professeur":
            //            case "Personnel":
        case "Classe":
        case "Groupe":
        case "Salle":
        case "Materiel":
        case "GrilleHoraire":
        case "AnneeScolaire":
            currentEntityType = localName;
            currentEntity = o;
            break;
        }
    }
}

From source file:org.entcore.feeder.timetable.edt.EDTImporter.java

License:Open Source License

private void classInGroups(String id, JsonArray classes, Map<String, JsonObject> ref) {
    if (classes != null) {
        for (Object o : classes) {
            if (o instanceof JsonObject) {
                final JsonObject j = ref.get(((JsonObject) o).getString(IDENT));
                if (j != null) {
                    JsonArray groups = j.getJsonArray("groups");
                    if (groups == null) {
                        groups = new fr.wseduc.webutils.collections.JsonArray();
                        j.put("groups", groups);
                    }/*from  w  w  w  .  jav  a  2 s . co  m*/
                    groups.add(id);
                }
            }
        }
    }
}

From source file:org.entcore.feeder.timetable.edt.EDTImporter.java

License:Open Source License

private JsonObject generateCourse(int startCourseWeek, int endCourseWeek, BitSet enabledItems,
        List<JsonObject> items, JsonObject entity) {
    final int day = Integer.parseInt(entity.getString("Jour"));
    final int startPlace = Integer.parseInt(entity.getString("NumeroPlaceDebut"));
    final int placesNumber = Integer.parseInt(entity.getString("NombrePlaces"));
    DateTime startDate = startDateWeek1.plusWeeks(startCourseWeek - 1).plusDays(day - 1);
    DateTime endDate = startDate.plusWeeks(endCourseWeek - startCourseWeek);
    startDate = startDate.plusSeconds(slots.get(entity.getString("NumeroPlaceDebut")).getStart());
    endDate = endDate.plusSeconds(slots.get(String.valueOf((startPlace + placesNumber - 1))).getEnd());
    final JsonObject c = new JsonObject().put("structureId", structureId)
            .put("subjectId", subjects.get(entity.getJsonArray("Matiere").getJsonObject(0).getString(IDENT)))
            .put("startDate", startDate.toString()).put("endDate", endDate.toString())
            .put("dayOfWeek", startDate.getDayOfWeek());

    for (int i = 0; i < enabledItems.size(); i++) {
        if (enabledItems.get(i)) {
            final JsonObject item = items.get(i);
            final String ident = item.getString(IDENT);
            switch (item.getString("itemType")) {
            case "Professeur":
                JsonArray teachersArray = c.getJsonArray("teacherIds");
                if (teachersArray == null) {
                    teachersArray = new fr.wseduc.webutils.collections.JsonArray();
                    c.put("teacherIds", teachersArray);
                }/*from   ww  w  .  j a  v a 2s.c om*/
                final String tId = teachers.get(ident);
                if (isNotEmpty(tId)) {
                    teachersArray.add(tId);
                }
                break;
            case "Classe":
                JsonArray classesArray = c.getJsonArray("classes");
                if (classesArray == null) {
                    classesArray = new fr.wseduc.webutils.collections.JsonArray();
                    c.put("classes", classesArray);
                }
                JsonObject ci = classes.get(ident);
                if (ci != null) {
                    classesArray.add(ci.getString("className"));
                }
                break;
            case "Groupe":
                JsonArray groupsArray = c.getJsonArray("groups");
                if (groupsArray == null) {
                    groupsArray = new fr.wseduc.webutils.collections.JsonArray();
                    c.put("groups", groupsArray);
                }
                JsonObject g = groups.get(ident);
                if (g != null) {
                    groupsArray.add(g.getString("Nom"));
                }
                break;
            case "Materiel":
                JsonArray equipmentsArray = c.getJsonArray("equipmentLabels");
                if (equipmentsArray == null) {
                    equipmentsArray = new fr.wseduc.webutils.collections.JsonArray();
                    c.put("equipmentLabels", equipmentsArray);
                }
                final String eId = equipments.get(ident);
                if (isNotEmpty(eId)) {
                    equipmentsArray.add(eId);
                }

                break;
            case "Salle":
                JsonArray roomsArray = c.getJsonArray("roomLabels");
                if (roomsArray == null) {
                    roomsArray = new fr.wseduc.webutils.collections.JsonArray();
                    c.put("roomLabels", roomsArray);
                }
                final String rId = rooms.get(ident);
                if (isNotEmpty(rId)) {
                    roomsArray.add(rId);
                }
                break;
            case "Personnel":
                JsonArray personnelsArray = c.getJsonArray("personnelIds");
                if (personnelsArray == null) {
                    personnelsArray = new fr.wseduc.webutils.collections.JsonArray();
                    c.put("personnelIds", personnelsArray);
                }
                final String pId = personnels.get(ident);
                if (isNotEmpty(pId)) {
                    personnelsArray.add(pId);
                }
                break;
            }
        }
    }
    try {
        c.put("_id", JsonUtil.checksum(c));
    } catch (NoSuchAlgorithmException e) {
        log.error("Error generating course checksum", e);
    }
    return c;
}

From source file:org.entcore.feeder.timetable.udt.UDTHandler.java

License:Open Source License

@Override
public void startElement(String uri, String localName, String qName, Attributes attributes)
        throws SAXException {
    currentTag = localName;/*ww w  .  ja v a 2 s  . c  o m*/
    final JsonObject o = attributesToJsonObject(attributes);
    if (isNotEmpty(currentEntityType)) {
        JsonArray a = currentEntity.getJsonArray(currentTag);
        if (a == null) {
            a = new fr.wseduc.webutils.collections.JsonArray();
            currentEntity.put(currentTag, a);
        }
        a.add(o);
        return;
    }

    switch (localName) {
    case "ligfiche":
    case "fiche":
    case "rgpmt":
    case "mat":
    case "ele_gpe":
    case "eleve":
    case "prof":
    case "div":
    case "gpe":
    case "salle":
    case "coens":
    case "demi_seq":
    case "init":
    case "semaines":
    case "fermeture":
        currentEntityType = localName;
        currentEntity = o;
        break;
    }
}

From source file:org.entcore.feeder.timetable.udt.UDTImporter.java

License:Open Source License

void addGroup2(JsonObject currentEntity) {
    final String codeGroup = currentEntity.getString("code_gpe");
    final String name = currentEntity.getString("nom");
    if (isNotEmpty(codeGroup)) {
        final String groupId = currentEntity.getString("code_div") + codeGroup;
        JsonObject group = groups.get(groupId);
        if (group == null) {
            log.warn("addGroup2 : unknown.group.mapping");
            return;
        }//from   ww w . j  av a  2 s .  c  o m
        JsonArray groups = group.getJsonArray("groups");
        if (groups == null) {
            groups = new fr.wseduc.webutils.collections.JsonArray();
            group.put("groups", groups);
        }
        groups.add(name);
    } else {
        final String classId = currentEntity.getString("code_div");
        JsonObject classe = classes.get(classId);
        if (classe == null) {
            log.warn("addGroup2 : unknown.class.mapping");
            return;
        }
        JsonArray groups = classe.getJsonArray("groups");
        if (groups == null) {
            groups = new fr.wseduc.webutils.collections.JsonArray();
            classe.put("groups", groups);
        }
        groups.add(name);
    }
    regroup.put(currentEntity.getString(CODE), name);
    txXDT.add(CREATE_GROUPS + "SET fg.idrgpmt = {idrgpmt} ",
            new JsonObject().put("structureExternalId", structureExternalId).put("name", name)
                    .put("displayNameSearchField", Validator.sanitize(name))
                    .put("externalId", structureExternalId + "$" + name).put("id", UUID.randomUUID().toString())
                    .put("source", getSource()).put("idrgpmt", currentEntity.getString("id")));
}

From source file:org.entcore.feeder.timetable.udt.UDTImporter.java

License:Open Source License

private JsonObject generateCourse(String start, String end, JsonObject entity, int periodWeek,
        int endPeriodWeek, boolean theoretical) {
    JsonObject ficheTStart = fichesT.get(start);
    JsonObject ficheTEnd = fichesT.get(end);
    if (ficheTStart == null || ficheTEnd == null) {
        report.addError("invalid.ficheT");
        return null;
    }/*from w w w . jav a 2  s.co  m*/
    final Slot slotStart = slots.get(ficheTStart.getString("jour")
            + padLeft(ficheTStart.getString("demi_seq"), 2, '0') + ficheTStart.getString("site"));
    final Slot slotEnd = slots.get(ficheTEnd.getString("jour")
            + padLeft(ficheTEnd.getString("demi_seq"), 2, '0') + ficheTEnd.getString("site"));
    if (slotStart == null || slotEnd == null) {
        report.addError("invalid.slot");
        return null;
    }
    final int day = Integer.parseInt(ficheTStart.getString("jour"));
    final int cpw = (periodWeek < startDateWeek1.getWeekOfWeekyear()) ? periodWeek + maxYearWeek : periodWeek;
    DateTime startDate = startDateWeek1.plusWeeks(cpw - startDateWeek1.getWeekOfWeekyear()).plusDays(day - 1);
    while (holidays.contains(startDate)) {
        startDate = startDate.plusWeeks(1);
    }
    startDate = startDate.plusSeconds(slotStart.getStart());
    //final int epw = periods.get(periodWeek);
    final int cepw = (endPeriodWeek < startDateWeek1.getWeekOfWeekyear()) ? endPeriodWeek + maxYearWeek
            : endPeriodWeek;
    DateTime endDate = startDateWeek1.plusWeeks(cepw - startDateWeek1.getWeekOfWeekyear()).plusDays(day - 1);
    while (holidays.contains(endDate)) {
        endDate = endDate.minusWeeks(1);
    }
    endDate = endDate.plusSeconds(slotEnd.getEnd());
    if (endDate.isBefore(startDate)) {
        log.error("endDate before start date. cpw : " + cpw + ", cepw : " + cepw + ", startDateWeek1 : "
                + startDateWeek1 + ", endPeriodOfWeek : " + endPeriodWeek);
    }
    final Set<String> ce = coens.get(start);
    JsonArray teacherIds;
    if (ce != null && ce.size() > 0) {
        teacherIds = new fr.wseduc.webutils.collections.JsonArray(new ArrayList<>(ce));
    } else {
        teacherIds = new fr.wseduc.webutils.collections.JsonArray();
    }
    final String pId = teachers.get(entity.getString("prof"));
    if (isNotEmpty(pId)) {
        teacherIds.add(pId);
    }

    final JsonObject c = new JsonObject().put("structureId", structureId).put("startDate", startDate.toString())
            .put("endDate", endDate.toString()).put("dayOfWeek", day).put("teacherIds", teacherIds)
            .put("theoretical", theoretical);
    final String sId = subjects.get(entity.getString("mat"));
    if (isNotEmpty(sId)) {
        c.put("subjectId", sId);
    }
    final String rId = rooms.get(entity.getString("salle"));
    if (isNotEmpty(rId)) {
        c.put("roomLabels", new fr.wseduc.webutils.collections.JsonArray().add(rId));
    }
    final JsonObject cId = classes.get(entity.getString("div"));
    if (cId != null && isNotEmpty(cId.getString("className"))) {
        c.put("classes", new fr.wseduc.webutils.collections.JsonArray().add(cId.getString("className")));
    }

    JsonArray groups;
    if (isNotEmpty(entity.getString("rgpmt")) || isNotEmpty(entity.getString("gpe"))) {
        groups = new fr.wseduc.webutils.collections.JsonArray();
        c.put("groups", groups);
        String name = regroup.get(entity.getString("rgpmt"));
        if (isNotEmpty(name)) {
            groups.add(name);
        }
        String gName = entity.getString("gpe");
        if (isNotEmpty(gName)) {
            groups.add(entity.getString("div") + " Gr " + gName);
        }
    }
    try {
        c.put("_id", JsonUtil.checksum(c));
    } catch (NoSuchAlgorithmException e) {
        log.error("Error generating course checksum", e);
    }
    return c;
}

From source file:org.entcore.feeder.utils.AAFUtil.java

License:Open Source License

private static Object functionalGroupConverter(Object value) {
    final JsonArray res = new JsonArray();
    if (value instanceof JsonArray) {
        for (Object o : ((JsonArray) value)) {
            if (o instanceof JsonObject) {
                final JsonObject j = (JsonObject) o;
                final String structureExternalId = j.getString("structureExternalId");
                if (isNotEmpty(structureExternalId)) {
                    final String idrgpmt = j.getString("idrgpmt");
                    final String name = j.getString("name");
                    if (isNotEmpty(idrgpmt)) {
                        res.add(structureExternalId + "$" + name + "$" + idrgpmt);
                    } else if (isNotEmpty(j.getString("idgpe"))) {
                        if (!getOrElse(j.getBoolean("usedInCourses"), false))
                            continue;
                        final String code = j.getString("code");
                        if (isNotEmpty(code) && isNotEmpty(j.getString("code_gep"))) {
                            res.add(structureExternalId + "$" + j.getString("code_gep") + "_" + code + "$"
                                    + j.getString("idgpe"));
                        } else if (isNotEmpty(code) && isNotEmpty(j.getString("code_div"))) {
                            res.add(structureExternalId + "$" + j.getString("code_div") + "_" + code + "$"
                                    + j.getString("idgpe"));
                        }/*from ww  w.ja v a2  s.  c  o  m*/
                    } else if (isEmpty(j.getString("externalId")) && isNotEmpty(name)) {
                        res.add(structureExternalId + "$" + name + "$" + j.getString("id"));
                    } else if (isNotEmpty(j.getString("externalId"))) {
                        res.add(j.getString("externalId") + "$" + j.getString("id"));
                    }
                }
            }
        }
    }
    return res;
}

From source file:org.entcore.feeder.utils.AAFUtil.java

License:Open Source License

private static Object structureToFunction(JsonArray value) {
    JsonArray res = new fr.wseduc.webutils.collections.JsonArray();
    if (value != null) {
        for (Object o : value) {
            if (o != null && !o.toString().isEmpty()) {
                res.add("EtabEducNat$" + o.toString() + "$UI");
            }//from w w w . j a  v a  2 s  .  co  m
        }
    }
    return res;
}

From source file:org.entcore.feeder.utils.AAFUtil.java

License:Open Source License

private static JsonArray functionsEtabConverter(JsonArray value) {
    JsonArray res = new fr.wseduc.webutils.collections.JsonArray();
    for (Object o : value) {
        if (!(o instanceof JsonArray))
            continue;
        JsonArray a = (JsonArray) o;/*  w w  w  .  j a  va 2s. c  o  m*/
        final String c = a.getString(0);
        if (c != null) {
            final String code = functionCodes.getString(c, c);
            for (Object s : a.getJsonArray(1)) {
                res.add("EtabEducNat$" + s + "$" + code);
            }
        }
    }
    return res;
}

From source file:org.entcore.feeder.utils.AAFUtil.java

License:Open Source License

private static JsonObject siecleConverter(JsonArray value) {
    JsonObject res = new JsonObject();
    JsonArray ENTEleveParents = new fr.wseduc.webutils.collections.JsonArray();
    Set<String> ENTEleveAutoriteParentale = new HashSet<>();
    String ENTEleveAutoriteParentale1 = "";
    String ENTEleveAutoriteParentale2 = "";
    String ENTElevePersRelEleve1 = "";
    String ENTEleveQualitePersRelEleve1 = "";
    String ENTElevePersRelEleve2 = "";
    String ENTEleveQualitePersRelEleve2 = "";

    // prevent missing "ENTEleveAutoriteParentale" if item is duplicate
    if (value.size() > 2) {
        final Map<String, String> tmp = new HashMap<>();
        for (Object o : value) {
            final String[] s = ((String) o).split("\\$", 2);
            final String v = tmp.get(s[0]);
            if (v == null || "1$1$1$1$0".equals(v)) {
                tmp.put(s[0], s[1]);/*from  w  w w .jav a  2 s. c  o  m*/
            }
        }
        JsonArray tmpArray = new fr.wseduc.webutils.collections.JsonArray();
        for (Map.Entry<String, String> e : tmp.entrySet()) {
            tmpArray.add(e.getKey() + "$" + e.getValue());
        }
        value = tmpArray;
    }

    for (Object o : value) {
        String[] s = ((String) o).split("\\$");
        if ("1".equals(s[1]) || "2".equals(s[1]) || "10".equals(s[1]) || "20".equals(s[1])) {
            if (!ENTEleveParents.contains(s[0])) {
                ENTEleveParents.add(s[0]);
            }
        } else if ("1".equals(s[2]) || "1".equals(s[4]) || "1".equals(s[5])) {
            if ("1".equals(s[2])) {
                if (ENTElevePersRelEleve1 == null || ENTElevePersRelEleve1.isEmpty()) {
                    ENTElevePersRelEleve1 = s[0];
                    ENTEleveQualitePersRelEleve1 = "FINANCIER";
                } else if (ENTElevePersRelEleve2 == null || ENTElevePersRelEleve2.isEmpty()) {
                    ENTElevePersRelEleve2 = s[0];
                    ENTEleveQualitePersRelEleve2 = "FINANCIER";
                } else if ("PAIEMENT".equals(ENTEleveQualitePersRelEleve1)) {
                    ENTElevePersRelEleve1 = s[0];
                    ENTEleveQualitePersRelEleve1 = "FINANCIER";
                } else if ("PAIEMENT".equals(ENTEleveQualitePersRelEleve2)) {
                    ENTElevePersRelEleve2 = s[0];
                    ENTEleveQualitePersRelEleve2 = "FINANCIER";
                }
            } else if ("1".equals(s[4])) {
                if (ENTElevePersRelEleve1 == null || ENTElevePersRelEleve1.isEmpty()) {
                    ENTElevePersRelEleve1 = s[0];
                    ENTEleveQualitePersRelEleve1 = "CONTACT";
                } else if (ENTElevePersRelEleve2 == null || ENTElevePersRelEleve2.isEmpty()) {
                    ENTElevePersRelEleve2 = s[0];
                    ENTEleveQualitePersRelEleve2 = "CONTACT";
                } else if ("PAIEMENT".equals(ENTEleveQualitePersRelEleve1)) {
                    ENTElevePersRelEleve1 = s[0];
                    ENTEleveQualitePersRelEleve1 = "CONTACT";
                } else if ("PAIEMENT".equals(ENTEleveQualitePersRelEleve2)) {
                    ENTElevePersRelEleve2 = s[0];
                    ENTEleveQualitePersRelEleve2 = "CONTACT";
                }
            } else if ("1".equals(s[5])) {
                if (ENTElevePersRelEleve1 == null || ENTElevePersRelEleve1.isEmpty()) {
                    ENTElevePersRelEleve1 = s[0];
                    ENTEleveQualitePersRelEleve1 = "PAIEMENT";
                } else if (ENTElevePersRelEleve2 == null || ENTElevePersRelEleve2.isEmpty()) {
                    ENTElevePersRelEleve2 = s[0];
                    ENTEleveQualitePersRelEleve2 = "PAIEMENT";
                }
            }
        }
        if ("1".equals(s[3])) {
            if (isEmpty(ENTEleveAutoriteParentale1)) {
                ENTEleveAutoriteParentale1 = s[0];
            }
            ENTEleveAutoriteParentale.add(s[0]);
        }
        if (isEmpty(ENTEleveAutoriteParentale2) && "2".equals(s[3])) {
            ENTEleveAutoriteParentale2 = s[0];
        }
    }

    if (!ENTEleveAutoriteParentale1.isEmpty()
            && !ENTEleveAutoriteParentale.contains(ENTEleveAutoriteParentale1)) {
        ENTEleveAutoriteParentale.add(ENTEleveAutoriteParentale1);
    }
    if (!ENTEleveAutoriteParentale2.isEmpty()
            && !ENTEleveAutoriteParentale.contains(ENTEleveAutoriteParentale2)) {
        ENTEleveAutoriteParentale.add(ENTEleveAutoriteParentale2);
    }
    res.put("ENTEleveParents", ENTEleveParents);
    res.put("ENTEleveAutoriteParentale",
            new fr.wseduc.webutils.collections.JsonArray(new ArrayList<>(ENTEleveAutoriteParentale)));
    res.put("ENTElevePersRelEleve1", ENTElevePersRelEleve1);
    res.put("ENTEleveQualitePersRelEleve1", ENTEleveQualitePersRelEleve1);
    res.put("ENTElevePersRelEleve2", ENTElevePersRelEleve2);
    res.put("ENTEleveQualitePersRelEleve2", ENTEleveQualitePersRelEleve2);
    res.put("ENTElevePersRelEleve", value);
    return res;
}