001
014
015 package com.liferay.portlet.passwordpoliciesadmin.lar;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.portal.kernel.spring.osgi.OSGiBeanProperties;
019 import com.liferay.portal.kernel.xml.Element;
020 import com.liferay.portal.model.Group;
021 import com.liferay.portal.model.PasswordPolicy;
022 import com.liferay.portal.service.GroupLocalServiceUtil;
023 import com.liferay.portal.service.PasswordPolicyLocalServiceUtil;
024 import com.liferay.portal.service.ServiceContext;
025 import com.liferay.portlet.exportimport.lar.BaseStagedModelDataHandler;
026 import com.liferay.portlet.exportimport.lar.ExportImportPathUtil;
027 import com.liferay.portlet.exportimport.lar.PortletDataContext;
028
029 import java.util.ArrayList;
030 import java.util.List;
031
032
035 @OSGiBeanProperties
036 public class PasswordPolicyStagedModelDataHandler
037 extends BaseStagedModelDataHandler<PasswordPolicy> {
038
039 public static final String[] CLASS_NAMES = {PasswordPolicy.class.getName()};
040
041 @Override
042 public void deleteStagedModel(PasswordPolicy passwordPolicy)
043 throws PortalException {
044
045 PasswordPolicyLocalServiceUtil.deletePasswordPolicy(passwordPolicy);
046 }
047
048 @Override
049 public void deleteStagedModel(
050 String uuid, long groupId, String className, String extraData)
051 throws PortalException {
052
053 Group group = GroupLocalServiceUtil.getGroup(groupId);
054
055 PasswordPolicy passwordPolicy =
056 PasswordPolicyLocalServiceUtil.
057 fetchPasswordPolicyByUuidAndCompanyId(
058 uuid, group.getCompanyId());
059
060 if (passwordPolicy != null) {
061 deleteStagedModel(passwordPolicy);
062 }
063 }
064
065 @Override
066 public List<PasswordPolicy> fetchStagedModelsByUuidAndCompanyId(
067 String uuid, long companyId) {
068
069 List<PasswordPolicy> passwordPolicies = new ArrayList<>();
070
071 passwordPolicies.add(
072 PasswordPolicyLocalServiceUtil.
073 fetchPasswordPolicyByUuidAndCompanyId(uuid, companyId));
074
075 return passwordPolicies;
076 }
077
078 @Override
079 public String[] getClassNames() {
080 return CLASS_NAMES;
081 }
082
083 @Override
084 protected void doExportStagedModel(
085 PortletDataContext portletDataContext,
086 PasswordPolicy passwordPolicy)
087 throws Exception {
088
089 Element passwordPolicyElement = portletDataContext.getExportDataElement(
090 passwordPolicy);
091
092 portletDataContext.addClassedModel(
093 passwordPolicyElement,
094 ExportImportPathUtil.getModelPath(passwordPolicy), passwordPolicy);
095 }
096
097 @Override
098 protected void doImportStagedModel(
099 PortletDataContext portletDataContext,
100 PasswordPolicy passwordPolicy)
101 throws Exception {
102
103 long userId = portletDataContext.getUserId(
104 passwordPolicy.getUserUuid());
105
106 ServiceContext serviceContext = portletDataContext.createServiceContext(
107 passwordPolicy);
108
109 PasswordPolicy existingPasswordPolicy =
110 PasswordPolicyLocalServiceUtil.
111 fetchPasswordPolicyByUuidAndCompanyId(
112 passwordPolicy.getUuid(),
113 portletDataContext.getCompanyId());
114
115 if (existingPasswordPolicy == null) {
116 existingPasswordPolicy =
117 PasswordPolicyLocalServiceUtil.fetchPasswordPolicy(
118 portletDataContext.getCompanyId(),
119 passwordPolicy.getName());
120 }
121
122 PasswordPolicy importedPasswordPolicy = null;
123
124 if (existingPasswordPolicy == null) {
125 serviceContext.setUuid(passwordPolicy.getUuid());
126
127 importedPasswordPolicy =
128 PasswordPolicyLocalServiceUtil.addPasswordPolicy(
129 userId, passwordPolicy.isDefaultPolicy(),
130 passwordPolicy.getName(), passwordPolicy.getDescription(),
131 passwordPolicy.getChangeable(),
132 passwordPolicy.isChangeRequired(),
133 passwordPolicy.getMinAge(), passwordPolicy.getCheckSyntax(),
134 passwordPolicy.isAllowDictionaryWords(),
135 passwordPolicy.getMinAlphanumeric(),
136 passwordPolicy.getMinLength(),
137 passwordPolicy.getMinLowerCase(),
138 passwordPolicy.getMinNumbers(),
139 passwordPolicy.getMinSymbols(),
140 passwordPolicy.getMinUpperCase(), passwordPolicy.getRegex(),
141 passwordPolicy.isHistory(),
142 passwordPolicy.getHistoryCount(),
143 passwordPolicy.isExpireable(), passwordPolicy.getMaxAge(),
144 passwordPolicy.getWarningTime(),
145 passwordPolicy.getGraceLimit(), passwordPolicy.isLockout(),
146 passwordPolicy.getMaxFailure(),
147 passwordPolicy.getLockoutDuration(),
148 passwordPolicy.getResetFailureCount(),
149 passwordPolicy.getResetTicketMaxAge(), serviceContext);
150 }
151 else {
152 importedPasswordPolicy =
153 PasswordPolicyLocalServiceUtil.updatePasswordPolicy(
154 existingPasswordPolicy.getPasswordPolicyId(),
155 passwordPolicy.getName(), passwordPolicy.getDescription(),
156 passwordPolicy.isChangeable(),
157 passwordPolicy.isChangeRequired(),
158 passwordPolicy.getMinAge(), passwordPolicy.isCheckSyntax(),
159 passwordPolicy.isAllowDictionaryWords(),
160 passwordPolicy.getMinAlphanumeric(),
161 passwordPolicy.getMinLength(),
162 passwordPolicy.getMinLowerCase(),
163 passwordPolicy.getMinNumbers(),
164 passwordPolicy.getMinSymbols(),
165 passwordPolicy.getMinUpperCase(), passwordPolicy.getRegex(),
166 passwordPolicy.isHistory(),
167 passwordPolicy.getHistoryCount(),
168 passwordPolicy.isExpireable(), passwordPolicy.getMaxAge(),
169 passwordPolicy.getWarningTime(),
170 passwordPolicy.getGraceLimit(), passwordPolicy.isLockout(),
171 passwordPolicy.getMaxFailure(),
172 passwordPolicy.getLockoutDuration(),
173 passwordPolicy.getResetFailureCount(),
174 passwordPolicy.getResetTicketMaxAge(), serviceContext);
175 }
176
177 portletDataContext.importClassedModel(
178 passwordPolicy, importedPasswordPolicy);
179 }
180
181 }