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