List of usage examples for com.liferay.portal.kernel.xml Element elements
public List<Element> elements(String name);
From source file:com.liferay.httpservice.internal.definition.WebXMLDefinitionLoader.java
License:Open Source License
protected void readFilters(Bundle bundle, Element rootElement, WebXMLDefinition webXML) throws IllegalAccessException, InstantiationException { List<Element> filterElements = rootElement.elements("filter"); for (Element filterElement : filterElements) { FilterDefinition filterDefinition = new FilterDefinition(); String filterClassName = filterElement.elementText("filter-class"); Class<?> clazz = null; try {/*from w w w . ja v a2 s.c om*/ clazz = bundle.loadClass(filterClassName); } catch (Exception e) { _log.error("Unable to load filter " + filterClassName); continue; } Filter filter = (Filter) clazz.newInstance(); filterDefinition.setFilter(filter); List<Element> initParamElements = filterElement.elements("init-param"); for (Element initParamElement : initParamElements) { String paramName = initParamElement.elementText("param-name"); String paramValue = initParamElement.elementText("param-value"); filterDefinition.setInitParameter(paramName, paramValue); } String filterName = filterElement.elementText("filter-name"); filterDefinition.setName(filterName); List<Element> filterMappingElements = rootElement.elements("filter-mapping"); for (Element filterMappingElement : filterMappingElements) { String filterMappingElementFilterName = filterMappingElement.elementText("filter-name"); if (filterMappingElementFilterName.equals(filterName)) { String urlPattern = getURLPattern(filterMappingElement); filterDefinition.addURLPattern(urlPattern); } } webXML.setFilterDefinition(filterName, filterDefinition); } }
From source file:com.liferay.httpservice.internal.definition.WebXMLDefinitionLoader.java
License:Open Source License
protected void readListeners(Bundle bundle, Element rootElement, WebXMLDefinition webXML) throws IllegalAccessException, InstantiationException { List<Element> listenerElements = rootElement.elements("listener"); for (Element listenerElement : listenerElements) { ListenerDefinition listenerDefinition = new ListenerDefinition(); String listenerClassName = listenerElement.elementText("listener-class"); Class<?> clazz = null; try {/*from w ww. ja va 2s.c o m*/ clazz = bundle.loadClass(listenerClassName); } catch (Exception e) { _log.error("Unable to load listener " + listenerClassName); continue; } Object listener = clazz.newInstance(); listenerDefinition.setListener(listener); webXML.addListenerDefinition(listenerDefinition); } }
From source file:com.liferay.httpservice.internal.definition.WebXMLDefinitionLoader.java
License:Open Source License
protected void readServlets(Bundle bundle, Element rootElement, WebXMLDefinition webXML) throws IllegalAccessException, InstantiationException { List<Element> servletElements = rootElement.elements("servlet"); for (Element servletElement : servletElements) { ServletDefinition servletDefinition = new ServletDefinition(); String servletClassName = servletElement.elementText("servlet-class"); Class<?> servletClass = null; ;//from ww w . ja v a 2 s . c o m try { servletClass = bundle.loadClass(servletClassName); } catch (Exception e) { _log.error("Unable to load servlet " + servletClassName); continue; } Servlet servlet = (Servlet) servletClass.newInstance(); servletDefinition.setServlet(servlet); List<Element> initParamElements = servletElement.elements("init-param"); for (Element initParamElement : initParamElements) { String paramName = initParamElement.elementText("param-name"); String paramValue = initParamElement.elementText("param-value"); servletDefinition.setInitParameter(paramName, paramValue); } String servletName = servletElement.elementText("servlet-name"); servletDefinition.setName(servletName); List<Element> servletMappingElements = rootElement.elements("servlet-mapping"); for (Element servletMappingElement : servletMappingElements) { String servletMappingElementServletName = servletMappingElement.elementText("servlet-name"); if (servletMappingElementServletName.equals(servletName)) { String urlPattern = getURLPattern(servletMappingElement); servletDefinition.addURLPattern(urlPattern); } } webXML.setServletDefinition(servletName, servletDefinition); } }
From source file:com.liferay.journal.internal.exportimport.content.processor.JournalArticleExportImportContentProcessor.java
License:Open Source License
protected String replaceExportJournalArticleReferences(PortletDataContext portletDataContext, StagedModel stagedModel, String content, boolean exportReferencedContent) throws Exception { Group group = _groupLocalService.fetchGroup(portletDataContext.getGroupId()); if (group.isStagingGroup()) { group = group.getLiveGroup();//from w ww . j a va2s . co m } if (group.isStaged() && !group.isStagedRemotely() && !group.isStagedPortlet(JournalPortletKeys.JOURNAL)) { return content; } Document document = SAXReaderUtil.read(content); XPath xPath = SAXReaderUtil.createXPath("//dynamic-element[@type='ddm-journal-article']"); List<Node> ddmJournalArticleNodes = xPath.selectNodes(document); for (Node ddmJournalArticleNode : ddmJournalArticleNodes) { Element ddmJournalArticleElement = (Element) ddmJournalArticleNode; List<Element> dynamicContentElements = ddmJournalArticleElement.elements("dynamic-content"); for (Element dynamicContentElement : dynamicContentElements) { String jsonData = dynamicContentElement.getStringValue(); JSONObject jsonObject = _jsonFactory.createJSONObject(jsonData); long classPK = GetterUtil.getLong(jsonObject.get("classPK")); JournalArticle journalArticle = _journalArticleLocalService.fetchLatestArticle(classPK); if (journalArticle == null) { if (_log.isInfoEnabled()) { StringBundler messageSB = new StringBundler(); messageSB.append("Staged model with class name "); messageSB.append(stagedModel.getModelClassName()); messageSB.append(" and primary key "); messageSB.append(stagedModel.getPrimaryKeyObj()); messageSB.append(" references missing journal "); messageSB.append("article with class primary key "); messageSB.append(classPK); _log.info(messageSB.toString()); } continue; } String journalArticleReference = "[$journal-article-reference=" + journalArticle.getPrimaryKey() + "$]"; if (_log.isDebugEnabled()) { _log.debug("Replacing " + jsonData + " with " + journalArticleReference); } dynamicContentElement.clearContent(); dynamicContentElement.addCDATA(journalArticleReference); if (exportReferencedContent) { StagedModelDataHandlerUtil.exportReferenceStagedModel(portletDataContext, stagedModel, journalArticle, PortletDataContext.REFERENCE_TYPE_DEPENDENCY); } else { Element entityElement = portletDataContext.getExportDataElement(stagedModel); portletDataContext.addReferenceElement(stagedModel, entityElement, journalArticle, PortletDataContext.REFERENCE_TYPE_DEPENDENCY, true); } } } return document.asXML(); }
From source file:com.liferay.journal.internal.exportimport.content.processor.JournalArticleExportImportContentProcessor.java
License:Open Source License
protected void validateJournalArticleReferences(String content) throws PortalException { List<Throwable> throwables = new ArrayList<>(); try {/* w w w .j av a2s . c om*/ Document document = SAXReaderUtil.read(content); XPath xPath = SAXReaderUtil.createXPath("//dynamic-element[@type='ddm-journal-article']"); List<Node> ddmJournalArticleNodes = xPath.selectNodes(document); for (Node ddmJournalArticleNode : ddmJournalArticleNodes) { Element ddmJournalArticleElement = (Element) ddmJournalArticleNode; List<Element> dynamicContentElements = ddmJournalArticleElement.elements("dynamic-content"); for (Element dynamicContentElement : dynamicContentElements) { String json = dynamicContentElement.getStringValue(); if (Validator.isNull(json)) { if (_log.isDebugEnabled()) { _log.debug("No journal article reference is specified"); } continue; } JSONObject jsonObject = _jsonFactory.createJSONObject(json); long classPK = GetterUtil.getLong(jsonObject.get("classPK")); JournalArticle journalArticle = _journalArticleLocalService.fetchLatestArticle(classPK); if (journalArticle == null) { Throwable throwable = new NoSuchArticleException( "No JournalArticle exists with the key " + "{resourcePrimKey=" + classPK + "}"); throwables.add(throwable); } } } } catch (DocumentException de) { if (_log.isDebugEnabled()) { _log.debug("Invalid content:\n" + content); } } if (!throwables.isEmpty()) { throw new PortalException( new BulkException("Unable to validate journal article references", throwables)); } }
From source file:com.liferay.journal.internal.upgrade.v0_0_5.UpgradeJournal.java
License:Open Source License
protected String convertStaticContentToDynamic(String content) throws Exception { Document document = SAXReaderUtil.read(content); Document newDocument = SAXReaderUtil.createDocument(); Element rootElement = document.getRootElement(); String availableLocales = GetterUtil.getString(rootElement.attributeValue("available-locales"), _getDefaultLanguageId());/*from w w w .j a va 2 s. c om*/ String defaultLocale = GetterUtil.getString(rootElement.attributeValue("default-locale"), _getDefaultLanguageId()); Element newRootElement = SAXReaderUtil.createElement("root"); newRootElement.addAttribute("available-locales", availableLocales); newRootElement.addAttribute("default-locale", defaultLocale); newDocument.add(newRootElement); Element dynamicElementElement = SAXReaderUtil.createElement("dynamic-element"); dynamicElementElement.addAttribute("name", "content"); dynamicElementElement.addAttribute("type", "text_area"); dynamicElementElement.addAttribute("index-type", "text"); dynamicElementElement.addAttribute("index", String.valueOf(0)); newRootElement.add(dynamicElementElement); List<Element> staticContentElements = rootElement.elements("static-content"); for (Element staticContentElement : staticContentElements) { String languageId = GetterUtil.getString(staticContentElement.attributeValue("language-id"), _getDefaultLanguageId()); String text = staticContentElement.getText(); Element dynamicContentElement = SAXReaderUtil.createElement("dynamic-content"); dynamicContentElement.addAttribute("language-id", languageId); dynamicContentElement.addCDATA(text); dynamicElementElement.add(dynamicContentElement); } return XMLUtil.formatXML(newDocument); }
From source file:com.liferay.journal.internal.upgrade.v0_0_5.UpgradeJournal.java
License:Open Source License
protected Set<String> getArticleDynamicElements(Element rootElement) { List<String> dynamicElementNames = new ArrayList<>(); List<Element> dynamicElementElements = rootElement.elements("dynamic-element"); for (Element element : dynamicElementElements) { dynamicElementNames.add(element.attributeValue("name")); dynamicElementNames.addAll(getArticleDynamicElements(element)); }//from w ww . j a v a2 s .co m return SetUtil.fromList(dynamicElementNames); }
From source file:com.liferay.journal.internal.upgrade.v0_0_5.UpgradeJournal.java
License:Open Source License
protected List<Element> getDDMStructures(Locale locale) throws DocumentException { String xml = getContent("basic-web-content-structure.xml"); xml = StringUtil.replace(xml, "[$LOCALE_DEFAULT$]", locale.toString()); Document document = SAXReaderUtil.read(xml); Element rootElement = document.getRootElement(); return rootElement.elements("structure"); }
From source file:com.liferay.journal.internal.upgrade.v0_0_5.UpgradeJournal.java
License:Open Source License
protected void transformDateFieldValues(List<Element> dynamicElementElements) { if ((dynamicElementElements == null) || dynamicElementElements.isEmpty()) { return;/*w ww . j a v a 2 s . c om*/ } for (Element dynamicElementElement : dynamicElementElements) { String type = GetterUtil.getString(dynamicElementElement.attributeValue("type")); if (type.equals("ddm-date")) { List<Element> dynamicContentElements = dynamicElementElement.elements("dynamic-content"); for (Element dynamicContentElement : dynamicContentElements) { transformDateFieldValue(dynamicContentElement); } } List<Element> childDynamicElementElements = dynamicElementElement.elements("dynamic-element"); transformDateFieldValues(childDynamicElementElements); } }
From source file:com.liferay.journal.internal.upgrade.v0_0_5.UpgradeJournal.java
License:Open Source License
protected String transformDateFieldValues(String content) throws Exception { if (!containsDateFieldType(content)) { return content; }/* w w w . j a v a 2s .c o m*/ Document document = SAXReaderUtil.read(content); Element rootElement = document.getRootElement(); List<Element> dynamicElementElements = rootElement.elements("dynamic-element"); transformDateFieldValues(dynamicElementElements); return XMLUtil.formatXML(document); }