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.exportimport.lar.ExportImportHelperImpl.java

License:Open Source License

@Override
public void writeManifestSummary(Document document, ManifestSummary manifestSummary) {

    Element rootElement = document.getRootElement();

    Element manifestSummaryElement = rootElement.addElement("manifest-summary");

    for (String manifestSummaryKey : manifestSummary.getManifestSummaryKeys()) {

        Element element = manifestSummaryElement.addElement("staged-model");

        element.addAttribute("manifest-summary-key", manifestSummaryKey);

        long modelAdditionCount = manifestSummary.getModelAdditionCount(manifestSummaryKey);

        if (modelAdditionCount > 0) {
            element.addAttribute("addition-count", String.valueOf(modelAdditionCount));
        }//  w w w .j av a 2 s  .c  o m

        long modelDeletionCount = manifestSummary.getModelDeletionCount(manifestSummaryKey);

        if (modelDeletionCount > 0) {
            element.addAttribute("deletion-count", String.valueOf(modelDeletionCount));
        }
    }
}

From source file:com.liferay.exportimport.lar.PermissionExporter.java

License:Open Source License

public void exportPortletDataPermissions(PortletDataContext portletDataContext) throws Exception {

    Document document = SAXReaderUtil.createDocument();

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

    Map<String, List<KeyValuePair>> permissionsMap = portletDataContext.getPermissions();

    for (Map.Entry<String, List<KeyValuePair>> entry : permissionsMap.entrySet()) {

        String[] permissionParts = StringUtil.split(entry.getKey(), CharPool.POUND);

        String resourceName = permissionParts[0];
        long resourcePK = GetterUtil.getLong(permissionParts[1]);

        Element portletDataElement = rootElement.addElement("portlet-data");

        portletDataElement.addAttribute("resource-name", resourceName);
        portletDataElement.addAttribute("resource-pk", String.valueOf(resourcePK));

        List<KeyValuePair> permissions = entry.getValue();

        for (KeyValuePair permission : permissions) {
            String roleName = permission.getKey();
            String actions = permission.getValue();

            Element permissionsElement = portletDataElement.addElement("permissions");

            permissionsElement.addAttribute("role-name", roleName);
            permissionsElement.addAttribute("actions", actions);
        }/* www .java2 s. c  o  m*/
    }

    portletDataContext.addZipEntry(
            ExportImportPathUtil.getRootPath(portletDataContext) + "/portlet-data-permissions.xml",
            document.formattedString());
}

From source file:com.liferay.exportimport.lar.PermissionExporter.java

License:Open Source License

public void exportPortletPermissions(PortletDataContext portletDataContext, String portletId, Layout layout,
        Element portletElement) throws Exception {

    String resourceName = PortletIdCodec.decodePortletName(portletId);
    String resourcePrimKey = StringPool.BLANK;

    if (layout != null) {
        resourcePrimKey = PortletPermissionUtil.getPrimaryKey(layout.getPlid(), portletId);
    } else {/*w w w  .j  av  a2s.  co m*/
        resourcePrimKey = PortletPermissionUtil.getPrimaryKey(LayoutConstants.DEFAULT_PLID, portletId);
    }

    Element permissionsElement = portletElement.addElement("permissions");

    exportPermissions(portletDataContext, resourceName, resourcePrimKey, permissionsElement);
}

From source file:com.liferay.exportimport.lar.PermissionExporter.java

License:Open Source License

protected void exportPermissions(PortletDataContext portletDataContext, String resourceName,
        String resourcePrimKey, Element permissionsElement) throws Exception {

    List<String> actionIds = ResourceActionsUtil.getPortletResourceActions(resourceName);

    Map<Long, Set<String>> roleToActionIds = ExportImportPermissionUtil
            .getRoleIdsToActionIds(portletDataContext.getCompanyId(), resourceName, resourcePrimKey, actionIds);

    for (Map.Entry<Long, Set<String>> entry : roleToActionIds.entrySet()) {
        long roleId = entry.getKey();

        Role role = RoleLocalServiceUtil.fetchRole(roleId);

        String roleName = role.getName();

        if (role.isTeam()) {
            try {
                roleName = ExportImportPermissionUtil.getTeamRoleName(role.getDescriptiveName());
            } catch (PortalException pe) {

                // LPS-52675

                if (_log.isDebugEnabled()) {
                    _log.debug(pe, pe);//from  w  w w . j a v  a 2  s  .co  m
                }
            }
        }

        Element roleElement = permissionsElement.addElement("role");

        roleElement.addAttribute("uuid", role.getUuid());
        roleElement.addAttribute("name", roleName);
        roleElement.addAttribute("title", role.getTitle());
        roleElement.addAttribute("description", role.getDescription());
        roleElement.addAttribute("type", String.valueOf(role.getType()));
        roleElement.addAttribute("subtype", role.getSubtype());

        Set<String> availableActionIds = entry.getValue();

        for (String actionId : availableActionIds) {
            Element actionKeyElement = roleElement.addElement("action-key");

            actionKeyElement.addText(actionId);
        }
    }
}

From source file:com.liferay.exportimport.lar.PortletDataContextImpl.java

License:Open Source License

@Override
public Element getExportDataElement(ClassedModel classedModel, String modelClassSimpleName) {

    Element groupElement = getExportDataGroupElement(modelClassSimpleName);

    Element element = null;/*from  w ww  .j  a v  a  2 s  .com*/

    if (classedModel instanceof StagedModel) {
        StagedModel stagedModel = (StagedModel) classedModel;

        String path = ExportImportPathUtil.getModelPath(stagedModel);

        element = getDataElement(groupElement, "path", path);

        if (element != null) {
            return element;
        }

        element = getDataElement(groupElement, "uuid", stagedModel.getUuid());

        if (element != null) {
            return element;
        }
    }

    element = groupElement.addElement("staged-model");

    if (classedModel instanceof StagedGroupedModel) {
        StagedGroupedModel stagedGroupedModel = (StagedGroupedModel) classedModel;

        element.addAttribute("group-id", String.valueOf(stagedGroupedModel.getGroupId()));
        element.addAttribute("uuid", stagedGroupedModel.getUuid());
    } else if (classedModel instanceof StagedModel) {
        StagedModel stagedModel = (StagedModel) classedModel;

        element.addAttribute("uuid", stagedModel.getUuid());
    }

    return element;
}

From source file:com.liferay.exportimport.lar.PortletDataContextImpl.java

License:Open Source License

protected Element doAddReferenceElement(ClassedModel referrerClassedModel, Element element,
        ClassedModel classedModel, String className, String binPath, String referenceType, boolean missing) {

    Element referenceElement = null;

    if (missing) {
        Element referencesElement = _missingReferencesElement;

        referenceElement = referencesElement.addElement("missing-reference");
    } else {/*from  ww w .j a  v a  2 s  . c o m*/
        Element referencesElement = element.element("references");

        if (referencesElement == null) {
            referencesElement = element.addElement("references");
        }

        referenceElement = referencesElement.addElement("reference");
    }

    referenceElement.addAttribute("class-name", className);

    referenceElement.addAttribute("class-pk", String.valueOf(classedModel.getPrimaryKeyObj()));

    populateClassNameAttribute(classedModel, referenceElement);

    if (missing) {
        if (classedModel instanceof StagedModel) {
            referenceElement.addAttribute("display-name",
                    StagedModelDataHandlerUtil.getDisplayName((StagedModel) classedModel));
        } else {
            referenceElement.addAttribute("display-name", String.valueOf(classedModel.getPrimaryKeyObj()));
        }
    }

    if (classedModel instanceof StagedGroupedModel) {
        StagedGroupedModel stagedGroupedModel = (StagedGroupedModel) classedModel;

        referenceElement.addAttribute("group-id", String.valueOf(stagedGroupedModel.getGroupId()));

        try {
            Group group = GroupLocalServiceUtil.getGroup(stagedGroupedModel.getGroupId());

            long liveGroupId = group.getLiveGroupId();

            if (group.isStagedRemotely()) {
                liveGroupId = group.getRemoteLiveGroupId();
            }

            if (liveGroupId == GroupConstants.DEFAULT_LIVE_GROUP_ID) {
                liveGroupId = group.getGroupId();
            }

            referenceElement.addAttribute("live-group-id", String.valueOf(liveGroupId));

            if (group.isLayout()) {
                try {
                    Layout scopeLayout = LayoutLocalServiceUtil.getLayout(group.getClassPK());

                    referenceElement.addAttribute("scope-layout-uuid", scopeLayout.getUuid());
                } catch (NoSuchLayoutException nsle) {
                    if (_log.isWarnEnabled()) {
                        _log.warn("Unable to find layout " + group.getClassPK(), nsle);
                    }
                }
            }
        } catch (Exception e) {
            if (_log.isWarnEnabled()) {
                _log.warn("Unable to find group " + stagedGroupedModel.getGroupId());
            }
        }
    }

    if (Validator.isNotNull(binPath)) {
        referenceElement.addAttribute("path", binPath);
    }

    referenceElement.addAttribute("type", referenceType);

    if (missing) {
        referenceElement.addAttribute("referrer-class-name",
                ExportImportClassedModelUtil.getClassName(referrerClassedModel));

        if (referrerClassedModel instanceof PortletModel) {
            Portlet portlet = (Portlet) referrerClassedModel;

            referenceElement.addAttribute("referrer-display-name", portlet.getRootPortletId());
        } else if (referrerClassedModel instanceof StagedModel) {
            StagedModel referrerStagedModel = (StagedModel) referrerClassedModel;

            referenceElement.addAttribute("referrer-display-name",
                    StagedModelDataHandlerUtil.getDisplayName(referrerStagedModel));
        }
    }

    if (classedModel instanceof StagedModel) {
        StagedModel stagedModel = (StagedModel) classedModel;

        referenceElement.addAttribute("uuid", stagedModel.getUuid());
        referenceElement.addAttribute("company-id", String.valueOf(stagedModel.getCompanyId()));

        Map<String, String> referenceAttributes = StagedModelDataHandlerUtil.getReferenceAttributes(this,
                stagedModel);

        for (Map.Entry<String, String> referenceAttribute : referenceAttributes.entrySet()) {

            referenceElement.addAttribute(referenceAttribute.getKey(), referenceAttribute.getValue());
        }
    }

    return referenceElement;
}

From source file:com.liferay.exportimport.lar.ThemeExporter.java

License:Open Source License

protected void exportThemeSettings(PortletDataContext portletDataContext, String themeId, String colorSchemeId,
        String css) throws Exception {

    Element exportDataRootElement = portletDataContext.getExportDataRootElement();

    Element headerElement = exportDataRootElement.element("header");

    headerElement.addAttribute("theme-id", themeId);
    headerElement.addAttribute("color-scheme-id", colorSchemeId);

    Element cssElement = headerElement.addElement("css");

    cssElement.addCDATA(css);/*from ww  w.  ja v  a 2s . co  m*/
}

From source file:com.liferay.exportimport.test.PortletDataContextReferencesTest.java

License:Open Source License

@Before
public void setUp() throws Exception {
    _group = GroupTestUtil.addGroup();//www  . j a v a2  s  . com

    ServiceTestUtil.setUser(TestPropsValues.getUser());

    _serviceContext = ServiceContextTestUtil.getServiceContext(_group.getGroupId(),
            TestPropsValues.getUserId());

    ZipWriter zipWriter = ZipWriterFactoryUtil.getZipWriter();

    _portletDataContext = PortletDataContextFactoryUtil.createExportPortletDataContext(
            TestPropsValues.getCompanyId(), _group.getGroupId(), new HashMap<String, String[]>(), null, null,
            zipWriter);

    Document document = SAXReaderUtil.createDocument();

    Element rootElement = document.addElement("root");

    _portletDataContext.setExportDataRootElement(rootElement);
    _portletDataContext.setImportDataRootElement(rootElement);

    Element missingReferencesElement = rootElement.addElement("missing-references");

    _portletDataContext.setMissingReferencesElement(missingReferencesElement);

    _bookmarksFolder = BookmarksTestUtil.addFolder(_group.getGroupId(), RandomTestUtil.randomString());

    _bookmarksEntry = BookmarksTestUtil.addEntry(_bookmarksFolder.getFolderId(), true, _serviceContext);
}

From source file:com.liferay.exportimport.test.util.ExportImportTestUtil.java

License:Open Source License

public static PortletDataContext getExportPortletDataContext(long companyId, long groupId,
        Map<String, String[]> parameterMap, Date startDate, Date endDate) throws Exception {

    TestReaderWriter testReaderWriter = new TestReaderWriter();

    Document document = SAXReaderUtil.createDocument();

    Element manifestRootElement = document.addElement("root");

    manifestRootElement.addElement("header");

    testReaderWriter.addEntry("/manifest.xml", document.asXML());

    PortletDataContext portletDataContext = PortletDataContextFactoryUtil.createExportPortletDataContext(
            companyId, groupId, parameterMap, startDate, endDate, testReaderWriter);

    Element rootElement = SAXReaderUtil.createElement("root");

    portletDataContext.setExportDataRootElement(rootElement);

    Element missingReferencesElement = rootElement.addElement("missing-references");

    portletDataContext.setMissingReferencesElement(missingReferencesElement);

    return portletDataContext;
}

From source file:com.liferay.exportimport.test.util.ExportImportTestUtil.java

License:Open Source License

public static PortletDataContext getImportPortletDataContext(long companyId, long groupId,
        Map<String, String[]> parameterMap) throws Exception {

    TestReaderWriter testReaderWriter = new TestReaderWriter();

    Document document = SAXReaderUtil.createDocument();

    Element manifestRootElement = document.addElement("root");

    manifestRootElement.addElement("header");

    testReaderWriter.addEntry("/manifest.xml", document.asXML());

    PortletDataContext portletDataContext = PortletDataContextFactoryUtil.createImportPortletDataContext(
            companyId, groupId, parameterMap, new TestUserIdStrategy(), testReaderWriter);

    Element rootElement = SAXReaderUtil.createElement("root");

    portletDataContext.setImportDataRootElement(rootElement);

    Element missingReferencesElement = rootElement.addElement("missing-references");

    portletDataContext.setMissingReferencesElement(missingReferencesElement);

    return portletDataContext;
}