List of usage examples for com.liferay.portal.kernel.xml Element getText
@Override
public String getText();
From source file:com.liferay.portlet.amazonrankings.util.AmazonRankingsWebCacheItem.java
License:Open Source License
protected String[] getAuthors(Element itemAttributesElement) { List<String> authors = new ArrayList<String>(); for (Element authorElement : itemAttributesElement.elements("Author")) { authors.add(authorElement.getText()); }/*from ww w .j a v a 2s. c o m*/ return authors.toArray(new String[authors.size()]); }
From source file:com.liferay.portlet.amazonrankings.util.AmazonRankingsWebCacheItem.java
License:Open Source License
protected boolean hasErrorMessage(Element element) { if (element == null) { return false; }//from w ww. jav a 2s. c om Element errorElement = element.element("Error"); if (errorElement == null) { return false; } Element messageElement = errorElement.element("Message"); if (messageElement == null) { return false; } _log.error(messageElement.getText()); return true; }
From source file:com.liferay.portlet.dynamicdatamapping.model.impl.DDMStructureImpl.java
License:Open Source License
private Map<String, String> _getField(Element element, String locale) { Map<String, String> field = new HashMap<String, String>(); List<String> availableLocales = getAvailableLocales(); if ((locale != null) && !(availableLocales.contains(locale))) { locale = getDefaultLocale();/*from ww w . j av a 2s.c o m*/ } String xPathExpression = "meta-data[@locale=\"".concat(locale).concat("\"]"); XPath xPathSelector = SAXReaderUtil.createXPath(xPathExpression); Node node = xPathSelector.selectSingleNode(element); Element metaDataElement = (Element) node.asXPathResult(node.getParent()); if (metaDataElement != null) { List<Element> childMetaDataElements = metaDataElement.elements(); for (Element childMetaDataElement : childMetaDataElements) { String name = childMetaDataElement.attributeValue("name"); String value = childMetaDataElement.getText(); field.put(name, value); } } for (Attribute attribute : element.attributes()) { field.put(attribute.getName(), attribute.getValue()); } return field; }
From source file:com.liferay.portlet.journal.service.impl.JournalArticleLocalServiceImpl.java
License:Open Source License
protected void format(User user, long groupId, String articleId, double version, boolean incrementVersion, Element root, Map<String, byte[]> images) throws PortalException, SystemException { for (Element element : root.elements()) { String elInstanceId = element.attributeValue("instance-id", StringPool.BLANK); String elName = element.attributeValue("name", StringPool.BLANK); String elType = element.attributeValue("type", StringPool.BLANK); if (elType.equals("image")) { formatImage(groupId, articleId, version, incrementVersion, element, elInstanceId, elName, images); } 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)) { dynamicContent = SanitizerUtil.sanitize(user.getCompanyId(), groupId, user.getUserId(), JournalArticle.class.getName(), 0, ContentTypes.TEXT_HTML, dynamicContent); dynamicContentElement.setText(dynamicContent); }/* w w w . jav a 2 s . com*/ } } format(user, groupId, articleId, version, incrementVersion, element, images); } }
From source file:com.liferay.portlet.journal.service.impl.JournalArticleLocalServiceImpl.java
License:Open Source License
protected String format(User user, long groupId, String articleId, double version, boolean incrementVersion, String content, String structureId, Map<String, byte[]> images) throws PortalException, SystemException { Document document = null;//from w w w.j a v a2 s . c o m try { document = SAXReaderUtil.read(content); Element rootElement = document.getRootElement(); if (Validator.isNotNull(structureId)) { format(user, groupId, articleId, version, incrementVersion, rootElement, images); } else { List<Element> staticContentElements = rootElement.elements("static-content"); for (Element staticContentElement : staticContentElements) { String staticContent = staticContentElement.getText(); staticContent = SanitizerUtil.sanitize(user.getCompanyId(), groupId, user.getUserId(), JournalArticle.class.getName(), 0, ContentTypes.TEXT_HTML, staticContent); staticContentElement.setText(staticContent); } } content = DDMXMLUtil.formatXML(document); } catch (DocumentException de) { _log.error(de); } catch (IOException ioe) { _log.error(ioe); } content = HtmlUtil.replaceMsWordCharacters(content); return content; }
From source file:com.liferay.portlet.journal.service.impl.JournalArticleLocalServiceImpl.java
License:Open Source License
protected void formatImage(long groupId, String articleId, double version, boolean incrementVersion, Element el, String elInstanceId, String elName, Map<String, byte[]> images) throws PortalException, SystemException { List<Element> imageContents = el.elements("dynamic-content"); for (Element dynamicContent : imageContents) { String elLanguage = dynamicContent.attributeValue("language-id", StringPool.BLANK); if (!elLanguage.equals(StringPool.BLANK)) { elLanguage = "_" + elLanguage; }/*from w w w .j a v a 2 s. c o m*/ long imageId = journalArticleImageLocalService.getArticleImageId(groupId, articleId, version, elInstanceId, elName, elLanguage); double oldVersion = MathUtil.format(version - 0.1, 1, 1); long oldImageId = 0; if ((oldVersion >= 1) && incrementVersion) { oldImageId = journalArticleImageLocalService.getArticleImageId(groupId, articleId, oldVersion, elInstanceId, elName, elLanguage); } String elContent = "/image/journal/article?img_id=" + imageId + "&t=" + WebServerServletTokenUtil.getToken(imageId); if (dynamicContent.getText().equals("delete")) { dynamicContent.setText(StringPool.BLANK); imageLocalService.deleteImage(imageId); String defaultElLanguage = ""; if (!Validator.isNotNull(elLanguage)) { defaultElLanguage = "_" + LocaleUtil.toLanguageId(LocaleUtil.getDefault()); } long defaultImageId = journalArticleImageLocalService.getArticleImageId(groupId, articleId, version, elInstanceId, elName, defaultElLanguage); imageLocalService.deleteImage(defaultImageId); continue; } byte[] bytes = images.get(elInstanceId + "_" + elName + elLanguage); if ((bytes != null) && (bytes.length > 0)) { dynamicContent.setText(elContent); dynamicContent.addAttribute("id", String.valueOf(imageId)); imageLocalService.updateImage(imageId, bytes); continue; } if ((version > JournalArticleConstants.VERSION_DEFAULT) && (incrementVersion)) { Image oldImage = null; if (oldImageId > 0) { oldImage = imageLocalService.getImage(oldImageId); } if (oldImage != null) { dynamicContent.setText(elContent); dynamicContent.addAttribute("id", String.valueOf(imageId)); bytes = oldImage.getTextObj(); imageLocalService.updateImage(imageId, bytes); } continue; } Image image = imageLocalService.getImage(imageId); if (image != null) { dynamicContent.setText(elContent); dynamicContent.addAttribute("id", String.valueOf(imageId)); continue; } long contentImageId = GetterUtil.getLong(HttpUtil.getParameter(dynamicContent.getText(), "img_id")); if (contentImageId <= 0) { contentImageId = GetterUtil .getLong(HttpUtil.getParameter(dynamicContent.getText(), "img_id", false)); } if (contentImageId > 0) { image = imageLocalService.getImage(contentImageId); if (image != null) { dynamicContent.addAttribute("id", String.valueOf(contentImageId)); continue; } } String defaultElLanguage = ""; if (!Validator.isNotNull(elLanguage)) { defaultElLanguage = "_" + LocaleUtil.toLanguageId(LocaleUtil.getDefault()); } long defaultImageId = journalArticleImageLocalService.getArticleImageId(groupId, articleId, version, elInstanceId, elName, defaultElLanguage); Image defaultImage = imageLocalService.getImage(defaultImageId); if (defaultImage != null) { dynamicContent.setText(elContent); dynamicContent.addAttribute("id", String.valueOf(defaultImageId)); bytes = defaultImage.getTextObj(); imageLocalService.updateImage(defaultImageId, bytes); continue; } if (Validator.isNotNull(elLanguage)) { dynamicContent.setText(StringPool.BLANK); } } }
From source file:com.liferay.portlet.journal.util.ContentTransformerListener.java
License:Open Source License
protected void replace(Element root) throws Exception { Map<String, String> tokens = getTokens(); long groupId = GetterUtil.getLong(tokens.get("group_id")); for (Element el : root.elements()) { Element dynamicContent = el.element("dynamic-content"); if (dynamicContent != null) { String text = dynamicContent.getText(); text = HtmlUtil.stripComments(text); text = HtmlUtil.stripHtml(text); text = text.trim();/* ww w . j av a 2 s . c o m*/ // [@articleId;elementName@] if (Validator.isNotNull(text) && text.length() >= 7 && text.startsWith("[@") && text.endsWith("@]")) { text = text.substring(2, text.length() - 2); int pos = text.indexOf(";"); if (pos != -1) { String articleId = text.substring(0, pos); String elementName = text.substring(pos + 1, text.length()); JournalArticle article = JournalArticleLocalServiceUtil.getArticle(groupId, articleId); dynamicContent.clearContent(); dynamicContent.addCDATA(getDynamicContent(article.getContent(), elementName)); } } // Make sure to point images to the full path else if ((text != null) && (text.startsWith("/image/journal/article?img_id"))) { dynamicContent.setText("@cdn_host@@root_path@" + text); } } replace(el); } }
From source file:com.liferay.portlet.journal.util.JournalConverterImpl.java
License:Open Source License
protected Serializable getFieldValue(String dataType, String type, Element dynamicContentElement) throws Exception { Serializable serializable = null; if (DDMImpl.TYPE_DDM_DOCUMENTLIBRARY.equals(type)) { serializable = getDocumentLibraryValue(dynamicContentElement.getText()); } else if (DDMImpl.TYPE_DDM_LINK_TO_PAGE.equals(type)) { String[] values = StringUtil.split(dynamicContentElement.getText(), CharPool.AT); JSONObject jsonObject = JSONFactoryUtil.createJSONObject(); if (values.length > 2) { jsonObject.put("groupId", values[2]); }//w ww . j av a 2s .co m jsonObject.put("layoutId", values[0]); if (values[1].equals("public")) { jsonObject.put("privateLayout", false); } else { jsonObject.put("privateLayout", true); } serializable = jsonObject.toString(); } else if (DDMImpl.TYPE_SELECT.equals(type)) { JSONArray jsonArray = JSONFactoryUtil.createJSONArray(); List<Element> optionElements = dynamicContentElement.elements("option"); if (optionElements.size() > 0) { 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.portlet.journal.util.JournalConverterImpl.java
License:Open Source License
protected void updateJournalXSDDynamicElement(Element element) { Locale defaultLocale = LocaleUtil.getSiteDefault(); String name = element.attributeValue("name"); String type = element.attributeValue("type"); Element metadataElement = element.element("meta-data"); if (metadataElement == null) { metadataElement = element.addElement("meta-data"); }/* w w w . ja va2 s . c o m*/ if (type.equals("multi-list")) { element.addAttribute("multiple", "true"); } else if (type.equals("selection_break")) { Element parentElement = element.getParent(); parentElement.remove(element); return; } else { Element parentElement = element.getParent(); String parentType = parentElement.attributeValue("type"); if ((parentType != null) && parentType.equals("select")) { metadataElement.addAttribute("locale", defaultLocale.toString()); addMetadataEntry(metadataElement, "label", name); element.addAttribute("name", "option" + StringUtil.randomId()); element.addAttribute("type", "option"); element.addAttribute("value", name); 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")); 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", defaultLocale.toString()); 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("wcm-image")) { element.addAttribute("fieldNamespace", "wcm"); element.addAttribute("readOnly", "false"); } List<Element> dynamicElementElements = element.elements("dynamic-element"); for (Element dynamicElementElement : dynamicElementElements) { updateJournalXSDDynamicElement(dynamicElementElement); } }
From source file:com.liferay.portlet.journal.util.JournalIndexer.java
License:Open Source License
protected void indexField(Document document, Element element, String elType, String elIndexType) { if (Validator.isNull(elIndexType)) { return;// w ww. j a va 2s .c o m } com.liferay.portal.kernel.xml.Document structureDocument = element.getDocument(); Element rootElement = structureDocument.getRootElement(); String defaultLocale = GetterUtil.getString(rootElement.attributeValue("default-locale")); String name = encodeFieldName(element.attributeValue("name")); List<Element> dynamicContentElements = element.elements("dynamic-content"); for (Element dynamicContentElement : dynamicContentElements) { String contentLocale = GetterUtil.getString(dynamicContentElement.attributeValue("language-id")); String[] value = new String[] { dynamicContentElement.getText() }; if (elType.equals("multi-list")) { List<Element> optionElements = dynamicContentElement.elements("option"); value = new String[optionElements.size()]; for (int i = 0; i < optionElements.size(); i++) { value[i] = optionElements.get(i).getText(); } } if (elIndexType.equals("keyword")) { if (Validator.isNull(contentLocale)) { document.addKeyword(name, value); } else { if (defaultLocale.equals(contentLocale)) { document.addKeyword(name, value); } document.addKeyword(name.concat(StringPool.UNDERLINE).concat(contentLocale), value); } } else if (elIndexType.equals("text")) { if (Validator.isNull(contentLocale)) { document.addText(name, StringUtil.merge(value, StringPool.SPACE)); } else { if (defaultLocale.equals(contentLocale)) { document.addText(name, StringUtil.merge(value, StringPool.SPACE)); } document.addText(name.concat(StringPool.UNDERLINE).concat(contentLocale), StringUtil.merge(value, StringPool.SPACE)); } } } }