AE86 преди 2 години
родител
ревизия
57ec8b7759

+ 2 - 2
dbsyncer-parser/src/main/java/org/dbsyncer/parser/strategy/impl/DisableWriterBufferActuatorStrategy.java

@@ -14,8 +14,8 @@ import org.dbsyncer.parser.strategy.ParserStrategy;
 import org.dbsyncer.parser.util.ConvertUtil;
 import org.dbsyncer.plugin.PluginFactory;
 import org.dbsyncer.storage.binlog.AbstractBinlogRecorder;
+import org.dbsyncer.storage.binlog.proto.BinlogMap;
 import org.dbsyncer.storage.binlog.proto.BinlogMessage;
-import org.dbsyncer.storage.binlog.proto.Data;
 import org.dbsyncer.storage.binlog.proto.EventEnum;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -48,7 +48,7 @@ public final class DisableWriterBufferActuatorStrategy extends AbstractBinlogRec
                     .setEvent(eventEnum);
             data.forEach((k, v) -> {
                 if (null != v && v instanceof String) {
-                    builder.addData(Data.newBuilder().putRow(k, ByteString.copyFromUtf8((String) v)));
+                    builder.setData(BinlogMap.newBuilder().putRow(k, ByteString.copyFromUtf8((String) v)));
                 }
             });
             flush(builder.build());

+ 782 - 0
dbsyncer-storage/src/main/java/org/dbsyncer/storage/binlog/proto/BinlogMap.java

@@ -0,0 +1,782 @@
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+// source: BinlogMessageProto.proto
+
+package org.dbsyncer.storage.binlog.proto;
+
+/**
+ * Protobuf type {@code BinlogMap}
+ */
+public final class BinlogMap extends
+        com.google.protobuf.GeneratedMessageV3 implements
+        // @@protoc_insertion_point(message_implements:BinlogMap)
+        BinlogMapOrBuilder {
+  private static final long serialVersionUID = 0L;
+
+  // Use BinlogMap.newBuilder() to construct.
+  private BinlogMap(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+    super(builder);
+  }
+
+  private BinlogMap() {
+  }
+
+  @Override
+  @SuppressWarnings({"unused"})
+  protected Object newInstance(
+          UnusedPrivateParameter unused) {
+    return new BinlogMap();
+  }
+
+  @Override
+  public final com.google.protobuf.UnknownFieldSet
+  getUnknownFields() {
+    return this.unknownFields;
+  }
+
+  private BinlogMap(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+    this();
+    if (extensionRegistry == null) {
+      throw new NullPointerException();
+    }
+    int mutable_bitField0_ = 0;
+    com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+            com.google.protobuf.UnknownFieldSet.newBuilder();
+    try {
+      boolean done = false;
+      while (!done) {
+        int tag = input.readTag();
+        switch (tag) {
+          case 0:
+            done = true;
+            break;
+          case 10: {
+            if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+              row_ = com.google.protobuf.MapField.newMapField(
+                      RowDefaultEntryHolder.defaultEntry);
+              mutable_bitField0_ |= 0x00000001;
+            }
+            com.google.protobuf.MapEntry<String, com.google.protobuf.ByteString>
+                    row__ = input.readMessage(
+                    RowDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
+            row_.getMutableMap().put(
+                    row__.getKey(), row__.getValue());
+            break;
+          }
+          default: {
+            if (!parseUnknownField(
+                    input, unknownFields, extensionRegistry, tag)) {
+              done = true;
+            }
+            break;
+          }
+        }
+      }
+    } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+      throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
+    } catch (java.io.IOException e) {
+      throw new com.google.protobuf.InvalidProtocolBufferException(
+              e).setUnfinishedMessage(this);
+    } finally {
+      this.unknownFields = unknownFields.build();
+      makeExtensionsImmutable();
+    }
+  }
+
+  public static final com.google.protobuf.Descriptors.Descriptor
+  getDescriptor() {
+    return BinlogMessageProto.internal_static_BinlogMap_descriptor;
+  }
+
+  @SuppressWarnings({"rawtypes"})
+  @Override
+  protected com.google.protobuf.MapField internalGetMapField(
+          int number) {
+    switch (number) {
+      case 1:
+        return internalGetRow();
+      default:
+        throw new RuntimeException(
+                "Invalid map field number: " + number);
+    }
+  }
+
+  @Override
+  protected FieldAccessorTable
+  internalGetFieldAccessorTable() {
+    return BinlogMessageProto.internal_static_BinlogMap_fieldAccessorTable
+            .ensureFieldAccessorsInitialized(
+                    BinlogMap.class, Builder.class);
+  }
+
+  public static final int ROW_FIELD_NUMBER = 1;
+
+  private static final class RowDefaultEntryHolder {
+    static final com.google.protobuf.MapEntry<
+            String, com.google.protobuf.ByteString> defaultEntry =
+            com.google.protobuf.MapEntry
+                    .<String, com.google.protobuf.ByteString>newDefaultInstance(
+                            BinlogMessageProto.internal_static_BinlogMap_RowEntry_descriptor,
+                            com.google.protobuf.WireFormat.FieldType.STRING,
+                            "",
+                            com.google.protobuf.WireFormat.FieldType.BYTES,
+                            com.google.protobuf.ByteString.EMPTY);
+  }
+
+  private com.google.protobuf.MapField<
+          String, com.google.protobuf.ByteString> row_;
+
+  private com.google.protobuf.MapField<String, com.google.protobuf.ByteString>
+  internalGetRow() {
+    if (row_ == null) {
+      return com.google.protobuf.MapField.emptyMapField(
+              RowDefaultEntryHolder.defaultEntry);
+    }
+    return row_;
+  }
+
+  public int getRowCount() {
+    return internalGetRow().getMap().size();
+  }
+
+  /**
+   * <code>map&lt;string, bytes&gt; row = 1;</code>
+   */
+
+  @Override
+  public boolean containsRow(
+          String key) {
+    if (key == null) {
+      throw new NullPointerException("map key");
+    }
+    return internalGetRow().getMap().containsKey(key);
+  }
+
+  /**
+   * Use {@link #getRowMap()} instead.
+   */
+  @Override
+  @Deprecated
+  public java.util.Map<String, com.google.protobuf.ByteString> getRow() {
+    return getRowMap();
+  }
+
+  /**
+   * <code>map&lt;string, bytes&gt; row = 1;</code>
+   */
+  @Override
+
+  public java.util.Map<String, com.google.protobuf.ByteString> getRowMap() {
+    return internalGetRow().getMap();
+  }
+
+  /**
+   * <code>map&lt;string, bytes&gt; row = 1;</code>
+   */
+  @Override
+
+  public com.google.protobuf.ByteString getRowOrDefault(
+          String key,
+          com.google.protobuf.ByteString defaultValue) {
+    if (key == null) {
+      throw new NullPointerException("map key");
+    }
+    java.util.Map<String, com.google.protobuf.ByteString> map =
+            internalGetRow().getMap();
+    return map.containsKey(key) ? map.get(key) : defaultValue;
+  }
+
+  /**
+   * <code>map&lt;string, bytes&gt; row = 1;</code>
+   */
+  @Override
+
+  public com.google.protobuf.ByteString getRowOrThrow(
+          String key) {
+    if (key == null) {
+      throw new NullPointerException("map key");
+    }
+    java.util.Map<String, com.google.protobuf.ByteString> map =
+            internalGetRow().getMap();
+    if (!map.containsKey(key)) {
+      throw new IllegalArgumentException();
+    }
+    return map.get(key);
+  }
+
+  private byte memoizedIsInitialized = -1;
+
+  @Override
+  public final boolean isInitialized() {
+    byte isInitialized = memoizedIsInitialized;
+    if (isInitialized == 1) return true;
+    if (isInitialized == 0) return false;
+
+    memoizedIsInitialized = 1;
+    return true;
+  }
+
+  @Override
+  public void writeTo(com.google.protobuf.CodedOutputStream output)
+          throws java.io.IOException {
+    com.google.protobuf.GeneratedMessageV3
+            .serializeStringMapTo(
+                    output,
+                    internalGetRow(),
+                    RowDefaultEntryHolder.defaultEntry,
+                    1);
+    unknownFields.writeTo(output);
+  }
+
+  @Override
+  public int getSerializedSize() {
+    int size = memoizedSize;
+    if (size != -1) return size;
+
+    size = 0;
+    for (java.util.Map.Entry<String, com.google.protobuf.ByteString> entry
+            : internalGetRow().getMap().entrySet()) {
+      com.google.protobuf.MapEntry<String, com.google.protobuf.ByteString>
+              row__ = RowDefaultEntryHolder.defaultEntry.newBuilderForType()
+              .setKey(entry.getKey())
+              .setValue(entry.getValue())
+              .build();
+      size += com.google.protobuf.CodedOutputStream
+              .computeMessageSize(1, row__);
+    }
+    size += unknownFields.getSerializedSize();
+    memoizedSize = size;
+    return size;
+  }
+
+  @Override
+  public boolean equals(final Object obj) {
+    if (obj == this) {
+      return true;
+    }
+    if (!(obj instanceof BinlogMap)) {
+      return super.equals(obj);
+    }
+    BinlogMap other = (BinlogMap) obj;
+
+    if (!internalGetRow().equals(
+            other.internalGetRow())) return false;
+    if (!unknownFields.equals(other.unknownFields)) return false;
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    if (memoizedHashCode != 0) {
+      return memoizedHashCode;
+    }
+    int hash = 41;
+    hash = (19 * hash) + getDescriptor().hashCode();
+    if (!internalGetRow().getMap().isEmpty()) {
+      hash = (37 * hash) + ROW_FIELD_NUMBER;
+      hash = (53 * hash) + internalGetRow().hashCode();
+    }
+    hash = (29 * hash) + unknownFields.hashCode();
+    memoizedHashCode = hash;
+    return hash;
+  }
+
+  public static BinlogMap parseFrom(
+          java.nio.ByteBuffer data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+    return PARSER.parseFrom(data);
+  }
+
+  public static BinlogMap parseFrom(
+          java.nio.ByteBuffer data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+    return PARSER.parseFrom(data, extensionRegistry);
+  }
+
+  public static BinlogMap parseFrom(
+          com.google.protobuf.ByteString data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+    return PARSER.parseFrom(data);
+  }
+
+  public static BinlogMap parseFrom(
+          com.google.protobuf.ByteString data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+    return PARSER.parseFrom(data, extensionRegistry);
+  }
+
+  public static BinlogMap parseFrom(byte[] data)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+    return PARSER.parseFrom(data);
+  }
+
+  public static BinlogMap parseFrom(
+          byte[] data,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+    return PARSER.parseFrom(data, extensionRegistry);
+  }
+
+  public static BinlogMap parseFrom(java.io.InputStream input)
+          throws java.io.IOException {
+    return com.google.protobuf.GeneratedMessageV3
+            .parseWithIOException(PARSER, input);
+  }
+
+  public static BinlogMap parseFrom(
+          java.io.InputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+    return com.google.protobuf.GeneratedMessageV3
+            .parseWithIOException(PARSER, input, extensionRegistry);
+  }
+
+  public static BinlogMap parseDelimitedFrom(java.io.InputStream input)
+          throws java.io.IOException {
+    return com.google.protobuf.GeneratedMessageV3
+            .parseDelimitedWithIOException(PARSER, input);
+  }
+
+  public static BinlogMap parseDelimitedFrom(
+          java.io.InputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+    return com.google.protobuf.GeneratedMessageV3
+            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+  }
+
+  public static BinlogMap parseFrom(
+          com.google.protobuf.CodedInputStream input)
+          throws java.io.IOException {
+    return com.google.protobuf.GeneratedMessageV3
+            .parseWithIOException(PARSER, input);
+  }
+
+  public static BinlogMap parseFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+    return com.google.protobuf.GeneratedMessageV3
+            .parseWithIOException(PARSER, input, extensionRegistry);
+  }
+
+  @Override
+  public Builder newBuilderForType() {
+    return newBuilder();
+  }
+
+  public static Builder newBuilder() {
+    return DEFAULT_INSTANCE.toBuilder();
+  }
+
+  public static Builder newBuilder(BinlogMap prototype) {
+    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+  }
+
+  @Override
+  public Builder toBuilder() {
+    return this == DEFAULT_INSTANCE
+            ? new Builder() : new Builder().mergeFrom(this);
+  }
+
+  @Override
+  protected Builder newBuilderForType(
+          BuilderParent parent) {
+    Builder builder = new Builder(parent);
+    return builder;
+  }
+
+  /**
+   * Protobuf type {@code BinlogMap}
+   */
+  public static final class Builder extends
+          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+          // @@protoc_insertion_point(builder_implements:BinlogMap)
+          BinlogMapOrBuilder {
+    public static final com.google.protobuf.Descriptors.Descriptor
+    getDescriptor() {
+      return BinlogMessageProto.internal_static_BinlogMap_descriptor;
+    }
+
+    @SuppressWarnings({"rawtypes"})
+    protected com.google.protobuf.MapField internalGetMapField(
+            int number) {
+      switch (number) {
+        case 1:
+          return internalGetRow();
+        default:
+          throw new RuntimeException(
+                  "Invalid map field number: " + number);
+      }
+    }
+
+    @SuppressWarnings({"rawtypes"})
+    protected com.google.protobuf.MapField internalGetMutableMapField(
+            int number) {
+      switch (number) {
+        case 1:
+          return internalGetMutableRow();
+        default:
+          throw new RuntimeException(
+                  "Invalid map field number: " + number);
+      }
+    }
+
+    @Override
+    protected FieldAccessorTable
+    internalGetFieldAccessorTable() {
+      return BinlogMessageProto.internal_static_BinlogMap_fieldAccessorTable
+              .ensureFieldAccessorsInitialized(
+                      BinlogMap.class, Builder.class);
+    }
+
+    // Construct using org.dbsyncer.storage.binlog.proto.BinlogMap.newBuilder()
+    private Builder() {
+      maybeForceBuilderInitialization();
+    }
+
+    private Builder(
+            BuilderParent parent) {
+      super(parent);
+      maybeForceBuilderInitialization();
+    }
+
+    private void maybeForceBuilderInitialization() {
+      if (com.google.protobuf.GeneratedMessageV3
+              .alwaysUseFieldBuilders) {
+      }
+    }
+
+    @Override
+    public Builder clear() {
+      super.clear();
+      internalGetMutableRow().clear();
+      return this;
+    }
+
+    @Override
+    public com.google.protobuf.Descriptors.Descriptor
+    getDescriptorForType() {
+      return BinlogMessageProto.internal_static_BinlogMap_descriptor;
+    }
+
+    @Override
+    public BinlogMap getDefaultInstanceForType() {
+      return BinlogMap.getDefaultInstance();
+    }
+
+    @Override
+    public BinlogMap build() {
+      BinlogMap result = buildPartial();
+      if (!result.isInitialized()) {
+        throw newUninitializedMessageException(result);
+      }
+      return result;
+    }
+
+    @Override
+    public BinlogMap buildPartial() {
+      BinlogMap result = new BinlogMap(this);
+      int from_bitField0_ = bitField0_;
+      result.row_ = internalGetRow();
+      result.row_.makeImmutable();
+      onBuilt();
+      return result;
+    }
+
+    @Override
+    public Builder clone() {
+      return super.clone();
+    }
+
+    @Override
+    public Builder setField(
+            com.google.protobuf.Descriptors.FieldDescriptor field,
+            Object value) {
+      return super.setField(field, value);
+    }
+
+    @Override
+    public Builder clearField(
+            com.google.protobuf.Descriptors.FieldDescriptor field) {
+      return super.clearField(field);
+    }
+
+    @Override
+    public Builder clearOneof(
+            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+      return super.clearOneof(oneof);
+    }
+
+    @Override
+    public Builder setRepeatedField(
+            com.google.protobuf.Descriptors.FieldDescriptor field,
+            int index, Object value) {
+      return super.setRepeatedField(field, index, value);
+    }
+
+    @Override
+    public Builder addRepeatedField(
+            com.google.protobuf.Descriptors.FieldDescriptor field,
+            Object value) {
+      return super.addRepeatedField(field, value);
+    }
+
+    @Override
+    public Builder mergeFrom(com.google.protobuf.Message other) {
+      if (other instanceof BinlogMap) {
+        return mergeFrom((BinlogMap) other);
+      } else {
+        super.mergeFrom(other);
+        return this;
+      }
+    }
+
+    public Builder mergeFrom(BinlogMap other) {
+      if (other == BinlogMap.getDefaultInstance()) return this;
+      internalGetMutableRow().mergeFrom(
+              other.internalGetRow());
+      this.mergeUnknownFields(other.unknownFields);
+      onChanged();
+      return this;
+    }
+
+    @Override
+    public final boolean isInitialized() {
+      return true;
+    }
+
+    @Override
+    public Builder mergeFrom(
+            com.google.protobuf.CodedInputStream input,
+            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+            throws java.io.IOException {
+      BinlogMap parsedMessage = null;
+      try {
+        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        parsedMessage = (BinlogMap) e.getUnfinishedMessage();
+        throw e.unwrapIOException();
+      } finally {
+        if (parsedMessage != null) {
+          mergeFrom(parsedMessage);
+        }
+      }
+      return this;
+    }
+
+    private int bitField0_;
+
+    private com.google.protobuf.MapField<
+            String, com.google.protobuf.ByteString> row_;
+
+    private com.google.protobuf.MapField<String, com.google.protobuf.ByteString>
+    internalGetRow() {
+      if (row_ == null) {
+        return com.google.protobuf.MapField.emptyMapField(
+                RowDefaultEntryHolder.defaultEntry);
+      }
+      return row_;
+    }
+
+    private com.google.protobuf.MapField<String, com.google.protobuf.ByteString>
+    internalGetMutableRow() {
+      onChanged();
+      ;
+      if (row_ == null) {
+        row_ = com.google.protobuf.MapField.newMapField(
+                RowDefaultEntryHolder.defaultEntry);
+      }
+      if (!row_.isMutable()) {
+        row_ = row_.copy();
+      }
+      return row_;
+    }
+
+    public int getRowCount() {
+      return internalGetRow().getMap().size();
+    }
+
+    /**
+     * <code>map&lt;string, bytes&gt; row = 1;</code>
+     */
+
+    @Override
+    public boolean containsRow(
+            String key) {
+      if (key == null) {
+        throw new NullPointerException("map key");
+      }
+      return internalGetRow().getMap().containsKey(key);
+    }
+
+    /**
+     * Use {@link #getRowMap()} instead.
+     */
+    @Override
+    @Deprecated
+    public java.util.Map<String, com.google.protobuf.ByteString> getRow() {
+      return getRowMap();
+    }
+
+    /**
+     * <code>map&lt;string, bytes&gt; row = 1;</code>
+     */
+    @Override
+
+    public java.util.Map<String, com.google.protobuf.ByteString> getRowMap() {
+      return internalGetRow().getMap();
+    }
+
+    /**
+     * <code>map&lt;string, bytes&gt; row = 1;</code>
+     */
+    @Override
+
+    public com.google.protobuf.ByteString getRowOrDefault(
+            String key,
+            com.google.protobuf.ByteString defaultValue) {
+      if (key == null) {
+        throw new NullPointerException("map key");
+      }
+      java.util.Map<String, com.google.protobuf.ByteString> map =
+              internalGetRow().getMap();
+      return map.containsKey(key) ? map.get(key) : defaultValue;
+    }
+
+    /**
+     * <code>map&lt;string, bytes&gt; row = 1;</code>
+     */
+    @Override
+
+    public com.google.protobuf.ByteString getRowOrThrow(
+            String key) {
+      if (key == null) {
+        throw new NullPointerException("map key");
+      }
+      java.util.Map<String, com.google.protobuf.ByteString> map =
+              internalGetRow().getMap();
+      if (!map.containsKey(key)) {
+        throw new IllegalArgumentException();
+      }
+      return map.get(key);
+    }
+
+    public Builder clearRow() {
+      internalGetMutableRow().getMutableMap()
+              .clear();
+      return this;
+    }
+
+    /**
+     * <code>map&lt;string, bytes&gt; row = 1;</code>
+     */
+
+    public Builder removeRow(
+            String key) {
+      if (key == null) {
+        throw new NullPointerException("map key");
+      }
+      internalGetMutableRow().getMutableMap()
+              .remove(key);
+      return this;
+    }
+
+    /**
+     * Use alternate mutation accessors instead.
+     */
+    @Deprecated
+    public java.util.Map<String, com.google.protobuf.ByteString>
+    getMutableRow() {
+      return internalGetMutableRow().getMutableMap();
+    }
+
+    /**
+     * <code>map&lt;string, bytes&gt; row = 1;</code>
+     */
+    public Builder putRow(
+            String key,
+            com.google.protobuf.ByteString value) {
+      if (key == null) {
+        throw new NullPointerException("map key");
+      }
+      if (value == null) {
+        throw new NullPointerException("map value");
+      }
+
+      internalGetMutableRow().getMutableMap()
+              .put(key, value);
+      return this;
+    }
+
+    /**
+     * <code>map&lt;string, bytes&gt; row = 1;</code>
+     */
+
+    public Builder putAllRow(
+            java.util.Map<String, com.google.protobuf.ByteString> values) {
+      internalGetMutableRow().getMutableMap()
+              .putAll(values);
+      return this;
+    }
+
+    @Override
+    public final Builder setUnknownFields(
+            final com.google.protobuf.UnknownFieldSet unknownFields) {
+      return super.setUnknownFields(unknownFields);
+    }
+
+    @Override
+    public final Builder mergeUnknownFields(
+            final com.google.protobuf.UnknownFieldSet unknownFields) {
+      return super.mergeUnknownFields(unknownFields);
+    }
+
+
+    // @@protoc_insertion_point(builder_scope:BinlogMap)
+  }
+
+  // @@protoc_insertion_point(class_scope:BinlogMap)
+  private static final BinlogMap DEFAULT_INSTANCE;
+
+  static {
+    DEFAULT_INSTANCE = new BinlogMap();
+  }
+
+  public static BinlogMap getDefaultInstance() {
+    return DEFAULT_INSTANCE;
+  }
+
+  private static final com.google.protobuf.Parser<BinlogMap>
+          PARSER = new com.google.protobuf.AbstractParser<BinlogMap>() {
+    @Override
+    public BinlogMap parsePartialFrom(
+            com.google.protobuf.CodedInputStream input,
+            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+            throws com.google.protobuf.InvalidProtocolBufferException {
+      return new BinlogMap(input, extensionRegistry);
+    }
+  };
+
+  public static com.google.protobuf.Parser<BinlogMap> parser() {
+    return PARSER;
+  }
+
+  @Override
+  public com.google.protobuf.Parser<BinlogMap> getParserForType() {
+    return PARSER;
+  }
+
+  @Override
+  public BinlogMap getDefaultInstanceForType() {
+    return DEFAULT_INSTANCE;
+  }
+
+}
+

+ 50 - 0
dbsyncer-storage/src/main/java/org/dbsyncer/storage/binlog/proto/BinlogMapOrBuilder.java

@@ -0,0 +1,50 @@
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+// source: BinlogMessageProto.proto
+
+package org.dbsyncer.storage.binlog.proto;
+
+public interface BinlogMapOrBuilder extends
+        // @@protoc_insertion_point(interface_extends:BinlogMap)
+        com.google.protobuf.MessageOrBuilder {
+
+  /**
+   * <code>map&lt;string, bytes&gt; row = 1;</code>
+   */
+  int getRowCount();
+
+  /**
+   * <code>map&lt;string, bytes&gt; row = 1;</code>
+   */
+  boolean containsRow(
+          String key);
+
+  /**
+   * Use {@link #getRowMap()} instead.
+   */
+  @Deprecated
+  java.util.Map<String, com.google.protobuf.ByteString>
+  getRow();
+
+  /**
+   * <code>map&lt;string, bytes&gt; row = 1;</code>
+   */
+  java.util.Map<String, com.google.protobuf.ByteString>
+  getRowMap();
+
+  /**
+   * <code>map&lt;string, bytes&gt; row = 1;</code>
+   */
+
+  /* nullable */
+  com.google.protobuf.ByteString getRowOrDefault(
+          String key,
+          /* nullable */
+          com.google.protobuf.ByteString defaultValue);
+
+  /**
+   * <code>map&lt;string, bytes&gt; row = 1;</code>
+   */
+
+  com.google.protobuf.ByteString getRowOrThrow(
+          String key);
+}

Файловите разлики са ограничени, защото са твърде много
+ 577 - 748
dbsyncer-storage/src/main/java/org/dbsyncer/storage/binlog/proto/BinlogMessage.java


+ 47 - 56
dbsyncer-storage/src/main/java/org/dbsyncer/storage/binlog/proto/BinlogMessageOrBuilder.java

@@ -7,60 +7,51 @@ public interface BinlogMessageOrBuilder extends
         // @@protoc_insertion_point(interface_extends:BinlogMessage)
         com.google.protobuf.MessageOrBuilder {
 
-    /**
-     * <code>string table_group_id = 1;</code>
-     *
-     * @return The tableGroupId.
-     */
-    java.lang.String getTableGroupId();
-
-    /**
-     * <code>string table_group_id = 1;</code>
-     *
-     * @return The bytes for tableGroupId.
-     */
-    com.google.protobuf.ByteString
-    getTableGroupIdBytes();
-
-    /**
-     * <code>.EventEnum event = 2;</code>
-     *
-     * @return The enum numeric value on the wire for event.
-     */
-    int getEventValue();
-
-    /**
-     * <code>.EventEnum event = 2;</code>
-     *
-     * @return The event.
-     */
-    org.dbsyncer.storage.binlog.proto.EventEnum getEvent();
-
-    /**
-     * <code>repeated .Data data = 3;</code>
-     */
-    java.util.List<org.dbsyncer.storage.binlog.proto.Data>
-    getDataList();
-
-    /**
-     * <code>repeated .Data data = 3;</code>
-     */
-    org.dbsyncer.storage.binlog.proto.Data getData(int index);
-
-    /**
-     * <code>repeated .Data data = 3;</code>
-     */
-    int getDataCount();
-
-    /**
-     * <code>repeated .Data data = 3;</code>
-     */
-    java.util.List<? extends org.dbsyncer.storage.binlog.proto.DataOrBuilder>
-    getDataOrBuilderList();
-
-    /**
-     * <code>repeated .Data data = 3;</code>
-     */
-    org.dbsyncer.storage.binlog.proto.DataOrBuilder getDataOrBuilder(
-            int index);
+  /**
+   * <code>string table_group_id = 1;</code>
+   *
+   * @return The tableGroupId.
+   */
+  String getTableGroupId();
+
+  /**
+   * <code>string table_group_id = 1;</code>
+   *
+   * @return The bytes for tableGroupId.
+   */
+  com.google.protobuf.ByteString
+  getTableGroupIdBytes();
+
+  /**
+   * <code>.EventEnum event = 2;</code>
+   *
+   * @return The enum numeric value on the wire for event.
+   */
+  int getEventValue();
+
+  /**
+   * <code>.EventEnum event = 2;</code>
+   *
+   * @return The event.
+   */
+  EventEnum getEvent();
+
+  /**
+   * <code>.BinlogMap data = 3;</code>
+   *
+   * @return Whether the data field is set.
+   */
+  boolean hasData();
+
+  /**
+   * <code>.BinlogMap data = 3;</code>
+   *
+   * @return The data.
+   */
+  BinlogMap getData();
+
+  /**
+   * <code>.BinlogMap data = 3;</code>
+   */
+  BinlogMapOrBuilder getDataOrBuilder();
 }

+ 67 - 66
dbsyncer-storage/src/main/java/org/dbsyncer/storage/binlog/proto/BinlogMessageProto.java

@@ -4,77 +4,78 @@
 package org.dbsyncer.storage.binlog.proto;
 
 public final class BinlogMessageProto {
-    private BinlogMessageProto() {
-    }
+  private BinlogMessageProto() {
+  }
 
-    public static void registerAllExtensions(
-            com.google.protobuf.ExtensionRegistryLite registry) {
-    }
+  public static void registerAllExtensions(
+          com.google.protobuf.ExtensionRegistryLite registry) {
+  }
 
-    public static void registerAllExtensions(
-            com.google.protobuf.ExtensionRegistry registry) {
-        registerAllExtensions(
-                (com.google.protobuf.ExtensionRegistryLite) registry);
-    }
+  public static void registerAllExtensions(
+          com.google.protobuf.ExtensionRegistry registry) {
+    registerAllExtensions(
+            (com.google.protobuf.ExtensionRegistryLite) registry);
+  }
 
-    static final com.google.protobuf.Descriptors.Descriptor
-            internal_static_BinlogMessage_descriptor;
-    static final
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-            internal_static_BinlogMessage_fieldAccessorTable;
-    static final com.google.protobuf.Descriptors.Descriptor
-            internal_static_Data_descriptor;
-    static final
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-            internal_static_Data_fieldAccessorTable;
-    static final com.google.protobuf.Descriptors.Descriptor
-            internal_static_Data_RowEntry_descriptor;
-    static final
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-            internal_static_Data_RowEntry_fieldAccessorTable;
+  static final com.google.protobuf.Descriptors.Descriptor
+          internal_static_BinlogMessage_descriptor;
+  static final
+  com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+          internal_static_BinlogMessage_fieldAccessorTable;
+  static final com.google.protobuf.Descriptors.Descriptor
+          internal_static_BinlogMap_descriptor;
+  static final
+  com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+          internal_static_BinlogMap_fieldAccessorTable;
+  static final com.google.protobuf.Descriptors.Descriptor
+          internal_static_BinlogMap_RowEntry_descriptor;
+  static final
+  com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+          internal_static_BinlogMap_RowEntry_fieldAccessorTable;
 
-    public static com.google.protobuf.Descriptors.FileDescriptor
-    getDescriptor() {
-        return descriptor;
-    }
+  public static com.google.protobuf.Descriptors.FileDescriptor
+  getDescriptor() {
+    return descriptor;
+  }
 
-    private static com.google.protobuf.Descriptors.FileDescriptor
-            descriptor;
+  private static com.google.protobuf.Descriptors.FileDescriptor
+          descriptor;
 
-    static {
-        java.lang.String[] descriptorData = {
-                "\n\030BinlogMessageProto.proto\"W\n\rBinlogMess" +
-                        "age\022\026\n\016table_group_id\030\001 \001(\t\022\031\n\005event\030\002 \001" +
-                        "(\0162\n.EventEnum\022\023\n\004data\030\003 \003(\0132\005.Data\"O\n\004D" +
-                        "ata\022\033\n\003row\030\001 \003(\0132\016.Data.RowEntry\032*\n\010RowE" +
-                        "ntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\014:\0028\001*/\n\t" +
-                        "EventEnum\022\n\n\006UPDATE\020\000\022\n\n\006INSERT\020\001\022\n\n\006DEL" +
-                        "ETE\020\002B;\n!org.dbsyncer.storage.binlog.pro" +
-                        "toB\022BinlogMessageProtoH\001P\001b\006proto3"
-        };
-        descriptor = com.google.protobuf.Descriptors.FileDescriptor
-                .internalBuildGeneratedFileFrom(descriptorData,
-                        new com.google.protobuf.Descriptors.FileDescriptor[]{
-                        });
-        internal_static_BinlogMessage_descriptor =
-                getDescriptor().getMessageTypes().get(0);
-        internal_static_BinlogMessage_fieldAccessorTable = new
-                com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
-                internal_static_BinlogMessage_descriptor,
-                new java.lang.String[]{"TableGroupId", "Event", "Data",});
-        internal_static_Data_descriptor =
-                getDescriptor().getMessageTypes().get(1);
-        internal_static_Data_fieldAccessorTable = new
-                com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
-                internal_static_Data_descriptor,
-                new java.lang.String[]{"Row",});
-        internal_static_Data_RowEntry_descriptor =
-                internal_static_Data_descriptor.getNestedTypes().get(0);
-        internal_static_Data_RowEntry_fieldAccessorTable = new
-                com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
-                internal_static_Data_RowEntry_descriptor,
-                new java.lang.String[]{"Key", "Value",});
-    }
+  static {
+    String[] descriptorData = {
+            "\n\030BinlogMessageProto.proto\"\\\n\rBinlogMess" +
+                    "age\022\026\n\016table_group_id\030\001 \001(\t\022\031\n\005event\030\002 \001" +
+                    "(\0162\n.EventEnum\022\030\n\004data\030\003 \001(\0132\n.BinlogMap" +
+                    "\"Y\n\tBinlogMap\022 \n\003row\030\001 \003(\0132\023.BinlogMap.R" +
+                    "owEntry\032*\n\010RowEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005valu" +
+                    "e\030\002 \001(\014:\0028\001*/\n\tEventEnum\022\n\n\006UPDATE\020\000\022\n\n\006" +
+                    "INSERT\020\001\022\n\n\006DELETE\020\002B;\n!org.dbsyncer.sto" +
+                    "rage.binlog.protoB\022BinlogMessageProtoH\001P" +
+                    "\001b\006proto3"
+    };
+    descriptor = com.google.protobuf.Descriptors.FileDescriptor
+            .internalBuildGeneratedFileFrom(descriptorData,
+                    new com.google.protobuf.Descriptors.FileDescriptor[]{
+                    });
+    internal_static_BinlogMessage_descriptor =
+            getDescriptor().getMessageTypes().get(0);
+    internal_static_BinlogMessage_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+            internal_static_BinlogMessage_descriptor,
+            new String[]{"TableGroupId", "Event", "Data",});
+    internal_static_BinlogMap_descriptor =
+            getDescriptor().getMessageTypes().get(1);
+    internal_static_BinlogMap_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+            internal_static_BinlogMap_descriptor,
+            new String[]{"Row",});
+    internal_static_BinlogMap_RowEntry_descriptor =
+            internal_static_BinlogMap_descriptor.getNestedTypes().get(0);
+    internal_static_BinlogMap_RowEntry_fieldAccessorTable = new
+            com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+            internal_static_BinlogMap_RowEntry_descriptor,
+            new String[]{"Key", "Value",});
+  }
 
-    // @@protoc_insertion_point(outer_class_scope)
+  // @@protoc_insertion_point(outer_class_scope)
 }

+ 0 - 782
dbsyncer-storage/src/main/java/org/dbsyncer/storage/binlog/proto/Data.java

@@ -1,782 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: BinlogMessageProto.proto
-
-package org.dbsyncer.storage.binlog.proto;
-
-/**
- * Protobuf type {@code Data}
- */
-public final class Data extends
-        com.google.protobuf.GeneratedMessageV3 implements
-        // @@protoc_insertion_point(message_implements:Data)
-        DataOrBuilder {
-    private static final long serialVersionUID = 0L;
-
-    // Use Data.newBuilder() to construct.
-    private Data(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
-        super(builder);
-    }
-
-    private Data() {
-    }
-
-    @java.lang.Override
-    @SuppressWarnings({"unused"})
-    protected java.lang.Object newInstance(
-            UnusedPrivateParameter unused) {
-        return new Data();
-    }
-
-    @java.lang.Override
-    public final com.google.protobuf.UnknownFieldSet
-    getUnknownFields() {
-        return this.unknownFields;
-    }
-
-    private Data(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
-        this();
-        if (extensionRegistry == null) {
-            throw new java.lang.NullPointerException();
-        }
-        int mutable_bitField0_ = 0;
-        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
-                com.google.protobuf.UnknownFieldSet.newBuilder();
-        try {
-            boolean done = false;
-            while (!done) {
-                int tag = input.readTag();
-                switch (tag) {
-                    case 0:
-                        done = true;
-                        break;
-                    case 10: {
-                        if (!((mutable_bitField0_ & 0x00000001) != 0)) {
-                            row_ = com.google.protobuf.MapField.newMapField(
-                                    RowDefaultEntryHolder.defaultEntry);
-                            mutable_bitField0_ |= 0x00000001;
-                        }
-                        com.google.protobuf.MapEntry<java.lang.String, com.google.protobuf.ByteString>
-                                row__ = input.readMessage(
-                                RowDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
-                        row_.getMutableMap().put(
-                                row__.getKey(), row__.getValue());
-                        break;
-                    }
-                    default: {
-                        if (!parseUnknownField(
-                                input, unknownFields, extensionRegistry, tag)) {
-                            done = true;
-                        }
-                        break;
-                    }
-                }
-            }
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-            throw e.setUnfinishedMessage(this);
-        } catch (com.google.protobuf.UninitializedMessageException e) {
-            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
-        } catch (java.io.IOException e) {
-            throw new com.google.protobuf.InvalidProtocolBufferException(
-                    e).setUnfinishedMessage(this);
-        } finally {
-            this.unknownFields = unknownFields.build();
-            makeExtensionsImmutable();
-        }
-    }
-
-    public static final com.google.protobuf.Descriptors.Descriptor
-    getDescriptor() {
-        return org.dbsyncer.storage.binlog.proto.BinlogMessageProto.internal_static_Data_descriptor;
-    }
-
-    @SuppressWarnings({"rawtypes"})
-    @java.lang.Override
-    protected com.google.protobuf.MapField internalGetMapField(
-            int number) {
-        switch (number) {
-            case 1:
-                return internalGetRow();
-            default:
-                throw new RuntimeException(
-                        "Invalid map field number: " + number);
-        }
-    }
-
-    @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-    internalGetFieldAccessorTable() {
-        return org.dbsyncer.storage.binlog.proto.BinlogMessageProto.internal_static_Data_fieldAccessorTable
-                .ensureFieldAccessorsInitialized(
-                        org.dbsyncer.storage.binlog.proto.Data.class, org.dbsyncer.storage.binlog.proto.Data.Builder.class);
-    }
-
-    public static final int ROW_FIELD_NUMBER = 1;
-
-    private static final class RowDefaultEntryHolder {
-        static final com.google.protobuf.MapEntry<
-                java.lang.String, com.google.protobuf.ByteString> defaultEntry =
-                com.google.protobuf.MapEntry
-                        .<java.lang.String, com.google.protobuf.ByteString>newDefaultInstance(
-                                org.dbsyncer.storage.binlog.proto.BinlogMessageProto.internal_static_Data_RowEntry_descriptor,
-                                com.google.protobuf.WireFormat.FieldType.STRING,
-                                "",
-                                com.google.protobuf.WireFormat.FieldType.BYTES,
-                                com.google.protobuf.ByteString.EMPTY);
-    }
-
-    private com.google.protobuf.MapField<
-            java.lang.String, com.google.protobuf.ByteString> row_;
-
-    private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.ByteString>
-    internalGetRow() {
-        if (row_ == null) {
-            return com.google.protobuf.MapField.emptyMapField(
-                    RowDefaultEntryHolder.defaultEntry);
-        }
-        return row_;
-    }
-
-    public int getRowCount() {
-        return internalGetRow().getMap().size();
-    }
-
-    /**
-     * <code>map&lt;string, bytes&gt; row = 1;</code>
-     */
-
-    @java.lang.Override
-    public boolean containsRow(
-            java.lang.String key) {
-        if (key == null) {
-            throw new NullPointerException("map key");
-        }
-        return internalGetRow().getMap().containsKey(key);
-    }
-
-    /**
-     * Use {@link #getRowMap()} instead.
-     */
-    @java.lang.Override
-    @java.lang.Deprecated
-    public java.util.Map<java.lang.String, com.google.protobuf.ByteString> getRow() {
-        return getRowMap();
-    }
-
-    /**
-     * <code>map&lt;string, bytes&gt; row = 1;</code>
-     */
-    @java.lang.Override
-
-    public java.util.Map<java.lang.String, com.google.protobuf.ByteString> getRowMap() {
-        return internalGetRow().getMap();
-    }
-
-    /**
-     * <code>map&lt;string, bytes&gt; row = 1;</code>
-     */
-    @java.lang.Override
-
-    public com.google.protobuf.ByteString getRowOrDefault(
-            java.lang.String key,
-            com.google.protobuf.ByteString defaultValue) {
-        if (key == null) {
-            throw new NullPointerException("map key");
-        }
-        java.util.Map<java.lang.String, com.google.protobuf.ByteString> map =
-                internalGetRow().getMap();
-        return map.containsKey(key) ? map.get(key) : defaultValue;
-    }
-
-    /**
-     * <code>map&lt;string, bytes&gt; row = 1;</code>
-     */
-    @java.lang.Override
-
-    public com.google.protobuf.ByteString getRowOrThrow(
-            java.lang.String key) {
-        if (key == null) {
-            throw new NullPointerException("map key");
-        }
-        java.util.Map<java.lang.String, com.google.protobuf.ByteString> map =
-                internalGetRow().getMap();
-        if (!map.containsKey(key)) {
-            throw new java.lang.IllegalArgumentException();
-        }
-        return map.get(key);
-    }
-
-    private byte memoizedIsInitialized = -1;
-
-    @java.lang.Override
-    public final boolean isInitialized() {
-        byte isInitialized = memoizedIsInitialized;
-        if (isInitialized == 1) return true;
-        if (isInitialized == 0) return false;
-
-        memoizedIsInitialized = 1;
-        return true;
-    }
-
-    @java.lang.Override
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-            throws java.io.IOException {
-        com.google.protobuf.GeneratedMessageV3
-                .serializeStringMapTo(
-                        output,
-                        internalGetRow(),
-                        RowDefaultEntryHolder.defaultEntry,
-                        1);
-        unknownFields.writeTo(output);
-    }
-
-    @java.lang.Override
-    public int getSerializedSize() {
-        int size = memoizedSize;
-        if (size != -1) return size;
-
-        size = 0;
-        for (java.util.Map.Entry<java.lang.String, com.google.protobuf.ByteString> entry
-                : internalGetRow().getMap().entrySet()) {
-            com.google.protobuf.MapEntry<java.lang.String, com.google.protobuf.ByteString>
-                    row__ = RowDefaultEntryHolder.defaultEntry.newBuilderForType()
-                    .setKey(entry.getKey())
-                    .setValue(entry.getValue())
-                    .build();
-            size += com.google.protobuf.CodedOutputStream
-                    .computeMessageSize(1, row__);
-        }
-        size += unknownFields.getSerializedSize();
-        memoizedSize = size;
-        return size;
-    }
-
-    @java.lang.Override
-    public boolean equals(final java.lang.Object obj) {
-        if (obj == this) {
-            return true;
-        }
-        if (!(obj instanceof org.dbsyncer.storage.binlog.proto.Data)) {
-            return super.equals(obj);
-        }
-        org.dbsyncer.storage.binlog.proto.Data other = (org.dbsyncer.storage.binlog.proto.Data) obj;
-
-        if (!internalGetRow().equals(
-                other.internalGetRow())) return false;
-        if (!unknownFields.equals(other.unknownFields)) return false;
-        return true;
-    }
-
-    @java.lang.Override
-    public int hashCode() {
-        if (memoizedHashCode != 0) {
-            return memoizedHashCode;
-        }
-        int hash = 41;
-        hash = (19 * hash) + getDescriptor().hashCode();
-        if (!internalGetRow().getMap().isEmpty()) {
-            hash = (37 * hash) + ROW_FIELD_NUMBER;
-            hash = (53 * hash) + internalGetRow().hashCode();
-        }
-        hash = (29 * hash) + unknownFields.hashCode();
-        memoizedHashCode = hash;
-        return hash;
-    }
-
-    public static org.dbsyncer.storage.binlog.proto.Data parseFrom(
-            java.nio.ByteBuffer data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data);
-    }
-
-    public static org.dbsyncer.storage.binlog.proto.Data parseFrom(
-            java.nio.ByteBuffer data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data, extensionRegistry);
-    }
-
-    public static org.dbsyncer.storage.binlog.proto.Data parseFrom(
-            com.google.protobuf.ByteString data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data);
-    }
-
-    public static org.dbsyncer.storage.binlog.proto.Data parseFrom(
-            com.google.protobuf.ByteString data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data, extensionRegistry);
-    }
-
-    public static org.dbsyncer.storage.binlog.proto.Data parseFrom(byte[] data)
-            throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data);
-    }
-
-    public static org.dbsyncer.storage.binlog.proto.Data parseFrom(
-            byte[] data,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws com.google.protobuf.InvalidProtocolBufferException {
-        return PARSER.parseFrom(data, extensionRegistry);
-    }
-
-    public static org.dbsyncer.storage.binlog.proto.Data parseFrom(java.io.InputStream input)
-            throws java.io.IOException {
-        return com.google.protobuf.GeneratedMessageV3
-                .parseWithIOException(PARSER, input);
-    }
-
-    public static org.dbsyncer.storage.binlog.proto.Data parseFrom(
-            java.io.InputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
-        return com.google.protobuf.GeneratedMessageV3
-                .parseWithIOException(PARSER, input, extensionRegistry);
-    }
-
-    public static org.dbsyncer.storage.binlog.proto.Data parseDelimitedFrom(java.io.InputStream input)
-            throws java.io.IOException {
-        return com.google.protobuf.GeneratedMessageV3
-                .parseDelimitedWithIOException(PARSER, input);
-    }
-
-    public static org.dbsyncer.storage.binlog.proto.Data parseDelimitedFrom(
-            java.io.InputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
-        return com.google.protobuf.GeneratedMessageV3
-                .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
-    }
-
-    public static org.dbsyncer.storage.binlog.proto.Data parseFrom(
-            com.google.protobuf.CodedInputStream input)
-            throws java.io.IOException {
-        return com.google.protobuf.GeneratedMessageV3
-                .parseWithIOException(PARSER, input);
-    }
-
-    public static org.dbsyncer.storage.binlog.proto.Data parseFrom(
-            com.google.protobuf.CodedInputStream input,
-            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-            throws java.io.IOException {
-        return com.google.protobuf.GeneratedMessageV3
-                .parseWithIOException(PARSER, input, extensionRegistry);
-    }
-
-    @java.lang.Override
-    public Builder newBuilderForType() {
-        return newBuilder();
-    }
-
-    public static Builder newBuilder() {
-        return DEFAULT_INSTANCE.toBuilder();
-    }
-
-    public static Builder newBuilder(org.dbsyncer.storage.binlog.proto.Data prototype) {
-        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
-    }
-
-    @java.lang.Override
-    public Builder toBuilder() {
-        return this == DEFAULT_INSTANCE
-                ? new Builder() : new Builder().mergeFrom(this);
-    }
-
-    @java.lang.Override
-    protected Builder newBuilderForType(
-            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
-        Builder builder = new Builder(parent);
-        return builder;
-    }
-
-    /**
-     * Protobuf type {@code Data}
-     */
-    public static final class Builder extends
-            com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
-            // @@protoc_insertion_point(builder_implements:Data)
-            org.dbsyncer.storage.binlog.proto.DataOrBuilder {
-        public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-            return org.dbsyncer.storage.binlog.proto.BinlogMessageProto.internal_static_Data_descriptor;
-        }
-
-        @SuppressWarnings({"rawtypes"})
-        protected com.google.protobuf.MapField internalGetMapField(
-                int number) {
-            switch (number) {
-                case 1:
-                    return internalGetRow();
-                default:
-                    throw new RuntimeException(
-                            "Invalid map field number: " + number);
-            }
-        }
-
-        @SuppressWarnings({"rawtypes"})
-        protected com.google.protobuf.MapField internalGetMutableMapField(
-                int number) {
-            switch (number) {
-                case 1:
-                    return internalGetMutableRow();
-                default:
-                    throw new RuntimeException(
-                            "Invalid map field number: " + number);
-            }
-        }
-
-        @java.lang.Override
-        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-            return org.dbsyncer.storage.binlog.proto.BinlogMessageProto.internal_static_Data_fieldAccessorTable
-                    .ensureFieldAccessorsInitialized(
-                            org.dbsyncer.storage.binlog.proto.Data.class, org.dbsyncer.storage.binlog.proto.Data.Builder.class);
-        }
-
-        // Construct using org.dbsyncer.storage.binlog.proto.Data.newBuilder()
-        private Builder() {
-            maybeForceBuilderInitialization();
-        }
-
-        private Builder(
-                com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
-            super(parent);
-            maybeForceBuilderInitialization();
-        }
-
-        private void maybeForceBuilderInitialization() {
-            if (com.google.protobuf.GeneratedMessageV3
-                    .alwaysUseFieldBuilders) {
-            }
-        }
-
-        @java.lang.Override
-        public Builder clear() {
-            super.clear();
-            internalGetMutableRow().clear();
-            return this;
-        }
-
-        @java.lang.Override
-        public com.google.protobuf.Descriptors.Descriptor
-        getDescriptorForType() {
-            return org.dbsyncer.storage.binlog.proto.BinlogMessageProto.internal_static_Data_descriptor;
-        }
-
-        @java.lang.Override
-        public org.dbsyncer.storage.binlog.proto.Data getDefaultInstanceForType() {
-            return org.dbsyncer.storage.binlog.proto.Data.getDefaultInstance();
-        }
-
-        @java.lang.Override
-        public org.dbsyncer.storage.binlog.proto.Data build() {
-            org.dbsyncer.storage.binlog.proto.Data result = buildPartial();
-            if (!result.isInitialized()) {
-                throw newUninitializedMessageException(result);
-            }
-            return result;
-        }
-
-        @java.lang.Override
-        public org.dbsyncer.storage.binlog.proto.Data buildPartial() {
-            org.dbsyncer.storage.binlog.proto.Data result = new org.dbsyncer.storage.binlog.proto.Data(this);
-            int from_bitField0_ = bitField0_;
-            result.row_ = internalGetRow();
-            result.row_.makeImmutable();
-            onBuilt();
-            return result;
-        }
-
-        @java.lang.Override
-        public Builder clone() {
-            return super.clone();
-        }
-
-        @java.lang.Override
-        public Builder setField(
-                com.google.protobuf.Descriptors.FieldDescriptor field,
-                java.lang.Object value) {
-            return super.setField(field, value);
-        }
-
-        @java.lang.Override
-        public Builder clearField(
-                com.google.protobuf.Descriptors.FieldDescriptor field) {
-            return super.clearField(field);
-        }
-
-        @java.lang.Override
-        public Builder clearOneof(
-                com.google.protobuf.Descriptors.OneofDescriptor oneof) {
-            return super.clearOneof(oneof);
-        }
-
-        @java.lang.Override
-        public Builder setRepeatedField(
-                com.google.protobuf.Descriptors.FieldDescriptor field,
-                int index, java.lang.Object value) {
-            return super.setRepeatedField(field, index, value);
-        }
-
-        @java.lang.Override
-        public Builder addRepeatedField(
-                com.google.protobuf.Descriptors.FieldDescriptor field,
-                java.lang.Object value) {
-            return super.addRepeatedField(field, value);
-        }
-
-        @java.lang.Override
-        public Builder mergeFrom(com.google.protobuf.Message other) {
-            if (other instanceof org.dbsyncer.storage.binlog.proto.Data) {
-                return mergeFrom((org.dbsyncer.storage.binlog.proto.Data) other);
-            } else {
-                super.mergeFrom(other);
-                return this;
-            }
-        }
-
-        public Builder mergeFrom(org.dbsyncer.storage.binlog.proto.Data other) {
-            if (other == org.dbsyncer.storage.binlog.proto.Data.getDefaultInstance()) return this;
-            internalGetMutableRow().mergeFrom(
-                    other.internalGetRow());
-            this.mergeUnknownFields(other.unknownFields);
-            onChanged();
-            return this;
-        }
-
-        @java.lang.Override
-        public final boolean isInitialized() {
-            return true;
-        }
-
-        @java.lang.Override
-        public Builder mergeFrom(
-                com.google.protobuf.CodedInputStream input,
-                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-                throws java.io.IOException {
-            org.dbsyncer.storage.binlog.proto.Data parsedMessage = null;
-            try {
-                parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                parsedMessage = (org.dbsyncer.storage.binlog.proto.Data) e.getUnfinishedMessage();
-                throw e.unwrapIOException();
-            } finally {
-                if (parsedMessage != null) {
-                    mergeFrom(parsedMessage);
-                }
-            }
-            return this;
-        }
-
-        private int bitField0_;
-
-        private com.google.protobuf.MapField<
-                java.lang.String, com.google.protobuf.ByteString> row_;
-
-        private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.ByteString>
-        internalGetRow() {
-            if (row_ == null) {
-                return com.google.protobuf.MapField.emptyMapField(
-                        RowDefaultEntryHolder.defaultEntry);
-            }
-            return row_;
-        }
-
-        private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.ByteString>
-        internalGetMutableRow() {
-            onChanged();
-            ;
-            if (row_ == null) {
-                row_ = com.google.protobuf.MapField.newMapField(
-                        RowDefaultEntryHolder.defaultEntry);
-            }
-            if (!row_.isMutable()) {
-                row_ = row_.copy();
-            }
-            return row_;
-        }
-
-        public int getRowCount() {
-            return internalGetRow().getMap().size();
-        }
-
-        /**
-         * <code>map&lt;string, bytes&gt; row = 1;</code>
-         */
-
-        @java.lang.Override
-        public boolean containsRow(
-                java.lang.String key) {
-            if (key == null) {
-                throw new NullPointerException("map key");
-            }
-            return internalGetRow().getMap().containsKey(key);
-        }
-
-        /**
-         * Use {@link #getRowMap()} instead.
-         */
-        @java.lang.Override
-        @java.lang.Deprecated
-        public java.util.Map<java.lang.String, com.google.protobuf.ByteString> getRow() {
-            return getRowMap();
-        }
-
-        /**
-         * <code>map&lt;string, bytes&gt; row = 1;</code>
-         */
-        @java.lang.Override
-
-        public java.util.Map<java.lang.String, com.google.protobuf.ByteString> getRowMap() {
-            return internalGetRow().getMap();
-        }
-
-        /**
-         * <code>map&lt;string, bytes&gt; row = 1;</code>
-         */
-        @java.lang.Override
-
-        public com.google.protobuf.ByteString getRowOrDefault(
-                java.lang.String key,
-                com.google.protobuf.ByteString defaultValue) {
-            if (key == null) {
-                throw new NullPointerException("map key");
-            }
-            java.util.Map<java.lang.String, com.google.protobuf.ByteString> map =
-                    internalGetRow().getMap();
-            return map.containsKey(key) ? map.get(key) : defaultValue;
-        }
-
-        /**
-         * <code>map&lt;string, bytes&gt; row = 1;</code>
-         */
-        @java.lang.Override
-
-        public com.google.protobuf.ByteString getRowOrThrow(
-                java.lang.String key) {
-            if (key == null) {
-                throw new NullPointerException("map key");
-            }
-            java.util.Map<java.lang.String, com.google.protobuf.ByteString> map =
-                    internalGetRow().getMap();
-            if (!map.containsKey(key)) {
-                throw new java.lang.IllegalArgumentException();
-            }
-            return map.get(key);
-        }
-
-        public Builder clearRow() {
-            internalGetMutableRow().getMutableMap()
-                    .clear();
-            return this;
-        }
-
-        /**
-         * <code>map&lt;string, bytes&gt; row = 1;</code>
-         */
-
-        public Builder removeRow(
-                java.lang.String key) {
-            if (key == null) {
-                throw new NullPointerException("map key");
-            }
-            internalGetMutableRow().getMutableMap()
-                    .remove(key);
-            return this;
-        }
-
-        /**
-         * Use alternate mutation accessors instead.
-         */
-        @java.lang.Deprecated
-        public java.util.Map<java.lang.String, com.google.protobuf.ByteString>
-        getMutableRow() {
-            return internalGetMutableRow().getMutableMap();
-        }
-
-        /**
-         * <code>map&lt;string, bytes&gt; row = 1;</code>
-         */
-        public Builder putRow(
-                java.lang.String key,
-                com.google.protobuf.ByteString value) {
-            if (key == null) {
-                throw new NullPointerException("map key");
-            }
-            if (value == null) {
-                throw new NullPointerException("map value");
-            }
-
-            internalGetMutableRow().getMutableMap()
-                    .put(key, value);
-            return this;
-        }
-
-        /**
-         * <code>map&lt;string, bytes&gt; row = 1;</code>
-         */
-
-        public Builder putAllRow(
-                java.util.Map<java.lang.String, com.google.protobuf.ByteString> values) {
-            internalGetMutableRow().getMutableMap()
-                    .putAll(values);
-            return this;
-        }
-
-        @java.lang.Override
-        public final Builder setUnknownFields(
-                final com.google.protobuf.UnknownFieldSet unknownFields) {
-            return super.setUnknownFields(unknownFields);
-        }
-
-        @java.lang.Override
-        public final Builder mergeUnknownFields(
-                final com.google.protobuf.UnknownFieldSet unknownFields) {
-            return super.mergeUnknownFields(unknownFields);
-        }
-
-
-        // @@protoc_insertion_point(builder_scope:Data)
-    }
-
-    // @@protoc_insertion_point(class_scope:Data)
-    private static final org.dbsyncer.storage.binlog.proto.Data DEFAULT_INSTANCE;
-
-    static {
-        DEFAULT_INSTANCE = new org.dbsyncer.storage.binlog.proto.Data();
-    }
-
-    public static org.dbsyncer.storage.binlog.proto.Data getDefaultInstance() {
-        return DEFAULT_INSTANCE;
-    }
-
-    private static final com.google.protobuf.Parser<Data>
-            PARSER = new com.google.protobuf.AbstractParser<Data>() {
-        @java.lang.Override
-        public Data parsePartialFrom(
-                com.google.protobuf.CodedInputStream input,
-                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-                throws com.google.protobuf.InvalidProtocolBufferException {
-            return new Data(input, extensionRegistry);
-        }
-    };
-
-    public static com.google.protobuf.Parser<Data> parser() {
-        return PARSER;
-    }
-
-    @java.lang.Override
-    public com.google.protobuf.Parser<Data> getParserForType() {
-        return PARSER;
-    }
-
-    @java.lang.Override
-    public org.dbsyncer.storage.binlog.proto.Data getDefaultInstanceForType() {
-        return DEFAULT_INSTANCE;
-    }
-
-}
-

+ 0 - 50
dbsyncer-storage/src/main/java/org/dbsyncer/storage/binlog/proto/DataOrBuilder.java

@@ -1,50 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: BinlogMessageProto.proto
-
-package org.dbsyncer.storage.binlog.proto;
-
-public interface DataOrBuilder extends
-        // @@protoc_insertion_point(interface_extends:Data)
-        com.google.protobuf.MessageOrBuilder {
-
-    /**
-     * <code>map&lt;string, bytes&gt; row = 1;</code>
-     */
-    int getRowCount();
-
-    /**
-     * <code>map&lt;string, bytes&gt; row = 1;</code>
-     */
-    boolean containsRow(
-            java.lang.String key);
-
-    /**
-     * Use {@link #getRowMap()} instead.
-     */
-    @java.lang.Deprecated
-    java.util.Map<java.lang.String, com.google.protobuf.ByteString>
-    getRow();
-
-    /**
-     * <code>map&lt;string, bytes&gt; row = 1;</code>
-     */
-    java.util.Map<java.lang.String, com.google.protobuf.ByteString>
-    getRowMap();
-
-    /**
-     * <code>map&lt;string, bytes&gt; row = 1;</code>
-     */
-
-    /* nullable */
-    com.google.protobuf.ByteString getRowOrDefault(
-            java.lang.String key,
-            /* nullable */
-            com.google.protobuf.ByteString defaultValue);
-
-    /**
-     * <code>map&lt;string, bytes&gt; row = 1;</code>
-     */
-
-    com.google.protobuf.ByteString getRowOrThrow(
-            java.lang.String key);
-}

+ 5 - 5
dbsyncer-storage/src/main/java/org/dbsyncer/storage/binlog/proto/EventEnum.java

@@ -39,7 +39,7 @@ public enum EventEnum
 
   public final int getNumber() {
     if (this == UNRECOGNIZED) {
-      throw new java.lang.IllegalArgumentException(
+      throw new IllegalArgumentException(
               "Can't get the number of an unknown enum value.");
     }
     return value;
@@ -50,7 +50,7 @@ public enum EventEnum
    * @return The enum associated with the given numeric wire value.
    * @deprecated Use {@link #forNumber(int)} instead.
    */
-  @java.lang.Deprecated
+  @Deprecated
   public static EventEnum valueOf(int value) {
     return forNumber(value);
   }
@@ -88,7 +88,7 @@ public enum EventEnum
   public final com.google.protobuf.Descriptors.EnumValueDescriptor
   getValueDescriptor() {
     if (this == UNRECOGNIZED) {
-      throw new java.lang.IllegalStateException(
+      throw new IllegalStateException(
               "Can't get the descriptor of an unrecognized enum value.");
     }
     return getDescriptor().getValues().get(ordinal());
@@ -101,7 +101,7 @@ public enum EventEnum
 
   public static final com.google.protobuf.Descriptors.EnumDescriptor
   getDescriptor() {
-    return org.dbsyncer.storage.binlog.proto.BinlogMessageProto.getDescriptor().getEnumTypes().get(0);
+    return BinlogMessageProto.getDescriptor().getEnumTypes().get(0);
   }
 
   private static final EventEnum[] VALUES = values();
@@ -109,7 +109,7 @@ public enum EventEnum
   public static EventEnum valueOf(
           com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
     if (desc.getType() != getDescriptor()) {
-      throw new java.lang.IllegalArgumentException(
+      throw new IllegalArgumentException(
               "EnumValueDescriptor is not for this type.");
     }
     if (desc.getIndex() == -1) {

+ 2 - 2
dbsyncer-storage/src/main/proto/BinlogMessageProto.proto

@@ -8,7 +8,7 @@ option optimize_for = SPEED;
 message BinlogMessage {
     string table_group_id = 1;
     EventEnum event = 2;
-    Map data = 3;
+    BinlogMap data = 3;
 }
 
 enum EventEnum {
@@ -17,6 +17,6 @@ enum EventEnum {
     DELETE = 2;
 }
 
-message Map {
+message BinlogMap {
     map<string, bytes> row = 1;
 }

+ 5 - 6
dbsyncer-storage/src/main/test/BinlogMessageTest.java

@@ -1,9 +1,8 @@
 import com.google.protobuf.ByteString;
 import org.apache.commons.io.IOUtils;
 import org.dbsyncer.storage.binlog.BinlogContext;
-import org.dbsyncer.storage.binlog.impl.BinlogPipeline;
+import org.dbsyncer.storage.binlog.proto.BinlogMap;
 import org.dbsyncer.storage.binlog.proto.BinlogMessage;
-import org.dbsyncer.storage.binlog.proto.Data;
 import org.dbsyncer.storage.binlog.proto.EventEnum;
 import org.junit.After;
 import org.junit.Before;
@@ -41,9 +40,9 @@ public class BinlogMessageTest {
             logger.info("{} {}", i, s);
         }
 
-        //write("123456", "abc");
-        //write("000111", "xyz");
-        //write("888999", "jkl");
+        write("123456", "abc");
+        write("000111", "xyz");
+        write("888999", "jkl");
 
         byte[] line;
         while (null != (line = context.readLine())) {
@@ -56,7 +55,7 @@ public class BinlogMessageTest {
         BinlogMessage build = BinlogMessage.newBuilder()
                 .setTableGroupId(tableGroupId)
                 .setEvent(EventEnum.UPDATE)
-                .addData(Data.newBuilder().putRow(key, ByteString.copyFromUtf8("hello,中国")).build())
+                .setData(BinlogMap.newBuilder().putRow(key, ByteString.copyFromUtf8("hello,中国")))
                 .build();
         byte[] bytes = build.toByteArray();
         logger.info("序列化长度:{}", bytes.length);

Някои файлове не бяха показани, защото твърде много файлове са промени