List of usage examples for com.liferay.portal.kernel.xml Element getText
@Override
public String getText();
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 ww w . j a v a2 s . com 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 void transformDateFieldValue(Element dynamicContentElement) { String value = dynamicContentElement.getText(); if (!Validator.isNumber(value)) { return;/* w w w . j a v a 2s . com*/ } Date date = new Date(GetterUtil.getLong(value)); dynamicContentElement.clearContent(); dynamicContentElement.addCDATA(_dateFormat.format(date)); }
From source file:com.liferay.journal.internal.upgrade.v1_1_0.UpgradeDocumentLibraryTypeContent.java
License:Open Source License
protected String convertContent(String content) throws Exception { Document contentDocument = SAXReaderUtil.read(content); contentDocument = contentDocument.clone(); XPath xPath = SAXReaderUtil.createXPath("//dynamic-element[@type='document_library']"); List<Node> imageNodes = xPath.selectNodes(contentDocument); for (Node imageNode : imageNodes) { Element imageEl = (Element) imageNode; List<Element> dynamicContentEls = imageEl.elements("dynamic-content"); for (Element dynamicContentEl : dynamicContentEls) { String data = getDocumentLibraryValue(dynamicContentEl.getText()); dynamicContentEl.clearContent(); dynamicContentEl.addCDATA(data); }/*from w w w . ja v a 2 s. com*/ } return contentDocument.formattedString(); }
From source file:com.liferay.journal.internal.util.impl.JournalConverterImpl.java
License:Open Source License
protected Serializable getFieldValue(String dataType, String type, Element dynamicContentElement) { Serializable serializable = null; if (DDMFormFieldType.LINK_TO_PAGE.equals(type)) { String[] values = StringUtil.split(dynamicContentElement.getText(), CharPool.AT); if (ArrayUtil.isEmpty(values)) { return StringPool.BLANK; }// w w w .ja v a2s .c o m JSONObject jsonObject = JSONFactoryUtil.createJSONObject(); if (values.length > 2) { jsonObject.put("groupId", GetterUtil.getLong(values[2])); } jsonObject.put("layoutId", GetterUtil.getLong(values[0])); if (values[1].equals("public")) { jsonObject.put("privateLayout", false); } else { jsonObject.put("privateLayout", true); } serializable = jsonObject.toString(); } else if (DDMFormFieldType.SELECT.equals(type)) { JSONArray jsonArray = JSONFactoryUtil.createJSONArray(); List<Element> optionElements = dynamicContentElement.elements("option"); if (!optionElements.isEmpty()) { for (Element optionElement : optionElements) { jsonArray.put(optionElement.getText()); } } else { jsonArray.put(dynamicContentElement.getText()); } serializable = jsonArray.toString(); } else { serializable = FieldConstants.getSerializable(dataType, dynamicContentElement.getText()); } return serializable; }
From source file:com.liferay.journal.internal.util.impl.JournalConverterImpl.java
License:Open Source License
protected void updateDDMXSDDynamicElement(Element dynamicElementElement, String defaultLanguageId) { // Metadata// w w w. j a v a 2 s . c om List<Element> metadataElements = dynamicElementElement.elements("meta-data"); for (Element metadataElement : metadataElements) { String languageId = metadataElement.attributeValue("locale"); if (languageId.equals(defaultLanguageId)) { getJournalMetadataElement(metadataElement); } else { dynamicElementElement.remove(metadataElement); } } Element parentElement = dynamicElementElement.getParent(); String parentType = parentElement.attributeValue("type"); if (Objects.equals(parentType, "list") || Objects.equals(parentType, "multi-list")) { Element metadataElement = dynamicElementElement.element("meta-data"); Element labelElement = fetchMetadataEntry(metadataElement, "name", "label"); dynamicElementElement.addAttribute("name", labelElement.getText()); String repeatable = parentElement.attributeValue("repeatable"); dynamicElementElement.addAttribute("repeatable", repeatable); String value = dynamicElementElement.attributeValue("value"); dynamicElementElement.addAttribute("type", value); removeAttribute(dynamicElementElement, "value"); dynamicElementElement.remove(metadataElement); return; } // Index type String indexType = GetterUtil.getString(dynamicElementElement.attributeValue("indexType")); removeAttribute(dynamicElementElement, "indexType"); dynamicElementElement.addAttribute("index-type", indexType); // Type String type = dynamicElementElement.attributeValue("type"); boolean multiple = GetterUtil.getBoolean(dynamicElementElement.attributeValue("multiple")); String newType = _ddmTypesToJournalTypes.get(type); if (newType.equals("list") && multiple) { newType = "multi-list"; } dynamicElementElement.addAttribute("type", newType); // Removable attributes String[] removableAttributeNames = new String[] { "dataType", "fieldNamespace", "multiple", "readOnly", "required", "showLabel", "width" }; for (String removableAttributeName : removableAttributeNames) { removeAttribute(dynamicElementElement, removableAttributeName); } List<Element> childrenDynamicElementElements = dynamicElementElement.elements("dynamic-element"); for (Element childrenDynamicElementElement : childrenDynamicElementElements) { updateDDMXSDDynamicElement(childrenDynamicElementElement, defaultLanguageId); } }
From source file:com.liferay.journal.internal.util.impl.JournalConverterImpl.java
License:Open Source License
protected void updateJournalXSDDynamicElement(Element element, String defaultLanguageId) { String name = element.attributeValue("name"); String type = element.attributeValue("type"); Element metadataElement = element.element("meta-data"); if (metadataElement == null) { metadataElement = element.addElement("meta-data"); }//from w ww . j ava2 s. c o m if (type.equals("multi-list")) { element.addAttribute("multiple", "true"); } else { Element parentElement = element.getParent(); String parentType = parentElement.attributeValue("type"); if ((parentType != null) && parentType.equals("select")) { metadataElement.addAttribute("locale", defaultLanguageId); addMetadataEntry(metadataElement, "label", decodeURL(name)); removeAttribute(element, "index-type"); element.addAttribute("name", "option" + parentElement.attributeValue("name") + StringUtil.randomString(8)); element.addAttribute("type", "option"); element.addAttribute("value", decodeURL(type)); return; } } String indexType = StringPool.BLANK; Attribute indexTypeAttribute = element.attribute("index-type"); if (indexTypeAttribute != null) { indexType = indexTypeAttribute.getValue(); element.remove(indexTypeAttribute); } element.remove(element.attribute("type")); if (!type.equals("selection_break")) { String dataType = _ddmDataTypes.get(type); if (dataType == null) { dataType = "string"; } element.addAttribute("dataType", dataType); } element.addAttribute("indexType", indexType); String required = "false"; Element requiredElement = fetchMetadataEntry(metadataElement, "name", "required"); if (requiredElement != null) { required = requiredElement.getText(); } element.addAttribute("required", required); element.addAttribute("showLabel", "true"); String newType = _journalTypesToDDMTypes.get(type); if (newType == null) { newType = type; } element.addAttribute("type", newType); if (newType.startsWith("ddm")) { element.addAttribute("fieldNamespace", "ddm"); } metadataElement.addAttribute("locale", defaultLanguageId); List<Element> entryElements = metadataElement.elements(); if (entryElements.isEmpty()) { addMetadataEntry(metadataElement, "label", name); } else { for (Element entryElement : entryElements) { String oldEntryName = entryElement.attributeValue("name"); String newEntryName = _ddmMetadataAttributes.get(oldEntryName); if (newEntryName == null) { metadataElement.remove(entryElement); } else { entryElement.addAttribute("name", newEntryName); } } } if (newType.equals("ddm-date") || newType.equals("ddm-decimal") || newType.equals("ddm-integer") || newType.equals("ddm-link-to-page") || newType.equals("ddm-number") || newType.equals("ddm-text-html") || newType.equals("text") || newType.equals("textarea")) { element.addAttribute("width", "25"); } else if (newType.equals("ddm-image")) { element.addAttribute("fieldNamespace", "ddm"); element.addAttribute("readOnly", "false"); } element.add(metadataElement.detach()); List<Element> dynamicElementElements = element.elements("dynamic-element"); for (Element dynamicElementElement : dynamicElementElements) { updateJournalXSDDynamicElement(dynamicElementElement, defaultLanguageId); } }
From source file:com.liferay.journal.service.impl.JournalArticleLocalServiceImpl.java
License:Open Source License
protected void addDocumentLibraryFileEntries(Element dynamicElementElement) throws PortalException { if (ExportImportThreadLocal.isImportInProcess()) { return;//w w w . j a va2 s . c om } for (Element dynamicContentElement : dynamicElementElement.elements("dynamic-content")) { String value = dynamicContentElement.getText(); if (Validator.isNull(value)) { continue; } JSONObject jsonObject = JSONFactoryUtil.createJSONObject(value); String uuid = jsonObject.getString("uuid"); long groupId = jsonObject.getLong("groupId"); boolean tempFile = jsonObject.getBoolean("tempFile"); if (!tempFile) { continue; } FileEntry fileEntry = dlAppLocalService.getFileEntryByUuidAndGroupId(uuid, groupId); String fileEntryName = DLUtil.getUniqueFileName(fileEntry.getGroupId(), fileEntry.getFolderId(), fileEntry.getFileName()); dlAppLocalService.addFileEntry(fileEntry.getUserId(), fileEntry.getGroupId(), 0, fileEntryName, fileEntry.getMimeType(), fileEntryName, StringPool.BLANK, StringPool.BLANK, fileEntry.getContentStream(), fileEntry.getSize(), new ServiceContext()); } }
From source file:com.liferay.journal.service.impl.JournalArticleLocalServiceImpl.java
License:Open Source License
protected void addImageFileEntries(JournalArticle article, Element dynamicElementElement) throws PortalException { if (ExportImportThreadLocal.isImportInProcess()) { return;// w ww .j a va 2 s . c om } for (Element dynamicContentElement : dynamicElementElement.elements("dynamic-content")) { String value = dynamicContentElement.getText(); if (Validator.isNull(value)) { continue; } JSONObject jsonObject = JSONFactoryUtil.createJSONObject(value); String uuid = jsonObject.getString("uuid"); long groupId = jsonObject.getLong("groupId"); FileEntry fileEntry = dlAppLocalService.getFileEntryByUuidAndGroupId(uuid, groupId); boolean tempFile = fileEntry.isRepositoryCapabilityProvided(TemporaryFileEntriesCapability.class); if (tempFile) { FileEntry tempFileEntry = fileEntry; Folder folder = article.addImagesFolder(); String fileEntryName = DLUtil.getUniqueFileName(fileEntry.getGroupId(), folder.getFolderId(), fileEntry.getFileName()); fileEntry = PortletFileRepositoryUtil.addPortletFileEntry(groupId, fileEntry.getUserId(), JournalArticle.class.getName(), article.getResourcePrimKey(), JournalConstants.SERVICE_NAME, folder.getFolderId(), fileEntry.getContentStream(), fileEntryName, fileEntry.getMimeType(), false); dlAppLocalService.deleteFileEntry(tempFileEntry.getFileEntryId()); } JSONObject cdata = JSONFactoryUtil.createJSONObject(dynamicContentElement.getText()); cdata.put("resourcePrimKey", article.getResourcePrimKey()); cdata.put("uuid", fileEntry.getUuid()); dynamicContentElement.clearContent(); dynamicContentElement.addCDATA(cdata.toString()); } }
From source file:com.liferay.journal.service.impl.JournalArticleLocalServiceImpl.java
License:Open Source License
protected Map<String, LocalizedValue> createFieldsValuesMap(Element parentElement, Locale defaultLocale) { Map<String, LocalizedValue> fieldsValuesMap = new HashMap<>(); List<Element> dynamicElementElements = parentElement.elements("dynamic-element"); LocalizedValue fieldLocalizedValue = new LocalizedValue(defaultLocale); for (Element dynamicElementElement : dynamicElementElements) { String fieldName = dynamicElementElement.attributeValue("name", StringPool.BLANK); List<Element> dynamicContentElements = dynamicElementElement.elements("dynamic-content"); for (Element dynamicContentElement : dynamicContentElements) { String languageId = dynamicContentElement.attributeValue("language-id"); String value = dynamicContentElement.getText(); fieldLocalizedValue.addString(LocaleUtil.fromLanguageId(languageId), value); }/*from w w w. j av a2 s.co m*/ fieldsValuesMap.put(fieldName, fieldLocalizedValue); fieldsValuesMap.putAll(createFieldsValuesMap(dynamicElementElement, defaultLocale)); } return fieldsValuesMap; }
From source file:com.liferay.journal.service.impl.JournalArticleLocalServiceImpl.java
License:Open Source License
protected void format(User user, long groupId, JournalArticle article, Element root) throws PortalException { for (Element element : root.elements()) { String elType = element.attributeValue("type", StringPool.BLANK); if (elType.equals("document_library")) { addDocumentLibraryFileEntries(element); } else if (elType.equals("image")) { addImageFileEntries(article, element); } else if (elType.equals("text_area") || elType.equals("text") || elType.equals("text_box")) { List<Element> dynamicContentElements = element.elements("dynamic-content"); for (Element dynamicContentElement : dynamicContentElements) { String dynamicContent = dynamicContentElement.getText(); if (Validator.isNotNull(dynamicContent)) { String contentType = ContentTypes.TEXT_PLAIN; if (elType.equals("text_area")) { contentType = ContentTypes.TEXT_HTML; }/* w w w .j ava 2 s.co m*/ dynamicContent = SanitizerUtil.sanitize(user.getCompanyId(), groupId, user.getUserId(), JournalArticle.class.getName(), 0, contentType, dynamicContent); dynamicContentElement.clearContent(); dynamicContentElement.addCDATA(dynamicContent); } } } format(user, groupId, article, element); } }