Example usage for javax.xml.bind.util JAXBSource JAXBSource

List of usage examples for javax.xml.bind.util JAXBSource JAXBSource

Introduction

In this page you can find the example usage for javax.xml.bind.util JAXBSource JAXBSource.

Prototype

public JAXBSource(Marshaller marshaller, Object contentObject) throws JAXBException 

Source Link

Document

Creates a new javax.xml.transform.Source for the given content object.

Usage

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);
    }
}