List of usage examples for io.vertx.core.json JsonArray add
public JsonArray add(Object value)
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; }