List of usage examples for org.dom4j.io SAXReader read
public Document read(InputSource in) throws DocumentException
Reads a Document from the given InputSource
using SAX
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.xml.Dom4jUtil.java
License:Open Source License
public static String toString(String xml, String indent) throws DocumentException, IOException { XMLReader xmlReader = null;//from w w w . j av a 2 s. c o m if (SecureXMLFactoryProviderUtil.getSecureXMLFactoryProvider() != null) { xmlReader = SecureXMLFactoryProviderUtil.newXMLReader(); } SAXReader saxReader = new SAXReader(xmlReader); Document document = saxReader.read(new UnsyncStringReader(xml)); return toString(document, indent); }
From source file:com.liferay.portal.ejb.PortletManagerImpl.java
License:Open Source License
private Set _readPortletXML(String servletContextName, String xml, Map portletsPool) throws DocumentException, IOException { Set portletIds = new HashSet(); if (xml == null) { return portletIds; }/* ww w . j a v a 2 s .c o m*/ /*EntityResolver resolver = new EntityResolver() { public InputSource resolveEntity(String publicId, String systemId) { InputStream is = getClass().getClassLoader().getResourceAsStream( "com/liferay/portal/resources/portlet-app_1_0.xsd"); return new InputSource(is); } };*/ SAXReader reader = new SAXReader(); //reader.setEntityResolver(resolver); Document doc = reader.read(new StringReader(xml)); Element root = doc.getRootElement(); Set userAttributes = new HashSet(); Iterator itr1 = root.elements("user-attribute").iterator(); while (itr1.hasNext()) { Element userAttribute = (Element) itr1.next(); String name = userAttribute.elementText("name"); userAttributes.add(name); } itr1 = root.elements("portlet").iterator(); while (itr1.hasNext()) { Element portlet = (Element) itr1.next(); String portletId = portlet.elementText("portlet-name"); if (servletContextName != null) { portletId = servletContextName + PortletConfigImpl.WAR_SEPARATOR + portletId; } portletIds.add(portletId); Portlet portletModel = (Portlet) portletsPool.get(portletId); if (portletModel == null) { portletModel = new Portlet(new PortletPK(portletId, _SHARED_KEY, _SHARED_KEY)); portletsPool.put(portletId, portletModel); } if (servletContextName != null) { portletModel.setWARFile(true); } portletModel.setPortletClass(portlet.elementText("portlet-class")); Iterator itr2 = portlet.elements("init-param").iterator(); while (itr2.hasNext()) { Element initParam = (Element) itr2.next(); portletModel.getInitParams().put(initParam.elementText("name"), initParam.elementText("value")); } Element expirationCache = portlet.element("expiration-cache"); if (expirationCache != null) { portletModel.setExpCache(new Integer(GetterUtil.getInteger(expirationCache.getText()))); } itr2 = portlet.elements("supports").iterator(); while (itr2.hasNext()) { Element supports = (Element) itr2.next(); String mimeType = supports.elementText("mime-type"); Iterator itr3 = supports.elements("portlet-mode").iterator(); while (itr3.hasNext()) { Element portletMode = (Element) itr3.next(); Set mimeTypeModes = (Set) portletModel.getPortletModes().get(mimeType); if (mimeTypeModes == null) { mimeTypeModes = new HashSet(); portletModel.getPortletModes().put(mimeType, mimeTypeModes); } mimeTypeModes.add(portletMode.getTextTrim().toLowerCase()); } } Set supportedLocales = portletModel.getSupportedLocales(); supportedLocales.add(Locale.getDefault().getLanguage()); itr2 = portlet.elements("supported-locale").iterator(); while (itr2.hasNext()) { Element supportedLocaleEl = (Element) itr2.next(); String supportedLocale = supportedLocaleEl.getText(); supportedLocales.add(supportedLocale); } portletModel.setResourceBundle(portlet.elementText("resource-bundle")); Element portletInfo = portlet.element("portlet-info"); String portletInfoTitle = null; String portletInfoShortTitle = null; String portletInfoKeyWords = null; if (portletInfo != null) { portletInfoTitle = portletInfo.elementText("title"); portletInfoShortTitle = portletInfo.elementText("short-title"); portletInfoKeyWords = portletInfo.elementText("keywords"); } portletModel .setPortletInfo(new PortletInfo(portletInfoTitle, portletInfoShortTitle, portletInfoKeyWords)); Element portletPreferences = portlet.element("portlet-preferences"); String defaultPreferences = null; String prefsValidator = null; if (portletPreferences != null) { Element prefsValidatorEl = portletPreferences.element("preferences-validator"); String prefsValidatorName = null; if (prefsValidatorEl != null) { prefsValidator = prefsValidatorEl.getText(); portletPreferences.remove(prefsValidatorEl); } ByteArrayOutputStream baos = new ByteArrayOutputStream(); XMLWriter writer = new XMLWriter(baos, OutputFormat.createCompactFormat()); writer.write(portletPreferences); defaultPreferences = baos.toString(); } portletModel.setDefaultPreferences(defaultPreferences); portletModel.setPreferencesValidator(prefsValidator); if (!portletModel.isWARFile() && Validator.isNotNull(prefsValidator) && GetterUtil.getBoolean(PropsUtil.get(PropsUtil.PREFERENCE_VALIDATE_ON_STARTUP))) { try { PreferencesValidator prefsValidatorObj = PortalUtil.getPreferencesValidator(portletModel); prefsValidatorObj.validate(PortletPreferencesSerializer.fromDefaultXML(defaultPreferences)); } catch (Exception e) { _log.warn("Portlet with the name " + portletId + " does not have valid default preferences"); } } List roles = new ArrayList(); itr2 = portlet.elements("security-role-ref").iterator(); while (itr2.hasNext()) { Element role = (Element) itr2.next(); roles.add(role.elementText("role-name")); } portletModel.setRolesArray((String[]) roles.toArray(new String[0])); portletModel.getUserAttributes().addAll(userAttributes); } return portletIds; }
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; }// w w w . j ava 2 s. com 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 w w . j a v a 2 s .c o m*/ 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.events.InitAction.java
License:Open Source License
public void run(String[] ids) throws ActionException { // Set default locale String userLanguage = SystemProperties.get("user.language"); String userCountry = SystemProperties.get("user.country"); String userVariant = SystemProperties.get("user.variant"); if (Validator.isNull(userVariant)) { Locale.setDefault(new Locale(userLanguage, userCountry)); } else {/* w w w .jav a2 s.c om*/ Locale.setDefault(new Locale(userLanguage, userCountry, userVariant)); } // Log4J if (GetterUtil.get(PropsUtil.get(PropsUtil.LOG_CONFIGURE_LOG4J), true) && !ServerDetector.isSun()) { URL portalLog4jUrl = getClass().getClassLoader().getResource("META-INF/portal-log4j.xml"); if (Logger.getRootLogger().getAllAppenders() instanceof NullEnumeration) { DOMConfigurator.configure(portalLog4jUrl); } else { Set currentLoggerNames = new HashSet(); Enumeration enu = LogManager.getCurrentLoggers(); while (enu.hasMoreElements()) { Logger logger = (Logger) enu.nextElement(); currentLoggerNames.add(logger.getName()); } try { SAXReader reader = new SAXReader(); Document doc = reader.read(portalLog4jUrl); Element root = doc.getRootElement(); Iterator itr = root.elements("category").iterator(); while (itr.hasNext()) { Element category = (Element) itr.next(); String name = category.attributeValue("name"); String priority = category.element("priority").attributeValue("value"); Logger logger = Logger.getLogger(name); logger.setLevel(Level.toLevel(priority)); } } catch (Exception e) { com.dotmarketing.util.Logger.error(this, e.getMessage(), e); } } } }
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);/*from w ww.ja va2 s . co m*/ 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); } 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 w ww. j a v a2 s .c o m 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 .jav a 2 s . c om "<!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(//w ww .j a v a 2s .c o m "<!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()); } }