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

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

Introduction

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

Prototype

public boolean remove(Text text);

Source Link

Usage

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");
    }//from   w w w  .j  av a2 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.LocaleTransformerListener.java

License:Open Source License

protected void replace(Element root) {
    List<Element> elements = root.elements();

    int listIndex = elements.size() - 1;

    while (listIndex >= 0) {
        Element element = elements.get(listIndex);

        String languageId = element.attributeValue("language-id", getLanguageId());

        if (!languageId.equalsIgnoreCase(getLanguageId())) {
            root.remove(element);
        } else {// w w  w. j  av  a 2 s .  c  o  m
            replace(element);
        }

        listIndex--;
    }
}

From source file:com.liferay.portlet.wiki.importers.mediawiki.MediaWikiImporter.java

License:Open Source License

protected void processSpecialPages(long userId, WikiNode node, Element rootElement,
        List<String> specialNamespaces) throws PortalException {

    ProgressTracker progressTracker = ProgressTrackerThreadLocal.getProgressTracker();

    List<Element> pageElements = rootElement.elements("page");

    for (int i = 0; i < pageElements.size(); i++) {
        Element pageElement = pageElements.get(i);

        String title = pageElement.elementText("title");

        if (!title.startsWith("Category:")) {
            if (isSpecialMediaWikiPage(title, specialNamespaces)) {
                rootElement.remove(pageElement);
            }/*  ww  w .  j  ava 2  s . c  om*/

            continue;
        }

        String categoryName = title.substring("Category:".length());

        categoryName = normalize(categoryName, 75);

        Element revisionElement = pageElement.element("revision");

        String description = revisionElement.elementText("text");

        description = normalizeDescription(description);

        try {
            AssetTag assetTag = null;

            try {
                assetTag = AssetTagLocalServiceUtil.getTag(node.getGroupId(), categoryName);
            } catch (NoSuchTagException nste) {
                ServiceContext serviceContext = new ServiceContext();

                serviceContext.setAddGroupPermissions(true);
                serviceContext.setAddGuestPermissions(true);
                serviceContext.setScopeGroupId(node.getGroupId());

                assetTag = AssetTagLocalServiceUtil.addTag(userId, categoryName, null, serviceContext);

                if (PropsValues.ASSET_TAG_PROPERTIES_ENABLED && Validator.isNotNull(description)) {

                    AssetTagPropertyLocalServiceUtil.addTagProperty(userId, assetTag.getTagId(), "description",
                            description);
                }
            }
        } catch (SystemException se) {
            _log.error(se, se);
        }

        if ((i % 5) == 0) {
            progressTracker.setPercent((i * 10) / pageElements.size());
        }
    }
}

From source file:com.liferay.wiki.importer.impl.mediawiki.MediaWikiImporter.java

License:Open Source License

protected void processSpecialPages(long userId, WikiNode node, Element rootElement,
        List<String> specialNamespaces) throws PortalException {

    ProgressTracker progressTracker = ProgressTrackerThreadLocal.getProgressTracker();

    List<Element> pageElements = rootElement.elements("page");

    for (int i = 0; i < pageElements.size(); i++) {
        Element pageElement = pageElements.get(i);

        String title = pageElement.elementText("title");

        if (!title.startsWith("Category:")) {
            if (isSpecialMediaWikiPage(title, specialNamespaces)) {
                rootElement.remove(pageElement);
            }//  w  w  w.  jav a 2s .c om

            continue;
        }

        String categoryName = title.substring("Category:".length());

        categoryName = normalize(categoryName, 75);

        _assetTagLocalService.checkTags(userId, node.getGroupId(), new String[] { categoryName });

        if ((i % 5) == 0) {
            progressTracker.setPercent((i * 10) / pageElements.size());
        }
    }
}