1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.directory.ldap.client.template;
22
23
24 import org.apache.directory.api.ldap.extras.controls.ppolicy.PasswordPolicyErrorEnum;
25 import org.apache.directory.api.ldap.extras.controls.ppolicy.PasswordPolicyResponse;
26
27
28
29
30
31
32
33 final class PasswordWarningImpl implements PasswordWarning
34 {
35 private static final long serialVersionUID = -8952246313604352357L;
36
37 private int timeBeforeExpiration = -1;
38 private int graceAuthNsRemaining = -1;
39 private boolean changeAfterReset = false;
40
41
42 private PasswordWarningImpl()
43 {
44 }
45
46
47 static PasswordWarning newWarning( PasswordPolicyResponse response )
48 {
49 if ( response != null )
50 {
51 PasswordWarningImpl policyWarning = new PasswordWarningImpl();
52 policyWarning.timeBeforeExpiration = response.getTimeBeforeExpiration();
53 policyWarning.graceAuthNsRemaining = response.getGraceAuthNRemaining();
54 policyWarning.changeAfterReset = response.getPasswordPolicyError() == PasswordPolicyErrorEnum.CHANGE_AFTER_RESET;
55
56 if ( policyWarning.timeBeforeExpiration >= 0 || policyWarning.graceAuthNsRemaining >= 0
57 || policyWarning.changeAfterReset )
58 {
59
60 return policyWarning;
61 }
62 }
63 return null;
64 }
65
66
67
68
69
70 @Override
71 public int getTimeBeforeExpiration()
72 {
73 return timeBeforeExpiration;
74 }
75
76
77
78
79
80 @Override
81 public int getGraceAuthNsRemaining()
82 {
83 return graceAuthNsRemaining;
84 }
85
86
87
88
89
90 @Override
91 public boolean isChangeAfterReset()
92 {
93 return changeAfterReset;
94 }
95 }