コード例 #1
0
  /**
   * @param inRef
   * @param inDataMap
   * @return
   */
  public static Message createUpdateMessage(
      int inRef, ISTMEntry inEntry, boolean inFullUpdate, ISTMEntryKey inKey) {
    IPersistentMap<String, DataType<?>> dataMap = inEntry.getDataMap();

    UpdateMessage.Builder builder = UpdateMessage.newBuilder();
    builder.setReference(inRef);
    builder.setFullupdate(inFullUpdate);

    DataMap.Builder dataMapBuilder = DataMap.newBuilder();

    if (inFullUpdate) {
      parseMapValues(dataMap, dataMapBuilder);
    } else {
      parseDeltaMapValues(dataMap, inEntry.getDeltaSet(), dataMapBuilder);
    }

    builder.setData(dataMapBuilder.build());

    if (inKey != null) {
      DataKey dKey = createDataKey(inKey);
    }

    Message.Builder messBuilder = Message.newBuilder();
    try {
      messBuilder.setUpdateMessage(builder.build());
    } catch (Throwable t) {
      t.printStackTrace();
    }
    messBuilder.setType(Message.Type.UpdateMessage);

    return messBuilder.build();
  }