List of usage examples for com.liferay.portal.kernel.xml Element elements
public List<Element> elements(String name);
From source file:com.liferay.tools.sourceformatter.XMLSourceProcessor.java
License:Open Source License
protected String formatAntXML(String fileName, String content) throws Exception { String newContent = trimContent(content, true); newContent = fixAntXMLProjectName(fileName, newContent); Document document = saxReaderUtil.read(newContent); Element rootElement = document.getRootElement(); String previousName = StringPool.BLANK; List<Element> targetElements = rootElement.elements("target"); for (Element targetElement : targetElements) { String name = targetElement.attributeValue("name"); if (name.equals("Test")) { name = StringUtil.toLowerCase(name); }//from w w w . j a v a 2 s . co m if (name.compareTo(previousName) < -1) { processErrorMessage(fileName, fileName + " has an unordered target " + name); break; } previousName = name; } return newContent; }
From source file:com.liferay.tools.sourceformatter.XMLSourceProcessor.java
License:Open Source License
protected String formatDDLStructuresXML(String content) throws Exception { Document document = saxReaderUtil.read(content); Element rootElement = document.getRootElement(); rootElement.sortAttributes(true);/* w w w . j a va 2 s . co m*/ rootElement.sortElementsByChildElement("structure", "name"); List<Element> structureElements = rootElement.elements("structure"); for (Element structureElement : structureElements) { Element structureRootElement = structureElement.element("root"); structureRootElement.sortElementsByAttribute("dynamic-element", "name"); List<Element> dynamicElementElements = structureRootElement.elements("dynamic-element"); for (Element dynamicElementElement : dynamicElementElements) { Element metaDataElement = dynamicElementElement.element("meta-data"); metaDataElement.sortElementsByAttribute("entry", "name"); } } return document.formattedString(); }
From source file:com.liferay.tools.sourceformatter.XMLSourceProcessor.java
License:Open Source License
protected String formatFriendlyURLRoutesXML(String absolutePath, String content) throws Exception { if (isExcluded(_friendlyUrlRoutesSortExclusions, absolutePath)) { return content; }/* www . j av a 2s. c o m*/ Document document = saxReaderUtil.read(content); Element rootElement = document.getRootElement(); List<ComparableRoute> comparableRoutes = new ArrayList<ComparableRoute>(); for (Element routeElement : rootElement.elements("route")) { String pattern = routeElement.elementText("pattern"); ComparableRoute comparableRoute = new ComparableRoute(pattern); for (Element generatedParameterElement : routeElement.elements("generated-parameter")) { String name = generatedParameterElement.attributeValue("name"); String value = generatedParameterElement.getText(); comparableRoute.addGeneratedParameter(name, value); } for (Element ignoredParameterElement : routeElement.elements("ignored-parameter")) { String name = ignoredParameterElement.attributeValue("name"); comparableRoute.addIgnoredParameter(name); } for (Element implicitParameterElement : routeElement.elements("implicit-parameter")) { String name = implicitParameterElement.attributeValue("name"); String value = implicitParameterElement.getText(); comparableRoute.addImplicitParameter(name, value); } for (Element overriddenParameterElement : routeElement.elements("overridden-parameter")) { String name = overriddenParameterElement.attributeValue("name"); String value = overriddenParameterElement.getText(); comparableRoute.addOverriddenParameter(name, value); } comparableRoutes.add(comparableRoute); } Collections.sort(comparableRoutes); String mainReleaseVersion = getMainReleaseVersion(); StringBundler sb = new StringBundler(); sb.append("<?xml version=\"1.0\"?>\n"); sb.append("<!DOCTYPE routes PUBLIC \"-//Liferay//DTD Friendly URL "); sb.append("Routes "); sb.append(mainReleaseVersion); sb.append("//EN\" \"http://www.liferay.com/dtd/"); sb.append("liferay-friendly-url-routes_"); sb.append(StringUtil.replace(mainReleaseVersion, StringPool.PERIOD, StringPool.UNDERLINE)); sb.append(".dtd\">\n\n<routes>\n"); for (ComparableRoute comparableRoute : comparableRoutes) { sb.append("\t<route>\n"); sb.append("\t\t<pattern>"); sb.append(comparableRoute.getPattern()); sb.append("</pattern>\n"); Map<String, String> generatedParameters = comparableRoute.getGeneratedParameters(); for (Map.Entry<String, String> entry : generatedParameters.entrySet()) { sb.append("\t\t<generated-parameter name=\""); sb.append(entry.getKey()); sb.append("\">"); sb.append(entry.getValue()); sb.append("</generated-parameter>\n"); } Set<String> ignoredParameters = comparableRoute.getIgnoredParameters(); for (String entry : ignoredParameters) { sb.append("\t\t<ignored-parameter name=\""); sb.append(entry); sb.append("\" />\n"); } Map<String, String> implicitParameters = comparableRoute.getImplicitParameters(); for (Map.Entry<String, String> entry : implicitParameters.entrySet()) { sb.append("\t\t<implicit-parameter name=\""); sb.append(entry.getKey()); sb.append("\">"); sb.append(entry.getValue()); sb.append("</implicit-parameter>\n"); } Map<String, String> overriddenParameters = comparableRoute.getOverriddenParameters(); for (Map.Entry<String, String> entry : overriddenParameters.entrySet()) { sb.append("\t\t<overridden-parameter name=\""); sb.append(entry.getKey()); sb.append("\">"); sb.append(entry.getValue()); sb.append("</overridden-parameter>\n"); } sb.append("\t</route>\n"); } sb.append("</routes>"); return sb.toString(); }
From source file:com.liferay.tools.sourceformatter.XMLSourceProcessor.java
License:Open Source License
protected String formatPortletXML(String fileName, String absolutePath, String content) throws Exception { Document document = saxReaderUtil.read(content); Element rootElement = document.getRootElement(); rootElement.sortAttributes(true);//from www . j a v a 2 s. co m boolean checkNumericalPortletNameElement = !isExcluded(_numericalPortletNameElementExclusions, absolutePath); List<Element> portletElements = rootElement.elements("portlet"); for (Element portletElement : portletElements) { if (checkNumericalPortletNameElement) { Element portletNameElement = portletElement.element("portlet-name"); String portletNameText = portletNameElement.getText(); if (!Validator.isNumber(portletNameText)) { processErrorMessage(fileName, fileName + " contains a nonstandard portlet-name element " + portletNameText); } } if (fileName.endsWith("/liferay-portlet.xml")) { continue; } portletElement.sortElementsByChildElement("init-param", "name"); Element portletPreferencesElement = portletElement.element("portlet-preferences"); if (portletPreferencesElement != null) { portletPreferencesElement.sortElementsByChildElement("preference", "name"); } } return document.formattedString(); }
From source file:com.liferay.tools.sourceformatter.XMLSourceProcessor.java
License:Open Source License
protected void formatServiceXML(String fileName, String content) throws Exception { Document document = saxReaderUtil.read(content); Element rootElement = document.getRootElement(); List<Element> entityElements = rootElement.elements("entity"); String previousEntityName = StringPool.BLANK; for (Element entityElement : entityElements) { String entityName = entityElement.attributeValue("name"); if (Validator.isNotNull(previousEntityName) && (previousEntityName.compareToIgnoreCase(entityName) > 0)) { processErrorMessage(fileName, "sort: " + fileName + " " + entityName); }//from w ww. ja va2 s . com checkServiceXMLFinders(fileName, entityElement, entityName); checkServiceXMLReferences(fileName, entityElement, entityName); previousEntityName = entityName; } checkServiceXMLExceptions(fileName, rootElement); }
From source file:com.liferay.tools.sourceformatter.XMLSourceProcessor.java
License:Open Source License
protected void formatStrutsConfigXML(String fileName, String content) throws Exception { Document document = saxReaderUtil.read(content); Element rootElement = document.getRootElement(); Element actionMappingsElement = rootElement.element("action-mappings"); List<Element> actionElements = actionMappingsElement.elements("action"); String previousPath = StringPool.BLANK; for (Element actionElement : actionElements) { String path = actionElement.attributeValue("path"); if (Validator.isNotNull(previousPath) && (previousPath.compareTo(path) > 0) && (!previousPath.startsWith("/portal/") || path.startsWith("/portal/"))) { processErrorMessage(fileName, "sort: " + fileName + " " + path); }// ww w. ja v a2 s. c om previousPath = path; } }
From source file:com.liferay.tools.sourceformatter.XMLSourceProcessor.java
License:Open Source License
protected void formatTilesDefsXML(String fileName, String content) throws Exception { Document document = saxReaderUtil.read(content); Element rootElement = document.getRootElement(); List<Element> definitionElements = rootElement.elements("definition"); String previousName = StringPool.BLANK; for (Element definitionElement : definitionElements) { String name = definitionElement.attributeValue("name"); if (Validator.isNotNull(previousName) && (previousName.compareTo(name) > 0) && !previousName.equals("portlet")) { processErrorMessage(fileName, "sort: " + fileName + " " + name); }//www . ja v a2 s . co m previousName = name; } }
From source file:com.liferay.web.extender.internal.webbundle.WebBundleProcessor.java
License:Open Source License
protected void processLiferayPortletXML(String webContextpath) throws IOException { File liferayPortletXMLFile = new File(_deployedAppFolder, "WEB-INF/liferay-portlet.xml"); if (!liferayPortletXMLFile.exists()) { return;//from w ww .j a va2 s. co m } String content = FileUtil.read(liferayPortletXMLFile); Document liferayPortletXMLDoc = null; try { liferayPortletXMLDoc = SAXReaderUtil.read(content); } catch (DocumentException de) { throw new IOException(de); } Element rootEl = liferayPortletXMLDoc.getRootElement(); List<Element> portletElements = rootEl.elements("portlet"); for (Element portletElement : portletElements) { Element previousChild = portletElement.element("virtual-path"); if (previousChild == null) { previousChild = portletElement.element("icon"); } if (previousChild == null) { previousChild = portletElement.element("portlet-name"); } Element strutsPathElement = portletElement.element("struts-path"); if (strutsPathElement == null) { List<Node> children = portletElement.content(); int pos = children.indexOf(previousChild); strutsPathElement = SAXReaderUtil.createElement("struts-path"); strutsPathElement.setText("osgi".concat(webContextpath)); children.add(pos + 1, strutsPathElement); } else { String strutsPath = strutsPathElement.getTextTrim(); if (!strutsPath.startsWith(StringPool.SLASH)) { strutsPath = StringPool.SLASH.concat(strutsPath); } strutsPath = "osgi".concat(webContextpath).concat(strutsPath); strutsPathElement.setText(strutsPath); } } content = DDMXMLUtil.formatXML(liferayPortletXMLDoc); FileUtil.write(liferayPortletXMLFile, content); }
From source file:com.liferay.web.extender.internal.webbundle.WebBundleProcessor.java
License:Open Source License
protected void processPortletXML(String webContextpath) throws IOException { File portletXMLFile = new File(_deployedAppFolder, "WEB-INF/" + Portal.PORTLET_XML_FILE_NAME_STANDARD); if (!portletXMLFile.exists()) { return;//from ww w . j a v a2 s . c om } String content = FileUtil.read(portletXMLFile); Document document = null; try { document = SAXReaderUtil.read(content); } catch (DocumentException de) { throw new IOException(de); } Element rootElement = document.getRootElement(); List<Element> portletElements = rootElement.elements("portlet"); for (Element portletElement : portletElements) { String portletName = portletElement.elementText("portlet-name"); String invokerPortletName = "osgi".concat(webContextpath).concat(StringPool.SLASH).concat(portletName); XPath xPath = SAXReaderUtil.createXPath(_INVOKER_PORTLET_NAME_XPATH); Element invokerPortletNameEl = (Element) xPath.selectSingleNode(portletElement); if (invokerPortletNameEl == null) { Element portletClassElement = portletElement.element("portlet-class"); List<Node> children = portletElement.content(); int pos = children.indexOf(portletClassElement); QName qName = rootElement.getQName(); Element initParamElement = SAXReaderUtil .createElement(SAXReaderUtil.createQName("init-param", qName.getNamespace())); initParamElement.addElement("name").setText("com.liferay.portal.invokerPortletName"); initParamElement.addElement("value").setText(invokerPortletName); children.add(pos + 1, initParamElement); } else { Element valueElement = invokerPortletNameEl.element("value"); invokerPortletName = valueElement.getTextTrim(); if (!invokerPortletName.startsWith(StringPool.SLASH)) { invokerPortletName = StringPool.SLASH.concat(invokerPortletName); } invokerPortletName = "osgi".concat(webContextpath).concat(invokerPortletName); valueElement.setText(invokerPortletName); } } content = DDMXMLUtil.formatXML(document); FileUtil.write(portletXMLFile, content); }
From source file:com.liferay.web.extender.internal.WebXMLLoader.java
License:Open Source License
protected static void loadContext(Bundle bundle, Element root, WebXML webXML) throws Exception { Hashtable<String, String> contextParams = webXML.getContextParams(); for (Element element : root.elements("context-param")) { String contextParamName = element.element("param-name").getTextTrim(); String contextParamValue = element.element("param-value").getTextTrim(); webXML.setContextParam(contextParamName, contextParamValue); }//from w w w .j a va2 s.com Map<String, ListenerDefinition> listeners = webXML.getListeners(); for (Element listenerElement : root.elements("listener")) { String listenerClass = listenerElement.element("listener-class").getTextTrim(); ListenerDefinition listenerDefinition = null; try { Object listener = bundle.loadClass(listenerClass).newInstance(); listenerDefinition = new ListenerDefinition(); listenerDefinition.setListener(listener); listenerDefinition.setContextParams(contextParams); } catch (Exception e) { if (_log.isWarnEnabled()) { _log.warn(e.getMessage()); } continue; } listeners.put(listenerClass, listenerDefinition); } }