/** Gets the first child element with the given name. */ private Element getFirstChild(final Element el, final String name) { // NB: Unfortunately, the Element interface has no API method to obtain // _only_ direct children with a given name; the getElementsByTagName // method returns _all_ descendant elements with the given name. final NodeList nodeList = el.getChildNodes(); for (int i = 0; i < nodeList.getLength(); i++) { final Element child = el(nodeList, i); if (child == null) continue; if (name.equals(child.getNodeName())) return child; } return null; }
/** Gets the first child element with the given name. */ private Element getFirstChild(final Element el, final String name) { // NB: Unfortunately, the Element interface has no API method to obtain // _only_ direct children with a given name; the getElementsByTagName // method returns _all_ descendant elements with the given name. final NodeList nodeList = el.getChildNodes(); for (int i = 0; i < nodeList.getLength(); i++) { final Element child = el(nodeList, i); if (child == null) continue; if (name.equals(child.getNodeName())) return child; } return null; }
/** * Parses metadata from Prairie CFG file. This file is only present for * Prairie datasets recorded prior to version 5.2. */ private void parseCFG(final Document doc) { checkElement(doc.getDocumentElement(), "PVConfig"); final NodeList waitNodes = doc.getElementsByTagName("PVTSeriesElementWait"); if (waitNodes.getLength() > 0) { final Element waitElement = el(waitNodes, 0); waitTime = d(attr(waitElement, "waitTime")); } parseKeys(doc.getDocumentElement(), config); }
/** * Parses metadata from Prairie CFG file. This file is only present for * Prairie datasets recorded prior to version 5.2. */ private void parseCFG(final Document doc) { checkElement(doc.getDocumentElement(), "PVConfig"); final NodeList waitNodes = doc.getElementsByTagName("PVTSeriesElementWait"); if (waitNodes.getLength() > 0) { final Element waitElement = el(waitNodes, 0); waitTime = d(attr(waitElement, "waitTime")); } parseKeys(doc.getDocumentElement(), config); }
/** Parses metadata from Prairie XML file. */ private void parseXML(final Document doc) { final Element pvScan = doc.getDocumentElement(); checkElement(pvScan, "PVScan"); // parse <PVStateShard> key/value block parsePVStateShard(pvScan, scanValues); // parse acquisition date date = attr(pvScan, "date"); // iterate over all Sequence elements final NodeList sequenceNodes = doc.getElementsByTagName("Sequence"); for (int s = 0; s < sequenceNodes.getLength(); s++) { final Element sequenceElement = el(sequenceNodes, s); if (sequenceElement == null) continue; final Sequence sequence = new Sequence(sequenceElement); if (firstSequence == null) firstSequence = sequence; final int cycle = sequence.getCycle(); if (cycle < cycleMin) cycleMin = cycle; if (cycle > cycleMax) cycleMax = cycle; sequences.put(cycle, sequence); } }
/** Parses metadata from Prairie XML file. */ private void parseXML(final Document doc) { final Element pvScan = doc.getDocumentElement(); checkElement(pvScan, "PVScan"); // parse <PVStateShard> key/value block parsePVStateShard(pvScan, scanValues); // parse acquisition date date = attr(pvScan, "date"); // iterate over all Sequence elements final NodeList sequenceNodes = doc.getElementsByTagName("Sequence"); for (int s = 0; s < sequenceNodes.getLength(); s++) { final Element sequenceElement = el(sequenceNodes, s); if (sequenceElement == null) continue; final Sequence sequence = new Sequence(sequenceElement); if (firstSequence == null) firstSequence = sequence; final int cycle = sequence.getCycle(); if (cycle < cycleMin) cycleMin = cycle; if (cycle > cycleMax) cycleMax = cycle; sequences.put(cycle, sequence); } }
final Element keyElement = el(svNodes, k); if (keyElement == null) continue; final String key = attr(keyElement, "key"); final Element ivElement = el(ivNodes, i); if (ivElement == null) continue; final String index = attr(ivElement, "index"); keyElement.getElementsByTagName("SubindexedValues"); for (int i = 0; i < sivNodes.getLength(); i++) { final Element sivElement = el(sivNodes, i); if (sivElement == null) continue; final String index = attr(sivElement, "index"); sivElement.getElementsByTagName("SubindexedValue"); for (int s = 0; s < subNodes.getLength(); s++) { final Element subElement = el(subNodes, s); final String subindex = attr(subElement, "subindex"); if (subindex == null) continue; // invalid <SubindexedValue> element
final Element keyElement = el(svNodes, k); if (keyElement == null) continue; final String key = attr(keyElement, "key"); final Element ivElement = el(ivNodes, i); if (ivElement == null) continue; final String index = attr(ivElement, "index"); keyElement.getElementsByTagName("SubindexedValues"); for (int i = 0; i < sivNodes.getLength(); i++) { final Element sivElement = el(sivNodes, i); if (sivElement == null) continue; final String index = attr(sivElement, "index"); sivElement.getElementsByTagName("SubindexedValue"); for (int s = 0; s < subNodes.getLength(); s++) { final Element subElement = el(subNodes, s); final String subindex = attr(subElement, "subindex"); if (subindex == null) continue; // invalid <SubindexedValue> element
final NodeList keyNodes = el.getElementsByTagName("Key"); for (int k = 0; k < keyNodes.getLength(); k++) { final Element keyElement = el(keyNodes, k); if (keyElement == null) continue; final String key = attr(keyElement, "key");
final NodeList keyNodes = el.getElementsByTagName("Key"); for (int k = 0; k < keyNodes.getLength(); k++) { final Element keyElement = el(keyNodes, k); if (keyElement == null) continue; final String key = attr(keyElement, "key");