protected void transformContent(Transformer transformer, MessageExchange exchange, NormalizedMessage in, NormalizedMessage out) throws Exception { Source src = in.getContent(); if (useDomSourceForContent != null && useDomSourceForContent.booleanValue()) { src = new DOMSource(getSourceTransformer().toDOMDocument(src)); } else if (useDomSourceForContent != null && !useDomSourceForContent.booleanValue()) { src = getSourceTransformer().toStreamSource(src); } else { if (src instanceof DOMSource) { src = new DOMSource(getSourceTransformer().toDOMDocument(src)); } } if (RESULT_BYTES.equalsIgnoreCase(getResult())) { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); Result result = new StreamResult(buffer); transformer.transform(src, result); out.setContent(new BytesSource(buffer.toByteArray())); } else if (RESULT_STRING.equalsIgnoreCase(getResult())) { StringWriter buffer = new StringWriter(); Result result = new StreamResult(buffer); transformer.transform(src, result); out.setContent(new StringSource(buffer.toString())); } else { DOMResult result = new DOMResult(); transformer.transform(src, result); out.setContent(new DOMSource(result.getNode())); } }
protected void transformContent(Transformer transformer, MessageExchange exchange, NormalizedMessage in, NormalizedMessage out) throws Exception { Source src = in.getContent(); if (useDomSourceForContent != null && useDomSourceForContent.booleanValue()) { src = new DOMSource(getSourceTransformer().toDOMDocument(src)); } else if (useDomSourceForContent != null && !useDomSourceForContent.booleanValue()) { src = getSourceTransformer().toStreamSource(src); } else { if (src instanceof DOMSource) { src = new DOMSource(getSourceTransformer().toDOMDocument(src)); } } if (RESULT_BYTES.equalsIgnoreCase(getResult())) { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); Result result = new StreamResult(buffer); transformer.transform(src, result); out.setContent(new BytesSource(buffer.toByteArray())); } else if (RESULT_STRING.equalsIgnoreCase(getResult())) { StringWriter buffer = new StringWriter(); Result result = new StreamResult(buffer); transformer.transform(src, result); out.setContent(new StringSource(buffer.toString())); } else { DOMResult result = new DOMResult(); transformer.transform(src, result); out.setContent(new DOMSource(result.getNode())); } }