List of usage examples for com.liferay.portal.kernel.xml SAXReaderUtil read
public static Document read(URL url) throws DocumentException
From source file:com.liferay.journal.verify.JournalServiceVerifyProcess.java
License:Open Source License
protected void verifyArticleContents() throws Exception { try (LoggingTimer loggingTimer = new LoggingTimer(); PreparedStatement ps = connection .prepareStatement("select id_ from JournalArticle where (content like " + "'%link_to_layout%') and DDMStructureKey != ''"); ResultSet rs = ps.executeQuery()) { while (rs.next()) { long id = rs.getLong("id_"); JournalArticle article = _journalArticleLocalService.getArticle(id); try { Document document = SAXReaderUtil.read(article.getContent()); Element rootElement = document.getRootElement(); for (Element element : rootElement.elements()) { updateElement(article.getGroupId(), element); }//from w w w . j a v a 2s . co m article.setContent(document.asXML()); _journalArticleLocalService.updateJournalArticle(article); } catch (Exception e) { _log.error("Unable to update content for article " + article.getId(), e); } } } }
From source file:com.liferay.journal.web.internal.portlet.action.ActionUtil.java
License:Open Source License
protected static String getElementInstanceId(String content, String fieldName, int index) throws Exception { Document document = SAXReaderUtil.read(content); String xPathExpression = "//dynamic-element[@name = " + HtmlUtil.escapeXPathAttribute(fieldName) + "]"; XPath xPath = SAXReaderUtil.createXPath(xPathExpression); List<Node> nodes = xPath.selectNodes(document); if (index > nodes.size()) { return StringPool.BLANK; }// w w w .jav a 2s. co m Element dynamicElementElement = (Element) nodes.get(index); return dynamicElementElement.attributeValue("instance-id"); }
From source file:com.liferay.journal.web.util.JournalRSSUtil.java
License:Open Source License
protected String processContent(JournalFeed feed, JournalArticle article, String languageId, ThemeDisplay themeDisplay, SyndEntry syndEntry, SyndContent syndContent) throws Exception { String content = article.getDescription(languageId); String contentField = feed.getContentField(); if (contentField.equals(JournalFeedConstants.RENDERED_WEB_CONTENT)) { String ddmRendererTemplateKey = article.getDDMTemplateKey(); if (Validator.isNotNull(feed.getDDMRendererTemplateKey())) { ddmRendererTemplateKey = feed.getDDMRendererTemplateKey(); }//from www . ja v a2 s .co m JournalArticleDisplay articleDisplay = _journalContent.getDisplay(feed.getGroupId(), article.getArticleId(), ddmRendererTemplateKey, null, languageId, 1, new PortletRequestModel() { @Override public String toXML() { return _XML_REQUUEST; } }, themeDisplay); if (articleDisplay != null) { content = articleDisplay.getContent(); } } else if (!contentField.equals(JournalFeedConstants.WEB_CONTENT_DESCRIPTION)) { Document document = SAXReaderUtil.read(article.getContentByLocale(languageId)); contentField = HtmlUtil.escapeXPathAttribute(contentField); XPath xPathSelector = SAXReaderUtil.createXPath("//dynamic-element[@name=" + contentField + "]"); List<Node> results = xPathSelector.selectNodes(document); if (results.isEmpty()) { return content; } Element element = (Element) results.get(0); String elType = element.attributeValue("type"); if (elType.equals("document_library")) { String url = element.elementText("dynamic-content"); url = processURL(feed, url, themeDisplay, syndEntry); } else if (elType.equals("image") || elType.equals("image_gallery")) { String url = element.elementText("dynamic-content"); url = processURL(feed, url, themeDisplay, syndEntry); content = content + "<br /><br /><img alt='' src='" + themeDisplay.getURLPortal() + url + "' />"; } else if (elType.equals("text_box")) { syndContent.setType("text"); content = element.elementText("dynamic-content"); } else { content = element.elementText("dynamic-content"); } } return content; }
From source file:com.liferay.knowledgebase.admin.lar.AdminPortletDataHandlerImpl.java
License:Open Source License
@Override protected PortletPreferences doImportData(PortletDataContext portletDataContext, String portletId, PortletPreferences portletPreferences, String data) throws Exception { portletDataContext.importPermissions("com.liferay.knowledgebase.admin", portletDataContext.getSourceGroupId(), portletDataContext.getScopeGroupId()); Document document = SAXReaderUtil.read(data); Element rootElement = document.getRootElement(); importKBArticles(portletDataContext, rootElement); importKBTemplates(portletDataContext, rootElement); importKBComments(portletDataContext, rootElement); return null;//from w w w .j a v a 2s . c o m }
From source file:com.liferay.knowledgebase.admin.util.KBStructureContentUtil.java
License:Open Source License
public static String deleteKBStructureFields(String localizedLanguageId, String content) throws PortalException { Document document = null;// w w w . j av a2 s . c o m try { document = SAXReaderUtil.read(content); } catch (DocumentException de) { throw new PortalException(de); } Element rootElement = document.getRootElement(); for (Element kbStructureContentElement : rootElement.elements()) { String languageId = kbStructureContentElement.attributeValue("language-id"); if (!languageId.equals(localizedLanguageId)) { continue; } kbStructureContentElement.detach(); try { return document.formattedString(); } catch (IOException ioe) { return document.asXML(); } } return content; }
From source file:com.liferay.knowledgebase.admin.util.KBStructureContentUtil.java
License:Open Source License
public static List<KBStructureField> getKBStructureFields(String localizedLanguageId, String content) throws Exception { if (!Validator.isXml(content)) { return new ArrayList<KBStructureField>(); }//from w w w.jav a2 s . c o m Document document = SAXReaderUtil.read(content); List<KBStructureField> kbStructureFields = new ArrayList<KBStructureField>(); Element rootElement = document.getRootElement(); Element kbStructureContentElement = (Element) rootElement .selectSingleNode("kb-structure-content[@language-id='" + localizedLanguageId + "']"); if (kbStructureContentElement == null) { String value = rootElement.attributeValue("default-language-id"); kbStructureContentElement = (Element) rootElement .selectSingleNode("kb-structure-content[@language-id='" + value + "']"); } for (Element kbStructureFieldElement : kbStructureContentElement.elements()) { String kbStructureFieldId = kbStructureFieldElement.attributeValue("kb-structure-field-id"); String kbStructureFieldName = StringEscapeUtils .unescapeXml(kbStructureFieldElement.attributeValue("name")); String kbStructureFieldLabel = StringEscapeUtils .unescapeXml(kbStructureFieldElement.attributeValue("label")); String kbStructureFieldType = StringEscapeUtils .unescapeXml(kbStructureFieldElement.attributeValue("type")); KBStructureField kbStructureField = new KBStructureFieldImpl(); kbStructureField.setKbStructureFieldId(kbStructureFieldId); kbStructureField.setName(kbStructureFieldName); kbStructureField.setLabel(kbStructureFieldLabel); kbStructureField.setType(kbStructureFieldType); List<KBStructureOption> kbStructureOptions = new ArrayList<KBStructureOption>(); for (Element kbStructureOptionElement : kbStructureFieldElement.elements()) { String kbStructureOptionId = kbStructureOptionElement.attributeValue("kb-structure-option-id"); String kbStructureOptionLabel = StringEscapeUtils .unescapeXml(kbStructureOptionElement.attributeValue("label")); String kbStructureOptionValue = StringEscapeUtils .unescapeXml(kbStructureOptionElement.attributeValue("value")); KBStructureOption kbStructureOption = new KBStructureOptionImpl(); kbStructureOption.setKbStructureOptionId(kbStructureOptionId); kbStructureOption.setLabel(kbStructureOptionLabel); kbStructureOption.setValue(kbStructureOptionValue); kbStructureOptions.add(kbStructureOption); } kbStructureField.setKbStructureOptions(kbStructureOptions); kbStructureFields.add(kbStructureField); } return kbStructureFields; }
From source file:com.liferay.knowledgebase.admin.util.KBStructureContentUtil.java
License:Open Source License
public static String unescapeContent(String content) throws Exception { if (!Validator.isXml(content)) { return StringPool.BLANK; }/*from w w w .j av a 2 s. c o m*/ Document document = SAXReaderUtil.read(content); Element rootElement = document.getRootElement(); for (Element kbStructureContentElement : rootElement.elements()) { for (Element kbStructureFieldElement : kbStructureContentElement.elements()) { String kbStructureFieldName = StringEscapeUtils .unescapeXml(kbStructureFieldElement.attributeValue("name")); String kbStructureFieldLabel = StringEscapeUtils .unescapeXml(kbStructureFieldElement.attributeValue("label")); String kbStructureFieldType = StringEscapeUtils .unescapeXml(kbStructureFieldElement.attributeValue("type")); kbStructureFieldElement.addAttribute("name", kbStructureFieldName); kbStructureFieldElement.addAttribute("label", kbStructureFieldLabel); kbStructureFieldElement.addAttribute("type", kbStructureFieldType); for (Element kbStructureOptionElement : kbStructureFieldElement.elements()) { String kbStructureOptionLabel = StringEscapeUtils .unescapeXml(kbStructureOptionElement.attributeValue("label")); String kbStructureOptionValue = StringEscapeUtils .unescapeXml(kbStructureOptionElement.attributeValue("value")); kbStructureOptionElement.addAttribute("label", kbStructureOptionLabel); kbStructureOptionElement.addAttribute("value", kbStructureOptionValue); } } } return document.formattedString(); }
From source file:com.liferay.knowledgebase.admin.util.KBStructureContentUtil.java
License:Open Source License
public static String updateKBStructureFields(String localizedLanguageId, List<KBStructureField> kbStructureFields, String content) throws PortalException, SystemException { Document document = null;/* w w w. j a v a 2s.c o m*/ try { document = SAXReaderUtil.read(content); } catch (DocumentException de) { throw new PortalException(de); } Element rootElement = document.getRootElement(); Element oldKBStructureContentElement = (Element) rootElement .selectSingleNode("kb-structure-content[@language-id='" + localizedLanguageId + "']"); if (oldKBStructureContentElement != null) { oldKBStructureContentElement.detach(); } Element newKBStructureContentElement = rootElement.addElement("kb-structure-content"); newKBStructureContentElement.addAttribute("language-id", localizedLanguageId); for (KBStructureField kbStructureField : kbStructureFields) { String kbStructureFieldId = kbStructureField.getKbStructureFieldId(); String kbStructureFieldName = StringEscapeUtils.escapeXml(kbStructureField.getName()); String kbStructureFieldLabel = StringEscapeUtils.escapeXml(kbStructureField.getLabel()); String kbStructureFieldType = StringEscapeUtils.escapeXml(kbStructureField.getType()); if (Validator.isNull(kbStructureFieldId)) { kbStructureFieldId = String.valueOf(CounterLocalServiceUtil.increment()); } Element kbStructureFieldElement = newKBStructureContentElement.addElement("kb-structure-field"); kbStructureFieldElement.addAttribute("kb-structure-field-id", kbStructureFieldId); kbStructureFieldElement.addAttribute("name", kbStructureFieldName); kbStructureFieldElement.addAttribute("label", kbStructureFieldLabel); kbStructureFieldElement.addAttribute("type", kbStructureFieldType); List<KBStructureOption> kbStructureOptions = kbStructureField.getKbStructureOptions(); for (KBStructureOption kbStructureOption : kbStructureOptions) { String kbStructureOptionId = kbStructureOption.getKbStructureOptionId(); String kbStructureOptionLabel = StringEscapeUtils.escapeXml(kbStructureOption.getLabel()); String kbStructureOptionValue = StringEscapeUtils.escapeXml(kbStructureOption.getValue()); if (Validator.isNull(kbStructureOptionId)) { kbStructureOptionId = String.valueOf(CounterLocalServiceUtil.increment()); } Element kbStructureOptionElement = kbStructureFieldElement.addElement("kb-structure-option"); kbStructureOptionElement.addAttribute("kb-structure-option-id", kbStructureOptionId); kbStructureOptionElement.addAttribute("label", kbStructureOptionLabel); kbStructureOptionElement.addAttribute("value", kbStructureOptionValue); } } Map<String, Element> elements = new TreeMap<String, Element>(); for (Element element : rootElement.elements()) { String languageId = element.attributeValue("language-id"); elements.put(languageId, (Element) element.detach()); } String defaultLanguageId = rootElement.attributeValue("default-language-id"); Element defaultKBStructureContentElement = elements.remove(defaultLanguageId); rootElement.add(defaultKBStructureContentElement); if (!localizedLanguageId.equals(defaultLanguageId)) { for (Map.Entry<String, Element> entry : elements.entrySet()) { rootElement.add(entry.getValue()); } } else { updateLocalizations(rootElement, defaultKBStructureContentElement, elements); } try { return document.formattedString(); } catch (IOException ioe) { return document.asXML(); } }
From source file:com.liferay.layout.admin.web.internal.exportimport.data.handler.LayoutStagedModelDataHandler.java
License:Open Source License
protected void importLayoutPortlets(PortletDataContext portletDataContext, Layout layout, Element layoutElement) throws Exception { boolean layoutSetPrototypeLinkEnabled = MapUtil.getBoolean(portletDataContext.getParameterMap(), PortletDataHandlerKeys.LAYOUT_SET_PROTOTYPE_LINK_ENABLED); if (layoutSetPrototypeLinkEnabled && Validator.isNotNull(portletDataContext.getLayoutSetPrototypeUuid()) && SitesUtil.isLayoutModifiedSinceLastMerge(layout)) { return;/*from w ww . j a va 2s. c o m*/ } Map<String, String[]> parameterMap = portletDataContext.getParameterMap(); boolean permissions = MapUtil.getBoolean(parameterMap, PortletDataHandlerKeys.PERMISSIONS); ServiceContext serviceContext = ServiceContextThreadLocal.getServiceContext(); LayoutCache layoutCache = new LayoutCache(); Element portletsElement = layoutElement.element("portlets"); if (portletsElement == null) { // See LPS-75448 return; } for (Element portletElement : portletsElement.elements()) { String portletPath = portletElement.attributeValue("path"); String portletId = portletElement.attributeValue("portlet-id"); long oldPlid = GetterUtil.getLong(portletElement.attributeValue("old-plid")); Portlet portlet = _portletLocalService.getPortletById(portletDataContext.getCompanyId(), portletId); if (!portlet.isActive() || portlet.isUndeployedPortlet()) { continue; } portletDataContext.setPlid(layout.getPlid()); portletDataContext.setOldPlid(oldPlid); portletDataContext.setPortletId(portletId); if (BackgroundTaskThreadLocal.hasBackgroundTask()) { _portletDataHandlerStatusMessageSender.sendStatusMessage("portlet", portletId, portletDataContext.getManifestSummary()); } Document portletDocument = SAXReaderUtil.read(portletDataContext.getZipEntryAsString(portletPath)); portletElement = portletDocument.getRootElement(); // The order of the import is important. You must always import the // portlet preferences first, then the portlet data, then the // portlet permissions. The import of the portlet data assumes that // portlet preferences already exist. _exportImportHelper.setPortletScope(portletDataContext, portletElement); long portletPreferencesGroupId = portletDataContext.getGroupId(); Element portletDataElement = portletElement.element("portlet-data"); Map<String, Boolean> importPortletControlsMap = _exportImportHelper.getImportPortletControlsMap( portletDataContext.getCompanyId(), portletId, parameterMap, portletDataElement, portletDataContext.getManifestSummary()); if (layout != null) { portletPreferencesGroupId = layout.getGroupId(); } try { _exportImportLifecycleManager.fireExportImportLifecycleEvent(EVENT_PORTLET_IMPORT_STARTED, getProcessFlag(), portletDataContext.getExportImportProcessId(), _portletDataContextFactory.clonePortletDataContext(portletDataContext)); // Portlet preferences _portletImportController.importPortletPreferences(portletDataContext, portletDataContext.getCompanyId(), portletPreferencesGroupId, layout, portletElement, false, importPortletControlsMap.get(PortletDataHandlerKeys.PORTLET_ARCHIVED_SETUPS), importPortletControlsMap.get(PortletDataHandlerKeys.PORTLET_DATA), importPortletControlsMap.get(PortletDataHandlerKeys.PORTLET_SETUP), importPortletControlsMap.get(PortletDataHandlerKeys.PORTLET_USER_PREFERENCES)); // Portlet data if (importPortletControlsMap.get(PortletDataHandlerKeys.PORTLET_DATA)) { _portletImportController.importPortletData(portletDataContext, portletDataElement); } _exportImportLifecycleManager.fireExportImportLifecycleEvent(EVENT_PORTLET_IMPORT_SUCCEEDED, getProcessFlag(), portletDataContext.getExportImportProcessId(), _portletDataContextFactory.clonePortletDataContext(portletDataContext)); } catch (Throwable t) { _exportImportLifecycleManager.fireExportImportLifecycleEvent(EVENT_PORTLET_IMPORT_FAILED, getProcessFlag(), portletDataContext.getExportImportProcessId(), _portletDataContextFactory.clonePortletDataContext(portletDataContext), t); throw t; } finally { _portletImportController.resetPortletScope(portletDataContext, portletPreferencesGroupId); } // Portlet permissions if (permissions) { _permissionImporter.importPortletPermissions(layoutCache, portletDataContext.getCompanyId(), portletDataContext.getGroupId(), serviceContext.getUserId(), layout, portletElement, portletId); } // Archived setups try { _portletImportController.importPortletPreferences(portletDataContext, portletDataContext.getCompanyId(), portletDataContext.getGroupId(), null, portletElement, false, importPortletControlsMap.get(PortletDataHandlerKeys.PORTLET_ARCHIVED_SETUPS), importPortletControlsMap.get(PortletDataHandlerKeys.PORTLET_DATA), importPortletControlsMap.get(PortletDataHandlerKeys.PORTLET_SETUP), importPortletControlsMap.get(PortletDataHandlerKeys.PORTLET_USER_PREFERENCES)); } catch (Throwable t) { throw t; } finally { _portletImportController.resetPortletScope(portletDataContext, portletPreferencesGroupId); } } }
From source file:com.liferay.lms.service.impl.LearningActivityLocalServiceImpl.java
License:Open Source License
public HashMap<String, String> convertXMLExtraContentToHashMap(long actId) throws SystemException, PortalException { HashMap<String, String> hashMap = new HashMap<String, String>(); String xml = ""; try {// w w w . j av a2 s. co m LearningActivity activity = learningActivityPersistence.fetchByPrimaryKey(actId); if (activity != null && !activity.getExtracontent().equals("")) { xml = activity.getExtracontent(); } else { return hashMap; } Document document; document = SAXReaderUtil.read(xml); Element rootElement = document.getRootElement(); for (Element key : rootElement.elements()) { if (key.getName().contains("document")) { hashMap.put(key.getName(), key.attributeValue("id")); } else { hashMap.put(key.getName(), key.getText()); } } } catch (DocumentException e) { } return hashMap; }