private static List<Map<Object, Object>> getListMapsFromXmlFile(String XmlFilePath) { List<Map<Object, Object>> listMaps = FastList.newInstance(); InputStream ins = null; URL xmlFileUrl = null; Document xmlDocument = null; try { if (UtilValidate.isNotEmpty(XmlFilePath)) { xmlFileUrl = UtilURL.fromFilename(XmlFilePath); if (xmlFileUrl != null) ins = xmlFileUrl.openStream(); if (ins != null) { xmlDocument = UtilXml.readXmlDocument(ins, xmlFileUrl.toString()); List<? extends Node> nodeList = UtilXml.childNodeList(xmlDocument.getDocumentElement().getFirstChild()); for (Node node : nodeList) { if (node.getNodeType() == Node.ELEMENT_NODE) { Map<Object, Object> fields = FastMap.newInstance(); fields.put(node.getNodeName(), UtilXml.elementValue((Element) node)); Map<Object, Object> attrFields = getAttributeNameValueMap(node); Set<Object> keys = attrFields.keySet(); Iterator<Object> attrFieldsIter = keys.iterator(); while (attrFieldsIter.hasNext()) { Object key = attrFieldsIter.next(); fields.put(key, attrFields.get(key)); } List<? extends Node> childNodeList = UtilXml.childNodeList(node.getFirstChild()); for (Node childNode : childNodeList) { fields.put(childNode.getNodeName(), UtilXml.elementValue((Element) childNode)); attrFields = getAttributeNameValueMap(childNode); keys = attrFields.keySet(); attrFieldsIter = keys.iterator(); while (attrFieldsIter.hasNext()) { Object key = attrFieldsIter.next(); fields.put(key, attrFields.get(key)); } } listMaps.add(fields); } } } } } catch (Exception exc) { Debug.logError(exc, "Error reading xml file", module); } finally { try { if (ins != null) ins.close(); } catch (Exception exc) { Debug.logError(exc, "Error reading xml file", module); } } return listMaps; }
public CallBsh(Element element, SimpleMethod simpleMethod) throws MiniLangException { super(element, simpleMethod); if (MiniLangValidate.validationOn()) { MiniLangValidate.handleError( "<call-bsh> element is deprecated (use <script>)", simpleMethod, element); MiniLangValidate.attributeNames(simpleMethod, element, "resource"); MiniLangValidate.constantAttributes(simpleMethod, element, "resource"); MiniLangValidate.noChildElements(simpleMethod, element); } boolean elementModified = autoCorrect(element); if (elementModified && MiniLangUtil.autoCorrectOn()) { MiniLangUtil.flagDocumentAsCorrected(element); } this.inline = StringUtil.convertOperatorSubstitutions(UtilXml.elementValue(element)); this.resource = element.getAttribute("resource"); }