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.server.changepw.io;
22
23
24 import java.io.IOException;
25 import java.nio.ByteBuffer;
26
27 import org.apache.directory.server.changepw.messages.ChangePasswordError;
28 import org.apache.directory.server.kerberos.shared.io.encoder.ErrorMessageEncoder;
29 import org.apache.directory.server.kerberos.shared.messages.ErrorMessage;
30
31
32
33
34
35
36 public class ChangePasswordErrorEncoder
37 {
38 private static final int HEADER_LENGTH = 6;
39
40
41
42
43
44
45
46
47
48 public void encode( ByteBuffer buf, ChangePasswordError message ) throws IOException
49 {
50
51 ErrorMessage errorMessage = message.getErrorMessage();
52 ErrorMessageEncoder errorEncoder = new ErrorMessageEncoder();
53 byte[] errorBytes = errorEncoder.encode( errorMessage );
54
55 short messageLength = ( short ) ( HEADER_LENGTH + errorBytes.length );
56 buf.putShort( messageLength );
57
58 short protocolVersion = 1;
59 buf.putShort( protocolVersion );
60
61 short zeroIndicatesError = 0;
62 buf.putShort( zeroIndicatesError );
63
64 buf.put( errorBytes );
65 }
66 }