Example usage for com.liferay.portal.kernel.xml Element add

List of usage examples for com.liferay.portal.kernel.xml Element add

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.xml Element add.

Prototype

public void add(Text text);

Source Link

Usage

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();
    }
}