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