List of usage examples for com.liferay.portal.kernel.xml Element addAttribute
public Element addAttribute(String name, String value);
From source file:com.liferay.knowledgebase.admin.lar.AdminPortletDataHandlerImpl.java
License:Open Source License
@Override protected String doExportData(PortletDataContext portletDataContext, String portletId, PortletPreferences portletPreferences) throws Exception { portletDataContext.addPermissions("com.liferay.knowledgebase.admin", portletDataContext.getScopeGroupId()); Document document = SAXReaderUtil.createDocument(); Element rootElement = document.addElement("knowledge-base-admin-data"); rootElement.addAttribute("group-id", String.valueOf(portletDataContext.getScopeGroupId())); exportKBArticles(portletDataContext, rootElement); exportKBTemplates(portletDataContext, rootElement); exportKBComments(portletDataContext, rootElement); return document.formattedString(); }
From source file:com.liferay.knowledgebase.admin.lar.AdminPortletDataHandlerImpl.java
License:Open Source License
protected void exportKBArticleAttachments(PortletDataContext portletDataContext, Element rootElement, KBArticle kbArticle) throws Exception { Element kbArticleAttachmentsElement = rootElement.addElement("kb-article-attachments"); kbArticleAttachmentsElement.addAttribute("resource-prim-key", String.valueOf(kbArticle.getResourcePrimKey())); String rootPath = getPortletPath(portletDataContext) + "/kbarticles/attachments/" + kbArticle.getResourcePrimKey(); for (String fileName : kbArticle.getAttachmentsFileNames()) { String shortFileName = FileUtil.getShortFileName(fileName); String path = rootPath + StringPool.SLASH + shortFileName; byte[] bytes = DLStoreUtil.getFileAsBytes(kbArticle.getCompanyId(), CompanyConstants.SYSTEM, fileName); Element fileElement = kbArticleAttachmentsElement.addElement("file"); fileElement.addAttribute("path", path); fileElement.addAttribute("short-file-name", shortFileName); portletDataContext.addZipEntry(path, bytes); }// w ww . j a va 2s . co m }
From source file:com.liferay.knowledgebase.admin.lar.AdminPortletDataHandlerImpl.java
License:Open Source License
protected void exportKBArticleVersions(PortletDataContext portletDataContext, Element kbArticleElement, long resourcePrimKey) throws Exception { Element versionsElement = kbArticleElement.addElement("versions"); String rootPath = getPortletPath(portletDataContext) + "/kbarticles/versions/" + resourcePrimKey; List<KBArticle> kbArticles = KBArticleUtil.findByR_S(resourcePrimKey, WorkflowConstants.STATUS_APPROVED, QueryUtil.ALL_POS, QueryUtil.ALL_POS, new KBArticleModifiedDateComparator(true)); for (KBArticle kbArticle : kbArticles) { String path = rootPath + StringPool.SLASH + kbArticle.getKbArticleId() + ".xml"; Element curKBArticleElement = versionsElement.addElement("kb-article"); curKBArticleElement.addAttribute("path", path); portletDataContext.addZipEntry(path, kbArticle); }// w w w . j a v a 2s. c o m }
From source file:com.liferay.knowledgebase.admin.lar.KBArticleStagedModelDataHandler.java
License:Open Source License
protected void exportKBArticleAttachments(PortletDataContext portletDataContext, Element kbArticleElement, KBArticle kbArticle) throws Exception { List<FileEntry> attachmentsFileEntries = kbArticle.getAttachmentsFileEntries(); for (FileEntry fileEntry : attachmentsFileEntries) { String path = ExportImportPathUtil.getModelPath(kbArticle, fileEntry.getTitle()); Element fileEntryElement = portletDataContext.getExportDataElement(fileEntry); fileEntryElement.addAttribute("path", path); fileEntryElement.addAttribute("file-name", fileEntry.getTitle()); portletDataContext.addZipEntry(path, fileEntry.getContentStream()); portletDataContext.addReferenceElement(kbArticle, kbArticleElement, fileEntry, PortletDataContext.REFERENCE_TYPE_WEAK, false); }/* w w w . j ava 2 s. com*/ }
From source file:com.liferay.knowledgebase.admin.util.KBStructureContentUtil.java
License:Open Source License
public static String addKBStructureFields(String localizedLanguageId, List<KBStructureField> kbStructureFields) throws SystemException { Document document = SAXReaderUtil.createDocument(); Element rootElement = document.addElement("kb-structure"); rootElement.addAttribute("default-language-id", localizedLanguageId); Element kbStructureContentElement = rootElement.addElement("kb-structure-content"); kbStructureContentElement.addAttribute("language-id", localizedLanguageId); for (KBStructureField kbStructureField : kbStructureFields) { String kbStructureFieldId = String.valueOf(CounterLocalServiceUtil.increment()); String kbStructureFieldName = StringEscapeUtils.escapeXml(kbStructureField.getName()); String kbStructureFieldLabel = StringEscapeUtils.escapeXml(kbStructureField.getLabel()); String kbStructureFieldType = StringEscapeUtils.escapeXml(kbStructureField.getType()); Element kbStructureFieldElement = kbStructureContentElement.addElement("kb-structure-field"); kbStructureFieldElement.addAttribute("kb-structure-field-id", kbStructureFieldId); kbStructureFieldElement.addAttribute("name", kbStructureFieldName); kbStructureFieldElement.addAttribute("label", kbStructureFieldLabel); kbStructureFieldElement.addAttribute("type", kbStructureFieldType); for (KBStructureOption kbStructureOption : kbStructureField.getKbStructureOptions()) { String kbStructureOptionId = String.valueOf(CounterLocalServiceUtil.increment()); String kbStructureOptionLabel = StringEscapeUtils.escapeXml(kbStructureOption.getLabel()); String kbStructureOptionValue = StringEscapeUtils.escapeXml(kbStructureOption.getValue()); Element kbStructureOptionElement = kbStructureFieldElement.addElement("kb-structure-option"); kbStructureOptionElement.addAttribute("kb-structure-option-id", kbStructureOptionId); kbStructureOptionElement.addAttribute("label", kbStructureOptionLabel); kbStructureOptionElement.addAttribute("value", kbStructureOptionValue); }/* www.j av a2s.c o m*/ } try { return document.formattedString(); } catch (IOException ioe) { return document.asXML(); } }
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; }/*w w w . j a v 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;/*from w w w.j a va 2 s.co 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
@Override protected void doExportStagedModel(PortletDataContext portletDataContext, Layout layout) throws Exception { Element layoutElement = portletDataContext.getExportDataElement(layout); populateElementLayoutMetadata(layoutElement, layout); layoutElement.addAttribute(Constants.ACTION, Constants.ADD); portletDataContext.setPlid(layout.getPlid()); long parentLayoutId = layout.getParentLayoutId(); if (parentLayoutId != LayoutConstants.DEFAULT_PARENT_LAYOUT_ID) { Layout parentLayout = _layoutLocalService.fetchLayout(layout.getGroupId(), layout.isPrivateLayout(), parentLayoutId);//from w w w. j a va 2 s . c o m if (parentLayout != null) { StagedModelDataHandlerUtil.exportReferenceStagedModel(portletDataContext, layout, parentLayout, PortletDataContext.REFERENCE_TYPE_PARENT); layoutElement.addAttribute("parent-layout-uuid", parentLayout.getUuid()); } } List<LayoutFriendlyURL> layoutFriendlyURLs = _layoutFriendlyURLLocalService .getLayoutFriendlyURLs(layout.getPlid()); for (LayoutFriendlyURL layoutFriendlyURL : layoutFriendlyURLs) { StagedModelDataHandlerUtil.exportReferenceStagedModel(portletDataContext, layout, layoutFriendlyURL, PortletDataContext.REFERENCE_TYPE_DEPENDENCY); } if (layout.isIconImage()) { exportLayoutIconImage(portletDataContext, layout, layoutElement); } if (Objects.equals(layout.getType(), LayoutConstants.TYPE_LINK_TO_LAYOUT)) { exportLinkedLayout(portletDataContext, layout, layoutElement); } else if (Objects.equals(layout.getType(), LayoutConstants.TYPE_PORTLET)) { exportLayoutPortlets(portletDataContext, layout, layoutElement); } fixExportTypeSettings(layout); exportTheme(portletDataContext, layout); portletDataContext.addClassedModel(layoutElement, ExportImportPathUtil.getModelPath(layout), LayoutStagingUtil.mergeLayoutRevisionIntoLayout(layout)); }
From source file:com.liferay.layout.admin.web.internal.exportimport.data.handler.LayoutStagedModelDataHandler.java
License:Open Source License
protected void exportLinkedLayout(PortletDataContext portletDataContext, Layout layout, Element layoutElement) throws Exception { UnicodeProperties typeSettingsProperties = layout.getTypeSettingsProperties(); long linkToLayoutId = GetterUtil .getLong(typeSettingsProperties.getProperty("linkToLayoutId", StringPool.BLANK)); if (linkToLayoutId > 0) { try {/*w w w .j a v a 2 s .co m*/ Layout linkedToLayout = _layoutLocalService.getLayout(portletDataContext.getScopeGroupId(), layout.isPrivateLayout(), linkToLayoutId); StagedModelDataHandlerUtil.exportReferenceStagedModel(portletDataContext, layout, linkedToLayout, PortletDataContext.REFERENCE_TYPE_STRONG); layoutElement.addAttribute("linked-to-layout-uuid", linkedToLayout.getUuid()); } catch (NoSuchLayoutException nsle) { // LPS-52675 if (_log.isDebugEnabled()) { _log.debug(nsle, nsle); } } } }
From source file:com.liferay.layout.admin.web.internal.exportimport.data.handler.LayoutStagedModelDataHandler.java
License:Open Source License
protected void populateElementLayoutMetadata(Element layoutElement, Layout layout) throws Exception { LayoutStagingHandler layoutStagingHandler = LayoutStagingUtil.getLayoutStagingHandler(layout); if (layoutStagingHandler != null) { LayoutRevision layoutRevision = layoutStagingHandler.getLayoutRevision(); if (layoutRevision != null) { layoutElement.addAttribute("layout-revision-id", String.valueOf(layoutRevision.getLayoutRevisionId())); layoutElement.addAttribute("layout-branch-id", String.valueOf(layoutRevision.getLayoutBranchId())); LayoutBranch layoutBranch = layoutRevision.getLayoutBranch(); layoutElement.addAttribute("layout-branch-name", String.valueOf(layoutBranch.getName())); }//from w w w. j av a2s . c om } layoutElement.addAttribute("layout-uuid", layout.getUuid()); layoutElement.addAttribute("layout-id", String.valueOf(layout.getLayoutId())); layoutElement.addAttribute("layout-priority", String.valueOf(layout.getPriority())); String layoutPrototypeUuid = layout.getLayoutPrototypeUuid(); if (Validator.isNotNull(layoutPrototypeUuid)) { LayoutPrototype layoutPrototype = _layoutPrototypeLocalService .getLayoutPrototypeByUuidAndCompanyId(layoutPrototypeUuid, layout.getCompanyId()); layoutElement.addAttribute("layout-prototype-uuid", layoutPrototypeUuid); layoutElement.addAttribute("layout-prototype-name", layoutPrototype.getName(LocaleUtil.getDefault())); } }