mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

pgamba
14.37.2009 5ec0cb08889c9f1a24fd4cc8b139dcdb942dd92a
opendj-sdk/opends/src/server/org/opends/server/replication/protocol/ECLUpdateMsg.java
@@ -45,18 +45,23 @@
  // 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;
  }
  /**
@@ -93,6 +98,12 @@
      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;
@@ -152,9 +163,10 @@
  public String toString()
  {
    return "ECLUpdateMsg:[" +
    "updateMsg: " + updateMsg +
    "cookie: " + cookie +
    "serviceId: " + serviceId + "]";
    " updateMsg: " + updateMsg +
    " cookie: " + cookie +
    " draftChangeNumber: " + draftChangeNumber +
    " serviceId: " + serviceId + "]";
  }
  /**
@@ -165,10 +177,13 @@
  {
    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];
@@ -183,9 +198,31 @@
    // 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;
  }
}