001
014
015 package com.liferay.portlet.usersadmin.lar;
016
017 import com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery;
018 import com.liferay.portal.kernel.lar.BasePortletDataHandler;
019 import com.liferay.portal.kernel.lar.DataLevel;
020 import com.liferay.portal.kernel.lar.PortletDataContext;
021 import com.liferay.portal.kernel.lar.PortletDataHandlerBoolean;
022 import com.liferay.portal.kernel.lar.StagedModelDataHandlerUtil;
023 import com.liferay.portal.kernel.lar.StagedModelType;
024 import com.liferay.portal.kernel.xml.Element;
025 import com.liferay.portal.model.Organization;
026 import com.liferay.portal.model.OrganizationConstants;
027 import com.liferay.portal.service.OrganizationLocalServiceUtil;
028 import com.liferay.portal.service.persistence.OrganizationExportActionableDynamicQuery;
029
030 import java.util.List;
031
032 import javax.portlet.PortletPreferences;
033
034
038 public class UsersAdminPortletDataHandler extends BasePortletDataHandler {
039
040 public static final String NAMESPACE = "users_admin";
041
042 public UsersAdminPortletDataHandler() {
043 setDataLevel(DataLevel.PORTAL);
044 setDeletionSystemEventStagedModelTypes(
045 new StagedModelType(Organization.class));
046 setExportControls(
047 new PortletDataHandlerBoolean(
048 NAMESPACE, "organizations", true, true, null,
049 Organization.class.getName()));
050 setSupportsDataStrategyCopyAsNew(false);
051 }
052
053 @Override
054 protected PortletPreferences doDeleteData(
055 PortletDataContext portletDataContext, String portletId,
056 PortletPreferences portletPreferences)
057 throws Exception {
058
059 List<Organization> organizations =
060 OrganizationLocalServiceUtil.getOrganizations(
061 portletDataContext.getCompanyId(),
062 OrganizationConstants.ANY_PARENT_ORGANIZATION_ID);
063
064 for (Organization organization : organizations) {
065 OrganizationLocalServiceUtil.deleteOrganization(organization);
066 }
067
068 return portletPreferences;
069 }
070
071 @Override
072 protected String doExportData(
073 final PortletDataContext portletDataContext, String portletId,
074 PortletPreferences portletPreferences)
075 throws Exception {
076
077 portletDataContext.addPortalPermissions();
078
079 Element rootElement = addExportDataRootElement(portletDataContext);
080
081 rootElement.addAttribute(
082 "group-id", String.valueOf(portletDataContext.getScopeGroupId()));
083
084 ActionableDynamicQuery actionableDynamicQuery =
085 new OrganizationExportActionableDynamicQuery(portletDataContext);
086
087 actionableDynamicQuery.performActions();
088
089 return getExportDataRootElementString(rootElement);
090 }
091
092 @Override
093 protected PortletPreferences doImportData(
094 PortletDataContext portletDataContext, String portletId,
095 PortletPreferences portletPreferences, String data)
096 throws Exception {
097
098 portletDataContext.importPortalPermissions();
099
100 Element organizationsElement =
101 portletDataContext.getImportDataGroupElement(Organization.class);
102
103 List<Element> organizationElements = organizationsElement.elements();
104
105 for (Element organizationElement : organizationElements) {
106 StagedModelDataHandlerUtil.importStagedModel(
107 portletDataContext, organizationElement);
108 }
109
110 return null;
111 }
112
113 @Override
114 protected void doPrepareManifestSummary(
115 PortletDataContext portletDataContext,
116 PortletPreferences portletPreferences)
117 throws Exception {
118
119 ActionableDynamicQuery actionableDynamicQuery =
120 new OrganizationExportActionableDynamicQuery(portletDataContext);
121
122 actionableDynamicQuery.performCount();
123 }
124
125 }