List of usage examples for javax.xml.transform TransformerException TransformerException
public TransformerException(Throwable e)
From source file:org.toobsframework.tags.FormatHelper.java
/** * Public Tag - Message - insert a resource bundle message in the result stream * <p>//from www . ja v a2s. co m * <pre><code> * <fmt:message key="<i>key</i>"> * </fmt:message> * </code></pre> * * implicit DTD for message * * <pre><code> * <!ELEMENT fmt:message (fmt:param*)> * <!ATTLIST fmt:message * key CDATA #REQUIRED * </code></pre> * * Where * <p> * <ul> * <li>key - is the resource bundle message key * </ul> */ @SuppressWarnings("unchecked") public void message(XSLProcessorContext processorContext, ElemExtensionCall extensionElement) throws TransformerException { // Initialize TransformerImpl transformer = processorContext.getTransformer(); ComponentTransformerHelper transformerHelper = getTransformerHelper(processorContext); // Get attributes String messageKey = getRequiredStringProperty("key", "the property key needs to be provided for the message tag", processorContext, extensionElement); // Obtain parameters List<String> parameterList = new ArrayList<String>(); Object oldParameterList = transformer.getParameter(FORMAT_HELPER_PARAMETERS); if (extensionElement.hasChildNodes()) { transformer.setParameter(FORMAT_HELPER_PARAMETERS, parameterList); transformer.executeChildTemplates(extensionElement, true); transformer.setParameter(FORMAT_HELPER_PARAMETERS, oldParameterList == null ? new Boolean(false) : oldParameterList); } // Compute Results IRequest request = getComponentRequest(processorContext); if (request == null) { throw new TransformerException("Internal error: Invalid request passed to the layout through the " + IXMLTransformer.TRANSFORMER_HELPER); } try { LocaleResolver localeResolver = (LocaleResolver) request.getHttpRequest() .getAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE); Locale locale = localeResolver.resolveLocale(request.getHttpRequest()); String message = transformerHelper.getApplicationContext().getMessage(messageKey, parameterList.toArray(), locale); if (oldParameterList == null) { serialize(processorContext, extensionElement, message, false); } else if (oldParameterList instanceof List) { ((List<String>) oldParameterList).add(message); } } catch (Exception ex) { throw new TransformerException("Error getting message for key=" + messageKey + ": " + ex.getMessage(), ex); } }
From source file:it.tidalwave.northernwind.core.impl.util.CachedURIResolver.java
/******************************************************************************************************************* * ******************************************************************************************************************/ @Override// w ww. ja v a 2s . c o m public Source resolve(final String href, final String base) throws TransformerException { try { log.info("resolve({}, {})", href, base); final File cacheFolder = new File(cacheFolderPath); if (!cacheFolder.exists()) { mkdirs(cacheFolder); } final File cachedFile = new File(cacheFolder, encodedUtf8(href)); final long elapsed = System.currentTimeMillis() - cachedFile.lastModified(); log.debug(">>>> cached file is {} elapsed time is {} msec", cachedFile, elapsed); if (!cachedFile.exists() || (elapsed > expirationTime)) { cacheDocument(cachedFile, href); } return new StreamSource(new FileInputStream(cachedFile)); } catch (IOException e) { throw new TransformerException(e); } }
From source file:it.greenvulcano.util.xpath.search.jaxen.JaxenXPathAPIImpl.java
/** * @see it.greenvulcano.util.xpath.search.XPathAPIImpl#selectNodeList(Object, * Object, Object)/* www . j ava 2 s .c o m*/ */ public Object selectNodeList(Object contextNode, Object xpath, Object namespaceNode) throws TransformerException { JaxenXPath lowlevelXPath = (JaxenXPath) xpath; try { CurrentFunction.putCurrent(contextNode); List<Object> list = lowlevelXPath.selectNodes(contextNode); return contextNode instanceof OMNode ? list : new JaxenNodeList((Node) contextNode, list); } catch (JaxenException e) { throw new TransformerException(e); } catch (RuntimeException exc) { exc.printStackTrace(); throw new RuntimeException( "nodeName=" + (contextNode instanceof Node ? ((Node) contextNode).getNodeName() : "unknown") + ", xpath=" + lowlevelXPath.toString(), exc); } finally { CurrentFunction.removeCurrent(); } }
From source file:org.callimachusproject.engine.TemplateEngine.java
private XMLEventReader asXMLEventReader(Reader in, String systemId) throws IOException, TransformerException { try {//from ww w . j a v a 2s .co m FluidBuilder fb = FluidFactory.getInstance().builder(); return fb.read(in, systemId, "text/xml").asXMLEventReader(); } catch (FluidException e) { throw new TransformerException(e); } }
From source file:org.callimachusproject.xml.InputSourceResolver.java
@Override public StreamSource resolve(String href, String base) throws TransformerException { try {/* ww w . j av a 2s . com*/ InputSource input = resolve(resolveURI(href, base)); if (input == null) return null; InputStream in = input.getByteStream(); if (in != null) { if (input.getSystemId() == null) return new StreamSource(in); return new StreamSource(in, input.getSystemId()); } Reader reader = input.getCharacterStream(); if (reader != null) { if (input.getSystemId() == null) return new StreamSource(reader); return new StreamSource(reader, input.getSystemId()); } if (input.getSystemId() == null) return new StreamSource(); return new StreamSource(input.getSystemId()); } catch (IOException e) { throw new TransformerException(e); } }
From source file:gov.nih.nci.cacis.config.XSLTTransformerConfig.java
@Bean @Scope(PROTOTYPE)//from w w w . ja v a2 s . com public SourceTransformer sourceTransformer(String sourceSystemIdentifier) throws TransformerException { try { PropertiesConfiguration propertiesConfiguration = new PropertiesConfiguration( sourceSystemXSLTProperties); String propertyValue = propertiesConfiguration.getString(sourceSystemIdentifier); if (propertyValue == null) { throw new TransformerException(String.format("Source system '%s' is not configured in [%s]!", sourceSystemIdentifier, sourceSystemXSLTProperties)); } final Transformer transformer = xslTransformerFactory() .newTransformer(xslUriResolver().resolve(propertyValue, sourceSystemBaseClassPath)); return new SourceTransformer(transformer); } catch (ConfigurationException e) { throw new TransformerException(String.format( "Property '%s' cannot be read from [%s]. Either the " + "property / properties file does not exist or the properties file is not readable!", sourceSystemIdentifier, sourceSystemXSLTProperties) + e); } }
From source file:it.greenvulcano.util.xpath.search.jaxen.JaxenXPathAPIImpl.java
/** * @see it.greenvulcano.util.xpath.search.XPathAPIImpl#selectSingleNode(Object, * Object, Object)//from ww w . j a v a 2 s. c om */ public Object selectSingleNode(Object contextNode, Object xpath, Object namespaceNode) throws TransformerException { JaxenXPath lowlevelXPath = (JaxenXPath) xpath; try { CurrentFunction.putCurrent(contextNode); List<Object> ret = lowlevelXPath.selectNodes(contextNode); if ((ret == null) || (ret.size() == 0)) { return null; } return extractNode(contextNode, ret); } catch (JaxenException e) { throw new TransformerException(e); } finally { CurrentFunction.removeCurrent(); } }
From source file:org.obm.sync.push.client.XMLOPClient.java
@Override public Document postXml(String namespace, Document doc, String cmd, String policyKey, boolean multipart) throws TransformerException, WBXmlException, IOException, HttpRequestException { DOMUtils.logDom(doc);//from w ww .j av a 2 s. com ByteArrayEntity requestEntity = getRequestEntity(doc); HttpPost request = new HttpPost(ai.getUrl() + "?User=" + ai.getLogin()); request.setHeaders( new Header[] { new BasicHeader("Content-Type", requestEntity.getContentType().getValue()), new BasicHeader("Authorization", ai.authValue()), new BasicHeader("Accept", "*/*"), new BasicHeader("Accept-Language", "fr-fr"), new BasicHeader("Connection", "keep-alive") }); request.setEntity(requestEntity); try { HttpResponse response = hc.execute(request); StatusLine statusLine = response.getStatusLine(); Header[] hs = response.getAllHeaders(); for (Header h : hs) { logger.error("head[" + h.getName() + "] => " + h.getValue()); } int statusCode = statusLine.getStatusCode(); if (statusCode != HttpStatus.SC_OK) { logger.error("method failed:{}\n{}\n", statusLine, response.getEntity()); throw new HttpRequestException(statusCode); } else { InputStream in = response.getEntity().getContent(); Document docResponse = DOMUtils.parse(in); DOMUtils.logDom(docResponse); return docResponse; } } catch (SAXException e) { throw new TransformerException(e); } catch (FactoryConfigurationError e) { throw new TransformerException(e); } finally { request.releaseConnection(); } }
From source file:de.betterform.xml.xslt.impl.CachingTransformerService.java
/** * Returns a transformer for the specified stylesheet. * <p/>/*w w w .ja v a2 s .c om*/ * If the URI is null, an identity transformer is created. * * @param uri the URI identifying the stylesheet. * @return a transformer for the specified stylesheet. * @throws TransformerException if the transformer couldn't be created. */ public Transformer getTransformer(URI uri) throws TransformerException { if (uri == null) { return getTransformer(); } try { // lookup cache entry CacheEntry entry = (CacheEntry) this.resources.get(uri); if (nocache == true || entry == null || entry.isDirty()) { if (LOGGER.isDebugEnabled()) { LOGGER.debug("get transformer: cache " + (entry == null ? "miss" : "dirty") + " for " + uri); } // load missing/dirty resource Resource resource = load(uri); if (resource == null) { // complain if resource couldn't be loaded throw new IllegalArgumentException(uri.toString()); } // sync entry with resource entry = sync(entry, resource); // store entry in cache this.resources.put(uri, entry); this.name2URI.put(getXsltName(uri), uri); } else { if (LOGGER.isDebugEnabled()) { LOGGER.debug("get transformer: cache hit for " + uri); } } if (entry.templates == null) { // create source and templates object (this might trigger uri resolution) Source source = new StreamSource(entry.resource.getInputStream()); source.setSystemId(uri.toString()); entry.templates = getTransformerFactory().newTemplates(source); } return entry.templates.newTransformer(); } catch (Exception e) { throw new TransformerException(e); } }
From source file:org.toobsframework.tags.FormatHelper.java
/** * Public Tag - Parameter - pass a parameter to a message * <p>// w w w . jav a2s.com * <pre><code> * <fmt:parameter value="<i>string literal|variable value</i>" /> * <fmt:parameter><i>string literal</i></param> * <fmt:parameter><i>value-of expression</i></param> * <fmt:parameter><i>nested fmt:message</i></param> * </code></pre> * * implicit DTD for parameter * * <pre><code> * <!ELEMENT toobs:parameter (PCDATA)?> * <!ATTLIST toobs:parameter * value CDATA #IMPLIED> * </code></pre> * * Where * <p> * <ul> * <li>value - a string literal or xsl variable * </ul> */ @SuppressWarnings("unchecked") public void parameter(XSLProcessorContext processorContext, ElemExtensionCall extensionElement) throws TransformerException { TransformerImpl transformer = processorContext.getTransformer(); Object p = transformer.getParameter(FORMAT_HELPER_PARAMETERS); if (p == null || !(p instanceof List)) { throw new TransformerException("fmt parameter declarartion needs to be nested inside of a fmt message"); } // Get attributes String value = getStringProperty("value", null, processorContext, extensionElement); if (value == null && extensionElement.hasChildNodes()) { Node firstChild = extensionElement.getFirstChild(); if (firstChild instanceof ElemTextLiteral) { value = ((ElemTextLiteral) firstChild).getNodeValue(); } else if (firstChild instanceof ElemValueOf) { XPathContext xctxt = transformer.getXPathContext(); XPath xPath = new XPath( new XRTreeFragSelectWrapper(((ElemValueOf) firstChild).getSelect().getExpression())); XObject var = xPath.execute(xctxt, processorContext.getContextNode(), extensionElement); value = var.str(); } else if (firstChild instanceof ElemExtensionCall) { transformer.executeChildTemplates(extensionElement, true); } } if (value != null) { ((List<String>) p).add(value); } // this method does not execute any child templates. No xslt instructions can be nested under it }