List of usage examples for javax.xml.transform Transformer setParameter
public abstract void setParameter(String name, Object value);
From source file:org.eclipse.wst.xsl.jaxp.debug.invoker.internal.JAXPSAXProcessorInvoker.java
protected Transformer addStylesheet(Source source, URIResolver resolver, Map parameters, Properties outputProperties) throws TransformerConfigurationException { if (tFactory == null) createTransformerFactory();//from w ww . j av a 2s . c o m TransformerHandler newTh = tFactory.newTransformerHandler(source); Transformer transformer = newTh.getTransformer(); if (resolver != null) transformer.setURIResolver(resolver); if (parameters != null) { for (Iterator iter = parameters.entrySet().iterator(); iter.hasNext();) { Map.Entry entry = (Map.Entry) iter.next(); String name = (String) entry.getKey(); Object value = entry.getValue(); log.info(Messages.getString("JAXPSAXProcessorInvoker.2") + name //$NON-NLS-1$ + Messages.getString("JAXPSAXProcessorInvoker.3") + value); //$NON-NLS-1$ transformer.setParameter(name, value); } } if (outputProperties != null) { StringBuffer sb = new StringBuffer(); for (Iterator iter = outputProperties.entrySet().iterator(); iter.hasNext();) { Map.Entry entry = (Map.Entry) iter.next(); sb.append(entry.getKey()).append("=").append(entry.getValue()).append(" "); //$NON-NLS-1$ //$NON-NLS-2$ } if (outputProperties.size() > 0) { log.info(Messages.getString("JAXPSAXProcessorInvoker.6") + sb.toString()); //$NON-NLS-1$ transformer.setOutputProperties(outputProperties); } } if (th != null) th.setResult(new SAXResult(newTh)); else { reader.setContentHandler(newTh); try { reader.setProperty("http://xml.org/sax/properties/lexical-handler", newTh); //$NON-NLS-1$ } catch (SAXNotRecognizedException ex) { log.warn(Messages.getString("JAXPSAXProcessorInvoker_4")); //$NON-NLS-1$ } catch (SAXNotSupportedException e) { log.warn(Messages.getString("JAXPSAXProcessorInvoker_5")); //$NON-NLS-1$ } } th = newTh; return th.getTransformer(); }
From source file:org.ecoinformatics.export.HtmlToPdfTest.java
/** * Test HTML to PDF conversion//from w ww .j a v a2 s. c o m */ public void testExport() { try { // transform EML to HTML String srcPath = "src/test/resources/"; String workingPath = "build/"; String emlFileName = "eml-sample"; String emlFileExtension = ".xml"; String emlFile = srcPath + emlFileName + emlFileExtension; String xslFile = "style/eml/eml.xsl"; String htmlFile = workingPath + emlFileName + ".html"; // set up the css file File cssDir = new File(workingPath + "default"); if (!cssDir.exists()) { cssDir.mkdir(); } File cssFile = new File("default.css"); File targetCssFile = new File(cssDir, cssFile.getName()); IOUtils.copy(new FileInputStream(cssFile), new FileOutputStream(targetCssFile)); Transformer transformer = TransformerFactory.newInstance() .newTransformer(new StreamSource(new File(xslFile))); // add some property for style sheet transformer.clearParameters(); transformer.setParameter("href_path_extension", ".html"); transformer.setParameter("package_id", "test.1.1"); transformer.setParameter("package_index_name", "metadata"); transformer.setParameter("qformat", "default"); transformer.setParameter("entitystyle", "default"); transformer.setParameter("stylePath", "."); transformer.setParameter("displaymodule", "printall"); transformer.transform(new StreamSource(new File(emlFile)), new StreamResult(new File(htmlFile))); // convert HTML to PDF String pdfFile = workingPath + emlFileName + ".pdf"; HtmlToPdf.export(htmlFile, pdfFile); // TODO: check that it worked? } catch (Exception e) { // oops e.printStackTrace(); fail(e.getMessage()); } }
From source file:org.fcrepo.server.rest.BaseRestResource.java
protected void transform(String xml, String xslt, Writer out) throws TransformerFactoryConfigurationError, TransformerConfigurationException, TransformerException { File xslFile = new File(m_server.getHomeDir(), xslt); TimestampedCacheEntry<Templates> entry = m_templates.get(xslt); if (entry == null || entry.timestamp() < xslFile.lastModified()) { Templates template = XmlTransformUtility.getTemplates(xslFile); entry = new TimestampedCacheEntry<Templates>(xslFile.lastModified(), template); m_templates.put(xslt, entry);/*from w w w.java 2s. c o m*/ } Transformer transformer = entry.value().newTransformer(); String appContext = getContext().getEnvironmentValue(Constants.FEDORA_APP_CONTEXT_NAME); transformer.setParameter("fedora", appContext); transformer.transform(new StreamSource(new StringReader(xml)), new StreamResult(out)); }
From source file:org.freeplane.features.export.mindmapmode.ExportWithXSLT.java
private boolean transformMapWithXslt(final String xsltFileName, final File saveFile, final String areaCode, final Mode mode, String[] parameters) throws IOException, TransformerFactoryConfigurationError { final String map = getMapXml(mode); final StringReader reader = new StringReader(map); ResourceController resourceController = ResourceController.getResourceController(); final URL xsltUrl = resourceController.getResource(xsltFileName); if (xsltUrl == null) { LogUtils.severe("Can't find " + xsltFileName + " as resource."); throw new IllegalArgumentException("Can't find " + xsltFileName + " as resource."); }/*w w w .j a va2 s . c o m*/ final InputStream xsltFile = new BufferedInputStream(xsltUrl.openStream()); final Source xsltSource = new StreamSource(xsltFile); final Result result = new StreamResult(saveFile); try { final TransformerFactory transFact = TransformerFactory.newInstance(); final Transformer trans = transFact.newTransformer(xsltSource); trans.setParameter("destination_dir", saveFile.getName() + "_files/"); trans.setParameter("area_code", areaCode); trans.setParameter("folding_type", resourceController.getProperty("html_export_folding")); StringBuilder sb = new StringBuilder(); for (String p : parameters) { String value = resourceController.getProperty(p, null); if (value != null && !value.equals(resourceController.getDefaultProperty(p))) { sb.append(p); sb.append('='); sb.append(value); sb.append("$$$"); } } trans.setParameter("propertyList", sb.toString()); trans.transform(new StreamSource(reader), result); } catch (final Exception e) { LogUtils.warn(e); return false; } finally { FileUtils.silentlyClose(xsltFile); } return true; }
From source file:org.jaggeryjs.hostobjects.xslt.XSLTHostObject.java
private static void setParams(Transformer transformer, NativeObject paramMap) { transformer.clearParameters();/* ww w . j a v a2 s . c om*/ Object[] ids = paramMap.getIds(); for (Object id : ids) { String key = (String) id; Object obj = paramMap.get(key, paramMap); transformer.setParameter(key, HostObjectUtil.serializeObject(obj)); } }
From source file:org.jzkit.search.util.RecordConversion.XSLFragmentTransformer.java
public void performTransformation(javax.xml.transform.Source source, javax.xml.transform.Result result, Map trans_properties) {/* ww w. j a v a 2s . co m*/ try { checkStylesheetDatestamp(); Transformer trans = t.newTransformer(); // Transformer objects are transient stateful objects that track the application // of a specific transformation to a given source and the resulting output. // Will be cleaned up when it goes out of scope. N.B. We use the newTemplates // method of the TemplateFactory since we expect multithreaded execution of and // repeated use of specific transformations. // We pass in any params to the transformation trans.clearParameters(); if (trans_properties != null) { Set<Map.Entry> entries = trans_properties.entrySet(); for (java.util.Iterator i = entries.iterator(); i.hasNext();) { Map.Entry e = (Map.Entry) i.next(); trans.setParameter(e.getKey().toString(), e.getValue().toString()); } } trans.transform(source, result); } catch (javax.xml.transform.TransformerConfigurationException tce) { log.warn("TransformerConfigurationException exception finding template " + the_path, tce); } catch (javax.xml.transform.TransformerException te) { log.warn("TransformerException General exception finding template " + the_path, te); } catch (Exception e) { log.warn("General exception finding template " + the_path, e); } }
From source file:org.kuali.coeus.common.impl.print.PrintingServiceImpl.java
protected void createPdfWithFOP(Map<String, byte[]> streamMap, Map<String, byte[]> pdfByteMap, FopFactory fopFactory, int xslCount, StreamSource xslt, String bookmark, Printable printableArtifact) throws FOPException, TransformerException { TransformerFactory factory = TransformerFactory.newInstance(); Transformer transformer = factory.newTransformer(xslt); String externalizableImagesUrl = getKualiConfigurationService() .getPropertyValueAsString(Constants.KRA_EXTERNALIZABLE_IMAGES_URI_KEY); transformer.setParameter("externalImagesUrl", externalizableImagesUrl); String applicationUrl = getKualiConfigurationService() .getPropertyValueAsString(KRADConstants.APPLICATION_URL_KEY); FOUserAgent foUserAgent = fopFactory.newFOUserAgent(); foUserAgent.setBaseURL(applicationUrl); for (Map.Entry<String, byte[]> xmlData : streamMap.entrySet()) { ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); ByteArrayInputStream inputStream = new ByteArrayInputStream(xmlData.getValue()); Source src = new StreamSource(inputStream); //Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, outputStream); Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent, outputStream); Result res = new SAXResult(fop.getDefaultHandler()); transformer.transform(src, res); byte[] pdfBytes = outputStream.toByteArray(); if (pdfBytes != null && pdfBytes.length > 0) { String pdfMapKey = bookmark == null ? createBookMark(xslCount, xmlData.getKey()) : bookmark; pdfByteMap.put(pdfMapKey, pdfBytes); }/*ww w . jav a 2 s. c o m*/ } }
From source file:org.kuali.rice.edl.impl.EDLControllerChain.java
private void transform(EDLContext edlContext, Document dom, HttpServletResponse response) throws Exception { if (StringUtils.isNotBlank(edlContext.getRedirectUrl())) { response.sendRedirect(edlContext.getRedirectUrl()); return;//from w ww . j ava2 s . c o m } response.setContentType("text/html; charset=UTF-8"); Transformer transformer = edlContext.getTransformer(); transformer.setOutputProperty("indent", "yes"); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); String user = null; String loggedInUser = null; if (edlContext.getUserSession() != null) { Person wu = edlContext.getUserSession().getPerson(); if (wu != null) user = wu.getPrincipalId(); wu = edlContext.getUserSession().getPerson(); if (wu != null) loggedInUser = wu.getPrincipalId(); } transformer.setParameter("user", user); transformer.setParameter("loggedInUser", loggedInUser); if (LOG.isDebugEnabled()) { LOG.debug("Transforming dom " + XmlJotter.jotNode(dom, true)); } transformer.transform(new DOMSource(dom), new StreamResult(response.getOutputStream())); }
From source file:org.lareferencia.backend.indexer.IndexerImpl.java
public synchronized boolean index(NetworkSnapshot snapshot) { try {/*from w w w . j a va 2 s .c om*/ // Borrado de los docs del pas del snapshot MessageDigest md = MessageDigest.getInstance("MD5"); String countryISO = snapshot.getNetwork().getCountryISO(); this.sendUpdateToSolr( "<delete><query>country_iso:" + snapshot.getNetwork().getCountryISO() + "</query></delete>"); // Update de los registros de a PAGE_SIZE Page<OAIRecord> page = recordRepository.findBySnapshotIdAndStatus(snapshot.getId(), RecordStatus.VALID, new PageRequest(0, PAGE_SIZE)); int totalPages = page.getTotalPages(); Long lastId = -1L; // Aqu se guarda el ultimo id de cada pgina para ser usado en el la query optimizada for (int i = 0; i < totalPages; i++) { Transformer trf = buildTransformer(); trf.setParameter("country_iso", countryISO); trf.setParameter("country", snapshot.getNetwork().getName()); //page = recordRepository.findBySnapshotIdAndStatusLimited(snapshot.getId(), RecordStatus.VALID, lastId, new PageRequest(0, PAGE_SIZE) ); page = recordRepository.findBySnapshotIdAndStatus(snapshot.getId(), RecordStatus.VALID, new PageRequest(i, PAGE_SIZE)); System.out.println("Indexando Snapshot: " + snapshot.getId() + " de: " + snapshot.getNetwork().getName() + " pgina: " + i + " de: " + totalPages); StringBuffer strBuf = new StringBuffer(); List<OAIRecord> records = page.getContent(); for (OAIRecord record : records) { OAIRecordMetadata domRecord = new OAIRecordMetadata(record.getIdentifier(), record.getPublishedXML()); StringWriter stringWritter = new StringWriter(); Result output = new StreamResult(stringWritter); // id unico pero mutable para solr trf.setParameter("solr_id", countryISO + "_" + snapshot.getId().toString() + "_" + record.getId().toString()); // id permantente para vufind trf.setParameter("vufind_id", countryISO + "_" + DigestUtils.md5Hex(record.getPublishedXML())); // header id para staff trf.setParameter("header_id", record.getIdentifier()); // Se transforma y genera el string del registro trf.transform(new DOMSource(domRecord.getDOMDocument()), output); strBuf.append(stringWritter.toString()); // Se actualiza el lastID para permitir la paginacin con offset 0 //lastId = records.get( records.size()-1 ).getId(); } this.sendUpdateToSolr("<add>" + strBuf.toString() + "</add>"); trf = null; page = null; strBuf = null; } // commit de los cambios this.sendUpdateToSolr("<commit/>"); } catch (Exception e) { e.printStackTrace(); try { this.sendUpdateToSolr("<rollback/>"); } catch (SolrServerException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } return false; } return true; }
From source file:org.lareferencia.backend.indexer.IntelligoIndexer.java
public synchronized boolean index(NetworkSnapshot snapshot) { try {// www . ja va2s . co m // Borrado de los docs del pas del snapshot Page<OAIRecord> page = recordRepository.findBySnapshotIdAndStatus(snapshot.getId(), RecordStatus.VALID, new PageRequest(0, PAGE_SIZE)); int totalPages = page.getTotalPages(); String filepath = outputPath + "/" + snapshot.getNetwork().getName().replace(" ", "_") + "_" + snapshot.getId(); boolean success = (new File(filepath)).mkdirs(); if (!success) { // Directory creation failed } for (int i = 0; i < totalPages; i++) { Transformer trf = buildTransformer(); //trf.setParameter("country", snapshot.getNetwork().getName() ); page = recordRepository.findBySnapshotIdAndStatus(snapshot.getId(), RecordStatus.VALID, new PageRequest(i, PAGE_SIZE)); System.out.println("Indexando Snapshot: " + snapshot.getId() + " de: " + snapshot.getNetwork().getName() + " pgina: " + i + " de: " + totalPages); StringBuffer strBuf = new StringBuffer(); List<OAIRecord> records = page.getContent(); strBuf.append("<add>"); for (OAIRecord record : records) { OAIRecordMetadata metadata = new OAIRecordMetadata(record.getIdentifier(), record.getPublishedXML()); StringWriter stringWritter = new StringWriter(); Result output = new StreamResult(stringWritter); // id unico pero mutable para solr trf.setParameter("solr_id", snapshot.getId() + "." + record.getId().toString()); /////// DC:DESCRIPTION - Deteccin y divisin de idiomas String ab_es = ""; String ab_en = ""; String ab_pt = ""; //System.out.println( metadata.getFieldOcurrences("dc:description") ); for (String ab : metadata.getFieldOcurrences("dc:description")) { String lang = detectLang(ab); switch (lang) { case "es": ab_es += ab; break; case "en": ab_en += ab; break; case "pt": ab_pt += ab; break; } } trf.setParameter("ab_es", ab_es); trf.setParameter("ab_en", ab_en); trf.setParameter("ab_pt", ab_pt); ///////////////////////////////////////////////////////////// /////// DC:title - Deteccin y divisin de idiomas String ti_es = ""; String ti_en = ""; String ti_pt = ""; for (String ti : metadata.getFieldOcurrences("dc:title")) { String lang = detectLang(ti); switch (lang) { case "es": ti_es += ti; break; case "en": ti_en += ti; break; case "pt": ti_pt += ti; break; } } trf.setParameter("ti_es", ti_es); trf.setParameter("ti_en", ti_en); trf.setParameter("ti_pt", ti_pt); ///////////////////////////////////////////////////////////// // Se transforma y genera el string del registro trf.transform(new DOMSource(metadata.getDOMDocument()), output); strBuf.append(stringWritter.toString()); } strBuf.append("</add>"); BufferedWriter out = new BufferedWriter(new FileWriter(filepath + "/" + i + ".solr.xml")); out.write(strBuf.toString()); out.close(); } } catch (Exception e) { e.printStackTrace(); return false; } return true; }