use of javax.xml.parsers.ParserConfigurationException in project OpenAM by OpenRock.
the class MarshallerImpl method marshal.
public void marshal(Object obj, Result result) throws JAXBException {
//XMLSerializable so = Util.toXMLSerializable(obj);
XMLSerializable so = context.getGrammarInfo().castToXMLSerializable(obj);
if (so == null)
throw new MarshalException(Messages.format(Messages.NOT_MARSHALLABLE));
if (result instanceof SAXResult) {
write(so, ((SAXResult) result).getHandler());
return;
}
if (result instanceof DOMResult) {
Node node = ((DOMResult) result).getNode();
if (node == null) {
try {
DocumentBuilder db = XMLUtils.getSafeDocumentBuilder(false);
Document doc = db.newDocument();
((DOMResult) result).setNode(doc);
write(so, new SAX2DOMEx(doc));
} catch (ParserConfigurationException pce) {
throw new JAXBAssertionError(pce);
}
} else {
write(so, new SAX2DOMEx(node));
}
return;
}
if (result instanceof StreamResult) {
StreamResult sr = (StreamResult) result;
XMLWriter w = null;
if (sr.getWriter() != null)
w = createWriter(sr.getWriter());
else if (sr.getOutputStream() != null)
w = createWriter(sr.getOutputStream());
else if (sr.getSystemId() != null) {
String fileURL = sr.getSystemId();
if (fileURL.startsWith("file:///")) {
if (fileURL.substring(8).indexOf(":") > 0)
fileURL = fileURL.substring(8);
else
fileURL = fileURL.substring(7);
}
try {
w = createWriter(new FileOutputStream(fileURL));
} catch (IOException e) {
throw new MarshalException(e);
}
}
if (w == null)
throw new IllegalArgumentException();
write(so, w);
return;
}
// unsupported parameter type
throw new MarshalException(Messages.format(Messages.UNSUPPORTED_RESULT));
}
use of javax.xml.parsers.ParserConfigurationException in project OpenAM by OpenRock.
the class MarshallerImpl method marshal.
public void marshal(Object obj, Result result) throws JAXBException {
//XMLSerializable so = Util.toXMLSerializable(obj);
XMLSerializable so = context.getGrammarInfo().castToXMLSerializable(obj);
if (so == null)
throw new MarshalException(Messages.format(Messages.NOT_MARSHALLABLE));
if (result instanceof SAXResult) {
write(so, ((SAXResult) result).getHandler());
return;
}
if (result instanceof DOMResult) {
Node node = ((DOMResult) result).getNode();
if (node == null) {
try {
DocumentBuilder db = XMLUtils.getSafeDocumentBuilder(false);
Document doc = db.newDocument();
((DOMResult) result).setNode(doc);
write(so, new SAX2DOMEx(doc));
} catch (ParserConfigurationException pce) {
throw new JAXBAssertionError(pce);
}
} else {
write(so, new SAX2DOMEx(node));
}
return;
}
if (result instanceof StreamResult) {
StreamResult sr = (StreamResult) result;
XMLWriter w = null;
if (sr.getWriter() != null)
w = createWriter(sr.getWriter());
else if (sr.getOutputStream() != null)
w = createWriter(sr.getOutputStream());
else if (sr.getSystemId() != null) {
String fileURL = sr.getSystemId();
if (fileURL.startsWith("file:///")) {
if (fileURL.substring(8).indexOf(":") > 0)
fileURL = fileURL.substring(8);
else
fileURL = fileURL.substring(7);
}
try {
w = createWriter(new FileOutputStream(fileURL));
} catch (IOException e) {
throw new MarshalException(e);
}
}
if (w == null)
throw new IllegalArgumentException();
write(so, w);
return;
}
// unsupported parameter type
throw new MarshalException(Messages.format(Messages.UNSUPPORTED_RESULT));
}
use of javax.xml.parsers.ParserConfigurationException in project OpenAM by OpenRock.
the class AMViewConfig method parseDocument.
private Document parseDocument(String fileName) {
Document document = null;
InputStream is = getClass().getClassLoader().getResourceAsStream(fileName);
try {
DocumentBuilder documentBuilder = XMLUtils.getSafeDocumentBuilder(false);
document = documentBuilder.parse(is);
} catch (UnsupportedEncodingException e) {
AMModelBase.debug.error("AMViewConfig.parseDocument", e);
} catch (ParserConfigurationException e) {
AMModelBase.debug.error("AMViewConfig.parseDocument", e);
} catch (SAXException e) {
AMModelBase.debug.error("AMViewConfig.parseDocument", e);
} catch (IOException e) {
AMModelBase.debug.error("AMViewConfig.parseDocument", e);
}
return document;
}
use of javax.xml.parsers.ParserConfigurationException in project OpenAM by OpenRock.
the class SmsJsonConverter method getHiddenAttributeNames.
protected List<String> getHiddenAttributeNames() {
ArrayList<String> hiddenAttributeNames = null;
try {
InputStream resource = getClass().getClassLoader().getResourceAsStream("amConsoleConfig.xml");
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(resource);
NodeList nodes = (NodeList) XPathFactory.newInstance().newXPath().evaluate("//consoleconfig/servicesconfig/consoleservice/@realmEnableHideAttrName", doc, XPathConstants.NODESET);
String rawList = nodes.item(0).getNodeValue();
hiddenAttributeNames = new ArrayList<String>(Arrays.asList(rawList.split(" ")));
} catch (SAXException e) {
e.printStackTrace();
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (XPathExpressionException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return hiddenAttributeNames;
}
use of javax.xml.parsers.ParserConfigurationException in project OpenAM by OpenRock.
the class SmsServerPropertiesResource method getSchema.
private JsonValue getSchema(Properties syntaxProperties, Properties titleProperties, boolean isDefault) {
JsonValue template = json(object());
for (String tabName : getTabNames()) {
try {
Document propertySheet = getPropertySheet(tabName);
Map<String, Set<String>> options = getOptions(propertySheet, tabName);
List<String> sectionNames = getSectionNames(propertySheet);
Set<String> optionalAttributes = getOptionalAttributes(propertySheet, tabName);
int sectionOrder = 0;
for (String sectionName : sectionNames) {
final String sectionPath = "/properties/" + tabName + "/" + sectionName;
template.putPermissive(new JsonPointer(sectionPath + "/title"), titleProperties.getProperty(sectionName));
template.putPermissive(new JsonPointer(sectionPath + "/propertyOrder"), sectionOrder++);
int attributeOrder = 0;
for (String attributeName : getAttributeNamesForSection(sectionName, propertySheet)) {
final String title = titleProperties.getProperty(attributeName);
String property = syntaxProperties.getProperty(attributeName);
if (property == null) {
property = "";
}
final String type = syntaxRawToReal.get(property);
final Set<String> attributeOptions = getAttributeOptions(options, attributeName, type);
final boolean isOptional;
if (isDefault) {
isOptional = optionalAttributes.contains(attributeName);
} else {
isOptional = true;
}
final String path = sectionPath + "/" + attributeName;
if (attributeOptions != null && !attributeOptions.isEmpty()) {
template.putPermissive(new JsonPointer(path + "/type/enum"), attributeOptions);
} else {
template.putPermissive(new JsonPointer(path + "/type"), type);
}
template.putPermissive(new JsonPointer(path + "/title"), title);
template.putPermissive(new JsonPointer(path + "/propertyOrder"), attributeOrder++);
template.putPermissive(new JsonPointer(path + "/required"), !isOptional);
template.putPermissive(new JsonPointer(path + "/pattern"), ".+");
allAttributeNamesInNamedTabs.add(attributeName);
}
}
} catch (ParserConfigurationException | IOException | XPathExpressionException | SAXException e) {
logger.error("Error reading property sheet for tab " + tabName, e);
}
}
return template;
}
Aggregations