1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.directory.api.ldap.extras.extended.endTransaction;
21
22
23 import java.util.ArrayList;
24 import java.util.List;
25
26 import org.apache.directory.api.ldap.model.message.AbstractExtendedResponse;
27 import org.apache.directory.api.ldap.model.message.ResultCodeEnum;
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 public class EndTransactionResponseImpl extends AbstractExtendedResponse implements EndTransactionResponse
58 {
59
60 private int failedMessageId = -1;
61
62
63 private List<UpdateControls> updateControls = new ArrayList<>();
64
65
66
67
68
69
70
71 public EndTransactionResponseImpl( int failedMessageId, ResultCodeEnum resultCode )
72 {
73 super( failedMessageId );
74
75 if ( resultCode == ResultCodeEnum.SUCCESS )
76 {
77 this.failedMessageId = -1;
78 }
79 else
80 {
81 this.failedMessageId = failedMessageId;
82 }
83
84 super.getLdapResult().setMatchedDn( null );
85 super.getLdapResult().setResultCode( resultCode );
86 }
87
88
89
90
91
92
93
94 public EndTransactionResponseImpl( int messageId )
95 {
96 super( messageId );
97 super.getLdapResult().setMatchedDn( null );
98 super.getLdapResult().setResultCode( ResultCodeEnum.SUCCESS );
99 }
100
101
102
103
104
105 public EndTransactionResponseImpl()
106 {
107 super( EndTransactionRequest.EXTENSION_OID );
108 super.getLdapResult().setMatchedDn( null );
109 super.getLdapResult().setResultCode( ResultCodeEnum.SUCCESS );
110 }
111
112
113
114
115
116 @Override
117 public int getFailedMessageId()
118 {
119 return failedMessageId;
120 }
121
122
123
124
125
126 @Override
127 public void setFailedMessageId( int failedMessageId )
128 {
129 this.failedMessageId = failedMessageId;
130 }
131
132
133
134
135 @Override
136 public List<UpdateControls> getUpdateControls()
137 {
138 return updateControls;
139 }
140
141
142
143
144
145 public void setUpdateControls( List<UpdateControls> updateControls )
146 {
147 this.updateControls = updateControls;
148 }
149
150
151
152
153
154 @Override
155 public int hashCode()
156 {
157 int hash = 37;
158
159 hash = hash * 17 + failedMessageId;
160
161 for ( UpdateControls updateControl : updateControls )
162 {
163 hash = hash * 17 + updateControl.hashCode();
164 }
165
166 return hash;
167 }
168
169
170
171
172
173 @Override
174 public boolean equals( Object obj )
175 {
176 if ( obj == this )
177 {
178 return true;
179 }
180
181 if ( !( obj instanceof EndTransactionResponse ) )
182 {
183 return false;
184 }
185
186 EndTransactionResponse that = ( EndTransactionResponse ) obj;
187
188 if ( failedMessageId != that.getFailedMessageId() )
189 {
190 return false;
191 }
192
193 for ( UpdateControls updateControl : updateControls )
194 {
195 if ( !that.getUpdateControls().contains( updateControl ) )
196 {
197 return false;
198 }
199 }
200
201 return true;
202 }
203 }