List of usage examples for com.liferay.portal.kernel.xml Element getText
@Override
public String getText();
From source file:com.liferay.journal.test.util.JournalTestUtil.java
License:Open Source License
private static Map<String, String> _getMap(Element dynamicElementElement) { Map<String, String> map = new HashMap<>(); Element parentElement = dynamicElementElement.getParent(); String parentType = parentElement.attributeValue("type"); // Attributes for (Attribute attribute : dynamicElementElement.attributes()) { // Option element should not contain index type atribute if ((Objects.equals(parentType, "list") || Objects.equals(parentType, "multi-list")) && Objects.equals(attribute.getName(), "index-type")) { continue; }//from w w w.j a va 2s.co m map.put(attribute.getName(), attribute.getValue()); } // Metadata Element metadadataElement = dynamicElementElement.element("meta-data"); if (metadadataElement == null) { return map; } List<Element> entryElements = metadadataElement.elements("entry"); for (Element entryElement : entryElements) { map.put(entryElement.attributeValue("name"), entryElement.getText()); } return map; }
From source file:com.liferay.journal.transformer.ContentTransformerListener.java
License:Open Source License
protected void replace(Element root, long articleGroupId) throws Exception { for (Element element : root.elements()) { List<Element> dynamicContentElements = element.elements("dynamic-content"); for (Element dynamicContentElement : dynamicContentElements) { String text = dynamicContentElement.getText(); text = HtmlUtil.stripComments(text); text = HtmlUtil.stripHtml(text); text = text.trim();// w w w. j a va 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); JournalArticle article = JournalArticleLocalServiceUtil.getArticle(articleGroupId, articleId); dynamicContentElement.clearContent(); dynamicContentElement.addCDATA(getDynamicContent(article.getDocument(), elementName)); } } else if ((text != null) && text.startsWith("/image/journal/article?img_id")) { // Make sure to point images to the full path dynamicContentElement.setText("@cdn_host@@root_path@" + text); } } replace(element, articleGroupId); } }
From source file:com.liferay.journal.transformer.JournalTransformer.java
License:Open Source License
protected List<TemplateNode> getTemplateNodes(ThemeDisplay themeDisplay, Element element, long ddmStructureId) throws Exception { DDMStructure ddmStructure = DDMStructureLocalServiceUtil.getStructure(ddmStructureId); DDMForm ddmForm = ddmStructure.getDDMForm(); Map<String, DDMFormField> ddmFormFieldsMap = ddmForm.getDDMFormFieldsMap(true); List<TemplateNode> templateNodes = new ArrayList<>(); Map<String, TemplateNode> prototypeTemplateNodes = new HashMap<>(); List<Element> dynamicElementElements = element.elements("dynamic-element"); for (Element dynamicElementElement : dynamicElementElements) { Element dynamicContentElement = dynamicElementElement.element("dynamic-content"); String data = StringPool.BLANK; if (dynamicContentElement != null) { data = dynamicContentElement.getText(); }/*from w ww.j a va 2 s. com*/ String name = dynamicElementElement.attributeValue("name", StringPool.BLANK); if (name.length() == 0) { throw new TransformException("Element missing \"name\" attribute"); } String type = dynamicElementElement.attributeValue("type", StringPool.BLANK); Map<String, String> attributes = new HashMap<>(); if (type.equals("image")) { JSONObject dataJSONObject = JSONFactoryUtil.createJSONObject(data); Iterator<String> itr = dataJSONObject.keys(); while (itr.hasNext()) { String key = itr.next(); String value = dataJSONObject.getString(key); attributes.put(key, value); } } if (dynamicContentElement != null) { for (Attribute attribute : dynamicContentElement.attributes()) { attributes.put(attribute.getName(), attribute.getValue()); } } TemplateNode templateNode = new TemplateNode(themeDisplay, name, StringUtil.stripCDATA(data), type, attributes); if (dynamicElementElement.element("dynamic-element") != null) { templateNode.appendChildren(getTemplateNodes(themeDisplay, dynamicElementElement, ddmStructureId)); } else if ((dynamicContentElement != null) && (dynamicContentElement.element("option") != null)) { List<Element> optionElements = dynamicContentElement.elements("option"); for (Element optionElement : optionElements) { templateNode.appendOption(StringUtil.stripCDATA(optionElement.getText())); } } DDMFormField ddmFormField = ddmFormFieldsMap.get(name); if (ddmFormField != null) { DDMFormFieldOptions ddmFormFieldOptions = ddmFormField.getDDMFormFieldOptions(); Map<String, LocalizedValue> options = ddmFormFieldOptions.getOptions(); for (Entry<String, LocalizedValue> entry : options.entrySet()) { String optionValue = StringUtil.stripCDATA(entry.getKey()); LocalizedValue localizedLabel = entry.getValue(); String optionLabel = localizedLabel.getString(themeDisplay.getLocale()); templateNode.appendOptionMap(optionValue, optionLabel); } } TemplateNode prototypeTemplateNode = prototypeTemplateNodes.get(name); if (prototypeTemplateNode == null) { prototypeTemplateNode = templateNode; prototypeTemplateNodes.put(name, prototypeTemplateNode); templateNodes.add(templateNode); } prototypeTemplateNode.appendSibling(templateNode); } return templateNodes; }
From source file:com.liferay.journal.transformer.JournalTransformer.java
License:Open Source License
protected Map<String, Object> insertRequestVariables(Element element) { Map<String, Object> map = new HashMap<>(); if (element == null) { return map; }/*w ww .j a v a 2 s .c o m*/ for (Element childElement : element.elements()) { String name = childElement.getName(); if (name.equals("attribute")) { Element nameElement = childElement.element("name"); Element valueElement = childElement.element("value"); map.put(nameElement.getText(), valueElement.getText()); } else if (name.equals("parameter")) { Element nameElement = childElement.element("name"); List<Element> valueElements = childElement.elements("value"); if (valueElements.size() == 1) { Element valueElement = valueElements.get(0); map.put(nameElement.getText(), valueElement.getText()); } else { List<String> values = new ArrayList<>(); for (Element valueElement : valueElements) { values.add(valueElement.getText()); } map.put(nameElement.getText(), values); } } else { List<Element> elements = childElement.elements(); if (!elements.isEmpty()) { map.put(name, insertRequestVariables(childElement)); } else { map.put(name, childElement.getText()); } } } return map; }
From source file:com.liferay.journal.util.impl.JournalConverterImpl.java
License:Open Source License
protected Serializable getFieldValue(String dataType, String type, Element dynamicContentElement) { Serializable serializable = null; if (DDMImpl.TYPE_DDM_LINK_TO_PAGE.equals(type)) { String[] values = StringUtil.split(dynamicContentElement.getText(), CharPool.AT); if (ArrayUtil.isEmpty(values)) { return StringPool.BLANK; }/* w ww . j av a 2s . com*/ 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 (DDMImpl.TYPE_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.util.impl.JournalUtil.java
License:Open Source License
private static void _addElementOptions(Element curContentElement, Element newContentElement) { List<Element> newElementOptions = newContentElement.elements("option"); for (Element newElementOption : newElementOptions) { Element curElementOption = SAXReaderUtil.createElement("option"); curElementOption.addCDATA(newElementOption.getText()); curContentElement.add(curElementOption); }/*from w w w . java 2s . c o m*/ }
From source file:com.liferay.journal.util.impl.JournalUtil.java
License:Open Source License
private static void _mergeArticleContentUpdate(Element curElement, Element newElement, String defaultLocale) { Attribute curTypeAttribute = curElement.attribute("type"); Attribute newTypeAttribute = newElement.attribute("type"); curTypeAttribute.setValue(newTypeAttribute.getValue()); Attribute curIndexTypeAttribute = curElement.attribute("index-type"); Attribute newIndexTypeAttribute = newElement.attribute("index-type"); if (newIndexTypeAttribute != null) { if (curIndexTypeAttribute == null) { curElement.addAttribute("index-type", newIndexTypeAttribute.getValue()); } else {/*from w ww. j a v a 2s. co m*/ curIndexTypeAttribute.setValue(newIndexTypeAttribute.getValue()); } } List<Element> elements = newElement.elements("dynamic-content"); if ((elements == null) || elements.isEmpty()) { return; } Element newContentElement = elements.get(0); String newLanguageId = newContentElement.attributeValue("language-id"); String newValue = newContentElement.getText(); String indexType = newElement.attributeValue("index-type"); if (Validator.isNotNull(indexType)) { curElement.addAttribute("index-type", indexType); } List<Element> curContentElements = curElement.elements("dynamic-content"); if (Validator.isNull(newLanguageId)) { for (Element curContentElement : curContentElements) { curContentElement.detach(); } Element curContentElement = SAXReaderUtil.createElement("dynamic-content"); if (newContentElement.element("option") != null) { _addElementOptions(curContentElement, newContentElement); } else { curContentElement.addCDATA(newValue); } curElement.add(curContentElement); } else { boolean alreadyExists = false; for (Element curContentElement : curContentElements) { String curLanguageId = curContentElement.attributeValue("language-id"); if (newLanguageId.equals(curLanguageId)) { alreadyExists = true; curContentElement.clearContent(); if (newContentElement.element("option") != null) { _addElementOptions(curContentElement, newContentElement); } else { curContentElement.addCDATA(newValue); } break; } } if (!alreadyExists) { Element curContentElement = curContentElements.get(0); String curLanguageId = curContentElement.attributeValue("language-id"); if (Validator.isNull(curLanguageId)) { if (newLanguageId.equals(defaultLocale)) { curContentElement.clearContent(); if (newContentElement.element("option") != null) { _addElementOptions(curContentElement, newContentElement); } else { curContentElement.addCDATA(newValue); } } else { curElement.add(newContentElement.createCopy()); } curContentElement.addAttribute("language-id", defaultLocale); } else { curElement.add(newContentElement.createCopy()); } } } }
From source file:com.liferay.journal.util.test.JournalConverterUtilTest.java
License:Open Source License
protected void udpateFieldsMap(Element dynamicElementElement, Map<String, Map<Locale, List<String>>> fieldsMap) { List<Element> childrenDynamicElementElements = dynamicElementElement.elements("dynamic-element"); for (Element childrenDynamicElementElement : childrenDynamicElementElements) { udpateFieldsMap(childrenDynamicElementElement, fieldsMap); }//from w w w .j a v a2 s . co m String name = dynamicElementElement.attributeValue("name"); Map<Locale, List<String>> valuesMap = fieldsMap.get(name); if (valuesMap == null) { valuesMap = new HashMap<>(); fieldsMap.put(name, valuesMap); } List<Element> dynamicContentElements = dynamicElementElement.elements("dynamic-content"); for (Element dynamicContentElement : dynamicContentElements) { Locale locale = LocaleUtil.fromLanguageId(dynamicContentElement.attributeValue("language-id")); List<String> values = getValues(valuesMap, locale); List<Element> optionElements = dynamicContentElement.elements("option"); if (!optionElements.isEmpty()) { for (Element optionElement : optionElements) { values.add(optionElement.getText()); } } else { values.add(dynamicContentElement.getText()); } } }
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 {/*from ww w. ja v a2 s .c om*/ 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; }
From source file:com.liferay.maven.plugins.compatibility.WSDDBuilder.java
License:Open Source License
public void build() throws Exception { if (!FileUtil.exists(_serverConfigFileName)) { ClassLoader classLoader = getClass().getClassLoader(); String serverConfigContent = StringUtil.read(classLoader, "com/liferay/portal/tools/dependencies/server-config.wsdd"); FileUtil.write(_serverConfigFileName, serverConfigContent); }//w w w . jav a2 s. com Document document = SAXReaderUtil.read(new File(_fileName), true); Element rootElement = document.getRootElement(); String packagePath = rootElement.attributeValue("package-path"); Element portletElement = rootElement.element("portlet"); Element namespaceElement = rootElement.element("namespace"); if (portletElement != null) { _portletShortName = portletElement.attributeValue("short-name"); } else { _portletShortName = namespaceElement.getText(); } _outputPath += StringUtil.replace(packagePath, ".", "/") + "/service/http"; _packagePath = packagePath; List<Element> entityElements = rootElement.elements("entity"); for (Element entityElement : entityElements) { String entityName = entityElement.attributeValue("name"); boolean remoteService = GetterUtil.getBoolean(entityElement.attributeValue("remote-service"), true); if (remoteService) { _createServiceWSDD(entityName); WSDDMerger.merge(_outputPath + "/" + entityName + "Service_deploy.wsdd", _serverConfigFileName); } } }