use of com.google.firestore.v1.Document in project xwiki-platform by xwiki.
the class DefaultEntityResourceActionLister method initialize.
@Override
public void initialize() throws InitializationException {
// Parse the Struts config file (struts-config.xml) to extract all available actions
List<String> actionNames = new ArrayList<>();
SAXBuilder builder = new SAXBuilder();
// Make sure we don't require an Internet Connection to parse the Struts config file!
builder.setEntityResolver(new EntityResolver() {
@Override
public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException {
return new InputSource(new StringReader(""));
}
});
// Step 1: Get a stream on the Struts config file if it exists
InputStream strutsConfigStream = this.environment.getResourceAsStream(getStrutsConfigResource());
if (strutsConfigStream != null) {
// Step 2: Parse the Strust config file, looking for action names
Document document;
try {
document = builder.build(strutsConfigStream);
} catch (JDOMException | IOException e) {
throw new InitializationException(String.format("Failed to parse Struts Config file [%s]", getStrutsConfigResource()), e);
}
Element mappingElement = document.getRootElement().getChild("action-mappings");
for (Element element : mappingElement.getChildren("action")) {
// We extract the action name from the path mapping. Note that we cannot use the "name" attribute since
// it's not reliable (it's not unique) and for example the sanveandcontinue action uses "save" as its
// "name" element value.
actionNames.add(StringUtils.strip(element.getAttributeValue("path"), "/"));
}
}
this.strutsActionNames = actionNames;
}
use of com.google.firestore.v1.Document in project iaf by ibissource.
the class XmlBuilder method toXML.
public String toXML(boolean xmlHeader) {
Document document = new Document(element.detach());
XMLOutputter xmlOutputter = new XMLOutputter();
xmlOutputter.setFormat(Format.getPrettyFormat().setOmitDeclaration(!xmlHeader));
return xmlOutputter.outputString(document);
}
use of com.google.firestore.v1.Document in project ldapchai by ldapchai.
the class NmasResponseSet method parseNmasPolicyXML.
static List<Challenge> parseNmasPolicyXML(final String str, final Locale locale) throws IOException, JDOMException {
final List<Challenge> returnList = new ArrayList<Challenge>();
final Reader xmlreader = new StringReader(str);
final SAXBuilder builder = new SAXBuilder();
final Document doc = builder.build(xmlreader);
final boolean required = doc.getRootElement().getName().equals("RequiredQuestions");
for (final Iterator questionIterator = doc.getDescendants(new ElementFilter("Question")); questionIterator.hasNext(); ) {
final Element loopQ = (Element) questionIterator.next();
final int maxLength = StringHelper.convertStrToInt(loopQ.getAttributeValue("MaxLength"), 255);
final int minLength = StringHelper.convertStrToInt(loopQ.getAttributeValue("MinLength"), 1);
final String challengeText = readDisplayString(loopQ, locale);
final Challenge challenge = new ChaiChallenge(required, challengeText, minLength, maxLength, true, 0, false);
returnList.add(challenge);
}
for (Iterator iter = doc.getDescendants(new ElementFilter("UserDefined")); iter.hasNext(); ) {
final Element loopQ = (Element) iter.next();
final int maxLength = StringHelper.convertStrToInt(loopQ.getAttributeValue("MaxLength"), 255);
final int minLength = StringHelper.convertStrToInt(loopQ.getAttributeValue("MinLength"), 1);
final Challenge challenge = new ChaiChallenge(required, null, minLength, maxLength, false, 0, false);
returnList.add(challenge);
}
return returnList;
}
use of com.google.firestore.v1.Document in project jspwiki by apache.
the class XmlUtil method parse.
/**
* Parses the given stream and returns the requested nodes. If there's an error accessing or parsing the stream, an
* empty list is returned.
*
* @param xmlStream stream to parse.
* @param requestedNodes requestd nodes on the xml stream.
* @return the requested nodes of the XML stream.
*/
public static List<Element> parse(InputStream xmlStream, String requestedNodes) {
if (xmlStream != null && StringUtils.isNotEmpty(requestedNodes)) {
SAXBuilder builder = new SAXBuilder();
try {
Document doc = builder.build(xmlStream);
XPathFactory xpfac = XPathFactory.instance();
XPathExpression<Element> xp = xpfac.compile(requestedNodes, Filters.element());
return xp.evaluate(doc);
} catch (IOException ioe) {
log.error("Couldn't load all " + xmlStream + " resources", ioe);
} catch (JDOMException jdome) {
log.error("error parsing " + xmlStream + " resources", jdome);
}
}
return Collections.<Element>emptyList();
}
use of com.google.firestore.v1.Document in project pwm by pwm-project.
the class StoredConfigurationImpl method fromXml.
public static StoredConfigurationImpl fromXml(final InputStream xmlData) throws PwmUnrecoverableException {
final Instant startTime = Instant.now();
// validateXmlSchema(xmlData);
final Document inputDocument = XmlUtil.parseXml(xmlData);
final StoredConfigurationImpl newConfiguration = StoredConfigurationImpl.newStoredConfiguration();
try {
newConfiguration.document = inputDocument;
// verify create time;
newConfiguration.createTime();
ConfigurationCleaner.cleanup(newConfiguration);
} catch (Exception e) {
final String errorMsg = "error reading configuration file format, error=" + e.getMessage();
final ErrorInformation errorInfo = new ErrorInformation(PwmError.CONFIG_FORMAT_ERROR, null, new String[] { errorMsg });
throw new PwmUnrecoverableException(errorInfo);
}
checkIfXmlRequiresUpdate(newConfiguration);
LOGGER.debug("successfully loaded configuration (" + TimeDuration.compactFromCurrent(startTime) + ")");
return newConfiguration;
}
Aggregations