List of usage examples for com.liferay.portal.kernel.xml Element attributeValue
public String attributeValue(String name);
From source file:com.liferay.knowledgebase.admin.lar.AdminPortletDataHandlerImpl.java
License:Open Source License
protected void importKBArticles(PortletDataContext portletDataContext, Element rootElement) throws Exception { long importId = CounterLocalServiceUtil.increment(); Map<String, String> dirNames = new HashMap<String, String>(); try {/*www .java2 s. co m*/ DLStoreUtil.addDirectory(portletDataContext.getCompanyId(), CompanyConstants.SYSTEM, "knowledgebase/temp/import/" + importId); importKBArticleAttachments(portletDataContext, importId, dirNames, rootElement); List<Element> kbArticleElements = rootElement.elements("kb-article"); for (Element kbArticleElement : kbArticleElements) { String path = kbArticleElement.attributeValue("path"); if (!portletDataContext.isPathNotProcessed(path)) { continue; } KBArticle kbArticle = (KBArticle) portletDataContext.getZipEntryAsObject(path); importKBArticle(portletDataContext, dirNames, kbArticleElement, kbArticle); } } finally { DLStoreUtil.deleteDirectory(portletDataContext.getCompanyId(), CompanyConstants.SYSTEM, "knowledgebase/temp/import/" + importId); } }
From source file:com.liferay.knowledgebase.admin.lar.AdminPortletDataHandlerImpl.java
License:Open Source License
protected KBArticle importKBArticleVersions(PortletDataContext portletDataContext, String uuid, long parentResourcePrimKey, String dirName, Element kbArticleElement) throws Exception { Element versionsElement = kbArticleElement.element("versions"); List<Element> kbArticleElements = versionsElement.elements("kb-article"); KBArticle importedKBArticle = null;//from w w w . java 2 s . co m for (Element curKBArticleElement : kbArticleElements) { KBArticle curKBArticle = (KBArticle) portletDataContext .getZipEntryAsObject(curKBArticleElement.attributeValue("path")); long curUserId = portletDataContext.getUserId(curKBArticle.getUserUuid()); String[] curSections = AdminUtil.unescapeSections(curKBArticle.getSections()); String curDirName = StringPool.BLANK; if (curKBArticle.isMain()) { curDirName = dirName; } ServiceContext serviceContext = portletDataContext.createServiceContext(curKBArticleElement, curKBArticle, _NAMESPACE); if (importedKBArticle == null) { serviceContext.setUuid(uuid); importedKBArticle = KBArticleLocalServiceUtil.addKBArticle(curUserId, parentResourcePrimKey, curKBArticle.getTitle(), curKBArticle.getContent(), curKBArticle.getDescription(), curSections, curDirName, serviceContext); } else { importedKBArticle = KBArticleLocalServiceUtil.updateKBArticle(curUserId, importedKBArticle.getResourcePrimKey(), curKBArticle.getTitle(), curKBArticle.getContent(), curKBArticle.getDescription(), curSections, curDirName, serviceContext); } } return importedKBArticle; }
From source file:com.liferay.knowledgebase.admin.lar.AdminPortletDataHandlerImpl.java
License:Open Source License
protected void importKBComments(PortletDataContext portletDataContext, Element rootElement) throws Exception { List<Element> kbCommentElements = rootElement.elements("kb-comment"); for (Element kbCommentElement : kbCommentElements) { String path = kbCommentElement.attributeValue("path"); if (!portletDataContext.isPathNotProcessed(path)) { continue; }/*from www. j a va 2 s .co m*/ KBComment kbComment = (KBComment) portletDataContext.getZipEntryAsObject(path); importKBComment(portletDataContext, kbCommentElement, kbComment); } }
From source file:com.liferay.knowledgebase.admin.lar.AdminPortletDataHandlerImpl.java
License:Open Source License
protected void importKBTemplates(PortletDataContext portletDataContext, Element rootElement) throws Exception { for (Element kbTemplateElement : rootElement.elements("kb-template")) { String path = kbTemplateElement.attributeValue("path"); if (!portletDataContext.isPathNotProcessed(path)) { continue; }/*from ww w.jav a2 s . com*/ KBTemplate kbTemplate = (KBTemplate) portletDataContext.getZipEntryAsObject(path); importKBTemplate(portletDataContext, kbTemplateElement, kbTemplate); } }
From source file:com.liferay.knowledgebase.admin.lar.KBArticleStagedModelDataHandler.java
License:Open Source License
protected void importKBArticleAttachments(PortletDataContext portletDataContext, KBArticle kbArticle, KBArticle importedKBArticle) throws Exception { List<Element> dlFileEntryElements = portletDataContext.getReferenceDataElements(kbArticle, DLFileEntry.class); ServiceContext serviceContext = new ServiceContext(); serviceContext.setCompanyId(portletDataContext.getCompanyId()); serviceContext.setScopeGroupId(portletDataContext.getScopeGroupId()); InputStream inputStream = null; for (Element dlFileEntryElement : dlFileEntryElements) { try {//from www.j a v a2 s . c om byte[] bytes = portletDataContext.getZipEntryAsByteArray(dlFileEntryElement.attributeValue("path")); inputStream = new UnsyncByteArrayInputStream(bytes); String fileName = dlFileEntryElement.attributeValue("file-name"); String mimeType = KnowledgeBaseUtil.getMimeType(bytes, fileName); PortletFileRepositoryUtil.addPortletFileEntry(portletDataContext.getScopeGroupId(), portletDataContext.getUserId(importedKBArticle.getUserUuid()), KBArticle.class.getName(), importedKBArticle.getClassPK(), PortletKeys.KNOWLEDGE_BASE_ADMIN, importedKBArticle.getAttachmentsFolderId(), inputStream, fileName, mimeType, true); } catch (DuplicateFileException dfe) { continue; } finally { StreamUtil.cleanUp(inputStream); } } }
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;//www.j a v a 2s .c om 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.j a va2 s.c om 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 ww. j a v a 2s . 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 ww . j a va 2 s . c om 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.knowledgebase.admin.util.KBStructureContentUtil.java
License:Open Source License
protected static Element updateLocalizations(Element rootElement, Element defaultKBStructureContentElement, Map<String, Element> elements) { for (Map.Entry<String, Element> entry : elements.entrySet()) { Element oldKBStructureContentElement = entry.getValue(); Element newKBStructureContentElement = oldKBStructureContentElement.createCopy(); for (Element newKBStructureFieldElement : newKBStructureContentElement.elements()) { newKBStructureFieldElement.detach(); }/* w ww.j a v a2 s. com*/ for (Element defaultKBStructureFieldElement : defaultKBStructureContentElement.elements()) { String defaultKBStructureFieldId = defaultKBStructureFieldElement .attributeValue("kb-structure-field-id"); Element oldKBStructureFieldElement = (Element) oldKBStructureContentElement.selectSingleNode( "kb-structure-field[@kb-structure-field-id='" + defaultKBStructureFieldId + "']"); if (oldKBStructureFieldElement == null) { newKBStructureContentElement.add(defaultKBStructureFieldElement.createCopy()); continue; } Element newKBStructureFieldElement = oldKBStructureFieldElement.createCopy(); for (Element newKBStructureOptionElement : newKBStructureFieldElement.elements()) { newKBStructureOptionElement.detach(); } for (Element defaultKBStructureOptionElement : defaultKBStructureFieldElement.elements()) { String defaultKBStructureOptionId = defaultKBStructureOptionElement .attributeValue("kb-structure-option-id"); Element oldKBStructureOptionElement = (Element) oldKBStructureFieldElement.selectSingleNode( "kb-structure-option[@kb-structure-option-id='" + defaultKBStructureOptionId + "']"); if (oldKBStructureOptionElement == null) { newKBStructureFieldElement.add(defaultKBStructureOptionElement.createCopy()); } else { newKBStructureFieldElement.add(oldKBStructureOptionElement.createCopy()); } } newKBStructureContentElement.add(newKBStructureFieldElement); } rootElement.add(newKBStructureContentElement); } return rootElement; }