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 }
072
073 @Override
074 protected void doImportStagedModel(
075 PortletDataContext portletDataContext,
076 PasswordPolicy passwordPolicy)
077 throws Exception {
078
079 long userId = portletDataContext.getUserId(
080 passwordPolicy.getUserUuid());
081
082 ServiceContext serviceContext = portletDataContext.createServiceContext(
083 passwordPolicy);
084
085 PasswordPolicy existingPasswordPolicy =
086 PasswordPolicyLocalServiceUtil.
087 fetchPasswordPolicyByUuidAndCompanyId(
088 passwordPolicy.getUuid(),
089 portletDataContext.getCompanyId());
090
091 if (existingPasswordPolicy == null) {
092 existingPasswordPolicy =
093 PasswordPolicyLocalServiceUtil.fetchPasswordPolicy(
094 portletDataContext.getCompanyId(),
095 passwordPolicy.getName());
096 }
097
098 PasswordPolicy importedPasswordPolicy = null;
099
100 if (existingPasswordPolicy == null) {
101 serviceContext.setUuid(passwordPolicy.getUuid());
102
103 importedPasswordPolicy =
104 PasswordPolicyLocalServiceUtil.addPasswordPolicy(
105 userId, passwordPolicy.isDefaultPolicy(),
106 passwordPolicy.getName(), passwordPolicy.getDescription(),
107 passwordPolicy.getChangeable(),
108 passwordPolicy.isChangeRequired(),
109 passwordPolicy.getMinAge(), passwordPolicy.getCheckSyntax(),
110 passwordPolicy.isAllowDictionaryWords(),
111 passwordPolicy.getMinAlphanumeric(),
112 passwordPolicy.getMinLength(),
113 passwordPolicy.getMinLowerCase(),
114 passwordPolicy.getMinNumbers(),
115 passwordPolicy.getMinSymbols(),
116 passwordPolicy.getMinUpperCase(), passwordPolicy.getRegex(),
117 passwordPolicy.isHistory(),
118 passwordPolicy.getHistoryCount(),
119 passwordPolicy.isExpireable(), passwordPolicy.getMaxAge(),
120 passwordPolicy.getWarningTime(),
121 passwordPolicy.getGraceLimit(), passwordPolicy.isLockout(),
122 passwordPolicy.getMaxFailure(),
123 passwordPolicy.getLockoutDuration(),
124 passwordPolicy.getResetFailureCount(),
125 passwordPolicy.getResetTicketMaxAge(), serviceContext);
126 }
127 else {
128 importedPasswordPolicy =
129 PasswordPolicyLocalServiceUtil.updatePasswordPolicy(
130 existingPasswordPolicy.getPasswordPolicyId(),
131 passwordPolicy.getName(), passwordPolicy.getDescription(),
132 passwordPolicy.isChangeable(),
133 passwordPolicy.isChangeRequired(),
134 passwordPolicy.getMinAge(), passwordPolicy.isCheckSyntax(),
135 passwordPolicy.isAllowDictionaryWords(),
136 passwordPolicy.getMinAlphanumeric(),
137 passwordPolicy.getMinLength(),
138 passwordPolicy.getMinLowerCase(),
139 passwordPolicy.getMinNumbers(),
140 passwordPolicy.getMinSymbols(),
141 passwordPolicy.getMinUpperCase(), passwordPolicy.getRegex(),
142 passwordPolicy.isHistory(),
143 passwordPolicy.getHistoryCount(),
144 passwordPolicy.isExpireable(), passwordPolicy.getMaxAge(),
145 passwordPolicy.getWarningTime(),
146 passwordPolicy.getGraceLimit(), passwordPolicy.isLockout(),
147 passwordPolicy.getMaxFailure(),
148 passwordPolicy.getLockoutDuration(),
149 passwordPolicy.getResetFailureCount(),
150 passwordPolicy.getResetTicketMaxAge(), serviceContext);
151 }
152
153 portletDataContext.importClassedModel(
154 passwordPolicy, importedPasswordPolicy);
155 }
156
157 }