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

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

Introduction

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

Prototype

public Element addElement(QName qName);

Source Link

Usage

From source file:com.liferay.knowledgebase.admin.lar.AdminPortletDataHandlerImpl.java

License:Open Source License

protected void exportKBArticleAttachments(PortletDataContext portletDataContext, Element rootElement,
        KBArticle kbArticle) throws Exception {

    Element kbArticleAttachmentsElement = rootElement.addElement("kb-article-attachments");

    kbArticleAttachmentsElement.addAttribute("resource-prim-key",
            String.valueOf(kbArticle.getResourcePrimKey()));

    String rootPath = getPortletPath(portletDataContext) + "/kbarticles/attachments/"
            + kbArticle.getResourcePrimKey();

    for (String fileName : kbArticle.getAttachmentsFileNames()) {
        String shortFileName = FileUtil.getShortFileName(fileName);

        String path = rootPath + StringPool.SLASH + shortFileName;
        byte[] bytes = DLStoreUtil.getFileAsBytes(kbArticle.getCompanyId(), CompanyConstants.SYSTEM, fileName);

        Element fileElement = kbArticleAttachmentsElement.addElement("file");

        fileElement.addAttribute("path", path);
        fileElement.addAttribute("short-file-name", shortFileName);

        portletDataContext.addZipEntry(path, bytes);
    }/*from w  w  w . j  a  v  a  2 s.  c o m*/
}

From source file:com.liferay.knowledgebase.admin.lar.AdminPortletDataHandlerImpl.java

License:Open Source License

protected void exportKBArticleVersions(PortletDataContext portletDataContext, Element kbArticleElement,
        long resourcePrimKey) throws Exception {

    Element versionsElement = kbArticleElement.addElement("versions");

    String rootPath = getPortletPath(portletDataContext) + "/kbarticles/versions/" + resourcePrimKey;

    List<KBArticle> kbArticles = KBArticleUtil.findByR_S(resourcePrimKey, WorkflowConstants.STATUS_APPROVED,
            QueryUtil.ALL_POS, QueryUtil.ALL_POS, new KBArticleModifiedDateComparator(true));

    for (KBArticle kbArticle : kbArticles) {
        String path = rootPath + StringPool.SLASH + kbArticle.getKbArticleId() + ".xml";

        Element curKBArticleElement = versionsElement.addElement("kb-article");

        curKBArticleElement.addAttribute("path", path);

        portletDataContext.addZipEntry(path, kbArticle);
    }//from   w  ww  .  j av a 2 s . c o  m
}

From source file:com.liferay.knowledgebase.admin.lar.AdminPortletDataHandlerImpl.java

License:Open Source License

protected void exportKBComment(PortletDataContext portletDataContext, Element rootElement, String path,
        KBComment kbComment) throws Exception {

    Element kbCommentElement = rootElement.addElement("kb-comment");

    portletDataContext.addClassedModel(kbCommentElement, path, kbComment, _NAMESPACE);
}

From source file:com.liferay.knowledgebase.admin.lar.AdminPortletDataHandlerImpl.java

License:Open Source License

protected void exportKBTemplate(PortletDataContext portletDataContext, Element rootElement, String path,
        KBTemplate kbTemplate) throws Exception {

    Element kbTemplateElement = rootElement.addElement("kb-template");

    portletDataContext.addClassedModel(kbTemplateElement, path, kbTemplate, _NAMESPACE);
}

From source file:com.liferay.knowledgebase.admin.util.KBStructureContentUtil.java

License:Open Source License

public static String addKBStructureFields(String localizedLanguageId, List<KBStructureField> kbStructureFields)
        throws SystemException {

    Document document = SAXReaderUtil.createDocument();

    Element rootElement = document.addElement("kb-structure");

    rootElement.addAttribute("default-language-id", localizedLanguageId);

    Element kbStructureContentElement = rootElement.addElement("kb-structure-content");

    kbStructureContentElement.addAttribute("language-id", localizedLanguageId);

    for (KBStructureField kbStructureField : kbStructureFields) {
        String kbStructureFieldId = String.valueOf(CounterLocalServiceUtil.increment());
        String kbStructureFieldName = StringEscapeUtils.escapeXml(kbStructureField.getName());
        String kbStructureFieldLabel = StringEscapeUtils.escapeXml(kbStructureField.getLabel());
        String kbStructureFieldType = StringEscapeUtils.escapeXml(kbStructureField.getType());

        Element kbStructureFieldElement = kbStructureContentElement.addElement("kb-structure-field");

        kbStructureFieldElement.addAttribute("kb-structure-field-id", kbStructureFieldId);
        kbStructureFieldElement.addAttribute("name", kbStructureFieldName);
        kbStructureFieldElement.addAttribute("label", kbStructureFieldLabel);
        kbStructureFieldElement.addAttribute("type", kbStructureFieldType);

        for (KBStructureOption kbStructureOption : kbStructureField.getKbStructureOptions()) {

            String kbStructureOptionId = String.valueOf(CounterLocalServiceUtil.increment());
            String kbStructureOptionLabel = StringEscapeUtils.escapeXml(kbStructureOption.getLabel());
            String kbStructureOptionValue = StringEscapeUtils.escapeXml(kbStructureOption.getValue());

            Element kbStructureOptionElement = kbStructureFieldElement.addElement("kb-structure-option");

            kbStructureOptionElement.addAttribute("kb-structure-option-id", kbStructureOptionId);
            kbStructureOptionElement.addAttribute("label", kbStructureOptionLabel);
            kbStructureOptionElement.addAttribute("value", kbStructureOptionValue);
        }// w w  w . j av  a  2s.c  o m
    }

    try {
        return document.formattedString();
    } catch (IOException ioe) {
        return document.asXML();
    }
}

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  v  a 2s.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();
    }
}

From source file:com.liferay.layout.admin.web.internal.exportimport.data.handler.LayoutStagedModelDataHandler.java

License:Open Source License

protected void exportLayoutIconImage(PortletDataContext portletDataContext, Layout layout,
        Element layoutElement) throws Exception {

    Image image = _imageLocalService.getImage(layout.getIconImageId());

    if ((image != null) && (image.getTextObj() != null)) {
        String iconPath = ExportImportPathUtil.getModelPath(portletDataContext.getScopeGroupId(),
                Image.class.getName(), image.getImageId());

        Element iconImagePathElement = layoutElement.addElement("icon-image-path");

        iconImagePathElement.addText(iconPath);

        portletDataContext.addZipEntry(iconPath, image.getTextObj());
    } else {//from   www. j a  v  a 2s  . c  om
        if (_log.isWarnEnabled()) {
            StringBundler sb = new StringBundler(4);

            sb.append("Unable to export icon image ");
            sb.append(layout.getIconImageId());
            sb.append(" to layout ");
            sb.append(layout.getLayoutId());

            _log.warn(sb.toString());
        }

        layout.setIconImageId(0);
    }
}

From source file:com.liferay.layout.admin.web.internal.exportimport.data.handler.LayoutStagedModelDataHandler.java

License:Open Source License

protected void exportLayoutPortlets(PortletDataContext portletDataContext, Layout layout, Element layoutElement)
        throws Exception {

    Map<String, String[]> parameterMap = portletDataContext.getParameterMap();

    boolean permissions = MapUtil.getBoolean(parameterMap, PortletDataHandlerKeys.PERMISSIONS);

    Element portletsElement = layoutElement.addElement("portlets");

    long previousScopeGroupId = portletDataContext.getScopeGroupId();

    Map<String, Object[]> portletIds = getPortletids(portletDataContext, layout);

    for (Map.Entry<String, Object[]> portletIdsEntry : portletIds.entrySet()) {

        String portletId = (String) portletIdsEntry.getValue()[0];
        long scopeGroupId = (Long) portletIdsEntry.getValue()[1];
        String scopeType = (String) portletIdsEntry.getValue()[2];
        String scopeLayoutUuid = (String) portletIdsEntry.getValue()[3];

        portletDataContext.setPlid(layout.getPlid());
        portletDataContext.setOldPlid(layout.getPlid());
        portletDataContext.setPortletId(portletId);
        portletDataContext.setScopeGroupId(scopeGroupId);
        portletDataContext.setScopeType(scopeType);
        portletDataContext.setScopeLayoutUuid(scopeLayoutUuid);

        Map<String, Boolean> exportPortletControlsMap = _exportImportHelper.getExportPortletControlsMap(
                layout.getCompanyId(), portletId, parameterMap, portletDataContext.getType());

        try {//ww  w  .  j  av a 2s.co  m
            _exportImportLifecycleManager.fireExportImportLifecycleEvent(EVENT_PORTLET_EXPORT_STARTED,
                    getProcessFlag(), portletDataContext.getExportImportProcessId(),
                    _portletDataContextFactory.clonePortletDataContext(portletDataContext));

            _portletExportController.exportPortlet(portletDataContext, layout.getPlid(), portletsElement,
                    permissions, exportPortletControlsMap.get(PortletDataHandlerKeys.PORTLET_ARCHIVED_SETUPS),
                    exportPortletControlsMap.get(PortletDataHandlerKeys.PORTLET_DATA),
                    exportPortletControlsMap.get(PortletDataHandlerKeys.PORTLET_SETUP),
                    exportPortletControlsMap.get(PortletDataHandlerKeys.PORTLET_USER_PREFERENCES));

            _exportImportLifecycleManager.fireExportImportLifecycleEvent(EVENT_PORTLET_EXPORT_SUCCEEDED,
                    getProcessFlag(), portletDataContext.getExportImportProcessId(),
                    _portletDataContextFactory.clonePortletDataContext(portletDataContext));
        } catch (Throwable t) {
            _exportImportLifecycleManager.fireExportImportLifecycleEvent(EVENT_PORTLET_EXPORT_FAILED,
                    getProcessFlag(), portletDataContext.getExportImportProcessId(),
                    _portletDataContextFactory.clonePortletDataContext(portletDataContext), t);

            throw t;
        }
    }

    portletDataContext.setScopeGroupId(previousScopeGroupId);
}

From source file:com.liferay.opensocial.admin.lar.AdminPortletDataHandlerImpl.java

License:Open Source License

@Override
protected String doExportData(PortletDataContext portletDataContext, String portletId,
        PortletPreferences portletPreferences) throws Exception {

    Document document = SAXReaderUtil.createDocument();

    Element rootElement = document.addElement("opensocial-data");

    Element gadgetsElement = rootElement.addElement("gadgets");

    List<Gadget> gadgets = GadgetLocalServiceUtil.getGadgets(portletDataContext.getCompanyId(),
            QueryUtil.ALL_POS, QueryUtil.ALL_POS);

    for (Gadget gadget : gadgets) {
        exportGadget(portletDataContext, gadgetsElement, gadget);
    }//w w w. j a  va 2  s.  co  m

    return document.formattedString();
}

From source file:com.liferay.opensocial.admin.lar.AdminPortletDataHandlerImpl.java

License:Open Source License

protected void exportGadget(PortletDataContext portletDataContext, Element gadgetsElement, Gadget gadget)
        throws Exception {

    String path = getGadgetPath(portletDataContext, gadget);

    if (!portletDataContext.isPathNotProcessed(path)) {
        return;//  www . ja  va2s . com
    }

    Element gadgetElement = gadgetsElement.addElement("gadget");

    portletDataContext.addClassedModel(gadgetElement, path, gadget, _NAMESPACE);
}