List of usage examples for com.liferay.portal.kernel.xml Element add
public void add(Text text);
From source file:com.hrportal.service.impl.WebArticleHelperLocalServiceImpl.java
License:Open Source License
public Document generateAssetCategoryHierarchyDocument() { Document doc = SAXReaderUtil.createDocument(); doc.add(SAXReaderUtil.createElement("v")); Element vocabulariesElem = doc.getRootElement(); ServiceContext sc = ServiceContextThreadLocal.getServiceContext(); HashMap<String, Element> map = new HashMap<String, Element>(); try {// ww w .j ava2 s. co m // Group globalGroup = GroupLocalServiceUtil.getCompanyGroup(sc.getCompanyId()); List<AssetVocabulary> vocabularies = AssetVocabularyLocalServiceUtil .getCompanyVocabularies(sc.getCompanyId()); for (AssetVocabulary vocab : vocabularies) { Element vocabElem = generateAssetVocabularyElement(vocab); vocabulariesElem.add(vocabElem); map.put("v".concat(String.valueOf(vocab.getVocabularyId())), vocabElem); } List<AssetCategory> catList = AssetCategoryLocalServiceUtil.getCategories(); for (AssetCategory cat : catList) { Element catElem = generateAssetCategoryElement(cat); map.put(String.valueOf(cat.getCategoryId()), catElem); } for (AssetCategory cat : catList) { Element catElem = map.get(String.valueOf(cat.getCategoryId())); Element vocabElem = map.get("v".concat(String.valueOf(cat.getVocabularyId()))); Element parentCatElem = map.get(String.valueOf(cat.getParentCategoryId())); if (parentCatElem != null) { parentCatElem.add(catElem); } else { vocabElem.add(catElem); } } } catch (Exception e) { _log.error("", e); } return doc; }
From source file:com.liferay.asset.publisher.web.upgrade.v1_0_0.UpgradePortletPreferences.java
License:Open Source License
protected void upgradeUuids(String[] assetEntryXmls) throws Exception { for (int i = 0; i < assetEntryXmls.length; i++) { String assetEntry = assetEntryXmls[i]; Document document = _saxReader.read(assetEntry); Element rootElement = document.getRootElement(); Element assetTypeElementUuid = rootElement.element("asset-entry-uuid"); if (assetTypeElementUuid == null) { continue; }/*w ww. ja v a 2s . c o m*/ String journalArticleResourceUuid = getJournalArticleResourceUuid( assetTypeElementUuid.getStringValue()); if (journalArticleResourceUuid == null) { continue; } rootElement.remove(assetTypeElementUuid); assetTypeElementUuid.setText(journalArticleResourceUuid); rootElement.add(assetTypeElementUuid); document.setRootElement(rootElement); assetEntryXmls[i] = document.formattedString(StringPool.BLANK); } }
From source file:com.liferay.google.apps.connector.GHelperUtil.java
License:Open Source License
public static Element addAtomEntry(Document document) { Element element = document.addElement("atom:entry"); element.add(getAppsNamespace()); element.add(getAtomNamespace());/*from w w w . j a v a2 s.com*/ return element; }
From source file:com.liferay.ide.servlet.WebServicesServlet.java
License:Open Source License
protected String getWebServicesXML() { Map<String, Set<JSONWebServiceActionMapping>> jsonWebServiceClazz = getJSONWebServiceClazz(); Document document = SAXReaderUtil.createDocument("UTF-8"); Element root = SAXReaderUtil.createElement("templates"); document.add(root);//w ww . j a va 2s . c o m for (String jsonWebServiceClassName : jsonWebServiceClazz.keySet()) { Set<JSONWebServiceActionMapping> jsonWebServiceMappings = jsonWebServiceClazz .get(jsonWebServiceClassName); String className = jsonWebServiceClassName; if (className.endsWith("Impl")) { className = className.substring(0, className.length() - 4); } if (className.endsWith("Service")) { className = className.substring(0, className.length() - 7); } for (JSONWebServiceActionMapping jsonWebServiceActionMapping : jsonWebServiceMappings) { Element element = SAXReaderUtil.createElement("template"); String path = jsonWebServiceActionMapping.getPath(); int pos = path.lastIndexOf(CharPool.SLASH); String actionName = path.substring(pos + 1); element.add( SAXReaderUtil.createAttribute(element, "name", "jsonws-" + className + "-" + actionName)); element.add(SAXReaderUtil.createAttribute(element, "description", "jsonws-" + className + "-" + actionName)); element.add(SAXReaderUtil.createAttribute(element, "context", "javaScript")); element.add(SAXReaderUtil.createAttribute(element, "enabled", "true")); element.add(SAXReaderUtil.createAttribute(element, "autoinsert", "true")); StringBuffer sb = new StringBuffer(); sb.append("Liferay.Service(\n '"); sb.append(path); sb.append("',\n {\n"); MethodParameter[] methodParameters = jsonWebServiceActionMapping.getMethodParameters(); if (methodParameters.length > 0) { for (int t = 0; t < methodParameters.length; t++) { String parameterName = methodParameters[t].getName(); sb.append(" "); sb.append(parameterName); sb.append(":"); sb.append("${"); sb.append(parameterName); sb.append("}"); if (t < methodParameters.length - 1) { sb.append(",\n"); } } element.add(SAXReaderUtil.createAttribute(element, "id", "com.liferay.ide.ui.templates." + className + "." + actionName + methodParameters.length)); } else { element.add(SAXReaderUtil.createAttribute(element, "id", "com.liferay.ide.ui.templates." + className + "." + actionName)); } sb.append("\n },\n function(obj) {\n console.log(obj);\n }\n);"); element.add(SAXReaderUtil.createText(sb.toString())); root.add(element); } } return document.asXML(); }
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());/*w ww . j ava2 s . c om*/ 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.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 ww w .ja va 2 s . co 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.transformer.LocaleTransformerListener.java
License:Open Source License
protected void filterByLanguage(Element root, String languageId, String defaultLanguageId) { Element defaultLanguageElement = null; boolean hasLanguageIdElement = false; for (Element element : root.elements()) { String tempLanguageId = element.attributeValue("language-id", languageId); if (StringUtil.equalsIgnoreCase(tempLanguageId, languageId)) { if (Validator.isNotNull(element.attributeValue("language-id", StringPool.BLANK))) { hasLanguageIdElement = true; }//from w w w . j ava2 s. c o m filterByLanguage(element, languageId, defaultLanguageId); } else { if (StringUtil.equalsIgnoreCase(tempLanguageId, defaultLanguageId)) { defaultLanguageElement = element; } root.remove(element); } } if (!hasLanguageIdElement && (defaultLanguageElement != null)) { root.add(defaultLanguageElement); filterByLanguage(defaultLanguageElement, languageId, defaultLanguageId); } }
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 .ja va 2 s. c om*/ }
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 {/* ww w . j av a2s .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.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 w w. ja va2 s. c o m*/ 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(); } }