| | |
| | | // The value of the cookie updated with the current change |
| | | private MultiDomainServerState cookie; |
| | | |
| | | // The changenumber as specified by draft-good-ldap-changelog. |
| | | private int draftChangeNumber; |
| | | |
| | | /** |
| | | * Creates a new message. |
| | | * @param update The provided update. |
| | | * @param cookie The provided cookie value |
| | | * @param serviceId The provided serviceId. |
| | | * @param draftChangeNumber The provided draft change number. |
| | | */ |
| | | public ECLUpdateMsg(LDAPUpdateMsg update, MultiDomainServerState cookie, |
| | | String serviceId) |
| | | String serviceId, int draftChangeNumber) |
| | | { |
| | | this.cookie = cookie; |
| | | this.serviceId = serviceId; |
| | | this.updateMsg = update; |
| | | this.draftChangeNumber = draftChangeNumber; |
| | | } |
| | | |
| | | /** |
| | |
| | | this.serviceId = new String(in, pos, length, "UTF-8"); |
| | | pos += length + 1; |
| | | |
| | | // Decode the draft changeNumber |
| | | length = getNextLength(in, pos); |
| | | this.draftChangeNumber = Integer.valueOf( |
| | | new String(in, pos, length, "UTF-8")); |
| | | pos += length + 1; |
| | | |
| | | // Decode the msg |
| | | /* Read the mods : all the remaining bytes but the terminating 0 */ |
| | | length = in.length - pos - 1; |
| | |
| | | public String toString() |
| | | { |
| | | return "ECLUpdateMsg:[" + |
| | | "updateMsg: " + updateMsg + |
| | | "cookie: " + cookie + |
| | | "serviceId: " + serviceId + "]"; |
| | | " updateMsg: " + updateMsg + |
| | | " cookie: " + cookie + |
| | | " draftChangeNumber: " + draftChangeNumber + |
| | | " serviceId: " + serviceId + "]"; |
| | | } |
| | | |
| | | /** |
| | |
| | | { |
| | | byte[] byteCookie = String.valueOf(cookie).getBytes("UTF-8"); |
| | | byte[] byteServiceId = String.valueOf(serviceId).getBytes("UTF-8"); |
| | | byte[] byteDraftChangeNumber = |
| | | Integer.toString(draftChangeNumber).getBytes("UTF-8"); |
| | | byte[] byteUpdateMsg = updateMsg.getBytes(); |
| | | |
| | | int length = 1 + byteCookie.length + |
| | | 1 + byteServiceId.length + |
| | | 1 + byteDraftChangeNumber.length + |
| | | 1 + byteUpdateMsg.length + 1; |
| | | |
| | | byte[] resultByteArray = new byte[length]; |
| | |
| | | // Encode serviceid |
| | | pos = addByteArray(byteServiceId, resultByteArray, pos); |
| | | |
| | | /* Put the draftChangeNumber */ |
| | | pos = addByteArray(byteDraftChangeNumber, resultByteArray, pos); |
| | | |
| | | // Encode msg |
| | | pos = addByteArray(byteUpdateMsg, resultByteArray, pos); |
| | | |
| | | return resultByteArray; |
| | | } |
| | | |
| | | /** |
| | | * Setter for the draftChangeNumber of this change. |
| | | * @param draftChangeNumber the provided draftChangeNumber for this change. |
| | | */ |
| | | public void setDraftChangeNumber(int draftChangeNumber) |
| | | { |
| | | this.draftChangeNumber = draftChangeNumber; |
| | | } |
| | | |
| | | /** |
| | | * Getter for the draftChangeNumber of this change. |
| | | * @return the draftChangeNumber of this change. |
| | | */ |
| | | public int getDraftChangeNumber() |
| | | { |
| | | return this.draftChangeNumber; |
| | | } |
| | | |
| | | } |