List of usage examples for com.liferay.portal.kernel.xml Element elements
public List<Element> elements(String name);
From source file:com.liferay.journal.util.impl.JournalConverterImpl.java
License:Open Source License
@Override public Fields getDDMFields(DDMStructure ddmStructure, Document document) throws PortalException { Field fieldsDisplayField = new Field(ddmStructure.getStructureId(), DDMImpl.FIELDS_DISPLAY_NAME, StringPool.BLANK);// w ww . ja v a 2 s.c o m Fields ddmFields = new Fields(); ddmFields.put(fieldsDisplayField); Element rootElement = document.getRootElement(); String[] availableLanguageIds = StringUtil.split(rootElement.attributeValue("available-locales")); String defaultLanguageId = rootElement.attributeValue("default-locale"); List<Element> dynamicElementElements = rootElement.elements("dynamic-element"); for (Element dynamicElementElement : dynamicElementElements) { addDDMFields(dynamicElementElement, ddmStructure, ddmFields, availableLanguageIds, defaultLanguageId); } return ddmFields; }
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; }//from www. ja v a2 s .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 (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
public static void removeArticleLocale(Element element, String languageId) throws PortalException { for (Element dynamicElementElement : element.elements("dynamic-element")) { for (Element dynamicContentElement : dynamicElementElement.elements("dynamic-content")) { String curLanguageId = GetterUtil.getString(dynamicContentElement.attributeValue("language-id")); if (curLanguageId.equals(languageId)) { long id = GetterUtil.getLong(dynamicContentElement.attributeValue("id")); if (id > 0) { ImageLocalServiceUtil.deleteImage(id); }/* w w w .jav a 2 s.c om*/ dynamicContentElement.detach(); } } removeArticleLocale(dynamicElementElement, languageId); } }
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 ww . j ava 2s . c om*/ }
From source file:com.liferay.journal.util.impl.JournalUtil.java
License:Open Source License
private static void _mergeArticleContentDelete(Element curParentElement, Document newDocument) throws Exception { List<Element> curElements = curParentElement.elements("dynamic-element"); for (int i = 0; i < curElements.size(); i++) { Element curElement = curElements.get(i); _mergeArticleContentDelete(curElement, newDocument); String instanceId = curElement.attributeValue("instance-id"); Element newElement = _getElementByInstanceId(newDocument, instanceId); if (newElement == null) { curElement.detach();//from w w w .j a v a2 s .com } } }
From source file:com.liferay.journal.util.impl.JournalUtil.java
License:Open Source License
private static void _mergeArticleContentUpdate(Document curDocument, Element newParentElement, String defaultLocale) throws Exception { List<Element> newElements = newParentElement.elements("dynamic-element"); for (int i = 0; i < newElements.size(); i++) { Element newElement = newElements.get(i); _mergeArticleContentUpdate(curDocument, newParentElement, newElement, i, defaultLocale); }//from ww w. java 2 s .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 {/*w w w . j av a 2 s .c o 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 Map<String, Map<Locale, List<String>>> getFieldsMap(String content) throws Exception { Map<String, Map<Locale, List<String>>> fieldsMap = new HashMap<>(); Document document = UnsecureSAXReaderUtil.read(content); Element rootElement = document.getRootElement(); List<Element> dynamicElementElements = rootElement.elements("dynamic-element"); for (Element dynamicElementElement : dynamicElementElements) { udpateFieldsMap(dynamicElementElement, fieldsMap); }//from w ww . jav a 2s . co m return fieldsMap; }
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.ja v a 2 s. c o 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.journal.verify.JournalServiceVerifyProcess.java
License:Open Source License
protected void updateElement(long groupId, Element element) { List<Element> dynamicElementElements = element.elements("dynamic-element"); for (Element dynamicElementElement : dynamicElementElements) { updateElement(groupId, dynamicElementElement); }//from ww w .ja va 2s . c o m String type = element.attributeValue("type"); if (type.equals("link_to_layout")) { updateLinkToLayoutElements(groupId, element); } }