List of usage examples for org.dom4j.io SAXReader setEntityResolver
public void setEntityResolver(EntityResolver entityResolver)
From source file:com.globalsight.everest.tm.util.trados.TradosTmxToRtf.java
License:Apache License
/** * Main method to call, returns the new filename of the result. */// w w w .j a v a2 s . c o m public String convertToRtf(String p_url) throws Exception { final String baseName = getBaseName(p_url); final String extension = getExtension(p_url); info("Converting TMX file to RTF: `" + p_url + "'"); startOutputFile(baseName); m_entryCount = 0; // Reading from a file, need to use Xerces. SAXReader reader = new SAXReader(); reader.setXMLReaderClassName("org.apache.xerces.parsers.SAXParser"); reader.setEntityResolver(DtdResolver.getInstance()); reader.setValidation(true); // enable element complete notifications to conserve memory reader.addHandler("/tmx", new ElementHandler() { public void onStart(ElementPath path) { Element element = path.getCurrent(); m_version = element.attributeValue("version"); } public void onEnd(ElementPath path) { } }); // enable element complete notifications to conserve memory reader.addHandler("/tmx/header", new ElementHandler() { public void onStart(ElementPath path) { } public void onEnd(ElementPath path) { Element element = path.getCurrent(); setOldHeader(element); Element prop = (Element) element.selectSingleNode("/prop[@type='RTFFontTable']"); if (prop != null) writeEntry(prop.getText()); prop = (Element) element.selectSingleNode("/prop[@type='RTFStyleSheet']"); if (prop != null) writeEntry(prop.getText()); writeOtherRtfHeader(); writeDummyParagraph(); // prune the current element to reduce memory element.detach(); element = null; } }); // enable element complete notifications to conserve memory reader.addHandler("/tmx/body/tu", new ElementHandler() { public void onStart(ElementPath path) { ++m_entryCount; } public void onEnd(ElementPath path) { Element element = path.getCurrent(); element = removeUtElements(element); writeEntry(replaceUnicodeChars(removeRtfParagraphs(element.asXML()))); writeEntry("\\par"); // prune the current element to reduce memory element.detach(); element = null; if (m_entryCount % 1000 == 0) { debug("Entry " + m_entryCount); } } }); Document document = reader.read(p_url); closeOutputFile(); info("Processed " + m_entryCount + " TUs into file `" + m_filename + "'"); return m_filename; }
From source file:com.globalsight.everest.webapp.pagehandler.administration.config.xmldtd.XmlDtdManager.java
License:Apache License
/** * Validates xml files with specified dtd file. * //from w ww .j a v a2s. c om * @param id * The xml dtd id. * @param file * The xml file need to validate. * @throws DtdException */ public static void validateXmlFile(long id, File file) throws DtdException { Assert.assertFileExist(file); if (file.getName().endsWith(".xml")) { logger.debug("File: " + file.getPath()); File dtdFile = DtdFileManager.getDtdFile(id, file); if (dtdFile != null && dtdFile.exists()) { logger.debug("DTD: " + dtdFile.getPath()); SAXReader reader = new SAXReader(); DtdEntityResolver resolver = new DtdEntityResolver(dtdFile); reader.setEntityResolver(resolver); reader.setValidation(true); Document document; try { document = reader.read(file); document.clearContent(); logger.debug("Successful"); } catch (Exception e) { logger.info("DTD validation failed: " + e.getMessage()); throw new DtdException(e); } } } }
From source file:com.liferay.maven.plugins.util.SAXReaderUtil.java
License:Open Source License
public static Document read(File file, boolean validate) throws Exception { SAXReader saxReader = new SAXReader(validate); saxReader.setEntityResolver(_entityResolver); return saxReader.read(file); }
From source file:com.liferay.petra.log4j.Log4JUtil.java
License:Open Source License
public static void configureLog4J(URL url) { if (url == null) { return;// w ww . jav a 2 s . c o m } String urlContent = _getURLContent(url); if (urlContent == null) { return; } // See LPS-6029, LPS-8865, and LPS-24280 DOMConfigurator domConfigurator = new DOMConfigurator(); domConfigurator.doConfigure(new UnsyncStringReader(urlContent), LogManager.getLoggerRepository()); try { SAXReader saxReader = new SAXReader(); saxReader.setEntityResolver(new EntityResolver() { @Override public InputSource resolveEntity(String publicId, String systemId) { if (systemId.endsWith("log4j.dtd")) { return new InputSource(DOMConfigurator.class.getResourceAsStream("log4j.dtd")); } return null; } }); Document document = saxReader.read(new UnsyncStringReader(urlContent), url.toExternalForm()); Element rootElement = document.getRootElement(); List<Element> categoryElements = rootElement.elements("category"); for (Element categoryElement : categoryElements) { String name = categoryElement.attributeValue("name"); Element priorityElement = categoryElement.element("priority"); String priority = priorityElement.attributeValue("value"); java.util.logging.Logger jdkLogger = java.util.logging.Logger.getLogger(name); jdkLogger.setLevel(_getJdkLevel(priority)); } } catch (Exception e) { _logger.error(e, e); } }
From source file:com.liferay.portal.ejb.PortletManagerImpl.java
License:Open Source License
private Map _readLiferayDisplayXML(String servletContextName, String xml) throws DocumentException, IOException { Map categories = new LinkedHashMap(); if (xml == null) { return categories; }/*from w w w .jav a 2 s .co m*/ SAXReader reader = new SAXReader(); reader.setEntityResolver(null); Document doc = reader.read(new StringReader(xml)); Set portletIds = new HashSet(); Iterator itr1 = doc.getRootElement().elements("category").iterator(); while (itr1.hasNext()) { Element category = (Element) itr1.next(); String name = category.attributeValue("name"); List portlets = new ArrayList(); Iterator itr2 = category.elements("portlet").iterator(); while (itr2.hasNext()) { Element portlet = (Element) itr2.next(); String portletId = portlet.attributeValue("id"); if (servletContextName != null) { portletId = servletContextName + PortletConfigImpl.WAR_SEPARATOR + portletId; } portletIds.add(portletId); String status = portlet.attributeValue("status"); portlets.add(new KeyValuePair(portletId, status)); } if (portlets.size() > 0) { categories.put(name, portlets); } } // Portlets that do not belong to any categories should default to the // Undefined category List undefinedPortlets = new ArrayList(); itr1 = _getPortletsPool().values().iterator(); while (itr1.hasNext()) { Portlet portlet = (Portlet) itr1.next(); String portletId = portlet.getPortletId(); if ((servletContextName != null) && (portlet.isWARFile()) && (portletId.startsWith(servletContextName) && (!portletIds.contains(portletId)))) { undefinedPortlets.add(new KeyValuePair(portletId, null)); } else if ((servletContextName == null) && (!portlet.isWARFile()) && (!portletIds.contains(portletId))) { undefinedPortlets.add(new KeyValuePair(portletId, null)); } } if (undefinedPortlets.size() > 0) { categories.put("category.undefined", undefinedPortlets); } return categories; }
From source file:com.liferay.portal.ejb.PortletManagerImpl.java
License:Open Source License
private Set _readLiferayPortletXML(String servletContextName, String xml, Map portletsPool) throws DocumentException, IOException { Set liferayPortletIds = new HashSet(); if (xml == null) { return liferayPortletIds; }//from w ww . ja va2 s. com SAXReader reader = new SAXReader(); reader.setEntityResolver(null); Document doc = reader.read(new StringReader(xml)); Element root = doc.getRootElement(); Map customUserAttributes = new HashMap(); Iterator itr = root.elements("custom-user-attribute").iterator(); while (itr.hasNext()) { Element customUserAttribute = (Element) itr.next(); String name = customUserAttribute.attributeValue("name"); String customClass = customUserAttribute.attributeValue("custom-class"); customUserAttributes.put(name, customClass); } itr = root.elements("portlet").iterator(); while (itr.hasNext()) { Element portlet = (Element) itr.next(); String portletId = portlet.attributeValue("id"); if (servletContextName != null) { portletId = servletContextName + PortletConfigImpl.WAR_SEPARATOR + portletId; } liferayPortletIds.add(portletId); Portlet portletModel = (Portlet) portletsPool.get(portletId); if (portletModel != null) { portletModel.setStrutsPath( GetterUtil.get(portlet.attributeValue("struts-path"), portletModel.getStrutsPath())); portletModel.setIndexerClass( GetterUtil.get(portlet.attributeValue("indexer-class"), portletModel.getIndexerClass())); portletModel.setSchedulerClass(GetterUtil.get(portlet.attributeValue("scheduler-class"), portletModel.getSchedulerClass())); portletModel.setPreferencesSharingType( GetterUtil.get(portlet.attributeValue("preferences-sharing-type"), portletModel.getPreferencesSharingType())); portletModel.setUseDefaultTemplate(GetterUtil.get(portlet.attributeValue("use-default-template"), portletModel.isUseDefaultTemplate())); portletModel.setShowPortletAccessDenied( GetterUtil.get(portlet.attributeValue("show-portlet-access-denied"), portletModel.isShowPortletAccessDenied())); portletModel.setShowPortletInactive(GetterUtil.get(portlet.attributeValue("show-portlet-inactive"), portletModel.isShowPortletInactive())); portletModel.setRestoreCurrentView(GetterUtil.get(portlet.attributeValue("restore-current-view"), portletModel.isRestoreCurrentView())); portletModel.setNs4Compatible( GetterUtil.get(portlet.attributeValue("ns-4-compatible"), portletModel.isNs4Compatible())); portletModel.setNarrow(GetterUtil.get(portlet.attributeValue("narrow"), portletModel.isNarrow())); portletModel.setActive(GetterUtil.get(portlet.attributeValue("active"), portletModel.isActive())); portletModel .setInclude(GetterUtil.get(portlet.attributeValue("include"), portletModel.isInclude())); portletModel.getCustomUserAttributes().putAll(customUserAttributes); } } return liferayPortletIds; }
From source file:com.liferay.portal.servlet.MainServlet.java
License:Open Source License
private void _checkWebSettings(String xml) throws DocumentException { SAXReader reader = new SAXReader(); reader.setEntityResolver(null); Document doc = reader.read(new StringReader(xml)); Element root = doc.getRootElement(); int timeout = GetterUtil.getInteger(PropsUtil.get(PropsUtil.SESSION_TIMEOUT)); Element sessionConfig = root.element("session-config"); if (sessionConfig != null) { String sessionTimeout = sessionConfig.elementText("session-timeout"); timeout = GetterUtil.get(sessionConfig.elementText("session-timeout"), timeout); }// w w w. j a v a 2 s . co m PropsUtil.set(PropsUtil.SESSION_TIMEOUT, Integer.toString(timeout)); }
From source file:com.liferay.portal.tools.EARXMLBuilder.java
License:Open Source License
private String _buildPramatiXMLWebModule(String path) throws DocumentException, IOException { String contextRoot = path.substring(2, path.length() - 4); String filePath = path + "/docroot/WEB-INF/web.xml"; if (path.endsWith("-complete")) { contextRoot = "/"; filePath = path.substring(0, path.length() - 9) + "/docroot/WEB-INF/web.xml"; }//from www .j a v a2s . c om StringBuffer sb = new StringBuffer(); sb.append("\t<web-module>\n"); sb.append("\t\t<name>").append(contextRoot).append("</name>\n"); sb.append("\t\t<module-name>").append(path.substring(3, path.length())).append(".war</module-name>\n"); SAXReader reader = new SAXReader(); reader.setEntityResolver(new EntityResolver()); Document doc = reader.read(new File(filePath)); Iterator itr = doc.getRootElement().elements("ejb-local-ref").iterator(); while (itr.hasNext()) { Element ejbLocalRef = (Element) itr.next(); sb.append("\t\t<ejb-local-ref>\n"); sb.append("\t\t\t<ejb-ref-name>").append(ejbLocalRef.elementText("ejb-ref-name")) .append("</ejb-ref-name>\n"); sb.append("\t\t\t<ejb-link>").append(ejbLocalRef.elementText("ejb-link")).append("</ejb-link>\n"); sb.append("\t\t</ejb-local-ref>\n"); } itr = doc.getRootElement().elements("resource-ref").iterator(); while (itr.hasNext()) { Element resourceRef = (Element) itr.next(); sb.append("\t\t<resource-mapping>\n"); sb.append("\t\t\t<resource-name>").append(resourceRef.elementText("res-ref-name")) .append("</resource-name>\n"); sb.append("\t\t\t<resource-type>").append(resourceRef.elementText("res-type")) .append("</resource-type>\n"); sb.append("\t\t\t<resource-link>").append(resourceRef.elementText("res-ref-name")) .append("</resource-link>\n"); sb.append("\t\t</resource-mapping>\n"); } sb.append("\t</web-module>\n"); return sb.toString(); }
From source file:com.liferay.portal.tools.EJBXMLBuilder.java
License:Open Source License
private void _buildBorlandXML() throws Exception { StringBuffer sb = new StringBuffer(); sb.append("<?xml version=\"1.0\"?>\n"); sb.append(// w w w.ja v a2s . c o m "<!DOCTYPE ejb-jar PUBLIC \"-//Borland Software Corporation//DTD Enterprise JavaBeans 2.0//EN\" \"http://www.borland.com/devsupport/appserver/dtds/ejb-jar_2_0-borland.dtd\">\n"); sb.append("\n<ejb-jar>\n"); sb.append("\t<enterprise-beans>\n"); SAXReader reader = new SAXReader(); reader.setEntityResolver(new EntityResolver()); Document doc = reader.read(new File("classes/META-INF/ejb-jar.xml")); Iterator itr = doc.getRootElement().element("enterprise-beans").elements("session").iterator(); while (itr.hasNext()) { Element entity = (Element) itr.next(); sb.append("\t\t<session>\n"); sb.append("\t\t\t<ejb-name>").append(entity.elementText("ejb-name")).append("</ejb-name>\n"); if (entity.elementText("display-name").endsWith("LocalManagerEJB")) { sb.append("\t\t\t<bean-local-home-name>ejb/liferay/").append(entity.elementText("display-name")) .append("Home</bean-local-home-name>\n"); } else { sb.append("\t\t\t<bean-home-name>").append(entity.elementText("ejb-name")) .append("</bean-home-name>\n"); } sb.append("\t\t</session>\n"); } sb.append("\t</enterprise-beans>\n"); sb.append("\t<property>\n"); sb.append("\t\t<prop-name>ejb.default_transaction_attribute</prop-name>\n"); sb.append("\t\t<prop-type>String</prop-type>\n"); sb.append("\t\t<prop-value>Supports</prop-value>\n"); sb.append("\t</property>\n"); sb.append("</ejb-jar>"); File outputFile = new File("classes/META-INF/ejb-borland.xml"); if (!outputFile.exists() || !FileUtil.read(outputFile).equals(sb.toString())) { FileUtil.write(outputFile, sb.toString()); Logger.info(this, outputFile.toString()); } }
From source file:com.liferay.portal.tools.EJBXMLBuilder.java
License:Open Source License
private void _buildJOnASXML() throws Exception { StringBuffer sb = new StringBuffer(); sb.append("<?xml version=\"1.0\"?>\n"); sb.append(/*from www . j a v a2 s . com*/ "<!DOCTYPE jonas-ejb-jar PUBLIC \"-//ObjectWeb//DTD JOnAS 3.2//EN\" \"http://www.objectweb.org/jonas/dtds/jonas-ejb-jar_3_2.dtd\">\n"); sb.append("\n<jonas-ejb-jar>\n"); SAXReader reader = new SAXReader(); reader.setEntityResolver(new EntityResolver()); Document doc = reader.read(new File("classes/META-INF/ejb-jar.xml")); Iterator itr = doc.getRootElement().element("enterprise-beans").elements("session").iterator(); while (itr.hasNext()) { Element entity = (Element) itr.next(); sb.append("\t<jonas-session>\n"); sb.append("\t\t<ejb-name>").append(entity.elementText("ejb-name")).append("</ejb-name>\n"); if (entity.elementText("display-name").endsWith("LocalManagerEJB")) { sb.append("\t\t<jndi-name>ejb/liferay/").append(entity.elementText("display-name")) .append("Home</jndi-name>\n"); } else { sb.append("\t\t<jndi-name>").append(entity.elementText("ejb-name")).append("</jndi-name>\n"); } sb.append("\t</jonas-session>\n"); } sb.append("</jonas-ejb-jar>"); File outputFile = new File("classes/META-INF/jonas-ejb-jar.xml"); if (!outputFile.exists() || !FileUtil.read(outputFile).equals(sb.toString())) { FileUtil.write(outputFile, sb.toString()); Logger.info(this, outputFile.toString()); } }