use of javax.xml.transform.Transformer in project goci by EBISPOT.
the class ChromosomeRenderlet method render.
public void render(RenderletNexus nexus, C context, E entity) {
int position = getPosition();
int height = SVGCanvas.canvasHeight;
int width = SVGCanvas.canvasWidth;
double chromWidth = (double) width / 12;
double chromHeight = (double) height / 2;
double xCoordinate;
double yCoordinate = 0;
if (position < 12) {
xCoordinate = position * chromWidth;
} else {
xCoordinate = (position - 12) * chromWidth;
yCoordinate = (double) height / 2;
}
InputStream in = null;
try {
in = getSVGFile().openStream();
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document chromSVG = db.parse(in);
Element root = chromSVG.getDocumentElement();
Element g = (Element) root.getElementsByTagName("g").item(0).cloneNode(true);
setChromBands(g, nexus);
StringBuilder builder = new StringBuilder();
builder.append("translate(");
builder.append(Double.toString(xCoordinate));
builder.append(",");
builder.append(Double.toString(yCoordinate));
builder.append(")");
g.setAttribute("transform", builder.toString());
g.setAttribute("gwasname", getName());
g.removeAttribute("title");
SVGArea currentArea = new SVGArea(xCoordinate, yCoordinate, chromWidth, chromHeight, 0);
TransformerFactory transFactory = TransformerFactory.newInstance();
Transformer transformer = transFactory.newTransformer();
StringWriter buffer = new StringWriter();
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
transformer.transform(new DOMSource(g), new StreamResult(buffer));
String str = buffer.toString();
RenderingEvent<E> event = new RenderingEvent<E>(entity, str, currentArea, this);
nexus.renderingEventOccurred(event);
} catch (ParserConfigurationException e) {
throw new RuntimeException("Failed to read in template chromosome SVG from original resource", e);
} catch (SAXException e) {
throw new RuntimeException("Failed to read in template chromosome SVG from original resource", e);
} catch (IOException e) {
throw new RuntimeException("Failed to render chromosome SVG", e);
} catch (TransformerConfigurationException e) {
throw new RuntimeException("Failed to render chromosome SVG", e);
} catch (TransformerException e) {
throw new RuntimeException("Failed to render chromosome SVG", e);
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
// tried our best!
}
}
}
}
use of javax.xml.transform.Transformer in project OpenAM by OpenRock.
the class ValidationErrorHandler method print.
/**
* Prints a Node tree recursively.
* @param node A DOM tree Node
* @param encoding character encoding
* @return An xml String representation of the DOM tree.
*/
public static String print(Node node, String encoding) {
if (node == null) {
return null;
}
try {
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
transformer.setOutputProperty("omit-xml-declaration", "yes");
transformer.setOutputProperty("encoding", encoding);
DOMSource source = new DOMSource(node);
ByteArrayOutputStream os = new ByteArrayOutputStream(2000);
StreamResult result = new StreamResult(os);
transformer.transform(source, result);
return os.toString(encoding);
} catch (Exception e) {
return null;
}
}
use of javax.xml.transform.Transformer in project OpenAM by OpenRock.
the class Client method sendRequest.
/**
* Sends a request to a SOAP endpoint and returns the response. The server
* only contains one servlet for different web services. So the SOAP
* endpoint URL has format 'servlet_URL/key'.
*
* @param req the request message.
* @param connectTo the SOAP endpoint URL
* @param certAlias the cert alias of a client certificate
* @param soapAction the SOAPAction header
* @return a response from the SOAP endpoint
* @throws SOAPFaultException if a SOAP Fault occurs
* @throws SOAPBindingException if a error occurs while processing,
* sending or receiving Message
*/
public static Message sendRequest(Message req, String connectTo, String certAlias, String soapAction) throws SOAPBindingException, SOAPFaultException {
URLConnection con = null;
try {
con = getConnection(connectTo, certAlias);
} catch (Exception e) {
Utils.debug.error("Client:sendRequest", e);
throw new SOAPBindingException(e.getMessage());
}
if (soapAction == null || soapAction.length() == 0) {
soapAction = "";
}
con.setRequestProperty(SOAPBindingConstants.SOAP_ACTION_HEADER, soapAction);
Document doc = null;
int securityProfileType = req.getSecurityProfileType();
if (securityProfileType == Message.ANONYMOUS || securityProfileType == Message.BEARER_TOKEN) {
doc = req.toDocument(true);
} else {
Element sigElem = SecurityUtils.signMessage(req);
if (sigElem == null) {
String msg = Utils.bundle.getString("cannotSignRequest");
Utils.debug.error("Client.sendRequest: " + msg);
throw new SOAPBindingException(msg);
}
doc = sigElem.getOwnerDocument();
}
if (Utils.debug.messageEnabled()) {
Utils.debug.message("Client.sendRequest: signed request\n" + req);
}
OutputStream os = null;
try {
os = con.getOutputStream();
Transformer transformer = XMLUtils.getTransformerFactory().newTransformer();
transformer.setOutputProperty("omit-xml-declaration", "yes");
transformer.transform(new DOMSource(doc.getDocumentElement()), new StreamResult(os));
} catch (Exception e) {
Utils.debug.error("Client:sendRequest", e);
throw new SOAPBindingException(e.getMessage());
} finally {
if (os != null) {
try {
os.close();
} catch (Exception e) {
Utils.debug.error("Client:sendRequest", e);
}
}
}
Message resp = null;
InputStream is = null;
try {
is = con.getInputStream();
resp = new Message(is);
if (resp.getSOAPFault() != null) {
throw new SOAPFaultException(resp);
}
Utils.enforceProcessingRules(resp, req.getCorrelationHeader().getMessageID(), false);
} catch (IOException e) {
Utils.debug.error("Client:sendRequest", e);
throw new SOAPBindingException(e.getMessage());
} finally {
if (is != null) {
try {
is.close();
} catch (Exception e) {
Utils.debug.error("Client:sendRequest", e);
}
}
}
resp.setProtocol(con.getURL().getProtocol());
if (resp.getSecurityProfileType() != Message.ANONYMOUS && !SecurityUtils.verifyMessage(resp)) {
String msg = Utils.bundle.getString("cannotVerifySignature");
Utils.debug.error("Client.sendRequest: " + msg);
throw new SOAPBindingException(msg);
}
return resp;
}
use of javax.xml.transform.Transformer in project OpenAM by OpenRock.
the class XMLResourceExceptionHandler method write.
@Override
public void write(MessageContext context, AuthenticationException exception) {
Reject.ifNull(exception);
try {
ResourceException jre;
if (exception instanceof AuthenticationFailedException) {
jre = new PermanentException(Status.UNAUTHORIZED.getCode(), exception.getMessage(), null);
} else if (exception.getCause() instanceof ResourceException) {
jre = (ResourceException) exception.getCause();
} else {
LOGGER.error(exception.getMessage(), exception);
jre = new InternalServerErrorException("Authentication Failed", exception);
}
AuditTrail auditTrail = context.getAuditTrail();
List<Map<String, Object>> failureReasonList = auditTrail.getFailureReasons();
if (failureReasonList != null && !failureReasonList.isEmpty()) {
jre.setDetail(json(object(field("failureReasons", failureReasonList))));
}
Response response = context.getResponse();
response.setStatus(Status.valueOf(jre.getCode()));
context.<Response>getResponse().getHeaders().put(ContentTypeHeader.valueOf(MediaType.XML_UTF_8.toString()));
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
Transformer transformer = XMLUtils.getTransformerFactory().newTransformer();
transformer.transform(new DOMSource(asXMLDOM(jre.includeCauseInJsonValue().toJsonValue().asMap())), new StreamResult(outputStream));
response.getEntity().setBytes(outputStream.toByteArray());
} catch (TransformerException e1) {
throw new IllegalStateException("Could not write XML to response", e1);
}
}
use of javax.xml.transform.Transformer in project opennms by OpenNMS.
the class XmlSystemReportFormatter method write.
@Override
public void write(final SystemReportPlugin plugin) {
if (!hasDisplayable(plugin))
return;
if (m_handler == null) {
try {
StreamResult streamResult = new StreamResult(getOutputStream());
SAXTransformerFactory tf = (SAXTransformerFactory) SAXTransformerFactory.newInstance();
m_handler = tf.newTransformerHandler();
Transformer serializer = m_handler.getTransformer();
serializer.setOutputProperty(OutputKeys.CDATA_SECTION_ELEMENTS, "entry");
m_handler.setResult(streamResult);
} catch (final Exception e) {
LOG.error("Unable to create XML stream writer.", e);
m_handler = null;
}
try {
m_handler.startDocument();
m_handler.startElement("", "", "systemReportPlugins", null);
} catch (final Exception e) {
LOG.warn("Unable to start document.", e);
m_handler = null;
}
}
if (m_handler == null) {
LOG.warn("Unable to write, no handler defined!");
return;
}
try {
AttributesImpl atts = new AttributesImpl();
atts.addAttribute("", "", "name", "CDATA", plugin.getName());
atts.addAttribute("", "", "description", "CDATA", plugin.getDescription());
m_handler.startElement("", "", "plugin", atts);
for (final Map.Entry<String, Resource> entry : plugin.getEntries().entrySet()) {
final boolean displayable = isDisplayable(entry.getValue());
atts = new AttributesImpl();
atts.addAttribute("", "", "key", "CDATA", entry.getKey());
if (!displayable) {
atts.addAttribute("", "", "skipped", "CDATA", "true");
}
m_handler.startElement("", "", "entry", atts);
if (displayable) {
final String value = getResourceText(entry.getValue());
if (value != null) {
m_handler.startCDATA();
m_handler.characters(value.toCharArray(), 0, value.length());
m_handler.endCDATA();
}
}
m_handler.endElement("", "", "entry");
}
m_handler.endElement("", "", "plugin");
} catch (final Exception e) {
LOG.warn("An error occurred while attempting to write XML data.", e);
}
}
Aggregations