public static void load()

in openmeetings-service/src/main/java/org/apache/openmeetings/service/scheduler/AtomReader.java [81:140]


	public static void load(String url, JSONArray feed) {
		HttpURLConnection con = null;
		try {
			con = getFeedConnection(url);
			try (InputStream is = con.getInputStream()) {
				XMLEventReader reader = inputFactory.createXMLEventReader(is);
				int i = 0;
				JSONObject obj = null;
				StringBuilder val = new StringBuilder(); // for NPE safety
				Spec spec = new Spec(""); // for NPE safety
				Field f = null;
				while (reader.hasNext()) {
					XMLEvent evt = reader.nextEvent();
					if (obj == null && evt.isStartElement()) {
						StartElement start = (StartElement)evt;
						String name = start.getName().getLocalPart();
						if (specs.containsKey(name)) {
							spec = specs.get(name);
							obj = new JSONObject();
							i++;
						}
					} else if (obj != null) {
						if (evt.isStartElement()) {
							StartElement start = (StartElement)evt;
							String name = start.getName().getLocalPart();
							if (spec.contains(name)) {
								f = spec.get(name);
								val = new StringBuilder();
								if (f.getAttr() != null) {
									Attribute a = start.getAttributeByName(new QName(f.getAttr()));
									if (a != null) {
										val.append(a.getValue());
									}
								}
							}
						} else if (f != null && evt.isCharacters()) {
							val.append(escapeXml11(((Characters)evt).getData()));
						} else if (f != null && evt.isEndElement() && f.getName().equals(((EndElement)evt).getName().getLocalPart())) {
							if (!obj.has(f.getAlias())) {
								obj.put(f.getAlias(), val.toString());
							}
							f = null;
						} else if (evt.isEndElement() && spec.getName().equals(((EndElement)evt).getName().getLocalPart())) {
							feed.put(obj);
							obj = null;
						}
					}
					if (i > MAX_ITEM_COUNT) {
						break;
					}
				}
			}
		} catch (IOException|XMLStreamException e) {
			log.error("Unexpected error while getting RSS", e);
		} finally {
			if (con != null) {
				con.disconnect();
			}
		}
	}