List of usage examples for javax.xml.bind.util JAXBSource JAXBSource
public JAXBSource(Marshaller marshaller, Object contentObject) throws JAXBException
From source file:org.openrepose.commons.utils.transform.xslt.JaxbXsltToStringTransform.java
@Override public String transform(final JAXBElement source) { String rtn = null;/*from w ww .java 2s . c om*/ Transformer pooledObject; try { pooledObject = xsltResourcePool.borrowObject(); try { final StringWriter stringWriter = new StringWriter(); final StreamResult resultWriter = new StreamResult(stringWriter); pooledObject.transform(new JAXBSource(jaxbContext, source), resultWriter); rtn = stringWriter.getBuffer().toString(); } catch (Exception e) { xsltResourcePool.invalidateObject(pooledObject); pooledObject = null; throw new XsltTransformationException("Failed while attempting XSLT transformation.", e); } finally { if (pooledObject != null) { xsltResourcePool.returnObject(pooledObject); } } } catch (XsltTransformationException e) { throw e; } catch (Exception e) { throw new XsltTransformationException("Failed to obtain a Transformer for XSLT transformation.", e); } return rtn; }
From source file:org.openrepose.commons.utils.transform.xslt.XsltToStreamTransform.java
@Override public void transform(final JAXBElement source, final T target) { Transformer pooledObject;/*from ww w. ja v a 2 s . c om*/ try { pooledObject = xsltResourcePool.borrowObject(); try { pooledObject.transform(new JAXBSource(jaxbContext, source), new StreamResult(target)); } catch (Exception e) { xsltResourcePool.invalidateObject(pooledObject); pooledObject = null; throw new XsltTransformationException("Failed while attempting XSLT transformation.", e); } finally { if (pooledObject != null) { xsltResourcePool.returnObject(pooledObject); } } } catch (XsltTransformationException e) { throw e; } catch (Exception e) { throw new XsltTransformationException("Failed to obtain a Transformer for XSLT transformation.", e); } }
From source file:org.openrepose.filters.ratelimiting.util.combine.CombinedLimitsTransformer.java
@Override public void transform(final LimitsTransformPair source, final OutputStream target) { Transformer pooledObject;//from www. j a v a2s . com final ObjectPool<Transformer> objectPool = getXslTransformerPool(); try { pooledObject = objectPool.borrowObject(); try { final InputStreamUriParameter inputStreamUriParameter = new InputStreamUriParameter( source.getInputStream()); final StreamResult resultWriter = new StreamResult(target); // The XSL requires a parameter to represent the absolute limits. // This harness cheats and provides the input stream directly. pooledObject.setURIResolver(inputStreamUriParameter); pooledObject.setParameter("absoluteURL", inputStreamUriParameter.getHref()); final Limits limitsObject = new Limits(); limitsObject.setRates(source.getRateLimitList()); pooledObject.transform(new JAXBSource(jaxbContext, factory.createLimits(limitsObject)), resultWriter); } catch (Exception e) { objectPool.invalidateObject(pooledObject); pooledObject = null; throw new XsltTransformationException("Failed while attempting XSLT transformation.", e); } finally { if (pooledObject != null) { objectPool.returnObject(pooledObject); } } } catch (XsltTransformationException e) { throw e; } catch (Exception e) { LOG.error("Failed to obtain a Transformer. Reason: {}", e.getLocalizedMessage()); LOG.trace("", e); } }