Explorar el Código

up uid -> mid

丁云鹏 hace 1 año
padre
commit
63ead456b1
Se han modificado 22 ficheros con 333 adiciones y 5355 borrados
  1. 0 819
      recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/gen/recommend/BaseFeature.java
  2. 0 45
      recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/gen/recommend/BaseFeatureOrBuilder.java
  3. 0 104
      recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/gen/recommend/CtrSamples.java
  4. 0 897
      recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/gen/recommend/FeatureGroup.java
  5. 0 51
      recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/gen/recommend/FeatureGroupOrBuilder.java
  6. 0 1022
      recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/gen/recommend/GroupedFeature.java
  7. 0 54
      recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/gen/recommend/GroupedFeatureOrBuilder.java
  8. 0 1094
      recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/gen/recommend/LRSamples.java
  9. 0 63
      recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/gen/recommend/LRSamplesOrBuilder.java
  10. 0 834
      recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/gen/recommend/LRWeight.java
  11. 0 39
      recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/gen/recommend/LRWeightOrBuilder.java
  12. 41 41
      recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/model/sample/BaseFeature.java
  13. 1 1
      recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/model/sample/BaseFeatureOrBuilder.java
  14. 3 3
      recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/model/sample/CtrSamples.java
  15. 41 41
      recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/model/sample/FeatureGroup.java
  16. 1 1
      recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/model/sample/FeatureGroupOrBuilder.java
  17. 89 89
      recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/model/sample/GroupedFeature.java
  18. 7 7
      recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/model/sample/GroupedFeatureOrBuilder.java
  19. 70 70
      recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/model/sample/LRSamples.java
  20. 5 5
      recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/model/sample/LRSamplesOrBuilder.java
  21. 70 70
      recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/model/sample/LRWeight.java
  22. 5 5
      recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/model/sample/LRWeightOrBuilder.java

+ 0 - 819
recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/gen/recommend/BaseFeature.java

@@ -1,819 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: com/tzld/piaoquan/recommend/feature/ctr_samples.proto
-
-package com.tzld.piaoquan.recommend.feature.gen.recommend;
-
-/**
- * Protobuf type {@code BaseFeature}
- */
-public final class BaseFeature extends
-    com.google.protobuf.GeneratedMessageV3 implements
-    // @@protoc_insertion_point(message_implements:BaseFeature)
-    BaseFeatureOrBuilder {
-private static final long serialVersionUID = 0L;
-  // Use BaseFeature.newBuilder() to construct.
-  private BaseFeature(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
-    super(builder);
-  }
-  private BaseFeature() {
-    fea_ = "";
-  }
-
-  @java.lang.Override
-  @SuppressWarnings({"unused"})
-  protected java.lang.Object newInstance(
-      UnusedPrivateParameter unused) {
-    return new BaseFeature();
-  }
-
-  @java.lang.Override
-  public final com.google.protobuf.UnknownFieldSet
-  getUnknownFields() {
-    return this.unknownFields;
-  }
-  private BaseFeature(
-      com.google.protobuf.CodedInputStream input,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    this();
-    if (extensionRegistry == null) {
-      throw new java.lang.NullPointerException();
-    }
-    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 8: {
-
-            id_ = input.readInt64();
-            break;
-          }
-          case 16: {
-
-            identifier_ = input.readInt64();
-            break;
-          }
-          case 26: {
-            java.lang.String s = input.readStringRequireUtf8();
-
-            fea_ = s;
-            break;
-          }
-          case 33: {
-
-            value_ = input.readDouble();
-            break;
-          }
-          case 41: {
-
-            weight_ = input.readDouble();
-            break;
-          }
-          default: {
-            if (!parseUnknownField(
-                input, unknownFields, extensionRegistry, tag)) {
-              done = true;
-            }
-            break;
-          }
-        }
-      }
-    } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-      throw e.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 com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_BaseFeature_descriptor;
-  }
-
-  @java.lang.Override
-  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internalGetFieldAccessorTable() {
-    return com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_BaseFeature_fieldAccessorTable
-        .ensureFieldAccessorsInitialized(
-            com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.class, com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.Builder.class);
-  }
-
-  public static final int ID_FIELD_NUMBER = 1;
-  private long id_;
-  /**
-   * <code>int64 id = 1;</code>
-   * @return The id.
-   */
-  @java.lang.Override
-  public long getId() {
-    return id_;
-  }
-
-  public static final int IDENTIFIER_FIELD_NUMBER = 2;
-  private long identifier_;
-  /**
-   * <code>int64 identifier = 2;</code>
-   * @return The identifier.
-   */
-  @java.lang.Override
-  public long getIdentifier() {
-    return identifier_;
-  }
-
-  public static final int FEA_FIELD_NUMBER = 3;
-  private volatile java.lang.Object fea_;
-  /**
-   * <code>string fea = 3;</code>
-   * @return The fea.
-   */
-  @java.lang.Override
-  public java.lang.String getFea() {
-    java.lang.Object ref = fea_;
-    if (ref instanceof java.lang.String) {
-      return (java.lang.String) ref;
-    } else {
-      com.google.protobuf.ByteString bs = 
-          (com.google.protobuf.ByteString) ref;
-      java.lang.String s = bs.toStringUtf8();
-      fea_ = s;
-      return s;
-    }
-  }
-  /**
-   * <code>string fea = 3;</code>
-   * @return The bytes for fea.
-   */
-  @java.lang.Override
-  public com.google.protobuf.ByteString
-      getFeaBytes() {
-    java.lang.Object ref = fea_;
-    if (ref instanceof java.lang.String) {
-      com.google.protobuf.ByteString b = 
-          com.google.protobuf.ByteString.copyFromUtf8(
-              (java.lang.String) ref);
-      fea_ = b;
-      return b;
-    } else {
-      return (com.google.protobuf.ByteString) ref;
-    }
-  }
-
-  public static final int VALUE_FIELD_NUMBER = 4;
-  private double value_;
-  /**
-   * <code>double value = 4;</code>
-   * @return The value.
-   */
-  @java.lang.Override
-  public double getValue() {
-    return value_;
-  }
-
-  public static final int WEIGHT_FIELD_NUMBER = 5;
-  private double weight_;
-  /**
-   * <code>double weight = 5;</code>
-   * @return The weight.
-   */
-  @java.lang.Override
-  public double getWeight() {
-    return weight_;
-  }
-
-  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 {
-    if (id_ != 0L) {
-      output.writeInt64(1, id_);
-    }
-    if (identifier_ != 0L) {
-      output.writeInt64(2, identifier_);
-    }
-    if (!getFeaBytes().isEmpty()) {
-      com.google.protobuf.GeneratedMessageV3.writeString(output, 3, fea_);
-    }
-    if (value_ != 0D) {
-      output.writeDouble(4, value_);
-    }
-    if (weight_ != 0D) {
-      output.writeDouble(5, weight_);
-    }
-    unknownFields.writeTo(output);
-  }
-
-  @java.lang.Override
-  public int getSerializedSize() {
-    int size = memoizedSize;
-    if (size != -1) return size;
-
-    size = 0;
-    if (id_ != 0L) {
-      size += com.google.protobuf.CodedOutputStream
-        .computeInt64Size(1, id_);
-    }
-    if (identifier_ != 0L) {
-      size += com.google.protobuf.CodedOutputStream
-        .computeInt64Size(2, identifier_);
-    }
-    if (!getFeaBytes().isEmpty()) {
-      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, fea_);
-    }
-    if (value_ != 0D) {
-      size += com.google.protobuf.CodedOutputStream
-        .computeDoubleSize(4, value_);
-    }
-    if (weight_ != 0D) {
-      size += com.google.protobuf.CodedOutputStream
-        .computeDoubleSize(5, weight_);
-    }
-    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 com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature)) {
-      return super.equals(obj);
-    }
-    com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature other = (com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature) obj;
-
-    if (getId()
-        != other.getId()) return false;
-    if (getIdentifier()
-        != other.getIdentifier()) return false;
-    if (!getFea()
-        .equals(other.getFea())) return false;
-    if (java.lang.Double.doubleToLongBits(getValue())
-        != java.lang.Double.doubleToLongBits(
-            other.getValue())) return false;
-    if (java.lang.Double.doubleToLongBits(getWeight())
-        != java.lang.Double.doubleToLongBits(
-            other.getWeight())) 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();
-    hash = (37 * hash) + ID_FIELD_NUMBER;
-    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
-        getId());
-    hash = (37 * hash) + IDENTIFIER_FIELD_NUMBER;
-    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
-        getIdentifier());
-    hash = (37 * hash) + FEA_FIELD_NUMBER;
-    hash = (53 * hash) + getFea().hashCode();
-    hash = (37 * hash) + VALUE_FIELD_NUMBER;
-    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
-        java.lang.Double.doubleToLongBits(getValue()));
-    hash = (37 * hash) + WEIGHT_FIELD_NUMBER;
-    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
-        java.lang.Double.doubleToLongBits(getWeight()));
-    hash = (29 * hash) + unknownFields.hashCode();
-    memoizedHashCode = hash;
-    return hash;
-  }
-
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature parseFrom(
-      java.nio.ByteBuffer data)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature parseFrom(
-      java.nio.ByteBuffer data,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data, extensionRegistry);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature parseFrom(
-      com.google.protobuf.ByteString data)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature parseFrom(
-      com.google.protobuf.ByteString data,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data, extensionRegistry);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature parseFrom(byte[] data)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature parseFrom(
-      byte[] data,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data, extensionRegistry);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature parseFrom(java.io.InputStream input)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseWithIOException(PARSER, input);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature 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 com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature parseDelimitedFrom(java.io.InputStream input)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseDelimitedWithIOException(PARSER, input);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature 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 com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature parseFrom(
-      com.google.protobuf.CodedInputStream input)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseWithIOException(PARSER, input);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature 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(com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature 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 BaseFeature}
-   */
-  public static final class Builder extends
-      com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
-      // @@protoc_insertion_point(builder_implements:BaseFeature)
-      com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeatureOrBuilder {
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_BaseFeature_descriptor;
-    }
-
-    @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_BaseFeature_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.class, com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.Builder.class);
-    }
-
-    // Construct using com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.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();
-      id_ = 0L;
-
-      identifier_ = 0L;
-
-      fea_ = "";
-
-      value_ = 0D;
-
-      weight_ = 0D;
-
-      return this;
-    }
-
-    @java.lang.Override
-    public com.google.protobuf.Descriptors.Descriptor
-        getDescriptorForType() {
-      return com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_BaseFeature_descriptor;
-    }
-
-    @java.lang.Override
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature getDefaultInstanceForType() {
-      return com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.getDefaultInstance();
-    }
-
-    @java.lang.Override
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature build() {
-      com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature result = buildPartial();
-      if (!result.isInitialized()) {
-        throw newUninitializedMessageException(result);
-      }
-      return result;
-    }
-
-    @java.lang.Override
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature buildPartial() {
-      com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature result = new com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature(this);
-      result.id_ = id_;
-      result.identifier_ = identifier_;
-      result.fea_ = fea_;
-      result.value_ = value_;
-      result.weight_ = weight_;
-      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 com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature) {
-        return mergeFrom((com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature)other);
-      } else {
-        super.mergeFrom(other);
-        return this;
-      }
-    }
-
-    public Builder mergeFrom(com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature other) {
-      if (other == com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.getDefaultInstance()) return this;
-      if (other.getId() != 0L) {
-        setId(other.getId());
-      }
-      if (other.getIdentifier() != 0L) {
-        setIdentifier(other.getIdentifier());
-      }
-      if (!other.getFea().isEmpty()) {
-        fea_ = other.fea_;
-        onChanged();
-      }
-      if (other.getValue() != 0D) {
-        setValue(other.getValue());
-      }
-      if (other.getWeight() != 0D) {
-        setWeight(other.getWeight());
-      }
-      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 {
-      com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature parsedMessage = null;
-      try {
-        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        parsedMessage = (com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature) e.getUnfinishedMessage();
-        throw e.unwrapIOException();
-      } finally {
-        if (parsedMessage != null) {
-          mergeFrom(parsedMessage);
-        }
-      }
-      return this;
-    }
-
-    private long id_ ;
-    /**
-     * <code>int64 id = 1;</code>
-     * @return The id.
-     */
-    @java.lang.Override
-    public long getId() {
-      return id_;
-    }
-    /**
-     * <code>int64 id = 1;</code>
-     * @param value The id to set.
-     * @return This builder for chaining.
-     */
-    public Builder setId(long value) {
-      
-      id_ = value;
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>int64 id = 1;</code>
-     * @return This builder for chaining.
-     */
-    public Builder clearId() {
-      
-      id_ = 0L;
-      onChanged();
-      return this;
-    }
-
-    private long identifier_ ;
-    /**
-     * <code>int64 identifier = 2;</code>
-     * @return The identifier.
-     */
-    @java.lang.Override
-    public long getIdentifier() {
-      return identifier_;
-    }
-    /**
-     * <code>int64 identifier = 2;</code>
-     * @param value The identifier to set.
-     * @return This builder for chaining.
-     */
-    public Builder setIdentifier(long value) {
-      
-      identifier_ = value;
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>int64 identifier = 2;</code>
-     * @return This builder for chaining.
-     */
-    public Builder clearIdentifier() {
-      
-      identifier_ = 0L;
-      onChanged();
-      return this;
-    }
-
-    private java.lang.Object fea_ = "";
-    /**
-     * <code>string fea = 3;</code>
-     * @return The fea.
-     */
-    public java.lang.String getFea() {
-      java.lang.Object ref = fea_;
-      if (!(ref instanceof java.lang.String)) {
-        com.google.protobuf.ByteString bs =
-            (com.google.protobuf.ByteString) ref;
-        java.lang.String s = bs.toStringUtf8();
-        fea_ = s;
-        return s;
-      } else {
-        return (java.lang.String) ref;
-      }
-    }
-    /**
-     * <code>string fea = 3;</code>
-     * @return The bytes for fea.
-     */
-    public com.google.protobuf.ByteString
-        getFeaBytes() {
-      java.lang.Object ref = fea_;
-      if (ref instanceof String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (java.lang.String) ref);
-        fea_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
-    }
-    /**
-     * <code>string fea = 3;</code>
-     * @param value The fea to set.
-     * @return This builder for chaining.
-     */
-    public Builder setFea(
-        java.lang.String value) {
-      if (value == null) {
-    throw new NullPointerException();
-  }
-  
-      fea_ = value;
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>string fea = 3;</code>
-     * @return This builder for chaining.
-     */
-    public Builder clearFea() {
-      
-      fea_ = getDefaultInstance().getFea();
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>string fea = 3;</code>
-     * @param value The bytes for fea to set.
-     * @return This builder for chaining.
-     */
-    public Builder setFeaBytes(
-        com.google.protobuf.ByteString value) {
-      if (value == null) {
-    throw new NullPointerException();
-  }
-  checkByteStringIsUtf8(value);
-      
-      fea_ = value;
-      onChanged();
-      return this;
-    }
-
-    private double value_ ;
-    /**
-     * <code>double value = 4;</code>
-     * @return The value.
-     */
-    @java.lang.Override
-    public double getValue() {
-      return value_;
-    }
-    /**
-     * <code>double value = 4;</code>
-     * @param value The value to set.
-     * @return This builder for chaining.
-     */
-    public Builder setValue(double value) {
-      
-      value_ = value;
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>double value = 4;</code>
-     * @return This builder for chaining.
-     */
-    public Builder clearValue() {
-      
-      value_ = 0D;
-      onChanged();
-      return this;
-    }
-
-    private double weight_ ;
-    /**
-     * <code>double weight = 5;</code>
-     * @return The weight.
-     */
-    @java.lang.Override
-    public double getWeight() {
-      return weight_;
-    }
-    /**
-     * <code>double weight = 5;</code>
-     * @param value The weight to set.
-     * @return This builder for chaining.
-     */
-    public Builder setWeight(double value) {
-      
-      weight_ = value;
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>double weight = 5;</code>
-     * @return This builder for chaining.
-     */
-    public Builder clearWeight() {
-      
-      weight_ = 0D;
-      onChanged();
-      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:BaseFeature)
-  }
-
-  // @@protoc_insertion_point(class_scope:BaseFeature)
-  private static final com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature DEFAULT_INSTANCE;
-  static {
-    DEFAULT_INSTANCE = new com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature();
-  }
-
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature getDefaultInstance() {
-    return DEFAULT_INSTANCE;
-  }
-
-  private static final com.google.protobuf.Parser<BaseFeature>
-      PARSER = new com.google.protobuf.AbstractParser<BaseFeature>() {
-    @java.lang.Override
-    public BaseFeature parsePartialFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return new BaseFeature(input, extensionRegistry);
-    }
-  };
-
-  public static com.google.protobuf.Parser<BaseFeature> parser() {
-    return PARSER;
-  }
-
-  @java.lang.Override
-  public com.google.protobuf.Parser<BaseFeature> getParserForType() {
-    return PARSER;
-  }
-
-  @java.lang.Override
-  public com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature getDefaultInstanceForType() {
-    return DEFAULT_INSTANCE;
-  }
-
-}
-

+ 0 - 45
recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/gen/recommend/BaseFeatureOrBuilder.java

@@ -1,45 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: com/tzld/piaoquan/recommend/feature/ctr_samples.proto
-
-package com.tzld.piaoquan.recommend.feature.gen.recommend;
-
-public interface BaseFeatureOrBuilder extends
-    // @@protoc_insertion_point(interface_extends:BaseFeature)
-    com.google.protobuf.MessageOrBuilder {
-
-  /**
-   * <code>int64 id = 1;</code>
-   * @return The id.
-   */
-  long getId();
-
-  /**
-   * <code>int64 identifier = 2;</code>
-   * @return The identifier.
-   */
-  long getIdentifier();
-
-  /**
-   * <code>string fea = 3;</code>
-   * @return The fea.
-   */
-  java.lang.String getFea();
-  /**
-   * <code>string fea = 3;</code>
-   * @return The bytes for fea.
-   */
-  com.google.protobuf.ByteString
-      getFeaBytes();
-
-  /**
-   * <code>double value = 4;</code>
-   * @return The value.
-   */
-  double getValue();
-
-  /**
-   * <code>double weight = 5;</code>
-   * @return The weight.
-   */
-  double getWeight();
-}

+ 0 - 104
recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/gen/recommend/CtrSamples.java

@@ -1,104 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: com/tzld/piaoquan/recommend/feature/ctr_samples.proto
-
-package com.tzld.piaoquan.recommend.feature.gen.recommend;
-
-public final class CtrSamples {
-  private CtrSamples() {}
-  public static void 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_FeatureGroup_descriptor;
-  static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internal_static_FeatureGroup_fieldAccessorTable;
-  static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_BaseFeature_descriptor;
-  static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internal_static_BaseFeature_fieldAccessorTable;
-  static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_GroupedFeature_descriptor;
-  static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internal_static_GroupedFeature_fieldAccessorTable;
-  static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_LRWeight_descriptor;
-  static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internal_static_LRWeight_fieldAccessorTable;
-  static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_LRSamples_descriptor;
-  static final 
-    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internal_static_LRSamples_fieldAccessorTable;
-
-  public static com.google.protobuf.Descriptors.FileDescriptor
-      getDescriptor() {
-    return descriptor;
-  }
-  private static  com.google.protobuf.Descriptors.FileDescriptor
-      descriptor;
-  static {
-    java.lang.String[] descriptorData = {
-      "\n5com/tzld/piaoquan/recommend/feature/ct" +
-      "r_samples.proto\"E\n\014FeatureGroup\022\014\n\004type\030" +
-      "\001 \001(\t\022\n\n\002id\030\002 \001(\005\022\014\n\004name\030\003 \001(\t\022\r\n\005field" +
-      "\030\004 \001(\t\"Y\n\013BaseFeature\022\n\n\002id\030\001 \001(\003\022\022\n\nide" +
-      "ntifier\030\002 \001(\003\022\013\n\003fea\030\003 \001(\t\022\r\n\005value\030\004 \001(" +
-      "\001\022\016\n\006weight\030\005 \001(\001\"]\n\016GroupedFeature\022\034\n\005g" +
-      "roup\030\001 \001(\0132\r.FeatureGroup\022\r\n\005count\030\002 \001(\005" +
-      "\022\036\n\010features\030\003 \003(\0132\014.BaseFeature\"=\n\010LRWe" +
-      "ight\022\021\n\tgroup_num\030\001 \001(\005\022\036\n\010features\030\002 \003(" +
-      "\0132\014.BaseFeature\"\207\001\n\tLRSamples\022\020\n\010is_clic" +
-      "k\030\001 \001(\005\022\021\n\tgroup_num\030\002 \001(\005\022\r\n\005count\030\003 \001(" +
-      "\005\022!\n\010features\030\004 \003(\0132\017.GroupedFeature\022\016\n\006" +
-      "weight\030\005 \001(\001\022\023\n\013predict_ctr\030\006 \001(\001B8\n1com" +
-      ".tzld.piaoquan.recommend.feature.gen.rec" +
-      "ommendP\001\210\001\001b\006proto3"
-    };
-    descriptor = com.google.protobuf.Descriptors.FileDescriptor
-      .internalBuildGeneratedFileFrom(descriptorData,
-        new com.google.protobuf.Descriptors.FileDescriptor[] {
-        });
-    internal_static_FeatureGroup_descriptor =
-      getDescriptor().getMessageTypes().get(0);
-    internal_static_FeatureGroup_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
-        internal_static_FeatureGroup_descriptor,
-        new java.lang.String[] { "Type", "Id", "Name", "Field", });
-    internal_static_BaseFeature_descriptor =
-      getDescriptor().getMessageTypes().get(1);
-    internal_static_BaseFeature_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
-        internal_static_BaseFeature_descriptor,
-        new java.lang.String[] { "Id", "Identifier", "Fea", "Value", "Weight", });
-    internal_static_GroupedFeature_descriptor =
-      getDescriptor().getMessageTypes().get(2);
-    internal_static_GroupedFeature_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
-        internal_static_GroupedFeature_descriptor,
-        new java.lang.String[] { "Group", "Count", "Features", });
-    internal_static_LRWeight_descriptor =
-      getDescriptor().getMessageTypes().get(3);
-    internal_static_LRWeight_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
-        internal_static_LRWeight_descriptor,
-        new java.lang.String[] { "GroupNum", "Features", });
-    internal_static_LRSamples_descriptor =
-      getDescriptor().getMessageTypes().get(4);
-    internal_static_LRSamples_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
-        internal_static_LRSamples_descriptor,
-        new java.lang.String[] { "IsClick", "GroupNum", "Count", "Features", "Weight", "PredictCtr", });
-  }
-
-  // @@protoc_insertion_point(outer_class_scope)
-}

+ 0 - 897
recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/gen/recommend/FeatureGroup.java

@@ -1,897 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: com/tzld/piaoquan/recommend/feature/ctr_samples.proto
-
-package com.tzld.piaoquan.recommend.feature.gen.recommend;
-
-/**
- * Protobuf type {@code FeatureGroup}
- */
-public final class FeatureGroup extends
-    com.google.protobuf.GeneratedMessageV3 implements
-    // @@protoc_insertion_point(message_implements:FeatureGroup)
-    FeatureGroupOrBuilder {
-private static final long serialVersionUID = 0L;
-  // Use FeatureGroup.newBuilder() to construct.
-  private FeatureGroup(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
-    super(builder);
-  }
-  private FeatureGroup() {
-    type_ = "";
-    name_ = "";
-    field_ = "";
-  }
-
-  @java.lang.Override
-  @SuppressWarnings({"unused"})
-  protected java.lang.Object newInstance(
-      UnusedPrivateParameter unused) {
-    return new FeatureGroup();
-  }
-
-  @java.lang.Override
-  public final com.google.protobuf.UnknownFieldSet
-  getUnknownFields() {
-    return this.unknownFields;
-  }
-  private FeatureGroup(
-      com.google.protobuf.CodedInputStream input,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    this();
-    if (extensionRegistry == null) {
-      throw new java.lang.NullPointerException();
-    }
-    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: {
-            java.lang.String s = input.readStringRequireUtf8();
-
-            type_ = s;
-            break;
-          }
-          case 16: {
-
-            id_ = input.readInt32();
-            break;
-          }
-          case 26: {
-            java.lang.String s = input.readStringRequireUtf8();
-
-            name_ = s;
-            break;
-          }
-          case 34: {
-            java.lang.String s = input.readStringRequireUtf8();
-
-            field_ = s;
-            break;
-          }
-          default: {
-            if (!parseUnknownField(
-                input, unknownFields, extensionRegistry, tag)) {
-              done = true;
-            }
-            break;
-          }
-        }
-      }
-    } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-      throw e.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 com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_FeatureGroup_descriptor;
-  }
-
-  @java.lang.Override
-  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internalGetFieldAccessorTable() {
-    return com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_FeatureGroup_fieldAccessorTable
-        .ensureFieldAccessorsInitialized(
-            com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup.class, com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup.Builder.class);
-  }
-
-  public static final int TYPE_FIELD_NUMBER = 1;
-  private volatile java.lang.Object type_;
-  /**
-   * <code>string type = 1;</code>
-   * @return The type.
-   */
-  @java.lang.Override
-  public java.lang.String getType() {
-    java.lang.Object ref = type_;
-    if (ref instanceof java.lang.String) {
-      return (java.lang.String) ref;
-    } else {
-      com.google.protobuf.ByteString bs = 
-          (com.google.protobuf.ByteString) ref;
-      java.lang.String s = bs.toStringUtf8();
-      type_ = s;
-      return s;
-    }
-  }
-  /**
-   * <code>string type = 1;</code>
-   * @return The bytes for type.
-   */
-  @java.lang.Override
-  public com.google.protobuf.ByteString
-      getTypeBytes() {
-    java.lang.Object ref = type_;
-    if (ref instanceof java.lang.String) {
-      com.google.protobuf.ByteString b = 
-          com.google.protobuf.ByteString.copyFromUtf8(
-              (java.lang.String) ref);
-      type_ = b;
-      return b;
-    } else {
-      return (com.google.protobuf.ByteString) ref;
-    }
-  }
-
-  public static final int ID_FIELD_NUMBER = 2;
-  private int id_;
-  /**
-   * <code>int32 id = 2;</code>
-   * @return The id.
-   */
-  @java.lang.Override
-  public int getId() {
-    return id_;
-  }
-
-  public static final int NAME_FIELD_NUMBER = 3;
-  private volatile java.lang.Object name_;
-  /**
-   * <code>string name = 3;</code>
-   * @return The name.
-   */
-  @java.lang.Override
-  public java.lang.String getName() {
-    java.lang.Object ref = name_;
-    if (ref instanceof java.lang.String) {
-      return (java.lang.String) ref;
-    } else {
-      com.google.protobuf.ByteString bs = 
-          (com.google.protobuf.ByteString) ref;
-      java.lang.String s = bs.toStringUtf8();
-      name_ = s;
-      return s;
-    }
-  }
-  /**
-   * <code>string name = 3;</code>
-   * @return The bytes for name.
-   */
-  @java.lang.Override
-  public com.google.protobuf.ByteString
-      getNameBytes() {
-    java.lang.Object ref = name_;
-    if (ref instanceof java.lang.String) {
-      com.google.protobuf.ByteString b = 
-          com.google.protobuf.ByteString.copyFromUtf8(
-              (java.lang.String) ref);
-      name_ = b;
-      return b;
-    } else {
-      return (com.google.protobuf.ByteString) ref;
-    }
-  }
-
-  public static final int FIELD_FIELD_NUMBER = 4;
-  private volatile java.lang.Object field_;
-  /**
-   * <code>string field = 4;</code>
-   * @return The field.
-   */
-  @java.lang.Override
-  public java.lang.String getField() {
-    java.lang.Object ref = field_;
-    if (ref instanceof java.lang.String) {
-      return (java.lang.String) ref;
-    } else {
-      com.google.protobuf.ByteString bs = 
-          (com.google.protobuf.ByteString) ref;
-      java.lang.String s = bs.toStringUtf8();
-      field_ = s;
-      return s;
-    }
-  }
-  /**
-   * <code>string field = 4;</code>
-   * @return The bytes for field.
-   */
-  @java.lang.Override
-  public com.google.protobuf.ByteString
-      getFieldBytes() {
-    java.lang.Object ref = field_;
-    if (ref instanceof java.lang.String) {
-      com.google.protobuf.ByteString b = 
-          com.google.protobuf.ByteString.copyFromUtf8(
-              (java.lang.String) ref);
-      field_ = b;
-      return b;
-    } else {
-      return (com.google.protobuf.ByteString) ref;
-    }
-  }
-
-  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 {
-    if (!getTypeBytes().isEmpty()) {
-      com.google.protobuf.GeneratedMessageV3.writeString(output, 1, type_);
-    }
-    if (id_ != 0) {
-      output.writeInt32(2, id_);
-    }
-    if (!getNameBytes().isEmpty()) {
-      com.google.protobuf.GeneratedMessageV3.writeString(output, 3, name_);
-    }
-    if (!getFieldBytes().isEmpty()) {
-      com.google.protobuf.GeneratedMessageV3.writeString(output, 4, field_);
-    }
-    unknownFields.writeTo(output);
-  }
-
-  @java.lang.Override
-  public int getSerializedSize() {
-    int size = memoizedSize;
-    if (size != -1) return size;
-
-    size = 0;
-    if (!getTypeBytes().isEmpty()) {
-      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, type_);
-    }
-    if (id_ != 0) {
-      size += com.google.protobuf.CodedOutputStream
-        .computeInt32Size(2, id_);
-    }
-    if (!getNameBytes().isEmpty()) {
-      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, name_);
-    }
-    if (!getFieldBytes().isEmpty()) {
-      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, field_);
-    }
-    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 com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup)) {
-      return super.equals(obj);
-    }
-    com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup other = (com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup) obj;
-
-    if (!getType()
-        .equals(other.getType())) return false;
-    if (getId()
-        != other.getId()) return false;
-    if (!getName()
-        .equals(other.getName())) return false;
-    if (!getField()
-        .equals(other.getField())) 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();
-    hash = (37 * hash) + TYPE_FIELD_NUMBER;
-    hash = (53 * hash) + getType().hashCode();
-    hash = (37 * hash) + ID_FIELD_NUMBER;
-    hash = (53 * hash) + getId();
-    hash = (37 * hash) + NAME_FIELD_NUMBER;
-    hash = (53 * hash) + getName().hashCode();
-    hash = (37 * hash) + FIELD_FIELD_NUMBER;
-    hash = (53 * hash) + getField().hashCode();
-    hash = (29 * hash) + unknownFields.hashCode();
-    memoizedHashCode = hash;
-    return hash;
-  }
-
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup parseFrom(
-      java.nio.ByteBuffer data)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup parseFrom(
-      java.nio.ByteBuffer data,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data, extensionRegistry);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup parseFrom(
-      com.google.protobuf.ByteString data)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup parseFrom(
-      com.google.protobuf.ByteString data,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data, extensionRegistry);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup parseFrom(byte[] data)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup parseFrom(
-      byte[] data,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data, extensionRegistry);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup parseFrom(java.io.InputStream input)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseWithIOException(PARSER, input);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup 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 com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup parseDelimitedFrom(java.io.InputStream input)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseDelimitedWithIOException(PARSER, input);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup 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 com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup parseFrom(
-      com.google.protobuf.CodedInputStream input)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseWithIOException(PARSER, input);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup 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(com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup 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 FeatureGroup}
-   */
-  public static final class Builder extends
-      com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
-      // @@protoc_insertion_point(builder_implements:FeatureGroup)
-      com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroupOrBuilder {
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_FeatureGroup_descriptor;
-    }
-
-    @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_FeatureGroup_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup.class, com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup.Builder.class);
-    }
-
-    // Construct using com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup.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();
-      type_ = "";
-
-      id_ = 0;
-
-      name_ = "";
-
-      field_ = "";
-
-      return this;
-    }
-
-    @java.lang.Override
-    public com.google.protobuf.Descriptors.Descriptor
-        getDescriptorForType() {
-      return com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_FeatureGroup_descriptor;
-    }
-
-    @java.lang.Override
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup getDefaultInstanceForType() {
-      return com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup.getDefaultInstance();
-    }
-
-    @java.lang.Override
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup build() {
-      com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup result = buildPartial();
-      if (!result.isInitialized()) {
-        throw newUninitializedMessageException(result);
-      }
-      return result;
-    }
-
-    @java.lang.Override
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup buildPartial() {
-      com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup result = new com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup(this);
-      result.type_ = type_;
-      result.id_ = id_;
-      result.name_ = name_;
-      result.field_ = field_;
-      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 com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup) {
-        return mergeFrom((com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup)other);
-      } else {
-        super.mergeFrom(other);
-        return this;
-      }
-    }
-
-    public Builder mergeFrom(com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup other) {
-      if (other == com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup.getDefaultInstance()) return this;
-      if (!other.getType().isEmpty()) {
-        type_ = other.type_;
-        onChanged();
-      }
-      if (other.getId() != 0) {
-        setId(other.getId());
-      }
-      if (!other.getName().isEmpty()) {
-        name_ = other.name_;
-        onChanged();
-      }
-      if (!other.getField().isEmpty()) {
-        field_ = other.field_;
-        onChanged();
-      }
-      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 {
-      com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup parsedMessage = null;
-      try {
-        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        parsedMessage = (com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup) e.getUnfinishedMessage();
-        throw e.unwrapIOException();
-      } finally {
-        if (parsedMessage != null) {
-          mergeFrom(parsedMessage);
-        }
-      }
-      return this;
-    }
-
-    private java.lang.Object type_ = "";
-    /**
-     * <code>string type = 1;</code>
-     * @return The type.
-     */
-    public java.lang.String getType() {
-      java.lang.Object ref = type_;
-      if (!(ref instanceof java.lang.String)) {
-        com.google.protobuf.ByteString bs =
-            (com.google.protobuf.ByteString) ref;
-        java.lang.String s = bs.toStringUtf8();
-        type_ = s;
-        return s;
-      } else {
-        return (java.lang.String) ref;
-      }
-    }
-    /**
-     * <code>string type = 1;</code>
-     * @return The bytes for type.
-     */
-    public com.google.protobuf.ByteString
-        getTypeBytes() {
-      java.lang.Object ref = type_;
-      if (ref instanceof String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (java.lang.String) ref);
-        type_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
-    }
-    /**
-     * <code>string type = 1;</code>
-     * @param value The type to set.
-     * @return This builder for chaining.
-     */
-    public Builder setType(
-        java.lang.String value) {
-      if (value == null) {
-    throw new NullPointerException();
-  }
-  
-      type_ = value;
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>string type = 1;</code>
-     * @return This builder for chaining.
-     */
-    public Builder clearType() {
-      
-      type_ = getDefaultInstance().getType();
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>string type = 1;</code>
-     * @param value The bytes for type to set.
-     * @return This builder for chaining.
-     */
-    public Builder setTypeBytes(
-        com.google.protobuf.ByteString value) {
-      if (value == null) {
-    throw new NullPointerException();
-  }
-  checkByteStringIsUtf8(value);
-      
-      type_ = value;
-      onChanged();
-      return this;
-    }
-
-    private int id_ ;
-    /**
-     * <code>int32 id = 2;</code>
-     * @return The id.
-     */
-    @java.lang.Override
-    public int getId() {
-      return id_;
-    }
-    /**
-     * <code>int32 id = 2;</code>
-     * @param value The id to set.
-     * @return This builder for chaining.
-     */
-    public Builder setId(int value) {
-      
-      id_ = value;
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>int32 id = 2;</code>
-     * @return This builder for chaining.
-     */
-    public Builder clearId() {
-      
-      id_ = 0;
-      onChanged();
-      return this;
-    }
-
-    private java.lang.Object name_ = "";
-    /**
-     * <code>string name = 3;</code>
-     * @return The name.
-     */
-    public java.lang.String getName() {
-      java.lang.Object ref = name_;
-      if (!(ref instanceof java.lang.String)) {
-        com.google.protobuf.ByteString bs =
-            (com.google.protobuf.ByteString) ref;
-        java.lang.String s = bs.toStringUtf8();
-        name_ = s;
-        return s;
-      } else {
-        return (java.lang.String) ref;
-      }
-    }
-    /**
-     * <code>string name = 3;</code>
-     * @return The bytes for name.
-     */
-    public com.google.protobuf.ByteString
-        getNameBytes() {
-      java.lang.Object ref = name_;
-      if (ref instanceof String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (java.lang.String) ref);
-        name_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
-    }
-    /**
-     * <code>string name = 3;</code>
-     * @param value The name to set.
-     * @return This builder for chaining.
-     */
-    public Builder setName(
-        java.lang.String value) {
-      if (value == null) {
-    throw new NullPointerException();
-  }
-  
-      name_ = value;
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>string name = 3;</code>
-     * @return This builder for chaining.
-     */
-    public Builder clearName() {
-      
-      name_ = getDefaultInstance().getName();
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>string name = 3;</code>
-     * @param value The bytes for name to set.
-     * @return This builder for chaining.
-     */
-    public Builder setNameBytes(
-        com.google.protobuf.ByteString value) {
-      if (value == null) {
-    throw new NullPointerException();
-  }
-  checkByteStringIsUtf8(value);
-      
-      name_ = value;
-      onChanged();
-      return this;
-    }
-
-    private java.lang.Object field_ = "";
-    /**
-     * <code>string field = 4;</code>
-     * @return The field.
-     */
-    public java.lang.String getField() {
-      java.lang.Object ref = field_;
-      if (!(ref instanceof java.lang.String)) {
-        com.google.protobuf.ByteString bs =
-            (com.google.protobuf.ByteString) ref;
-        java.lang.String s = bs.toStringUtf8();
-        field_ = s;
-        return s;
-      } else {
-        return (java.lang.String) ref;
-      }
-    }
-    /**
-     * <code>string field = 4;</code>
-     * @return The bytes for field.
-     */
-    public com.google.protobuf.ByteString
-        getFieldBytes() {
-      java.lang.Object ref = field_;
-      if (ref instanceof String) {
-        com.google.protobuf.ByteString b = 
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (java.lang.String) ref);
-        field_ = b;
-        return b;
-      } else {
-        return (com.google.protobuf.ByteString) ref;
-      }
-    }
-    /**
-     * <code>string field = 4;</code>
-     * @param value The field to set.
-     * @return This builder for chaining.
-     */
-    public Builder setField(
-        java.lang.String value) {
-      if (value == null) {
-    throw new NullPointerException();
-  }
-  
-      field_ = value;
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>string field = 4;</code>
-     * @return This builder for chaining.
-     */
-    public Builder clearField() {
-      
-      field_ = getDefaultInstance().getField();
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>string field = 4;</code>
-     * @param value The bytes for field to set.
-     * @return This builder for chaining.
-     */
-    public Builder setFieldBytes(
-        com.google.protobuf.ByteString value) {
-      if (value == null) {
-    throw new NullPointerException();
-  }
-  checkByteStringIsUtf8(value);
-      
-      field_ = value;
-      onChanged();
-      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:FeatureGroup)
-  }
-
-  // @@protoc_insertion_point(class_scope:FeatureGroup)
-  private static final com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup DEFAULT_INSTANCE;
-  static {
-    DEFAULT_INSTANCE = new com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup();
-  }
-
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup getDefaultInstance() {
-    return DEFAULT_INSTANCE;
-  }
-
-  private static final com.google.protobuf.Parser<FeatureGroup>
-      PARSER = new com.google.protobuf.AbstractParser<FeatureGroup>() {
-    @java.lang.Override
-    public FeatureGroup parsePartialFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return new FeatureGroup(input, extensionRegistry);
-    }
-  };
-
-  public static com.google.protobuf.Parser<FeatureGroup> parser() {
-    return PARSER;
-  }
-
-  @java.lang.Override
-  public com.google.protobuf.Parser<FeatureGroup> getParserForType() {
-    return PARSER;
-  }
-
-  @java.lang.Override
-  public com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup getDefaultInstanceForType() {
-    return DEFAULT_INSTANCE;
-  }
-
-}
-

+ 0 - 51
recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/gen/recommend/FeatureGroupOrBuilder.java

@@ -1,51 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: com/tzld/piaoquan/recommend/feature/ctr_samples.proto
-
-package com.tzld.piaoquan.recommend.feature.gen.recommend;
-
-public interface FeatureGroupOrBuilder extends
-    // @@protoc_insertion_point(interface_extends:FeatureGroup)
-    com.google.protobuf.MessageOrBuilder {
-
-  /**
-   * <code>string type = 1;</code>
-   * @return The type.
-   */
-  java.lang.String getType();
-  /**
-   * <code>string type = 1;</code>
-   * @return The bytes for type.
-   */
-  com.google.protobuf.ByteString
-      getTypeBytes();
-
-  /**
-   * <code>int32 id = 2;</code>
-   * @return The id.
-   */
-  int getId();
-
-  /**
-   * <code>string name = 3;</code>
-   * @return The name.
-   */
-  java.lang.String getName();
-  /**
-   * <code>string name = 3;</code>
-   * @return The bytes for name.
-   */
-  com.google.protobuf.ByteString
-      getNameBytes();
-
-  /**
-   * <code>string field = 4;</code>
-   * @return The field.
-   */
-  java.lang.String getField();
-  /**
-   * <code>string field = 4;</code>
-   * @return The bytes for field.
-   */
-  com.google.protobuf.ByteString
-      getFieldBytes();
-}

+ 0 - 1022
recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/gen/recommend/GroupedFeature.java

@@ -1,1022 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: com/tzld/piaoquan/recommend/feature/ctr_samples.proto
-
-package com.tzld.piaoquan.recommend.feature.gen.recommend;
-
-/**
- * Protobuf type {@code GroupedFeature}
- */
-public final class GroupedFeature extends
-    com.google.protobuf.GeneratedMessageV3 implements
-    // @@protoc_insertion_point(message_implements:GroupedFeature)
-    GroupedFeatureOrBuilder {
-private static final long serialVersionUID = 0L;
-  // Use GroupedFeature.newBuilder() to construct.
-  private GroupedFeature(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
-    super(builder);
-  }
-  private GroupedFeature() {
-    features_ = java.util.Collections.emptyList();
-  }
-
-  @java.lang.Override
-  @SuppressWarnings({"unused"})
-  protected java.lang.Object newInstance(
-      UnusedPrivateParameter unused) {
-    return new GroupedFeature();
-  }
-
-  @java.lang.Override
-  public final com.google.protobuf.UnknownFieldSet
-  getUnknownFields() {
-    return this.unknownFields;
-  }
-  private GroupedFeature(
-      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: {
-            com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup.Builder subBuilder = null;
-            if (group_ != null) {
-              subBuilder = group_.toBuilder();
-            }
-            group_ = input.readMessage(com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup.parser(), extensionRegistry);
-            if (subBuilder != null) {
-              subBuilder.mergeFrom(group_);
-              group_ = subBuilder.buildPartial();
-            }
-
-            break;
-          }
-          case 16: {
-
-            count_ = input.readInt32();
-            break;
-          }
-          case 26: {
-            if (!((mutable_bitField0_ & 0x00000001) != 0)) {
-              features_ = new java.util.ArrayList<com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature>();
-              mutable_bitField0_ |= 0x00000001;
-            }
-            features_.add(
-                input.readMessage(com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.parser(), extensionRegistry));
-            break;
-          }
-          default: {
-            if (!parseUnknownField(
-                input, unknownFields, extensionRegistry, tag)) {
-              done = true;
-            }
-            break;
-          }
-        }
-      }
-    } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-      throw e.setUnfinishedMessage(this);
-    } catch (java.io.IOException e) {
-      throw new com.google.protobuf.InvalidProtocolBufferException(
-          e).setUnfinishedMessage(this);
-    } finally {
-      if (((mutable_bitField0_ & 0x00000001) != 0)) {
-        features_ = java.util.Collections.unmodifiableList(features_);
-      }
-      this.unknownFields = unknownFields.build();
-      makeExtensionsImmutable();
-    }
-  }
-  public static final com.google.protobuf.Descriptors.Descriptor
-      getDescriptor() {
-    return com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_GroupedFeature_descriptor;
-  }
-
-  @java.lang.Override
-  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internalGetFieldAccessorTable() {
-    return com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_GroupedFeature_fieldAccessorTable
-        .ensureFieldAccessorsInitialized(
-            com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature.class, com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature.Builder.class);
-  }
-
-  public static final int GROUP_FIELD_NUMBER = 1;
-  private com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup group_;
-  /**
-   * <code>.FeatureGroup group = 1;</code>
-   * @return Whether the group field is set.
-   */
-  @java.lang.Override
-  public boolean hasGroup() {
-    return group_ != null;
-  }
-  /**
-   * <code>.FeatureGroup group = 1;</code>
-   * @return The group.
-   */
-  @java.lang.Override
-  public com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup getGroup() {
-    return group_ == null ? com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup.getDefaultInstance() : group_;
-  }
-  /**
-   * <code>.FeatureGroup group = 1;</code>
-   */
-  @java.lang.Override
-  public com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroupOrBuilder getGroupOrBuilder() {
-    return getGroup();
-  }
-
-  public static final int COUNT_FIELD_NUMBER = 2;
-  private int count_;
-  /**
-   * <code>int32 count = 2;</code>
-   * @return The count.
-   */
-  @java.lang.Override
-  public int getCount() {
-    return count_;
-  }
-
-  public static final int FEATURES_FIELD_NUMBER = 3;
-  private java.util.List<com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature> features_;
-  /**
-   * <code>repeated .BaseFeature features = 3;</code>
-   */
-  @java.lang.Override
-  public java.util.List<com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature> getFeaturesList() {
-    return features_;
-  }
-  /**
-   * <code>repeated .BaseFeature features = 3;</code>
-   */
-  @java.lang.Override
-  public java.util.List<? extends com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeatureOrBuilder> 
-      getFeaturesOrBuilderList() {
-    return features_;
-  }
-  /**
-   * <code>repeated .BaseFeature features = 3;</code>
-   */
-  @java.lang.Override
-  public int getFeaturesCount() {
-    return features_.size();
-  }
-  /**
-   * <code>repeated .BaseFeature features = 3;</code>
-   */
-  @java.lang.Override
-  public com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature getFeatures(int index) {
-    return features_.get(index);
-  }
-  /**
-   * <code>repeated .BaseFeature features = 3;</code>
-   */
-  @java.lang.Override
-  public com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeatureOrBuilder getFeaturesOrBuilder(
-      int index) {
-    return features_.get(index);
-  }
-
-  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 {
-    if (group_ != null) {
-      output.writeMessage(1, getGroup());
-    }
-    if (count_ != 0) {
-      output.writeInt32(2, count_);
-    }
-    for (int i = 0; i < features_.size(); i++) {
-      output.writeMessage(3, features_.get(i));
-    }
-    unknownFields.writeTo(output);
-  }
-
-  @java.lang.Override
-  public int getSerializedSize() {
-    int size = memoizedSize;
-    if (size != -1) return size;
-
-    size = 0;
-    if (group_ != null) {
-      size += com.google.protobuf.CodedOutputStream
-        .computeMessageSize(1, getGroup());
-    }
-    if (count_ != 0) {
-      size += com.google.protobuf.CodedOutputStream
-        .computeInt32Size(2, count_);
-    }
-    for (int i = 0; i < features_.size(); i++) {
-      size += com.google.protobuf.CodedOutputStream
-        .computeMessageSize(3, features_.get(i));
-    }
-    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 com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature)) {
-      return super.equals(obj);
-    }
-    com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature other = (com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature) obj;
-
-    if (hasGroup() != other.hasGroup()) return false;
-    if (hasGroup()) {
-      if (!getGroup()
-          .equals(other.getGroup())) return false;
-    }
-    if (getCount()
-        != other.getCount()) return false;
-    if (!getFeaturesList()
-        .equals(other.getFeaturesList())) 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 (hasGroup()) {
-      hash = (37 * hash) + GROUP_FIELD_NUMBER;
-      hash = (53 * hash) + getGroup().hashCode();
-    }
-    hash = (37 * hash) + COUNT_FIELD_NUMBER;
-    hash = (53 * hash) + getCount();
-    if (getFeaturesCount() > 0) {
-      hash = (37 * hash) + FEATURES_FIELD_NUMBER;
-      hash = (53 * hash) + getFeaturesList().hashCode();
-    }
-    hash = (29 * hash) + unknownFields.hashCode();
-    memoizedHashCode = hash;
-    return hash;
-  }
-
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature parseFrom(
-      java.nio.ByteBuffer data)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature parseFrom(
-      java.nio.ByteBuffer data,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data, extensionRegistry);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature parseFrom(
-      com.google.protobuf.ByteString data)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature parseFrom(
-      com.google.protobuf.ByteString data,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data, extensionRegistry);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature parseFrom(byte[] data)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature parseFrom(
-      byte[] data,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data, extensionRegistry);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature parseFrom(java.io.InputStream input)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseWithIOException(PARSER, input);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature 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 com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature parseDelimitedFrom(java.io.InputStream input)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseDelimitedWithIOException(PARSER, input);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature 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 com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature parseFrom(
-      com.google.protobuf.CodedInputStream input)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseWithIOException(PARSER, input);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature 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(com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature 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 GroupedFeature}
-   */
-  public static final class Builder extends
-      com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
-      // @@protoc_insertion_point(builder_implements:GroupedFeature)
-      com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeatureOrBuilder {
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_GroupedFeature_descriptor;
-    }
-
-    @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_GroupedFeature_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature.class, com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature.Builder.class);
-    }
-
-    // Construct using com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature.newBuilder()
-    private Builder() {
-      maybeForceBuilderInitialization();
-    }
-
-    private Builder(
-        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
-      super(parent);
-      maybeForceBuilderInitialization();
-    }
-    private void maybeForceBuilderInitialization() {
-      if (com.google.protobuf.GeneratedMessageV3
-              .alwaysUseFieldBuilders) {
-        getFeaturesFieldBuilder();
-      }
-    }
-    @java.lang.Override
-    public Builder clear() {
-      super.clear();
-      if (groupBuilder_ == null) {
-        group_ = null;
-      } else {
-        group_ = null;
-        groupBuilder_ = null;
-      }
-      count_ = 0;
-
-      if (featuresBuilder_ == null) {
-        features_ = java.util.Collections.emptyList();
-        bitField0_ = (bitField0_ & ~0x00000001);
-      } else {
-        featuresBuilder_.clear();
-      }
-      return this;
-    }
-
-    @java.lang.Override
-    public com.google.protobuf.Descriptors.Descriptor
-        getDescriptorForType() {
-      return com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_GroupedFeature_descriptor;
-    }
-
-    @java.lang.Override
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature getDefaultInstanceForType() {
-      return com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature.getDefaultInstance();
-    }
-
-    @java.lang.Override
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature build() {
-      com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature result = buildPartial();
-      if (!result.isInitialized()) {
-        throw newUninitializedMessageException(result);
-      }
-      return result;
-    }
-
-    @java.lang.Override
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature buildPartial() {
-      com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature result = new com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature(this);
-      int from_bitField0_ = bitField0_;
-      if (groupBuilder_ == null) {
-        result.group_ = group_;
-      } else {
-        result.group_ = groupBuilder_.build();
-      }
-      result.count_ = count_;
-      if (featuresBuilder_ == null) {
-        if (((bitField0_ & 0x00000001) != 0)) {
-          features_ = java.util.Collections.unmodifiableList(features_);
-          bitField0_ = (bitField0_ & ~0x00000001);
-        }
-        result.features_ = features_;
-      } else {
-        result.features_ = featuresBuilder_.build();
-      }
-      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 com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature) {
-        return mergeFrom((com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature)other);
-      } else {
-        super.mergeFrom(other);
-        return this;
-      }
-    }
-
-    public Builder mergeFrom(com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature other) {
-      if (other == com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature.getDefaultInstance()) return this;
-      if (other.hasGroup()) {
-        mergeGroup(other.getGroup());
-      }
-      if (other.getCount() != 0) {
-        setCount(other.getCount());
-      }
-      if (featuresBuilder_ == null) {
-        if (!other.features_.isEmpty()) {
-          if (features_.isEmpty()) {
-            features_ = other.features_;
-            bitField0_ = (bitField0_ & ~0x00000001);
-          } else {
-            ensureFeaturesIsMutable();
-            features_.addAll(other.features_);
-          }
-          onChanged();
-        }
-      } else {
-        if (!other.features_.isEmpty()) {
-          if (featuresBuilder_.isEmpty()) {
-            featuresBuilder_.dispose();
-            featuresBuilder_ = null;
-            features_ = other.features_;
-            bitField0_ = (bitField0_ & ~0x00000001);
-            featuresBuilder_ = 
-              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
-                 getFeaturesFieldBuilder() : null;
-          } else {
-            featuresBuilder_.addAllMessages(other.features_);
-          }
-        }
-      }
-      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 {
-      com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature parsedMessage = null;
-      try {
-        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        parsedMessage = (com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature) e.getUnfinishedMessage();
-        throw e.unwrapIOException();
-      } finally {
-        if (parsedMessage != null) {
-          mergeFrom(parsedMessage);
-        }
-      }
-      return this;
-    }
-    private int bitField0_;
-
-    private com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup group_;
-    private com.google.protobuf.SingleFieldBuilderV3<
-        com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup, com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup.Builder, com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroupOrBuilder> groupBuilder_;
-    /**
-     * <code>.FeatureGroup group = 1;</code>
-     * @return Whether the group field is set.
-     */
-    public boolean hasGroup() {
-      return groupBuilder_ != null || group_ != null;
-    }
-    /**
-     * <code>.FeatureGroup group = 1;</code>
-     * @return The group.
-     */
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup getGroup() {
-      if (groupBuilder_ == null) {
-        return group_ == null ? com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup.getDefaultInstance() : group_;
-      } else {
-        return groupBuilder_.getMessage();
-      }
-    }
-    /**
-     * <code>.FeatureGroup group = 1;</code>
-     */
-    public Builder setGroup(com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup value) {
-      if (groupBuilder_ == null) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        group_ = value;
-        onChanged();
-      } else {
-        groupBuilder_.setMessage(value);
-      }
-
-      return this;
-    }
-    /**
-     * <code>.FeatureGroup group = 1;</code>
-     */
-    public Builder setGroup(
-        com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup.Builder builderForValue) {
-      if (groupBuilder_ == null) {
-        group_ = builderForValue.build();
-        onChanged();
-      } else {
-        groupBuilder_.setMessage(builderForValue.build());
-      }
-
-      return this;
-    }
-    /**
-     * <code>.FeatureGroup group = 1;</code>
-     */
-    public Builder mergeGroup(com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup value) {
-      if (groupBuilder_ == null) {
-        if (group_ != null) {
-          group_ =
-            com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup.newBuilder(group_).mergeFrom(value).buildPartial();
-        } else {
-          group_ = value;
-        }
-        onChanged();
-      } else {
-        groupBuilder_.mergeFrom(value);
-      }
-
-      return this;
-    }
-    /**
-     * <code>.FeatureGroup group = 1;</code>
-     */
-    public Builder clearGroup() {
-      if (groupBuilder_ == null) {
-        group_ = null;
-        onChanged();
-      } else {
-        group_ = null;
-        groupBuilder_ = null;
-      }
-
-      return this;
-    }
-    /**
-     * <code>.FeatureGroup group = 1;</code>
-     */
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup.Builder getGroupBuilder() {
-      
-      onChanged();
-      return getGroupFieldBuilder().getBuilder();
-    }
-    /**
-     * <code>.FeatureGroup group = 1;</code>
-     */
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroupOrBuilder getGroupOrBuilder() {
-      if (groupBuilder_ != null) {
-        return groupBuilder_.getMessageOrBuilder();
-      } else {
-        return group_ == null ?
-            com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup.getDefaultInstance() : group_;
-      }
-    }
-    /**
-     * <code>.FeatureGroup group = 1;</code>
-     */
-    private com.google.protobuf.SingleFieldBuilderV3<
-        com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup, com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup.Builder, com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroupOrBuilder> 
-        getGroupFieldBuilder() {
-      if (groupBuilder_ == null) {
-        groupBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
-            com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup, com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup.Builder, com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroupOrBuilder>(
-                getGroup(),
-                getParentForChildren(),
-                isClean());
-        group_ = null;
-      }
-      return groupBuilder_;
-    }
-
-    private int count_ ;
-    /**
-     * <code>int32 count = 2;</code>
-     * @return The count.
-     */
-    @java.lang.Override
-    public int getCount() {
-      return count_;
-    }
-    /**
-     * <code>int32 count = 2;</code>
-     * @param value The count to set.
-     * @return This builder for chaining.
-     */
-    public Builder setCount(int value) {
-      
-      count_ = value;
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>int32 count = 2;</code>
-     * @return This builder for chaining.
-     */
-    public Builder clearCount() {
-      
-      count_ = 0;
-      onChanged();
-      return this;
-    }
-
-    private java.util.List<com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature> features_ =
-      java.util.Collections.emptyList();
-    private void ensureFeaturesIsMutable() {
-      if (!((bitField0_ & 0x00000001) != 0)) {
-        features_ = new java.util.ArrayList<com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature>(features_);
-        bitField0_ |= 0x00000001;
-       }
-    }
-
-    private com.google.protobuf.RepeatedFieldBuilderV3<
-        com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature, com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.Builder, com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeatureOrBuilder> featuresBuilder_;
-
-    /**
-     * <code>repeated .BaseFeature features = 3;</code>
-     */
-    public java.util.List<com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature> getFeaturesList() {
-      if (featuresBuilder_ == null) {
-        return java.util.Collections.unmodifiableList(features_);
-      } else {
-        return featuresBuilder_.getMessageList();
-      }
-    }
-    /**
-     * <code>repeated .BaseFeature features = 3;</code>
-     */
-    public int getFeaturesCount() {
-      if (featuresBuilder_ == null) {
-        return features_.size();
-      } else {
-        return featuresBuilder_.getCount();
-      }
-    }
-    /**
-     * <code>repeated .BaseFeature features = 3;</code>
-     */
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature getFeatures(int index) {
-      if (featuresBuilder_ == null) {
-        return features_.get(index);
-      } else {
-        return featuresBuilder_.getMessage(index);
-      }
-    }
-    /**
-     * <code>repeated .BaseFeature features = 3;</code>
-     */
-    public Builder setFeatures(
-        int index, com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature value) {
-      if (featuresBuilder_ == null) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        ensureFeaturesIsMutable();
-        features_.set(index, value);
-        onChanged();
-      } else {
-        featuresBuilder_.setMessage(index, value);
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .BaseFeature features = 3;</code>
-     */
-    public Builder setFeatures(
-        int index, com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.Builder builderForValue) {
-      if (featuresBuilder_ == null) {
-        ensureFeaturesIsMutable();
-        features_.set(index, builderForValue.build());
-        onChanged();
-      } else {
-        featuresBuilder_.setMessage(index, builderForValue.build());
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .BaseFeature features = 3;</code>
-     */
-    public Builder addFeatures(com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature value) {
-      if (featuresBuilder_ == null) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        ensureFeaturesIsMutable();
-        features_.add(value);
-        onChanged();
-      } else {
-        featuresBuilder_.addMessage(value);
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .BaseFeature features = 3;</code>
-     */
-    public Builder addFeatures(
-        int index, com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature value) {
-      if (featuresBuilder_ == null) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        ensureFeaturesIsMutable();
-        features_.add(index, value);
-        onChanged();
-      } else {
-        featuresBuilder_.addMessage(index, value);
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .BaseFeature features = 3;</code>
-     */
-    public Builder addFeatures(
-        com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.Builder builderForValue) {
-      if (featuresBuilder_ == null) {
-        ensureFeaturesIsMutable();
-        features_.add(builderForValue.build());
-        onChanged();
-      } else {
-        featuresBuilder_.addMessage(builderForValue.build());
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .BaseFeature features = 3;</code>
-     */
-    public Builder addFeatures(
-        int index, com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.Builder builderForValue) {
-      if (featuresBuilder_ == null) {
-        ensureFeaturesIsMutable();
-        features_.add(index, builderForValue.build());
-        onChanged();
-      } else {
-        featuresBuilder_.addMessage(index, builderForValue.build());
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .BaseFeature features = 3;</code>
-     */
-    public Builder addAllFeatures(
-        java.lang.Iterable<? extends com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature> values) {
-      if (featuresBuilder_ == null) {
-        ensureFeaturesIsMutable();
-        com.google.protobuf.AbstractMessageLite.Builder.addAll(
-            values, features_);
-        onChanged();
-      } else {
-        featuresBuilder_.addAllMessages(values);
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .BaseFeature features = 3;</code>
-     */
-    public Builder clearFeatures() {
-      if (featuresBuilder_ == null) {
-        features_ = java.util.Collections.emptyList();
-        bitField0_ = (bitField0_ & ~0x00000001);
-        onChanged();
-      } else {
-        featuresBuilder_.clear();
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .BaseFeature features = 3;</code>
-     */
-    public Builder removeFeatures(int index) {
-      if (featuresBuilder_ == null) {
-        ensureFeaturesIsMutable();
-        features_.remove(index);
-        onChanged();
-      } else {
-        featuresBuilder_.remove(index);
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .BaseFeature features = 3;</code>
-     */
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.Builder getFeaturesBuilder(
-        int index) {
-      return getFeaturesFieldBuilder().getBuilder(index);
-    }
-    /**
-     * <code>repeated .BaseFeature features = 3;</code>
-     */
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeatureOrBuilder getFeaturesOrBuilder(
-        int index) {
-      if (featuresBuilder_ == null) {
-        return features_.get(index);  } else {
-        return featuresBuilder_.getMessageOrBuilder(index);
-      }
-    }
-    /**
-     * <code>repeated .BaseFeature features = 3;</code>
-     */
-    public java.util.List<? extends com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeatureOrBuilder> 
-         getFeaturesOrBuilderList() {
-      if (featuresBuilder_ != null) {
-        return featuresBuilder_.getMessageOrBuilderList();
-      } else {
-        return java.util.Collections.unmodifiableList(features_);
-      }
-    }
-    /**
-     * <code>repeated .BaseFeature features = 3;</code>
-     */
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.Builder addFeaturesBuilder() {
-      return getFeaturesFieldBuilder().addBuilder(
-          com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.getDefaultInstance());
-    }
-    /**
-     * <code>repeated .BaseFeature features = 3;</code>
-     */
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.Builder addFeaturesBuilder(
-        int index) {
-      return getFeaturesFieldBuilder().addBuilder(
-          index, com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.getDefaultInstance());
-    }
-    /**
-     * <code>repeated .BaseFeature features = 3;</code>
-     */
-    public java.util.List<com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.Builder> 
-         getFeaturesBuilderList() {
-      return getFeaturesFieldBuilder().getBuilderList();
-    }
-    private com.google.protobuf.RepeatedFieldBuilderV3<
-        com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature, com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.Builder, com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeatureOrBuilder> 
-        getFeaturesFieldBuilder() {
-      if (featuresBuilder_ == null) {
-        featuresBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
-            com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature, com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.Builder, com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeatureOrBuilder>(
-                features_,
-                ((bitField0_ & 0x00000001) != 0),
-                getParentForChildren(),
-                isClean());
-        features_ = null;
-      }
-      return featuresBuilder_;
-    }
-    @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:GroupedFeature)
-  }
-
-  // @@protoc_insertion_point(class_scope:GroupedFeature)
-  private static final com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature DEFAULT_INSTANCE;
-  static {
-    DEFAULT_INSTANCE = new com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature();
-  }
-
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature getDefaultInstance() {
-    return DEFAULT_INSTANCE;
-  }
-
-  private static final com.google.protobuf.Parser<GroupedFeature>
-      PARSER = new com.google.protobuf.AbstractParser<GroupedFeature>() {
-    @java.lang.Override
-    public GroupedFeature parsePartialFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return new GroupedFeature(input, extensionRegistry);
-    }
-  };
-
-  public static com.google.protobuf.Parser<GroupedFeature> parser() {
-    return PARSER;
-  }
-
-  @java.lang.Override
-  public com.google.protobuf.Parser<GroupedFeature> getParserForType() {
-    return PARSER;
-  }
-
-  @java.lang.Override
-  public com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature getDefaultInstanceForType() {
-    return DEFAULT_INSTANCE;
-  }
-
-}
-

+ 0 - 54
recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/gen/recommend/GroupedFeatureOrBuilder.java

@@ -1,54 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: com/tzld/piaoquan/recommend/feature/ctr_samples.proto
-
-package com.tzld.piaoquan.recommend.feature.gen.recommend;
-
-public interface GroupedFeatureOrBuilder extends
-    // @@protoc_insertion_point(interface_extends:GroupedFeature)
-    com.google.protobuf.MessageOrBuilder {
-
-  /**
-   * <code>.FeatureGroup group = 1;</code>
-   * @return Whether the group field is set.
-   */
-  boolean hasGroup();
-  /**
-   * <code>.FeatureGroup group = 1;</code>
-   * @return The group.
-   */
-  com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroup getGroup();
-  /**
-   * <code>.FeatureGroup group = 1;</code>
-   */
-  com.tzld.piaoquan.recommend.feature.gen.recommend.FeatureGroupOrBuilder getGroupOrBuilder();
-
-  /**
-   * <code>int32 count = 2;</code>
-   * @return The count.
-   */
-  int getCount();
-
-  /**
-   * <code>repeated .BaseFeature features = 3;</code>
-   */
-  java.util.List<com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature> 
-      getFeaturesList();
-  /**
-   * <code>repeated .BaseFeature features = 3;</code>
-   */
-  com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature getFeatures(int index);
-  /**
-   * <code>repeated .BaseFeature features = 3;</code>
-   */
-  int getFeaturesCount();
-  /**
-   * <code>repeated .BaseFeature features = 3;</code>
-   */
-  java.util.List<? extends com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeatureOrBuilder> 
-      getFeaturesOrBuilderList();
-  /**
-   * <code>repeated .BaseFeature features = 3;</code>
-   */
-  com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeatureOrBuilder getFeaturesOrBuilder(
-      int index);
-}

+ 0 - 1094
recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/gen/recommend/LRSamples.java

@@ -1,1094 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: com/tzld/piaoquan/recommend/feature/ctr_samples.proto
-
-package com.tzld.piaoquan.recommend.feature.gen.recommend;
-
-/**
- * Protobuf type {@code LRSamples}
- */
-public final class LRSamples extends
-    com.google.protobuf.GeneratedMessageV3 implements
-    // @@protoc_insertion_point(message_implements:LRSamples)
-    LRSamplesOrBuilder {
-private static final long serialVersionUID = 0L;
-  // Use LRSamples.newBuilder() to construct.
-  private LRSamples(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
-    super(builder);
-  }
-  private LRSamples() {
-    features_ = java.util.Collections.emptyList();
-  }
-
-  @java.lang.Override
-  @SuppressWarnings({"unused"})
-  protected java.lang.Object newInstance(
-      UnusedPrivateParameter unused) {
-    return new LRSamples();
-  }
-
-  @java.lang.Override
-  public final com.google.protobuf.UnknownFieldSet
-  getUnknownFields() {
-    return this.unknownFields;
-  }
-  private LRSamples(
-      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 8: {
-
-            isClick_ = input.readInt32();
-            break;
-          }
-          case 16: {
-
-            groupNum_ = input.readInt32();
-            break;
-          }
-          case 24: {
-
-            count_ = input.readInt32();
-            break;
-          }
-          case 34: {
-            if (!((mutable_bitField0_ & 0x00000001) != 0)) {
-              features_ = new java.util.ArrayList<com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature>();
-              mutable_bitField0_ |= 0x00000001;
-            }
-            features_.add(
-                input.readMessage(com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature.parser(), extensionRegistry));
-            break;
-          }
-          case 41: {
-
-            weight_ = input.readDouble();
-            break;
-          }
-          case 49: {
-
-            predictCtr_ = input.readDouble();
-            break;
-          }
-          default: {
-            if (!parseUnknownField(
-                input, unknownFields, extensionRegistry, tag)) {
-              done = true;
-            }
-            break;
-          }
-        }
-      }
-    } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-      throw e.setUnfinishedMessage(this);
-    } catch (java.io.IOException e) {
-      throw new com.google.protobuf.InvalidProtocolBufferException(
-          e).setUnfinishedMessage(this);
-    } finally {
-      if (((mutable_bitField0_ & 0x00000001) != 0)) {
-        features_ = java.util.Collections.unmodifiableList(features_);
-      }
-      this.unknownFields = unknownFields.build();
-      makeExtensionsImmutable();
-    }
-  }
-  public static final com.google.protobuf.Descriptors.Descriptor
-      getDescriptor() {
-    return com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_LRSamples_descriptor;
-  }
-
-  @java.lang.Override
-  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internalGetFieldAccessorTable() {
-    return com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_LRSamples_fieldAccessorTable
-        .ensureFieldAccessorsInitialized(
-            com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples.class, com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples.Builder.class);
-  }
-
-  public static final int IS_CLICK_FIELD_NUMBER = 1;
-  private int isClick_;
-  /**
-   * <code>int32 is_click = 1;</code>
-   * @return The isClick.
-   */
-  @java.lang.Override
-  public int getIsClick() {
-    return isClick_;
-  }
-
-  public static final int GROUP_NUM_FIELD_NUMBER = 2;
-  private int groupNum_;
-  /**
-   * <code>int32 group_num = 2;</code>
-   * @return The groupNum.
-   */
-  @java.lang.Override
-  public int getGroupNum() {
-    return groupNum_;
-  }
-
-  public static final int COUNT_FIELD_NUMBER = 3;
-  private int count_;
-  /**
-   * <code>int32 count = 3;</code>
-   * @return The count.
-   */
-  @java.lang.Override
-  public int getCount() {
-    return count_;
-  }
-
-  public static final int FEATURES_FIELD_NUMBER = 4;
-  private java.util.List<com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature> features_;
-  /**
-   * <code>repeated .GroupedFeature features = 4;</code>
-   */
-  @java.lang.Override
-  public java.util.List<com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature> getFeaturesList() {
-    return features_;
-  }
-  /**
-   * <code>repeated .GroupedFeature features = 4;</code>
-   */
-  @java.lang.Override
-  public java.util.List<? extends com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeatureOrBuilder> 
-      getFeaturesOrBuilderList() {
-    return features_;
-  }
-  /**
-   * <code>repeated .GroupedFeature features = 4;</code>
-   */
-  @java.lang.Override
-  public int getFeaturesCount() {
-    return features_.size();
-  }
-  /**
-   * <code>repeated .GroupedFeature features = 4;</code>
-   */
-  @java.lang.Override
-  public com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature getFeatures(int index) {
-    return features_.get(index);
-  }
-  /**
-   * <code>repeated .GroupedFeature features = 4;</code>
-   */
-  @java.lang.Override
-  public com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeatureOrBuilder getFeaturesOrBuilder(
-      int index) {
-    return features_.get(index);
-  }
-
-  public static final int WEIGHT_FIELD_NUMBER = 5;
-  private double weight_;
-  /**
-   * <code>double weight = 5;</code>
-   * @return The weight.
-   */
-  @java.lang.Override
-  public double getWeight() {
-    return weight_;
-  }
-
-  public static final int PREDICT_CTR_FIELD_NUMBER = 6;
-  private double predictCtr_;
-  /**
-   * <code>double predict_ctr = 6;</code>
-   * @return The predictCtr.
-   */
-  @java.lang.Override
-  public double getPredictCtr() {
-    return predictCtr_;
-  }
-
-  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 {
-    if (isClick_ != 0) {
-      output.writeInt32(1, isClick_);
-    }
-    if (groupNum_ != 0) {
-      output.writeInt32(2, groupNum_);
-    }
-    if (count_ != 0) {
-      output.writeInt32(3, count_);
-    }
-    for (int i = 0; i < features_.size(); i++) {
-      output.writeMessage(4, features_.get(i));
-    }
-    if (weight_ != 0D) {
-      output.writeDouble(5, weight_);
-    }
-    if (predictCtr_ != 0D) {
-      output.writeDouble(6, predictCtr_);
-    }
-    unknownFields.writeTo(output);
-  }
-
-  @java.lang.Override
-  public int getSerializedSize() {
-    int size = memoizedSize;
-    if (size != -1) return size;
-
-    size = 0;
-    if (isClick_ != 0) {
-      size += com.google.protobuf.CodedOutputStream
-        .computeInt32Size(1, isClick_);
-    }
-    if (groupNum_ != 0) {
-      size += com.google.protobuf.CodedOutputStream
-        .computeInt32Size(2, groupNum_);
-    }
-    if (count_ != 0) {
-      size += com.google.protobuf.CodedOutputStream
-        .computeInt32Size(3, count_);
-    }
-    for (int i = 0; i < features_.size(); i++) {
-      size += com.google.protobuf.CodedOutputStream
-        .computeMessageSize(4, features_.get(i));
-    }
-    if (weight_ != 0D) {
-      size += com.google.protobuf.CodedOutputStream
-        .computeDoubleSize(5, weight_);
-    }
-    if (predictCtr_ != 0D) {
-      size += com.google.protobuf.CodedOutputStream
-        .computeDoubleSize(6, predictCtr_);
-    }
-    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 com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples)) {
-      return super.equals(obj);
-    }
-    com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples other = (com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples) obj;
-
-    if (getIsClick()
-        != other.getIsClick()) return false;
-    if (getGroupNum()
-        != other.getGroupNum()) return false;
-    if (getCount()
-        != other.getCount()) return false;
-    if (!getFeaturesList()
-        .equals(other.getFeaturesList())) return false;
-    if (java.lang.Double.doubleToLongBits(getWeight())
-        != java.lang.Double.doubleToLongBits(
-            other.getWeight())) return false;
-    if (java.lang.Double.doubleToLongBits(getPredictCtr())
-        != java.lang.Double.doubleToLongBits(
-            other.getPredictCtr())) 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();
-    hash = (37 * hash) + IS_CLICK_FIELD_NUMBER;
-    hash = (53 * hash) + getIsClick();
-    hash = (37 * hash) + GROUP_NUM_FIELD_NUMBER;
-    hash = (53 * hash) + getGroupNum();
-    hash = (37 * hash) + COUNT_FIELD_NUMBER;
-    hash = (53 * hash) + getCount();
-    if (getFeaturesCount() > 0) {
-      hash = (37 * hash) + FEATURES_FIELD_NUMBER;
-      hash = (53 * hash) + getFeaturesList().hashCode();
-    }
-    hash = (37 * hash) + WEIGHT_FIELD_NUMBER;
-    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
-        java.lang.Double.doubleToLongBits(getWeight()));
-    hash = (37 * hash) + PREDICT_CTR_FIELD_NUMBER;
-    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
-        java.lang.Double.doubleToLongBits(getPredictCtr()));
-    hash = (29 * hash) + unknownFields.hashCode();
-    memoizedHashCode = hash;
-    return hash;
-  }
-
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples parseFrom(
-      java.nio.ByteBuffer data)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples parseFrom(
-      java.nio.ByteBuffer data,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data, extensionRegistry);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples parseFrom(
-      com.google.protobuf.ByteString data)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples parseFrom(
-      com.google.protobuf.ByteString data,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data, extensionRegistry);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples parseFrom(byte[] data)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples parseFrom(
-      byte[] data,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data, extensionRegistry);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples parseFrom(java.io.InputStream input)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseWithIOException(PARSER, input);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples 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 com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples parseDelimitedFrom(java.io.InputStream input)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseDelimitedWithIOException(PARSER, input);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples 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 com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples parseFrom(
-      com.google.protobuf.CodedInputStream input)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseWithIOException(PARSER, input);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples 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(com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples 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 LRSamples}
-   */
-  public static final class Builder extends
-      com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
-      // @@protoc_insertion_point(builder_implements:LRSamples)
-      com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamplesOrBuilder {
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_LRSamples_descriptor;
-    }
-
-    @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_LRSamples_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples.class, com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples.Builder.class);
-    }
-
-    // Construct using com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples.newBuilder()
-    private Builder() {
-      maybeForceBuilderInitialization();
-    }
-
-    private Builder(
-        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
-      super(parent);
-      maybeForceBuilderInitialization();
-    }
-    private void maybeForceBuilderInitialization() {
-      if (com.google.protobuf.GeneratedMessageV3
-              .alwaysUseFieldBuilders) {
-        getFeaturesFieldBuilder();
-      }
-    }
-    @java.lang.Override
-    public Builder clear() {
-      super.clear();
-      isClick_ = 0;
-
-      groupNum_ = 0;
-
-      count_ = 0;
-
-      if (featuresBuilder_ == null) {
-        features_ = java.util.Collections.emptyList();
-        bitField0_ = (bitField0_ & ~0x00000001);
-      } else {
-        featuresBuilder_.clear();
-      }
-      weight_ = 0D;
-
-      predictCtr_ = 0D;
-
-      return this;
-    }
-
-    @java.lang.Override
-    public com.google.protobuf.Descriptors.Descriptor
-        getDescriptorForType() {
-      return com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_LRSamples_descriptor;
-    }
-
-    @java.lang.Override
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples getDefaultInstanceForType() {
-      return com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples.getDefaultInstance();
-    }
-
-    @java.lang.Override
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples build() {
-      com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples result = buildPartial();
-      if (!result.isInitialized()) {
-        throw newUninitializedMessageException(result);
-      }
-      return result;
-    }
-
-    @java.lang.Override
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples buildPartial() {
-      com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples result = new com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples(this);
-      int from_bitField0_ = bitField0_;
-      result.isClick_ = isClick_;
-      result.groupNum_ = groupNum_;
-      result.count_ = count_;
-      if (featuresBuilder_ == null) {
-        if (((bitField0_ & 0x00000001) != 0)) {
-          features_ = java.util.Collections.unmodifiableList(features_);
-          bitField0_ = (bitField0_ & ~0x00000001);
-        }
-        result.features_ = features_;
-      } else {
-        result.features_ = featuresBuilder_.build();
-      }
-      result.weight_ = weight_;
-      result.predictCtr_ = predictCtr_;
-      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 com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples) {
-        return mergeFrom((com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples)other);
-      } else {
-        super.mergeFrom(other);
-        return this;
-      }
-    }
-
-    public Builder mergeFrom(com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples other) {
-      if (other == com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples.getDefaultInstance()) return this;
-      if (other.getIsClick() != 0) {
-        setIsClick(other.getIsClick());
-      }
-      if (other.getGroupNum() != 0) {
-        setGroupNum(other.getGroupNum());
-      }
-      if (other.getCount() != 0) {
-        setCount(other.getCount());
-      }
-      if (featuresBuilder_ == null) {
-        if (!other.features_.isEmpty()) {
-          if (features_.isEmpty()) {
-            features_ = other.features_;
-            bitField0_ = (bitField0_ & ~0x00000001);
-          } else {
-            ensureFeaturesIsMutable();
-            features_.addAll(other.features_);
-          }
-          onChanged();
-        }
-      } else {
-        if (!other.features_.isEmpty()) {
-          if (featuresBuilder_.isEmpty()) {
-            featuresBuilder_.dispose();
-            featuresBuilder_ = null;
-            features_ = other.features_;
-            bitField0_ = (bitField0_ & ~0x00000001);
-            featuresBuilder_ = 
-              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
-                 getFeaturesFieldBuilder() : null;
-          } else {
-            featuresBuilder_.addAllMessages(other.features_);
-          }
-        }
-      }
-      if (other.getWeight() != 0D) {
-        setWeight(other.getWeight());
-      }
-      if (other.getPredictCtr() != 0D) {
-        setPredictCtr(other.getPredictCtr());
-      }
-      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 {
-      com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples parsedMessage = null;
-      try {
-        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        parsedMessage = (com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples) e.getUnfinishedMessage();
-        throw e.unwrapIOException();
-      } finally {
-        if (parsedMessage != null) {
-          mergeFrom(parsedMessage);
-        }
-      }
-      return this;
-    }
-    private int bitField0_;
-
-    private int isClick_ ;
-    /**
-     * <code>int32 is_click = 1;</code>
-     * @return The isClick.
-     */
-    @java.lang.Override
-    public int getIsClick() {
-      return isClick_;
-    }
-    /**
-     * <code>int32 is_click = 1;</code>
-     * @param value The isClick to set.
-     * @return This builder for chaining.
-     */
-    public Builder setIsClick(int value) {
-      
-      isClick_ = value;
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>int32 is_click = 1;</code>
-     * @return This builder for chaining.
-     */
-    public Builder clearIsClick() {
-      
-      isClick_ = 0;
-      onChanged();
-      return this;
-    }
-
-    private int groupNum_ ;
-    /**
-     * <code>int32 group_num = 2;</code>
-     * @return The groupNum.
-     */
-    @java.lang.Override
-    public int getGroupNum() {
-      return groupNum_;
-    }
-    /**
-     * <code>int32 group_num = 2;</code>
-     * @param value The groupNum to set.
-     * @return This builder for chaining.
-     */
-    public Builder setGroupNum(int value) {
-      
-      groupNum_ = value;
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>int32 group_num = 2;</code>
-     * @return This builder for chaining.
-     */
-    public Builder clearGroupNum() {
-      
-      groupNum_ = 0;
-      onChanged();
-      return this;
-    }
-
-    private int count_ ;
-    /**
-     * <code>int32 count = 3;</code>
-     * @return The count.
-     */
-    @java.lang.Override
-    public int getCount() {
-      return count_;
-    }
-    /**
-     * <code>int32 count = 3;</code>
-     * @param value The count to set.
-     * @return This builder for chaining.
-     */
-    public Builder setCount(int value) {
-      
-      count_ = value;
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>int32 count = 3;</code>
-     * @return This builder for chaining.
-     */
-    public Builder clearCount() {
-      
-      count_ = 0;
-      onChanged();
-      return this;
-    }
-
-    private java.util.List<com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature> features_ =
-      java.util.Collections.emptyList();
-    private void ensureFeaturesIsMutable() {
-      if (!((bitField0_ & 0x00000001) != 0)) {
-        features_ = new java.util.ArrayList<com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature>(features_);
-        bitField0_ |= 0x00000001;
-       }
-    }
-
-    private com.google.protobuf.RepeatedFieldBuilderV3<
-        com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature, com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature.Builder, com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeatureOrBuilder> featuresBuilder_;
-
-    /**
-     * <code>repeated .GroupedFeature features = 4;</code>
-     */
-    public java.util.List<com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature> getFeaturesList() {
-      if (featuresBuilder_ == null) {
-        return java.util.Collections.unmodifiableList(features_);
-      } else {
-        return featuresBuilder_.getMessageList();
-      }
-    }
-    /**
-     * <code>repeated .GroupedFeature features = 4;</code>
-     */
-    public int getFeaturesCount() {
-      if (featuresBuilder_ == null) {
-        return features_.size();
-      } else {
-        return featuresBuilder_.getCount();
-      }
-    }
-    /**
-     * <code>repeated .GroupedFeature features = 4;</code>
-     */
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature getFeatures(int index) {
-      if (featuresBuilder_ == null) {
-        return features_.get(index);
-      } else {
-        return featuresBuilder_.getMessage(index);
-      }
-    }
-    /**
-     * <code>repeated .GroupedFeature features = 4;</code>
-     */
-    public Builder setFeatures(
-        int index, com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature value) {
-      if (featuresBuilder_ == null) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        ensureFeaturesIsMutable();
-        features_.set(index, value);
-        onChanged();
-      } else {
-        featuresBuilder_.setMessage(index, value);
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .GroupedFeature features = 4;</code>
-     */
-    public Builder setFeatures(
-        int index, com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature.Builder builderForValue) {
-      if (featuresBuilder_ == null) {
-        ensureFeaturesIsMutable();
-        features_.set(index, builderForValue.build());
-        onChanged();
-      } else {
-        featuresBuilder_.setMessage(index, builderForValue.build());
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .GroupedFeature features = 4;</code>
-     */
-    public Builder addFeatures(com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature value) {
-      if (featuresBuilder_ == null) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        ensureFeaturesIsMutable();
-        features_.add(value);
-        onChanged();
-      } else {
-        featuresBuilder_.addMessage(value);
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .GroupedFeature features = 4;</code>
-     */
-    public Builder addFeatures(
-        int index, com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature value) {
-      if (featuresBuilder_ == null) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        ensureFeaturesIsMutable();
-        features_.add(index, value);
-        onChanged();
-      } else {
-        featuresBuilder_.addMessage(index, value);
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .GroupedFeature features = 4;</code>
-     */
-    public Builder addFeatures(
-        com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature.Builder builderForValue) {
-      if (featuresBuilder_ == null) {
-        ensureFeaturesIsMutable();
-        features_.add(builderForValue.build());
-        onChanged();
-      } else {
-        featuresBuilder_.addMessage(builderForValue.build());
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .GroupedFeature features = 4;</code>
-     */
-    public Builder addFeatures(
-        int index, com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature.Builder builderForValue) {
-      if (featuresBuilder_ == null) {
-        ensureFeaturesIsMutable();
-        features_.add(index, builderForValue.build());
-        onChanged();
-      } else {
-        featuresBuilder_.addMessage(index, builderForValue.build());
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .GroupedFeature features = 4;</code>
-     */
-    public Builder addAllFeatures(
-        java.lang.Iterable<? extends com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature> values) {
-      if (featuresBuilder_ == null) {
-        ensureFeaturesIsMutable();
-        com.google.protobuf.AbstractMessageLite.Builder.addAll(
-            values, features_);
-        onChanged();
-      } else {
-        featuresBuilder_.addAllMessages(values);
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .GroupedFeature features = 4;</code>
-     */
-    public Builder clearFeatures() {
-      if (featuresBuilder_ == null) {
-        features_ = java.util.Collections.emptyList();
-        bitField0_ = (bitField0_ & ~0x00000001);
-        onChanged();
-      } else {
-        featuresBuilder_.clear();
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .GroupedFeature features = 4;</code>
-     */
-    public Builder removeFeatures(int index) {
-      if (featuresBuilder_ == null) {
-        ensureFeaturesIsMutable();
-        features_.remove(index);
-        onChanged();
-      } else {
-        featuresBuilder_.remove(index);
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .GroupedFeature features = 4;</code>
-     */
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature.Builder getFeaturesBuilder(
-        int index) {
-      return getFeaturesFieldBuilder().getBuilder(index);
-    }
-    /**
-     * <code>repeated .GroupedFeature features = 4;</code>
-     */
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeatureOrBuilder getFeaturesOrBuilder(
-        int index) {
-      if (featuresBuilder_ == null) {
-        return features_.get(index);  } else {
-        return featuresBuilder_.getMessageOrBuilder(index);
-      }
-    }
-    /**
-     * <code>repeated .GroupedFeature features = 4;</code>
-     */
-    public java.util.List<? extends com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeatureOrBuilder> 
-         getFeaturesOrBuilderList() {
-      if (featuresBuilder_ != null) {
-        return featuresBuilder_.getMessageOrBuilderList();
-      } else {
-        return java.util.Collections.unmodifiableList(features_);
-      }
-    }
-    /**
-     * <code>repeated .GroupedFeature features = 4;</code>
-     */
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature.Builder addFeaturesBuilder() {
-      return getFeaturesFieldBuilder().addBuilder(
-          com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature.getDefaultInstance());
-    }
-    /**
-     * <code>repeated .GroupedFeature features = 4;</code>
-     */
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature.Builder addFeaturesBuilder(
-        int index) {
-      return getFeaturesFieldBuilder().addBuilder(
-          index, com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature.getDefaultInstance());
-    }
-    /**
-     * <code>repeated .GroupedFeature features = 4;</code>
-     */
-    public java.util.List<com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature.Builder> 
-         getFeaturesBuilderList() {
-      return getFeaturesFieldBuilder().getBuilderList();
-    }
-    private com.google.protobuf.RepeatedFieldBuilderV3<
-        com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature, com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature.Builder, com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeatureOrBuilder> 
-        getFeaturesFieldBuilder() {
-      if (featuresBuilder_ == null) {
-        featuresBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
-            com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature, com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature.Builder, com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeatureOrBuilder>(
-                features_,
-                ((bitField0_ & 0x00000001) != 0),
-                getParentForChildren(),
-                isClean());
-        features_ = null;
-      }
-      return featuresBuilder_;
-    }
-
-    private double weight_ ;
-    /**
-     * <code>double weight = 5;</code>
-     * @return The weight.
-     */
-    @java.lang.Override
-    public double getWeight() {
-      return weight_;
-    }
-    /**
-     * <code>double weight = 5;</code>
-     * @param value The weight to set.
-     * @return This builder for chaining.
-     */
-    public Builder setWeight(double value) {
-      
-      weight_ = value;
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>double weight = 5;</code>
-     * @return This builder for chaining.
-     */
-    public Builder clearWeight() {
-      
-      weight_ = 0D;
-      onChanged();
-      return this;
-    }
-
-    private double predictCtr_ ;
-    /**
-     * <code>double predict_ctr = 6;</code>
-     * @return The predictCtr.
-     */
-    @java.lang.Override
-    public double getPredictCtr() {
-      return predictCtr_;
-    }
-    /**
-     * <code>double predict_ctr = 6;</code>
-     * @param value The predictCtr to set.
-     * @return This builder for chaining.
-     */
-    public Builder setPredictCtr(double value) {
-      
-      predictCtr_ = value;
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>double predict_ctr = 6;</code>
-     * @return This builder for chaining.
-     */
-    public Builder clearPredictCtr() {
-      
-      predictCtr_ = 0D;
-      onChanged();
-      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:LRSamples)
-  }
-
-  // @@protoc_insertion_point(class_scope:LRSamples)
-  private static final com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples DEFAULT_INSTANCE;
-  static {
-    DEFAULT_INSTANCE = new com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples();
-  }
-
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples getDefaultInstance() {
-    return DEFAULT_INSTANCE;
-  }
-
-  private static final com.google.protobuf.Parser<LRSamples>
-      PARSER = new com.google.protobuf.AbstractParser<LRSamples>() {
-    @java.lang.Override
-    public LRSamples parsePartialFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return new LRSamples(input, extensionRegistry);
-    }
-  };
-
-  public static com.google.protobuf.Parser<LRSamples> parser() {
-    return PARSER;
-  }
-
-  @java.lang.Override
-  public com.google.protobuf.Parser<LRSamples> getParserForType() {
-    return PARSER;
-  }
-
-  @java.lang.Override
-  public com.tzld.piaoquan.recommend.feature.gen.recommend.LRSamples getDefaultInstanceForType() {
-    return DEFAULT_INSTANCE;
-  }
-
-}
-

+ 0 - 63
recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/gen/recommend/LRSamplesOrBuilder.java

@@ -1,63 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: com/tzld/piaoquan/recommend/feature/ctr_samples.proto
-
-package com.tzld.piaoquan.recommend.feature.gen.recommend;
-
-public interface LRSamplesOrBuilder extends
-    // @@protoc_insertion_point(interface_extends:LRSamples)
-    com.google.protobuf.MessageOrBuilder {
-
-  /**
-   * <code>int32 is_click = 1;</code>
-   * @return The isClick.
-   */
-  int getIsClick();
-
-  /**
-   * <code>int32 group_num = 2;</code>
-   * @return The groupNum.
-   */
-  int getGroupNum();
-
-  /**
-   * <code>int32 count = 3;</code>
-   * @return The count.
-   */
-  int getCount();
-
-  /**
-   * <code>repeated .GroupedFeature features = 4;</code>
-   */
-  java.util.List<com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature> 
-      getFeaturesList();
-  /**
-   * <code>repeated .GroupedFeature features = 4;</code>
-   */
-  com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeature getFeatures(int index);
-  /**
-   * <code>repeated .GroupedFeature features = 4;</code>
-   */
-  int getFeaturesCount();
-  /**
-   * <code>repeated .GroupedFeature features = 4;</code>
-   */
-  java.util.List<? extends com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeatureOrBuilder> 
-      getFeaturesOrBuilderList();
-  /**
-   * <code>repeated .GroupedFeature features = 4;</code>
-   */
-  com.tzld.piaoquan.recommend.feature.gen.recommend.GroupedFeatureOrBuilder getFeaturesOrBuilder(
-      int index);
-
-  /**
-   * <code>double weight = 5;</code>
-   * @return The weight.
-   */
-  double getWeight();
-
-  /**
-   * <code>double predict_ctr = 6;</code>
-   * @return The predictCtr.
-   */
-  double getPredictCtr();
-}

+ 0 - 834
recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/gen/recommend/LRWeight.java

@@ -1,834 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: com/tzld/piaoquan/recommend/feature/ctr_samples.proto
-
-package com.tzld.piaoquan.recommend.feature.gen.recommend;
-
-/**
- * Protobuf type {@code LRWeight}
- */
-public final class LRWeight extends
-    com.google.protobuf.GeneratedMessageV3 implements
-    // @@protoc_insertion_point(message_implements:LRWeight)
-    LRWeightOrBuilder {
-private static final long serialVersionUID = 0L;
-  // Use LRWeight.newBuilder() to construct.
-  private LRWeight(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
-    super(builder);
-  }
-  private LRWeight() {
-    features_ = java.util.Collections.emptyList();
-  }
-
-  @java.lang.Override
-  @SuppressWarnings({"unused"})
-  protected java.lang.Object newInstance(
-      UnusedPrivateParameter unused) {
-    return new LRWeight();
-  }
-
-  @java.lang.Override
-  public final com.google.protobuf.UnknownFieldSet
-  getUnknownFields() {
-    return this.unknownFields;
-  }
-  private LRWeight(
-      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 8: {
-
-            groupNum_ = input.readInt32();
-            break;
-          }
-          case 18: {
-            if (!((mutable_bitField0_ & 0x00000001) != 0)) {
-              features_ = new java.util.ArrayList<com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature>();
-              mutable_bitField0_ |= 0x00000001;
-            }
-            features_.add(
-                input.readMessage(com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.parser(), extensionRegistry));
-            break;
-          }
-          default: {
-            if (!parseUnknownField(
-                input, unknownFields, extensionRegistry, tag)) {
-              done = true;
-            }
-            break;
-          }
-        }
-      }
-    } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-      throw e.setUnfinishedMessage(this);
-    } catch (java.io.IOException e) {
-      throw new com.google.protobuf.InvalidProtocolBufferException(
-          e).setUnfinishedMessage(this);
-    } finally {
-      if (((mutable_bitField0_ & 0x00000001) != 0)) {
-        features_ = java.util.Collections.unmodifiableList(features_);
-      }
-      this.unknownFields = unknownFields.build();
-      makeExtensionsImmutable();
-    }
-  }
-  public static final com.google.protobuf.Descriptors.Descriptor
-      getDescriptor() {
-    return com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_LRWeight_descriptor;
-  }
-
-  @java.lang.Override
-  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-      internalGetFieldAccessorTable() {
-    return com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_LRWeight_fieldAccessorTable
-        .ensureFieldAccessorsInitialized(
-            com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight.class, com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight.Builder.class);
-  }
-
-  public static final int GROUP_NUM_FIELD_NUMBER = 1;
-  private int groupNum_;
-  /**
-   * <code>int32 group_num = 1;</code>
-   * @return The groupNum.
-   */
-  @java.lang.Override
-  public int getGroupNum() {
-    return groupNum_;
-  }
-
-  public static final int FEATURES_FIELD_NUMBER = 2;
-  private java.util.List<com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature> features_;
-  /**
-   * <code>repeated .BaseFeature features = 2;</code>
-   */
-  @java.lang.Override
-  public java.util.List<com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature> getFeaturesList() {
-    return features_;
-  }
-  /**
-   * <code>repeated .BaseFeature features = 2;</code>
-   */
-  @java.lang.Override
-  public java.util.List<? extends com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeatureOrBuilder> 
-      getFeaturesOrBuilderList() {
-    return features_;
-  }
-  /**
-   * <code>repeated .BaseFeature features = 2;</code>
-   */
-  @java.lang.Override
-  public int getFeaturesCount() {
-    return features_.size();
-  }
-  /**
-   * <code>repeated .BaseFeature features = 2;</code>
-   */
-  @java.lang.Override
-  public com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature getFeatures(int index) {
-    return features_.get(index);
-  }
-  /**
-   * <code>repeated .BaseFeature features = 2;</code>
-   */
-  @java.lang.Override
-  public com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeatureOrBuilder getFeaturesOrBuilder(
-      int index) {
-    return features_.get(index);
-  }
-
-  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 {
-    if (groupNum_ != 0) {
-      output.writeInt32(1, groupNum_);
-    }
-    for (int i = 0; i < features_.size(); i++) {
-      output.writeMessage(2, features_.get(i));
-    }
-    unknownFields.writeTo(output);
-  }
-
-  @java.lang.Override
-  public int getSerializedSize() {
-    int size = memoizedSize;
-    if (size != -1) return size;
-
-    size = 0;
-    if (groupNum_ != 0) {
-      size += com.google.protobuf.CodedOutputStream
-        .computeInt32Size(1, groupNum_);
-    }
-    for (int i = 0; i < features_.size(); i++) {
-      size += com.google.protobuf.CodedOutputStream
-        .computeMessageSize(2, features_.get(i));
-    }
-    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 com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight)) {
-      return super.equals(obj);
-    }
-    com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight other = (com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight) obj;
-
-    if (getGroupNum()
-        != other.getGroupNum()) return false;
-    if (!getFeaturesList()
-        .equals(other.getFeaturesList())) 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();
-    hash = (37 * hash) + GROUP_NUM_FIELD_NUMBER;
-    hash = (53 * hash) + getGroupNum();
-    if (getFeaturesCount() > 0) {
-      hash = (37 * hash) + FEATURES_FIELD_NUMBER;
-      hash = (53 * hash) + getFeaturesList().hashCode();
-    }
-    hash = (29 * hash) + unknownFields.hashCode();
-    memoizedHashCode = hash;
-    return hash;
-  }
-
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight parseFrom(
-      java.nio.ByteBuffer data)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight parseFrom(
-      java.nio.ByteBuffer data,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data, extensionRegistry);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight parseFrom(
-      com.google.protobuf.ByteString data)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight parseFrom(
-      com.google.protobuf.ByteString data,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data, extensionRegistry);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight parseFrom(byte[] data)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight parseFrom(
-      byte[] data,
-      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-      throws com.google.protobuf.InvalidProtocolBufferException {
-    return PARSER.parseFrom(data, extensionRegistry);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight parseFrom(java.io.InputStream input)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseWithIOException(PARSER, input);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight 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 com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight parseDelimitedFrom(java.io.InputStream input)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseDelimitedWithIOException(PARSER, input);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight 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 com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight parseFrom(
-      com.google.protobuf.CodedInputStream input)
-      throws java.io.IOException {
-    return com.google.protobuf.GeneratedMessageV3
-        .parseWithIOException(PARSER, input);
-  }
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight 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(com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight 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 LRWeight}
-   */
-  public static final class Builder extends
-      com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
-      // @@protoc_insertion_point(builder_implements:LRWeight)
-      com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeightOrBuilder {
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
-      return com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_LRWeight_descriptor;
-    }
-
-    @java.lang.Override
-    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
-        internalGetFieldAccessorTable() {
-      return com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_LRWeight_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight.class, com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight.Builder.class);
-    }
-
-    // Construct using com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight.newBuilder()
-    private Builder() {
-      maybeForceBuilderInitialization();
-    }
-
-    private Builder(
-        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
-      super(parent);
-      maybeForceBuilderInitialization();
-    }
-    private void maybeForceBuilderInitialization() {
-      if (com.google.protobuf.GeneratedMessageV3
-              .alwaysUseFieldBuilders) {
-        getFeaturesFieldBuilder();
-      }
-    }
-    @java.lang.Override
-    public Builder clear() {
-      super.clear();
-      groupNum_ = 0;
-
-      if (featuresBuilder_ == null) {
-        features_ = java.util.Collections.emptyList();
-        bitField0_ = (bitField0_ & ~0x00000001);
-      } else {
-        featuresBuilder_.clear();
-      }
-      return this;
-    }
-
-    @java.lang.Override
-    public com.google.protobuf.Descriptors.Descriptor
-        getDescriptorForType() {
-      return com.tzld.piaoquan.recommend.feature.gen.recommend.CtrSamples.internal_static_LRWeight_descriptor;
-    }
-
-    @java.lang.Override
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight getDefaultInstanceForType() {
-      return com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight.getDefaultInstance();
-    }
-
-    @java.lang.Override
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight build() {
-      com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight result = buildPartial();
-      if (!result.isInitialized()) {
-        throw newUninitializedMessageException(result);
-      }
-      return result;
-    }
-
-    @java.lang.Override
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight buildPartial() {
-      com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight result = new com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight(this);
-      int from_bitField0_ = bitField0_;
-      result.groupNum_ = groupNum_;
-      if (featuresBuilder_ == null) {
-        if (((bitField0_ & 0x00000001) != 0)) {
-          features_ = java.util.Collections.unmodifiableList(features_);
-          bitField0_ = (bitField0_ & ~0x00000001);
-        }
-        result.features_ = features_;
-      } else {
-        result.features_ = featuresBuilder_.build();
-      }
-      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 com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight) {
-        return mergeFrom((com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight)other);
-      } else {
-        super.mergeFrom(other);
-        return this;
-      }
-    }
-
-    public Builder mergeFrom(com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight other) {
-      if (other == com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight.getDefaultInstance()) return this;
-      if (other.getGroupNum() != 0) {
-        setGroupNum(other.getGroupNum());
-      }
-      if (featuresBuilder_ == null) {
-        if (!other.features_.isEmpty()) {
-          if (features_.isEmpty()) {
-            features_ = other.features_;
-            bitField0_ = (bitField0_ & ~0x00000001);
-          } else {
-            ensureFeaturesIsMutable();
-            features_.addAll(other.features_);
-          }
-          onChanged();
-        }
-      } else {
-        if (!other.features_.isEmpty()) {
-          if (featuresBuilder_.isEmpty()) {
-            featuresBuilder_.dispose();
-            featuresBuilder_ = null;
-            features_ = other.features_;
-            bitField0_ = (bitField0_ & ~0x00000001);
-            featuresBuilder_ = 
-              com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
-                 getFeaturesFieldBuilder() : null;
-          } else {
-            featuresBuilder_.addAllMessages(other.features_);
-          }
-        }
-      }
-      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 {
-      com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight parsedMessage = null;
-      try {
-        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
-      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        parsedMessage = (com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight) e.getUnfinishedMessage();
-        throw e.unwrapIOException();
-      } finally {
-        if (parsedMessage != null) {
-          mergeFrom(parsedMessage);
-        }
-      }
-      return this;
-    }
-    private int bitField0_;
-
-    private int groupNum_ ;
-    /**
-     * <code>int32 group_num = 1;</code>
-     * @return The groupNum.
-     */
-    @java.lang.Override
-    public int getGroupNum() {
-      return groupNum_;
-    }
-    /**
-     * <code>int32 group_num = 1;</code>
-     * @param value The groupNum to set.
-     * @return This builder for chaining.
-     */
-    public Builder setGroupNum(int value) {
-      
-      groupNum_ = value;
-      onChanged();
-      return this;
-    }
-    /**
-     * <code>int32 group_num = 1;</code>
-     * @return This builder for chaining.
-     */
-    public Builder clearGroupNum() {
-      
-      groupNum_ = 0;
-      onChanged();
-      return this;
-    }
-
-    private java.util.List<com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature> features_ =
-      java.util.Collections.emptyList();
-    private void ensureFeaturesIsMutable() {
-      if (!((bitField0_ & 0x00000001) != 0)) {
-        features_ = new java.util.ArrayList<com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature>(features_);
-        bitField0_ |= 0x00000001;
-       }
-    }
-
-    private com.google.protobuf.RepeatedFieldBuilderV3<
-        com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature, com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.Builder, com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeatureOrBuilder> featuresBuilder_;
-
-    /**
-     * <code>repeated .BaseFeature features = 2;</code>
-     */
-    public java.util.List<com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature> getFeaturesList() {
-      if (featuresBuilder_ == null) {
-        return java.util.Collections.unmodifiableList(features_);
-      } else {
-        return featuresBuilder_.getMessageList();
-      }
-    }
-    /**
-     * <code>repeated .BaseFeature features = 2;</code>
-     */
-    public int getFeaturesCount() {
-      if (featuresBuilder_ == null) {
-        return features_.size();
-      } else {
-        return featuresBuilder_.getCount();
-      }
-    }
-    /**
-     * <code>repeated .BaseFeature features = 2;</code>
-     */
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature getFeatures(int index) {
-      if (featuresBuilder_ == null) {
-        return features_.get(index);
-      } else {
-        return featuresBuilder_.getMessage(index);
-      }
-    }
-    /**
-     * <code>repeated .BaseFeature features = 2;</code>
-     */
-    public Builder setFeatures(
-        int index, com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature value) {
-      if (featuresBuilder_ == null) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        ensureFeaturesIsMutable();
-        features_.set(index, value);
-        onChanged();
-      } else {
-        featuresBuilder_.setMessage(index, value);
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .BaseFeature features = 2;</code>
-     */
-    public Builder setFeatures(
-        int index, com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.Builder builderForValue) {
-      if (featuresBuilder_ == null) {
-        ensureFeaturesIsMutable();
-        features_.set(index, builderForValue.build());
-        onChanged();
-      } else {
-        featuresBuilder_.setMessage(index, builderForValue.build());
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .BaseFeature features = 2;</code>
-     */
-    public Builder addFeatures(com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature value) {
-      if (featuresBuilder_ == null) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        ensureFeaturesIsMutable();
-        features_.add(value);
-        onChanged();
-      } else {
-        featuresBuilder_.addMessage(value);
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .BaseFeature features = 2;</code>
-     */
-    public Builder addFeatures(
-        int index, com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature value) {
-      if (featuresBuilder_ == null) {
-        if (value == null) {
-          throw new NullPointerException();
-        }
-        ensureFeaturesIsMutable();
-        features_.add(index, value);
-        onChanged();
-      } else {
-        featuresBuilder_.addMessage(index, value);
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .BaseFeature features = 2;</code>
-     */
-    public Builder addFeatures(
-        com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.Builder builderForValue) {
-      if (featuresBuilder_ == null) {
-        ensureFeaturesIsMutable();
-        features_.add(builderForValue.build());
-        onChanged();
-      } else {
-        featuresBuilder_.addMessage(builderForValue.build());
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .BaseFeature features = 2;</code>
-     */
-    public Builder addFeatures(
-        int index, com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.Builder builderForValue) {
-      if (featuresBuilder_ == null) {
-        ensureFeaturesIsMutable();
-        features_.add(index, builderForValue.build());
-        onChanged();
-      } else {
-        featuresBuilder_.addMessage(index, builderForValue.build());
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .BaseFeature features = 2;</code>
-     */
-    public Builder addAllFeatures(
-        java.lang.Iterable<? extends com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature> values) {
-      if (featuresBuilder_ == null) {
-        ensureFeaturesIsMutable();
-        com.google.protobuf.AbstractMessageLite.Builder.addAll(
-            values, features_);
-        onChanged();
-      } else {
-        featuresBuilder_.addAllMessages(values);
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .BaseFeature features = 2;</code>
-     */
-    public Builder clearFeatures() {
-      if (featuresBuilder_ == null) {
-        features_ = java.util.Collections.emptyList();
-        bitField0_ = (bitField0_ & ~0x00000001);
-        onChanged();
-      } else {
-        featuresBuilder_.clear();
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .BaseFeature features = 2;</code>
-     */
-    public Builder removeFeatures(int index) {
-      if (featuresBuilder_ == null) {
-        ensureFeaturesIsMutable();
-        features_.remove(index);
-        onChanged();
-      } else {
-        featuresBuilder_.remove(index);
-      }
-      return this;
-    }
-    /**
-     * <code>repeated .BaseFeature features = 2;</code>
-     */
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.Builder getFeaturesBuilder(
-        int index) {
-      return getFeaturesFieldBuilder().getBuilder(index);
-    }
-    /**
-     * <code>repeated .BaseFeature features = 2;</code>
-     */
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeatureOrBuilder getFeaturesOrBuilder(
-        int index) {
-      if (featuresBuilder_ == null) {
-        return features_.get(index);  } else {
-        return featuresBuilder_.getMessageOrBuilder(index);
-      }
-    }
-    /**
-     * <code>repeated .BaseFeature features = 2;</code>
-     */
-    public java.util.List<? extends com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeatureOrBuilder> 
-         getFeaturesOrBuilderList() {
-      if (featuresBuilder_ != null) {
-        return featuresBuilder_.getMessageOrBuilderList();
-      } else {
-        return java.util.Collections.unmodifiableList(features_);
-      }
-    }
-    /**
-     * <code>repeated .BaseFeature features = 2;</code>
-     */
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.Builder addFeaturesBuilder() {
-      return getFeaturesFieldBuilder().addBuilder(
-          com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.getDefaultInstance());
-    }
-    /**
-     * <code>repeated .BaseFeature features = 2;</code>
-     */
-    public com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.Builder addFeaturesBuilder(
-        int index) {
-      return getFeaturesFieldBuilder().addBuilder(
-          index, com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.getDefaultInstance());
-    }
-    /**
-     * <code>repeated .BaseFeature features = 2;</code>
-     */
-    public java.util.List<com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.Builder> 
-         getFeaturesBuilderList() {
-      return getFeaturesFieldBuilder().getBuilderList();
-    }
-    private com.google.protobuf.RepeatedFieldBuilderV3<
-        com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature, com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.Builder, com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeatureOrBuilder> 
-        getFeaturesFieldBuilder() {
-      if (featuresBuilder_ == null) {
-        featuresBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
-            com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature, com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature.Builder, com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeatureOrBuilder>(
-                features_,
-                ((bitField0_ & 0x00000001) != 0),
-                getParentForChildren(),
-                isClean());
-        features_ = null;
-      }
-      return featuresBuilder_;
-    }
-    @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:LRWeight)
-  }
-
-  // @@protoc_insertion_point(class_scope:LRWeight)
-  private static final com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight DEFAULT_INSTANCE;
-  static {
-    DEFAULT_INSTANCE = new com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight();
-  }
-
-  public static com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight getDefaultInstance() {
-    return DEFAULT_INSTANCE;
-  }
-
-  private static final com.google.protobuf.Parser<LRWeight>
-      PARSER = new com.google.protobuf.AbstractParser<LRWeight>() {
-    @java.lang.Override
-    public LRWeight parsePartialFrom(
-        com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-        throws com.google.protobuf.InvalidProtocolBufferException {
-      return new LRWeight(input, extensionRegistry);
-    }
-  };
-
-  public static com.google.protobuf.Parser<LRWeight> parser() {
-    return PARSER;
-  }
-
-  @java.lang.Override
-  public com.google.protobuf.Parser<LRWeight> getParserForType() {
-    return PARSER;
-  }
-
-  @java.lang.Override
-  public com.tzld.piaoquan.recommend.feature.gen.recommend.LRWeight getDefaultInstanceForType() {
-    return DEFAULT_INSTANCE;
-  }
-
-}
-

+ 0 - 39
recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/gen/recommend/LRWeightOrBuilder.java

@@ -1,39 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: com/tzld/piaoquan/recommend/feature/ctr_samples.proto
-
-package com.tzld.piaoquan.recommend.feature.gen.recommend;
-
-public interface LRWeightOrBuilder extends
-    // @@protoc_insertion_point(interface_extends:LRWeight)
-    com.google.protobuf.MessageOrBuilder {
-
-  /**
-   * <code>int32 group_num = 1;</code>
-   * @return The groupNum.
-   */
-  int getGroupNum();
-
-  /**
-   * <code>repeated .BaseFeature features = 2;</code>
-   */
-  java.util.List<com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature> 
-      getFeaturesList();
-  /**
-   * <code>repeated .BaseFeature features = 2;</code>
-   */
-  com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeature getFeatures(int index);
-  /**
-   * <code>repeated .BaseFeature features = 2;</code>
-   */
-  int getFeaturesCount();
-  /**
-   * <code>repeated .BaseFeature features = 2;</code>
-   */
-  java.util.List<? extends com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeatureOrBuilder> 
-      getFeaturesOrBuilderList();
-  /**
-   * <code>repeated .BaseFeature features = 2;</code>
-   */
-  com.tzld.piaoquan.recommend.feature.gen.recommend.BaseFeatureOrBuilder getFeaturesOrBuilder(
-      int index);
-}

+ 41 - 41
recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/server/gen/recommend/BaseFeature.java → recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/model/sample/BaseFeature.java

@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: com/tzld/piaoquan/recommend/feature/ctr_samples.proto
 
-package com.tzld.piaoquan.recommend.server.gen.recommend;
+package com.tzld.piaoquan.recommend.feature.model.sample;
 
 /**
  * Protobuf type {@code BaseFeature}
@@ -96,15 +96,15 @@ private static final long serialVersionUID = 0L;
   }
   public static final com.google.protobuf.Descriptors.Descriptor
       getDescriptor() {
-    return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_BaseFeature_descriptor;
+    return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_BaseFeature_descriptor;
   }
 
   @java.lang.Override
   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       internalGetFieldAccessorTable() {
-    return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_BaseFeature_fieldAccessorTable
+    return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_BaseFeature_fieldAccessorTable
         .ensureFieldAccessorsInitialized(
-            com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.class, com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.Builder.class);
+            com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.class, com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.Builder.class);
   }
 
   public static final int ID_FIELD_NUMBER = 1;
@@ -256,10 +256,10 @@ private static final long serialVersionUID = 0L;
     if (obj == this) {
      return true;
     }
-    if (!(obj instanceof com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature)) {
+    if (!(obj instanceof com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature)) {
       return super.equals(obj);
     }
-    com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature other = (com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature) obj;
+    com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature other = (com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature) obj;
 
     if (getId()
         != other.getId()) return false;
@@ -303,69 +303,69 @@ private static final long serialVersionUID = 0L;
     return hash;
   }
 
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature parseFrom(
       java.nio.ByteBuffer data)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature parseFrom(
       java.nio.ByteBuffer data,
       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data, extensionRegistry);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature parseFrom(
       com.google.protobuf.ByteString data)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature parseFrom(
       com.google.protobuf.ByteString data,
       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data, extensionRegistry);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature parseFrom(byte[] data)
+  public static com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature parseFrom(byte[] data)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature parseFrom(
       byte[] data,
       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data, extensionRegistry);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature parseFrom(java.io.InputStream input)
+  public static com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature parseFrom(java.io.InputStream input)
       throws java.io.IOException {
     return com.google.protobuf.GeneratedMessageV3
         .parseWithIOException(PARSER, input);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature 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 com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature parseDelimitedFrom(java.io.InputStream input)
+  public static com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature parseDelimitedFrom(java.io.InputStream input)
       throws java.io.IOException {
     return com.google.protobuf.GeneratedMessageV3
         .parseDelimitedWithIOException(PARSER, input);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature parseDelimitedFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature 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 com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature parseFrom(
       com.google.protobuf.CodedInputStream input)
       throws java.io.IOException {
     return com.google.protobuf.GeneratedMessageV3
         .parseWithIOException(PARSER, input);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature parseFrom(
       com.google.protobuf.CodedInputStream input,
       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       throws java.io.IOException {
@@ -378,7 +378,7 @@ private static final long serialVersionUID = 0L;
   public static Builder newBuilder() {
     return DEFAULT_INSTANCE.toBuilder();
   }
-  public static Builder newBuilder(com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature prototype) {
+  public static Builder newBuilder(com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature prototype) {
     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
   }
   @java.lang.Override
@@ -399,21 +399,21 @@ private static final long serialVersionUID = 0L;
   public static final class Builder extends
       com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
       // @@protoc_insertion_point(builder_implements:BaseFeature)
-      com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeatureOrBuilder {
+      com.tzld.piaoquan.recommend.feature.model.sample.BaseFeatureOrBuilder {
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
-      return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_BaseFeature_descriptor;
+      return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_BaseFeature_descriptor;
     }
 
     @java.lang.Override
     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
-      return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_BaseFeature_fieldAccessorTable
+      return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_BaseFeature_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
-              com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.class, com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.Builder.class);
+              com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.class, com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.Builder.class);
     }
 
-    // Construct using com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.newBuilder()
+    // Construct using com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.newBuilder()
     private Builder() {
       maybeForceBuilderInitialization();
     }
@@ -447,17 +447,17 @@ private static final long serialVersionUID = 0L;
     @java.lang.Override
     public com.google.protobuf.Descriptors.Descriptor
         getDescriptorForType() {
-      return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_BaseFeature_descriptor;
+      return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_BaseFeature_descriptor;
     }
 
     @java.lang.Override
-    public com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature getDefaultInstanceForType() {
-      return com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.getDefaultInstance();
+    public com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature getDefaultInstanceForType() {
+      return com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.getDefaultInstance();
     }
 
     @java.lang.Override
-    public com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature build() {
-      com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature result = buildPartial();
+    public com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature build() {
+      com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature result = buildPartial();
       if (!result.isInitialized()) {
         throw newUninitializedMessageException(result);
       }
@@ -465,8 +465,8 @@ private static final long serialVersionUID = 0L;
     }
 
     @java.lang.Override
-    public com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature buildPartial() {
-      com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature result = new com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature(this);
+    public com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature buildPartial() {
+      com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature result = new com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature(this);
       result.id_ = id_;
       result.identifier_ = identifier_;
       result.fea_ = fea_;
@@ -510,16 +510,16 @@ private static final long serialVersionUID = 0L;
     }
     @java.lang.Override
     public Builder mergeFrom(com.google.protobuf.Message other) {
-      if (other instanceof com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature) {
-        return mergeFrom((com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature)other);
+      if (other instanceof com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature) {
+        return mergeFrom((com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature)other);
       } else {
         super.mergeFrom(other);
         return this;
       }
     }
 
-    public Builder mergeFrom(com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature other) {
-      if (other == com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.getDefaultInstance()) return this;
+    public Builder mergeFrom(com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature other) {
+      if (other == com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.getDefaultInstance()) return this;
       if (other.getId() != 0L) {
         setId(other.getId());
       }
@@ -551,11 +551,11 @@ private static final long serialVersionUID = 0L;
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature parsedMessage = null;
+      com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature parsedMessage = null;
       try {
         parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        parsedMessage = (com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature) e.getUnfinishedMessage();
+        parsedMessage = (com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature) e.getUnfinishedMessage();
         throw e.unwrapIOException();
       } finally {
         if (parsedMessage != null) {
@@ -781,12 +781,12 @@ private static final long serialVersionUID = 0L;
   }
 
   // @@protoc_insertion_point(class_scope:BaseFeature)
-  private static final com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature DEFAULT_INSTANCE;
+  private static final com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature DEFAULT_INSTANCE;
   static {
-    DEFAULT_INSTANCE = new com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature();
+    DEFAULT_INSTANCE = new com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature();
   }
 
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature getDefaultInstance() {
+  public static com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature getDefaultInstance() {
     return DEFAULT_INSTANCE;
   }
 
@@ -811,7 +811,7 @@ private static final long serialVersionUID = 0L;
   }
 
   @java.lang.Override
-  public com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature getDefaultInstanceForType() {
+  public com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature getDefaultInstanceForType() {
     return DEFAULT_INSTANCE;
   }
 

+ 1 - 1
recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/server/gen/recommend/BaseFeatureOrBuilder.java → recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/model/sample/BaseFeatureOrBuilder.java

@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: com/tzld/piaoquan/recommend/feature/ctr_samples.proto
 
-package com.tzld.piaoquan.recommend.server.gen.recommend;
+package com.tzld.piaoquan.recommend.feature.model.sample;
 
 public interface BaseFeatureOrBuilder extends
     // @@protoc_insertion_point(interface_extends:BaseFeature)

+ 3 - 3
recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/server/gen/recommend/CtrSamples.java → recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/model/sample/CtrSamples.java

@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: com/tzld/piaoquan/recommend/feature/ctr_samples.proto
 
-package com.tzld.piaoquan.recommend.server.gen.recommend;
+package com.tzld.piaoquan.recommend.feature.model.sample;
 
 public final class CtrSamples {
   private CtrSamples() {}
@@ -61,8 +61,8 @@ public final class CtrSamples {
       "k\030\001 \001(\005\022\021\n\tgroup_num\030\002 \001(\005\022\r\n\005count\030\003 \001(" +
       "\005\022!\n\010features\030\004 \003(\0132\017.GroupedFeature\022\016\n\006" +
       "weight\030\005 \001(\001\022\023\n\013predict_ctr\030\006 \001(\001B7\n0com" +
-      ".tzld.piaoquan.recommend.server.gen.reco" +
-      "mmendP\001\210\001\001b\006proto3"
+      ".tzld.piaoquan.recommend.feature.model.s" +
+      "ampleP\001\210\001\001b\006proto3"
     };
     descriptor = com.google.protobuf.Descriptors.FileDescriptor
       .internalBuildGeneratedFileFrom(descriptorData,

+ 41 - 41
recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/server/gen/recommend/FeatureGroup.java → recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/model/sample/FeatureGroup.java

@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: com/tzld/piaoquan/recommend/feature/ctr_samples.proto
 
-package com.tzld.piaoquan.recommend.server.gen.recommend;
+package com.tzld.piaoquan.recommend.feature.model.sample;
 
 /**
  * Protobuf type {@code FeatureGroup}
@@ -95,15 +95,15 @@ private static final long serialVersionUID = 0L;
   }
   public static final com.google.protobuf.Descriptors.Descriptor
       getDescriptor() {
-    return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_FeatureGroup_descriptor;
+    return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_FeatureGroup_descriptor;
   }
 
   @java.lang.Override
   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       internalGetFieldAccessorTable() {
-    return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_FeatureGroup_fieldAccessorTable
+    return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_FeatureGroup_fieldAccessorTable
         .ensureFieldAccessorsInitialized(
-            com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup.class, com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup.Builder.class);
+            com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup.class, com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup.Builder.class);
   }
 
   public static final int TYPE_FIELD_NUMBER = 1;
@@ -289,10 +289,10 @@ private static final long serialVersionUID = 0L;
     if (obj == this) {
      return true;
     }
-    if (!(obj instanceof com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup)) {
+    if (!(obj instanceof com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup)) {
       return super.equals(obj);
     }
-    com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup other = (com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup) obj;
+    com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup other = (com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup) obj;
 
     if (!getType()
         .equals(other.getType())) return false;
@@ -326,69 +326,69 @@ private static final long serialVersionUID = 0L;
     return hash;
   }
 
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup parseFrom(
       java.nio.ByteBuffer data)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup parseFrom(
       java.nio.ByteBuffer data,
       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data, extensionRegistry);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup parseFrom(
       com.google.protobuf.ByteString data)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup parseFrom(
       com.google.protobuf.ByteString data,
       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data, extensionRegistry);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup parseFrom(byte[] data)
+  public static com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup parseFrom(byte[] data)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup parseFrom(
       byte[] data,
       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data, extensionRegistry);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup parseFrom(java.io.InputStream input)
+  public static com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup parseFrom(java.io.InputStream input)
       throws java.io.IOException {
     return com.google.protobuf.GeneratedMessageV3
         .parseWithIOException(PARSER, input);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup 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 com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup parseDelimitedFrom(java.io.InputStream input)
+  public static com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup parseDelimitedFrom(java.io.InputStream input)
       throws java.io.IOException {
     return com.google.protobuf.GeneratedMessageV3
         .parseDelimitedWithIOException(PARSER, input);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup parseDelimitedFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup 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 com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup parseFrom(
       com.google.protobuf.CodedInputStream input)
       throws java.io.IOException {
     return com.google.protobuf.GeneratedMessageV3
         .parseWithIOException(PARSER, input);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup parseFrom(
       com.google.protobuf.CodedInputStream input,
       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       throws java.io.IOException {
@@ -401,7 +401,7 @@ private static final long serialVersionUID = 0L;
   public static Builder newBuilder() {
     return DEFAULT_INSTANCE.toBuilder();
   }
-  public static Builder newBuilder(com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup prototype) {
+  public static Builder newBuilder(com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup prototype) {
     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
   }
   @java.lang.Override
@@ -422,21 +422,21 @@ private static final long serialVersionUID = 0L;
   public static final class Builder extends
       com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
       // @@protoc_insertion_point(builder_implements:FeatureGroup)
-      com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroupOrBuilder {
+      com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroupOrBuilder {
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
-      return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_FeatureGroup_descriptor;
+      return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_FeatureGroup_descriptor;
     }
 
     @java.lang.Override
     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
-      return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_FeatureGroup_fieldAccessorTable
+      return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_FeatureGroup_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
-              com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup.class, com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup.Builder.class);
+              com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup.class, com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup.Builder.class);
     }
 
-    // Construct using com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup.newBuilder()
+    // Construct using com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup.newBuilder()
     private Builder() {
       maybeForceBuilderInitialization();
     }
@@ -468,17 +468,17 @@ private static final long serialVersionUID = 0L;
     @java.lang.Override
     public com.google.protobuf.Descriptors.Descriptor
         getDescriptorForType() {
-      return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_FeatureGroup_descriptor;
+      return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_FeatureGroup_descriptor;
     }
 
     @java.lang.Override
-    public com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup getDefaultInstanceForType() {
-      return com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup.getDefaultInstance();
+    public com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup getDefaultInstanceForType() {
+      return com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup.getDefaultInstance();
     }
 
     @java.lang.Override
-    public com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup build() {
-      com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup result = buildPartial();
+    public com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup build() {
+      com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup result = buildPartial();
       if (!result.isInitialized()) {
         throw newUninitializedMessageException(result);
       }
@@ -486,8 +486,8 @@ private static final long serialVersionUID = 0L;
     }
 
     @java.lang.Override
-    public com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup buildPartial() {
-      com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup result = new com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup(this);
+    public com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup buildPartial() {
+      com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup result = new com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup(this);
       result.type_ = type_;
       result.id_ = id_;
       result.name_ = name_;
@@ -530,16 +530,16 @@ private static final long serialVersionUID = 0L;
     }
     @java.lang.Override
     public Builder mergeFrom(com.google.protobuf.Message other) {
-      if (other instanceof com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup) {
-        return mergeFrom((com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup)other);
+      if (other instanceof com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup) {
+        return mergeFrom((com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup)other);
       } else {
         super.mergeFrom(other);
         return this;
       }
     }
 
-    public Builder mergeFrom(com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup other) {
-      if (other == com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup.getDefaultInstance()) return this;
+    public Builder mergeFrom(com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup other) {
+      if (other == com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup.getDefaultInstance()) return this;
       if (!other.getType().isEmpty()) {
         type_ = other.type_;
         onChanged();
@@ -570,11 +570,11 @@ private static final long serialVersionUID = 0L;
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup parsedMessage = null;
+      com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup parsedMessage = null;
       try {
         parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        parsedMessage = (com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup) e.getUnfinishedMessage();
+        parsedMessage = (com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup) e.getUnfinishedMessage();
         throw e.unwrapIOException();
       } finally {
         if (parsedMessage != null) {
@@ -859,12 +859,12 @@ private static final long serialVersionUID = 0L;
   }
 
   // @@protoc_insertion_point(class_scope:FeatureGroup)
-  private static final com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup DEFAULT_INSTANCE;
+  private static final com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup DEFAULT_INSTANCE;
   static {
-    DEFAULT_INSTANCE = new com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup();
+    DEFAULT_INSTANCE = new com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup();
   }
 
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup getDefaultInstance() {
+  public static com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup getDefaultInstance() {
     return DEFAULT_INSTANCE;
   }
 
@@ -889,7 +889,7 @@ private static final long serialVersionUID = 0L;
   }
 
   @java.lang.Override
-  public com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup getDefaultInstanceForType() {
+  public com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup getDefaultInstanceForType() {
     return DEFAULT_INSTANCE;
   }
 

+ 1 - 1
recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/server/gen/recommend/FeatureGroupOrBuilder.java → recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/model/sample/FeatureGroupOrBuilder.java

@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: com/tzld/piaoquan/recommend/feature/ctr_samples.proto
 
-package com.tzld.piaoquan.recommend.server.gen.recommend;
+package com.tzld.piaoquan.recommend.feature.model.sample;
 
 public interface FeatureGroupOrBuilder extends
     // @@protoc_insertion_point(interface_extends:FeatureGroup)

+ 89 - 89
recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/server/gen/recommend/GroupedFeature.java → recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/model/sample/GroupedFeature.java

@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: com/tzld/piaoquan/recommend/feature/ctr_samples.proto
 
-package com.tzld.piaoquan.recommend.server.gen.recommend;
+package com.tzld.piaoquan.recommend.feature.model.sample;
 
 /**
  * Protobuf type {@code GroupedFeature}
@@ -51,11 +51,11 @@ private static final long serialVersionUID = 0L;
             done = true;
             break;
           case 10: {
-            com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup.Builder subBuilder = null;
+            com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup.Builder subBuilder = null;
             if (group_ != null) {
               subBuilder = group_.toBuilder();
             }
-            group_ = input.readMessage(com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup.parser(), extensionRegistry);
+            group_ = input.readMessage(com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup.parser(), extensionRegistry);
             if (subBuilder != null) {
               subBuilder.mergeFrom(group_);
               group_ = subBuilder.buildPartial();
@@ -70,11 +70,11 @@ private static final long serialVersionUID = 0L;
           }
           case 26: {
             if (!((mutable_bitField0_ & 0x00000001) != 0)) {
-              features_ = new java.util.ArrayList<com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature>();
+              features_ = new java.util.ArrayList<com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature>();
               mutable_bitField0_ |= 0x00000001;
             }
             features_.add(
-                input.readMessage(com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.parser(), extensionRegistry));
+                input.readMessage(com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.parser(), extensionRegistry));
             break;
           }
           default: {
@@ -101,19 +101,19 @@ private static final long serialVersionUID = 0L;
   }
   public static final com.google.protobuf.Descriptors.Descriptor
       getDescriptor() {
-    return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_GroupedFeature_descriptor;
+    return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_GroupedFeature_descriptor;
   }
 
   @java.lang.Override
   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       internalGetFieldAccessorTable() {
-    return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_GroupedFeature_fieldAccessorTable
+    return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_GroupedFeature_fieldAccessorTable
         .ensureFieldAccessorsInitialized(
-            com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature.class, com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature.Builder.class);
+            com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature.class, com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature.Builder.class);
   }
 
   public static final int GROUP_FIELD_NUMBER = 1;
-  private com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup group_;
+  private com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup group_;
   /**
    * <code>.FeatureGroup group = 1;</code>
    * @return Whether the group field is set.
@@ -127,14 +127,14 @@ private static final long serialVersionUID = 0L;
    * @return The group.
    */
   @java.lang.Override
-  public com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup getGroup() {
-    return group_ == null ? com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup.getDefaultInstance() : group_;
+  public com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup getGroup() {
+    return group_ == null ? com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup.getDefaultInstance() : group_;
   }
   /**
    * <code>.FeatureGroup group = 1;</code>
    */
   @java.lang.Override
-  public com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroupOrBuilder getGroupOrBuilder() {
+  public com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroupOrBuilder getGroupOrBuilder() {
     return getGroup();
   }
 
@@ -150,19 +150,19 @@ private static final long serialVersionUID = 0L;
   }
 
   public static final int FEATURES_FIELD_NUMBER = 3;
-  private java.util.List<com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature> features_;
+  private java.util.List<com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature> features_;
   /**
    * <code>repeated .BaseFeature features = 3;</code>
    */
   @java.lang.Override
-  public java.util.List<com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature> getFeaturesList() {
+  public java.util.List<com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature> getFeaturesList() {
     return features_;
   }
   /**
    * <code>repeated .BaseFeature features = 3;</code>
    */
   @java.lang.Override
-  public java.util.List<? extends com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeatureOrBuilder> 
+  public java.util.List<? extends com.tzld.piaoquan.recommend.feature.model.sample.BaseFeatureOrBuilder> 
       getFeaturesOrBuilderList() {
     return features_;
   }
@@ -177,14 +177,14 @@ private static final long serialVersionUID = 0L;
    * <code>repeated .BaseFeature features = 3;</code>
    */
   @java.lang.Override
-  public com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature getFeatures(int index) {
+  public com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature getFeatures(int index) {
     return features_.get(index);
   }
   /**
    * <code>repeated .BaseFeature features = 3;</code>
    */
   @java.lang.Override
-  public com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeatureOrBuilder getFeaturesOrBuilder(
+  public com.tzld.piaoquan.recommend.feature.model.sample.BaseFeatureOrBuilder getFeaturesOrBuilder(
       int index) {
     return features_.get(index);
   }
@@ -243,10 +243,10 @@ private static final long serialVersionUID = 0L;
     if (obj == this) {
      return true;
     }
-    if (!(obj instanceof com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature)) {
+    if (!(obj instanceof com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature)) {
       return super.equals(obj);
     }
-    com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature other = (com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature) obj;
+    com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature other = (com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature) obj;
 
     if (hasGroup() != other.hasGroup()) return false;
     if (hasGroup()) {
@@ -283,69 +283,69 @@ private static final long serialVersionUID = 0L;
     return hash;
   }
 
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature parseFrom(
       java.nio.ByteBuffer data)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature parseFrom(
       java.nio.ByteBuffer data,
       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data, extensionRegistry);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature parseFrom(
       com.google.protobuf.ByteString data)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature parseFrom(
       com.google.protobuf.ByteString data,
       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data, extensionRegistry);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature parseFrom(byte[] data)
+  public static com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature parseFrom(byte[] data)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature parseFrom(
       byte[] data,
       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data, extensionRegistry);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature parseFrom(java.io.InputStream input)
+  public static com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature parseFrom(java.io.InputStream input)
       throws java.io.IOException {
     return com.google.protobuf.GeneratedMessageV3
         .parseWithIOException(PARSER, input);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature 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 com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature parseDelimitedFrom(java.io.InputStream input)
+  public static com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature parseDelimitedFrom(java.io.InputStream input)
       throws java.io.IOException {
     return com.google.protobuf.GeneratedMessageV3
         .parseDelimitedWithIOException(PARSER, input);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature parseDelimitedFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature 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 com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature parseFrom(
       com.google.protobuf.CodedInputStream input)
       throws java.io.IOException {
     return com.google.protobuf.GeneratedMessageV3
         .parseWithIOException(PARSER, input);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature parseFrom(
       com.google.protobuf.CodedInputStream input,
       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       throws java.io.IOException {
@@ -358,7 +358,7 @@ private static final long serialVersionUID = 0L;
   public static Builder newBuilder() {
     return DEFAULT_INSTANCE.toBuilder();
   }
-  public static Builder newBuilder(com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature prototype) {
+  public static Builder newBuilder(com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature prototype) {
     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
   }
   @java.lang.Override
@@ -379,21 +379,21 @@ private static final long serialVersionUID = 0L;
   public static final class Builder extends
       com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
       // @@protoc_insertion_point(builder_implements:GroupedFeature)
-      com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeatureOrBuilder {
+      com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeatureOrBuilder {
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
-      return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_GroupedFeature_descriptor;
+      return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_GroupedFeature_descriptor;
     }
 
     @java.lang.Override
     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
-      return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_GroupedFeature_fieldAccessorTable
+      return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_GroupedFeature_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
-              com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature.class, com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature.Builder.class);
+              com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature.class, com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature.Builder.class);
     }
 
-    // Construct using com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature.newBuilder()
+    // Construct using com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature.newBuilder()
     private Builder() {
       maybeForceBuilderInitialization();
     }
@@ -432,17 +432,17 @@ private static final long serialVersionUID = 0L;
     @java.lang.Override
     public com.google.protobuf.Descriptors.Descriptor
         getDescriptorForType() {
-      return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_GroupedFeature_descriptor;
+      return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_GroupedFeature_descriptor;
     }
 
     @java.lang.Override
-    public com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature getDefaultInstanceForType() {
-      return com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature.getDefaultInstance();
+    public com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature getDefaultInstanceForType() {
+      return com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature.getDefaultInstance();
     }
 
     @java.lang.Override
-    public com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature build() {
-      com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature result = buildPartial();
+    public com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature build() {
+      com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature result = buildPartial();
       if (!result.isInitialized()) {
         throw newUninitializedMessageException(result);
       }
@@ -450,8 +450,8 @@ private static final long serialVersionUID = 0L;
     }
 
     @java.lang.Override
-    public com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature buildPartial() {
-      com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature result = new com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature(this);
+    public com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature buildPartial() {
+      com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature result = new com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature(this);
       int from_bitField0_ = bitField0_;
       if (groupBuilder_ == null) {
         result.group_ = group_;
@@ -506,16 +506,16 @@ private static final long serialVersionUID = 0L;
     }
     @java.lang.Override
     public Builder mergeFrom(com.google.protobuf.Message other) {
-      if (other instanceof com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature) {
-        return mergeFrom((com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature)other);
+      if (other instanceof com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature) {
+        return mergeFrom((com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature)other);
       } else {
         super.mergeFrom(other);
         return this;
       }
     }
 
-    public Builder mergeFrom(com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature other) {
-      if (other == com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature.getDefaultInstance()) return this;
+    public Builder mergeFrom(com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature other) {
+      if (other == com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature.getDefaultInstance()) return this;
       if (other.hasGroup()) {
         mergeGroup(other.getGroup());
       }
@@ -563,11 +563,11 @@ private static final long serialVersionUID = 0L;
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature parsedMessage = null;
+      com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature parsedMessage = null;
       try {
         parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        parsedMessage = (com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature) e.getUnfinishedMessage();
+        parsedMessage = (com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature) e.getUnfinishedMessage();
         throw e.unwrapIOException();
       } finally {
         if (parsedMessage != null) {
@@ -578,9 +578,9 @@ private static final long serialVersionUID = 0L;
     }
     private int bitField0_;
 
-    private com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup group_;
+    private com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup group_;
     private com.google.protobuf.SingleFieldBuilderV3<
-        com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup, com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup.Builder, com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroupOrBuilder> groupBuilder_;
+        com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup, com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup.Builder, com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroupOrBuilder> groupBuilder_;
     /**
      * <code>.FeatureGroup group = 1;</code>
      * @return Whether the group field is set.
@@ -592,9 +592,9 @@ private static final long serialVersionUID = 0L;
      * <code>.FeatureGroup group = 1;</code>
      * @return The group.
      */
-    public com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup getGroup() {
+    public com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup getGroup() {
       if (groupBuilder_ == null) {
-        return group_ == null ? com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup.getDefaultInstance() : group_;
+        return group_ == null ? com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup.getDefaultInstance() : group_;
       } else {
         return groupBuilder_.getMessage();
       }
@@ -602,7 +602,7 @@ private static final long serialVersionUID = 0L;
     /**
      * <code>.FeatureGroup group = 1;</code>
      */
-    public Builder setGroup(com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup value) {
+    public Builder setGroup(com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup value) {
       if (groupBuilder_ == null) {
         if (value == null) {
           throw new NullPointerException();
@@ -619,7 +619,7 @@ private static final long serialVersionUID = 0L;
      * <code>.FeatureGroup group = 1;</code>
      */
     public Builder setGroup(
-        com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup.Builder builderForValue) {
+        com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup.Builder builderForValue) {
       if (groupBuilder_ == null) {
         group_ = builderForValue.build();
         onChanged();
@@ -632,11 +632,11 @@ private static final long serialVersionUID = 0L;
     /**
      * <code>.FeatureGroup group = 1;</code>
      */
-    public Builder mergeGroup(com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup value) {
+    public Builder mergeGroup(com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup value) {
       if (groupBuilder_ == null) {
         if (group_ != null) {
           group_ =
-            com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup.newBuilder(group_).mergeFrom(value).buildPartial();
+            com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup.newBuilder(group_).mergeFrom(value).buildPartial();
         } else {
           group_ = value;
         }
@@ -664,7 +664,7 @@ private static final long serialVersionUID = 0L;
     /**
      * <code>.FeatureGroup group = 1;</code>
      */
-    public com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup.Builder getGroupBuilder() {
+    public com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup.Builder getGroupBuilder() {
       
       onChanged();
       return getGroupFieldBuilder().getBuilder();
@@ -672,23 +672,23 @@ private static final long serialVersionUID = 0L;
     /**
      * <code>.FeatureGroup group = 1;</code>
      */
-    public com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroupOrBuilder getGroupOrBuilder() {
+    public com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroupOrBuilder getGroupOrBuilder() {
       if (groupBuilder_ != null) {
         return groupBuilder_.getMessageOrBuilder();
       } else {
         return group_ == null ?
-            com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup.getDefaultInstance() : group_;
+            com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup.getDefaultInstance() : group_;
       }
     }
     /**
      * <code>.FeatureGroup group = 1;</code>
      */
     private com.google.protobuf.SingleFieldBuilderV3<
-        com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup, com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup.Builder, com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroupOrBuilder> 
+        com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup, com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup.Builder, com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroupOrBuilder> 
         getGroupFieldBuilder() {
       if (groupBuilder_ == null) {
         groupBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
-            com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup, com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup.Builder, com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroupOrBuilder>(
+            com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup, com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup.Builder, com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroupOrBuilder>(
                 getGroup(),
                 getParentForChildren(),
                 isClean());
@@ -728,22 +728,22 @@ private static final long serialVersionUID = 0L;
       return this;
     }
 
-    private java.util.List<com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature> features_ =
+    private java.util.List<com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature> features_ =
       java.util.Collections.emptyList();
     private void ensureFeaturesIsMutable() {
       if (!((bitField0_ & 0x00000001) != 0)) {
-        features_ = new java.util.ArrayList<com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature>(features_);
+        features_ = new java.util.ArrayList<com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature>(features_);
         bitField0_ |= 0x00000001;
        }
     }
 
     private com.google.protobuf.RepeatedFieldBuilderV3<
-        com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature, com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.Builder, com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeatureOrBuilder> featuresBuilder_;
+        com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature, com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.Builder, com.tzld.piaoquan.recommend.feature.model.sample.BaseFeatureOrBuilder> featuresBuilder_;
 
     /**
      * <code>repeated .BaseFeature features = 3;</code>
      */
-    public java.util.List<com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature> getFeaturesList() {
+    public java.util.List<com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature> getFeaturesList() {
       if (featuresBuilder_ == null) {
         return java.util.Collections.unmodifiableList(features_);
       } else {
@@ -763,7 +763,7 @@ private static final long serialVersionUID = 0L;
     /**
      * <code>repeated .BaseFeature features = 3;</code>
      */
-    public com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature getFeatures(int index) {
+    public com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature getFeatures(int index) {
       if (featuresBuilder_ == null) {
         return features_.get(index);
       } else {
@@ -774,7 +774,7 @@ private static final long serialVersionUID = 0L;
      * <code>repeated .BaseFeature features = 3;</code>
      */
     public Builder setFeatures(
-        int index, com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature value) {
+        int index, com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature value) {
       if (featuresBuilder_ == null) {
         if (value == null) {
           throw new NullPointerException();
@@ -791,7 +791,7 @@ private static final long serialVersionUID = 0L;
      * <code>repeated .BaseFeature features = 3;</code>
      */
     public Builder setFeatures(
-        int index, com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.Builder builderForValue) {
+        int index, com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.Builder builderForValue) {
       if (featuresBuilder_ == null) {
         ensureFeaturesIsMutable();
         features_.set(index, builderForValue.build());
@@ -804,7 +804,7 @@ private static final long serialVersionUID = 0L;
     /**
      * <code>repeated .BaseFeature features = 3;</code>
      */
-    public Builder addFeatures(com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature value) {
+    public Builder addFeatures(com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature value) {
       if (featuresBuilder_ == null) {
         if (value == null) {
           throw new NullPointerException();
@@ -821,7 +821,7 @@ private static final long serialVersionUID = 0L;
      * <code>repeated .BaseFeature features = 3;</code>
      */
     public Builder addFeatures(
-        int index, com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature value) {
+        int index, com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature value) {
       if (featuresBuilder_ == null) {
         if (value == null) {
           throw new NullPointerException();
@@ -838,7 +838,7 @@ private static final long serialVersionUID = 0L;
      * <code>repeated .BaseFeature features = 3;</code>
      */
     public Builder addFeatures(
-        com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.Builder builderForValue) {
+        com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.Builder builderForValue) {
       if (featuresBuilder_ == null) {
         ensureFeaturesIsMutable();
         features_.add(builderForValue.build());
@@ -852,7 +852,7 @@ private static final long serialVersionUID = 0L;
      * <code>repeated .BaseFeature features = 3;</code>
      */
     public Builder addFeatures(
-        int index, com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.Builder builderForValue) {
+        int index, com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.Builder builderForValue) {
       if (featuresBuilder_ == null) {
         ensureFeaturesIsMutable();
         features_.add(index, builderForValue.build());
@@ -866,7 +866,7 @@ private static final long serialVersionUID = 0L;
      * <code>repeated .BaseFeature features = 3;</code>
      */
     public Builder addAllFeatures(
-        java.lang.Iterable<? extends com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature> values) {
+        java.lang.Iterable<? extends com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature> values) {
       if (featuresBuilder_ == null) {
         ensureFeaturesIsMutable();
         com.google.protobuf.AbstractMessageLite.Builder.addAll(
@@ -906,14 +906,14 @@ private static final long serialVersionUID = 0L;
     /**
      * <code>repeated .BaseFeature features = 3;</code>
      */
-    public com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.Builder getFeaturesBuilder(
+    public com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.Builder getFeaturesBuilder(
         int index) {
       return getFeaturesFieldBuilder().getBuilder(index);
     }
     /**
      * <code>repeated .BaseFeature features = 3;</code>
      */
-    public com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeatureOrBuilder getFeaturesOrBuilder(
+    public com.tzld.piaoquan.recommend.feature.model.sample.BaseFeatureOrBuilder getFeaturesOrBuilder(
         int index) {
       if (featuresBuilder_ == null) {
         return features_.get(index);  } else {
@@ -923,7 +923,7 @@ private static final long serialVersionUID = 0L;
     /**
      * <code>repeated .BaseFeature features = 3;</code>
      */
-    public java.util.List<? extends com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeatureOrBuilder> 
+    public java.util.List<? extends com.tzld.piaoquan.recommend.feature.model.sample.BaseFeatureOrBuilder> 
          getFeaturesOrBuilderList() {
       if (featuresBuilder_ != null) {
         return featuresBuilder_.getMessageOrBuilderList();
@@ -934,31 +934,31 @@ private static final long serialVersionUID = 0L;
     /**
      * <code>repeated .BaseFeature features = 3;</code>
      */
-    public com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.Builder addFeaturesBuilder() {
+    public com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.Builder addFeaturesBuilder() {
       return getFeaturesFieldBuilder().addBuilder(
-          com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.getDefaultInstance());
+          com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.getDefaultInstance());
     }
     /**
      * <code>repeated .BaseFeature features = 3;</code>
      */
-    public com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.Builder addFeaturesBuilder(
+    public com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.Builder addFeaturesBuilder(
         int index) {
       return getFeaturesFieldBuilder().addBuilder(
-          index, com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.getDefaultInstance());
+          index, com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.getDefaultInstance());
     }
     /**
      * <code>repeated .BaseFeature features = 3;</code>
      */
-    public java.util.List<com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.Builder> 
+    public java.util.List<com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.Builder> 
          getFeaturesBuilderList() {
       return getFeaturesFieldBuilder().getBuilderList();
     }
     private com.google.protobuf.RepeatedFieldBuilderV3<
-        com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature, com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.Builder, com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeatureOrBuilder> 
+        com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature, com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.Builder, com.tzld.piaoquan.recommend.feature.model.sample.BaseFeatureOrBuilder> 
         getFeaturesFieldBuilder() {
       if (featuresBuilder_ == null) {
         featuresBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
-            com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature, com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.Builder, com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeatureOrBuilder>(
+            com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature, com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.Builder, com.tzld.piaoquan.recommend.feature.model.sample.BaseFeatureOrBuilder>(
                 features_,
                 ((bitField0_ & 0x00000001) != 0),
                 getParentForChildren(),
@@ -984,12 +984,12 @@ private static final long serialVersionUID = 0L;
   }
 
   // @@protoc_insertion_point(class_scope:GroupedFeature)
-  private static final com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature DEFAULT_INSTANCE;
+  private static final com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature DEFAULT_INSTANCE;
   static {
-    DEFAULT_INSTANCE = new com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature();
+    DEFAULT_INSTANCE = new com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature();
   }
 
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature getDefaultInstance() {
+  public static com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature getDefaultInstance() {
     return DEFAULT_INSTANCE;
   }
 
@@ -1014,7 +1014,7 @@ private static final long serialVersionUID = 0L;
   }
 
   @java.lang.Override
-  public com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature getDefaultInstanceForType() {
+  public com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature getDefaultInstanceForType() {
     return DEFAULT_INSTANCE;
   }
 

+ 7 - 7
recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/server/gen/recommend/GroupedFeatureOrBuilder.java → recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/model/sample/GroupedFeatureOrBuilder.java

@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: com/tzld/piaoquan/recommend/feature/ctr_samples.proto
 
-package com.tzld.piaoquan.recommend.server.gen.recommend;
+package com.tzld.piaoquan.recommend.feature.model.sample;
 
 public interface GroupedFeatureOrBuilder extends
     // @@protoc_insertion_point(interface_extends:GroupedFeature)
@@ -16,11 +16,11 @@ public interface GroupedFeatureOrBuilder extends
    * <code>.FeatureGroup group = 1;</code>
    * @return The group.
    */
-  com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroup getGroup();
+  com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroup getGroup();
   /**
    * <code>.FeatureGroup group = 1;</code>
    */
-  com.tzld.piaoquan.recommend.server.gen.recommend.FeatureGroupOrBuilder getGroupOrBuilder();
+  com.tzld.piaoquan.recommend.feature.model.sample.FeatureGroupOrBuilder getGroupOrBuilder();
 
   /**
    * <code>int32 count = 2;</code>
@@ -31,12 +31,12 @@ public interface GroupedFeatureOrBuilder extends
   /**
    * <code>repeated .BaseFeature features = 3;</code>
    */
-  java.util.List<com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature> 
+  java.util.List<com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature> 
       getFeaturesList();
   /**
    * <code>repeated .BaseFeature features = 3;</code>
    */
-  com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature getFeatures(int index);
+  com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature getFeatures(int index);
   /**
    * <code>repeated .BaseFeature features = 3;</code>
    */
@@ -44,11 +44,11 @@ public interface GroupedFeatureOrBuilder extends
   /**
    * <code>repeated .BaseFeature features = 3;</code>
    */
-  java.util.List<? extends com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeatureOrBuilder> 
+  java.util.List<? extends com.tzld.piaoquan.recommend.feature.model.sample.BaseFeatureOrBuilder> 
       getFeaturesOrBuilderList();
   /**
    * <code>repeated .BaseFeature features = 3;</code>
    */
-  com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeatureOrBuilder getFeaturesOrBuilder(
+  com.tzld.piaoquan.recommend.feature.model.sample.BaseFeatureOrBuilder getFeaturesOrBuilder(
       int index);
 }

+ 70 - 70
recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/server/gen/recommend/LRSamples.java → recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/model/sample/LRSamples.java

@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: com/tzld/piaoquan/recommend/feature/ctr_samples.proto
 
-package com.tzld.piaoquan.recommend.server.gen.recommend;
+package com.tzld.piaoquan.recommend.feature.model.sample;
 
 /**
  * Protobuf type {@code LRSamples}
@@ -67,11 +67,11 @@ private static final long serialVersionUID = 0L;
           }
           case 34: {
             if (!((mutable_bitField0_ & 0x00000001) != 0)) {
-              features_ = new java.util.ArrayList<com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature>();
+              features_ = new java.util.ArrayList<com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature>();
               mutable_bitField0_ |= 0x00000001;
             }
             features_.add(
-                input.readMessage(com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature.parser(), extensionRegistry));
+                input.readMessage(com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature.parser(), extensionRegistry));
             break;
           }
           case 41: {
@@ -108,15 +108,15 @@ private static final long serialVersionUID = 0L;
   }
   public static final com.google.protobuf.Descriptors.Descriptor
       getDescriptor() {
-    return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_LRSamples_descriptor;
+    return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_LRSamples_descriptor;
   }
 
   @java.lang.Override
   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       internalGetFieldAccessorTable() {
-    return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_LRSamples_fieldAccessorTable
+    return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_LRSamples_fieldAccessorTable
         .ensureFieldAccessorsInitialized(
-            com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples.class, com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples.Builder.class);
+            com.tzld.piaoquan.recommend.feature.model.sample.LRSamples.class, com.tzld.piaoquan.recommend.feature.model.sample.LRSamples.Builder.class);
   }
 
   public static final int IS_CLICK_FIELD_NUMBER = 1;
@@ -153,19 +153,19 @@ private static final long serialVersionUID = 0L;
   }
 
   public static final int FEATURES_FIELD_NUMBER = 4;
-  private java.util.List<com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature> features_;
+  private java.util.List<com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature> features_;
   /**
    * <code>repeated .GroupedFeature features = 4;</code>
    */
   @java.lang.Override
-  public java.util.List<com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature> getFeaturesList() {
+  public java.util.List<com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature> getFeaturesList() {
     return features_;
   }
   /**
    * <code>repeated .GroupedFeature features = 4;</code>
    */
   @java.lang.Override
-  public java.util.List<? extends com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeatureOrBuilder> 
+  public java.util.List<? extends com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeatureOrBuilder> 
       getFeaturesOrBuilderList() {
     return features_;
   }
@@ -180,14 +180,14 @@ private static final long serialVersionUID = 0L;
    * <code>repeated .GroupedFeature features = 4;</code>
    */
   @java.lang.Override
-  public com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature getFeatures(int index) {
+  public com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature getFeatures(int index) {
     return features_.get(index);
   }
   /**
    * <code>repeated .GroupedFeature features = 4;</code>
    */
   @java.lang.Override
-  public com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeatureOrBuilder getFeaturesOrBuilder(
+  public com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeatureOrBuilder getFeaturesOrBuilder(
       int index) {
     return features_.get(index);
   }
@@ -289,10 +289,10 @@ private static final long serialVersionUID = 0L;
     if (obj == this) {
      return true;
     }
-    if (!(obj instanceof com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples)) {
+    if (!(obj instanceof com.tzld.piaoquan.recommend.feature.model.sample.LRSamples)) {
       return super.equals(obj);
     }
-    com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples other = (com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples) obj;
+    com.tzld.piaoquan.recommend.feature.model.sample.LRSamples other = (com.tzld.piaoquan.recommend.feature.model.sample.LRSamples) obj;
 
     if (getIsClick()
         != other.getIsClick()) return false;
@@ -340,69 +340,69 @@ private static final long serialVersionUID = 0L;
     return hash;
   }
 
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRSamples parseFrom(
       java.nio.ByteBuffer data)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRSamples parseFrom(
       java.nio.ByteBuffer data,
       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data, extensionRegistry);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRSamples parseFrom(
       com.google.protobuf.ByteString data)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRSamples parseFrom(
       com.google.protobuf.ByteString data,
       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data, extensionRegistry);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples parseFrom(byte[] data)
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRSamples parseFrom(byte[] data)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRSamples parseFrom(
       byte[] data,
       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data, extensionRegistry);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples parseFrom(java.io.InputStream input)
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRSamples parseFrom(java.io.InputStream input)
       throws java.io.IOException {
     return com.google.protobuf.GeneratedMessageV3
         .parseWithIOException(PARSER, input);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRSamples 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 com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples parseDelimitedFrom(java.io.InputStream input)
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRSamples parseDelimitedFrom(java.io.InputStream input)
       throws java.io.IOException {
     return com.google.protobuf.GeneratedMessageV3
         .parseDelimitedWithIOException(PARSER, input);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples parseDelimitedFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRSamples 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 com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRSamples parseFrom(
       com.google.protobuf.CodedInputStream input)
       throws java.io.IOException {
     return com.google.protobuf.GeneratedMessageV3
         .parseWithIOException(PARSER, input);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRSamples parseFrom(
       com.google.protobuf.CodedInputStream input,
       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       throws java.io.IOException {
@@ -415,7 +415,7 @@ private static final long serialVersionUID = 0L;
   public static Builder newBuilder() {
     return DEFAULT_INSTANCE.toBuilder();
   }
-  public static Builder newBuilder(com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples prototype) {
+  public static Builder newBuilder(com.tzld.piaoquan.recommend.feature.model.sample.LRSamples prototype) {
     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
   }
   @java.lang.Override
@@ -436,21 +436,21 @@ private static final long serialVersionUID = 0L;
   public static final class Builder extends
       com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
       // @@protoc_insertion_point(builder_implements:LRSamples)
-      com.tzld.piaoquan.recommend.server.gen.recommend.LRSamplesOrBuilder {
+      com.tzld.piaoquan.recommend.feature.model.sample.LRSamplesOrBuilder {
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
-      return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_LRSamples_descriptor;
+      return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_LRSamples_descriptor;
     }
 
     @java.lang.Override
     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
-      return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_LRSamples_fieldAccessorTable
+      return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_LRSamples_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
-              com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples.class, com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples.Builder.class);
+              com.tzld.piaoquan.recommend.feature.model.sample.LRSamples.class, com.tzld.piaoquan.recommend.feature.model.sample.LRSamples.Builder.class);
     }
 
-    // Construct using com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples.newBuilder()
+    // Construct using com.tzld.piaoquan.recommend.feature.model.sample.LRSamples.newBuilder()
     private Builder() {
       maybeForceBuilderInitialization();
     }
@@ -491,17 +491,17 @@ private static final long serialVersionUID = 0L;
     @java.lang.Override
     public com.google.protobuf.Descriptors.Descriptor
         getDescriptorForType() {
-      return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_LRSamples_descriptor;
+      return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_LRSamples_descriptor;
     }
 
     @java.lang.Override
-    public com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples getDefaultInstanceForType() {
-      return com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples.getDefaultInstance();
+    public com.tzld.piaoquan.recommend.feature.model.sample.LRSamples getDefaultInstanceForType() {
+      return com.tzld.piaoquan.recommend.feature.model.sample.LRSamples.getDefaultInstance();
     }
 
     @java.lang.Override
-    public com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples build() {
-      com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples result = buildPartial();
+    public com.tzld.piaoquan.recommend.feature.model.sample.LRSamples build() {
+      com.tzld.piaoquan.recommend.feature.model.sample.LRSamples result = buildPartial();
       if (!result.isInitialized()) {
         throw newUninitializedMessageException(result);
       }
@@ -509,8 +509,8 @@ private static final long serialVersionUID = 0L;
     }
 
     @java.lang.Override
-    public com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples buildPartial() {
-      com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples result = new com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples(this);
+    public com.tzld.piaoquan.recommend.feature.model.sample.LRSamples buildPartial() {
+      com.tzld.piaoquan.recommend.feature.model.sample.LRSamples result = new com.tzld.piaoquan.recommend.feature.model.sample.LRSamples(this);
       int from_bitField0_ = bitField0_;
       result.isClick_ = isClick_;
       result.groupNum_ = groupNum_;
@@ -564,16 +564,16 @@ private static final long serialVersionUID = 0L;
     }
     @java.lang.Override
     public Builder mergeFrom(com.google.protobuf.Message other) {
-      if (other instanceof com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples) {
-        return mergeFrom((com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples)other);
+      if (other instanceof com.tzld.piaoquan.recommend.feature.model.sample.LRSamples) {
+        return mergeFrom((com.tzld.piaoquan.recommend.feature.model.sample.LRSamples)other);
       } else {
         super.mergeFrom(other);
         return this;
       }
     }
 
-    public Builder mergeFrom(com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples other) {
-      if (other == com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples.getDefaultInstance()) return this;
+    public Builder mergeFrom(com.tzld.piaoquan.recommend.feature.model.sample.LRSamples other) {
+      if (other == com.tzld.piaoquan.recommend.feature.model.sample.LRSamples.getDefaultInstance()) return this;
       if (other.getIsClick() != 0) {
         setIsClick(other.getIsClick());
       }
@@ -630,11 +630,11 @@ private static final long serialVersionUID = 0L;
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples parsedMessage = null;
+      com.tzld.piaoquan.recommend.feature.model.sample.LRSamples parsedMessage = null;
       try {
         parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        parsedMessage = (com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples) e.getUnfinishedMessage();
+        parsedMessage = (com.tzld.piaoquan.recommend.feature.model.sample.LRSamples) e.getUnfinishedMessage();
         throw e.unwrapIOException();
       } finally {
         if (parsedMessage != null) {
@@ -738,22 +738,22 @@ private static final long serialVersionUID = 0L;
       return this;
     }
 
-    private java.util.List<com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature> features_ =
+    private java.util.List<com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature> features_ =
       java.util.Collections.emptyList();
     private void ensureFeaturesIsMutable() {
       if (!((bitField0_ & 0x00000001) != 0)) {
-        features_ = new java.util.ArrayList<com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature>(features_);
+        features_ = new java.util.ArrayList<com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature>(features_);
         bitField0_ |= 0x00000001;
        }
     }
 
     private com.google.protobuf.RepeatedFieldBuilderV3<
-        com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature, com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature.Builder, com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeatureOrBuilder> featuresBuilder_;
+        com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature, com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature.Builder, com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeatureOrBuilder> featuresBuilder_;
 
     /**
      * <code>repeated .GroupedFeature features = 4;</code>
      */
-    public java.util.List<com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature> getFeaturesList() {
+    public java.util.List<com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature> getFeaturesList() {
       if (featuresBuilder_ == null) {
         return java.util.Collections.unmodifiableList(features_);
       } else {
@@ -773,7 +773,7 @@ private static final long serialVersionUID = 0L;
     /**
      * <code>repeated .GroupedFeature features = 4;</code>
      */
-    public com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature getFeatures(int index) {
+    public com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature getFeatures(int index) {
       if (featuresBuilder_ == null) {
         return features_.get(index);
       } else {
@@ -784,7 +784,7 @@ private static final long serialVersionUID = 0L;
      * <code>repeated .GroupedFeature features = 4;</code>
      */
     public Builder setFeatures(
-        int index, com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature value) {
+        int index, com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature value) {
       if (featuresBuilder_ == null) {
         if (value == null) {
           throw new NullPointerException();
@@ -801,7 +801,7 @@ private static final long serialVersionUID = 0L;
      * <code>repeated .GroupedFeature features = 4;</code>
      */
     public Builder setFeatures(
-        int index, com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature.Builder builderForValue) {
+        int index, com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature.Builder builderForValue) {
       if (featuresBuilder_ == null) {
         ensureFeaturesIsMutable();
         features_.set(index, builderForValue.build());
@@ -814,7 +814,7 @@ private static final long serialVersionUID = 0L;
     /**
      * <code>repeated .GroupedFeature features = 4;</code>
      */
-    public Builder addFeatures(com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature value) {
+    public Builder addFeatures(com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature value) {
       if (featuresBuilder_ == null) {
         if (value == null) {
           throw new NullPointerException();
@@ -831,7 +831,7 @@ private static final long serialVersionUID = 0L;
      * <code>repeated .GroupedFeature features = 4;</code>
      */
     public Builder addFeatures(
-        int index, com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature value) {
+        int index, com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature value) {
       if (featuresBuilder_ == null) {
         if (value == null) {
           throw new NullPointerException();
@@ -848,7 +848,7 @@ private static final long serialVersionUID = 0L;
      * <code>repeated .GroupedFeature features = 4;</code>
      */
     public Builder addFeatures(
-        com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature.Builder builderForValue) {
+        com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature.Builder builderForValue) {
       if (featuresBuilder_ == null) {
         ensureFeaturesIsMutable();
         features_.add(builderForValue.build());
@@ -862,7 +862,7 @@ private static final long serialVersionUID = 0L;
      * <code>repeated .GroupedFeature features = 4;</code>
      */
     public Builder addFeatures(
-        int index, com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature.Builder builderForValue) {
+        int index, com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature.Builder builderForValue) {
       if (featuresBuilder_ == null) {
         ensureFeaturesIsMutable();
         features_.add(index, builderForValue.build());
@@ -876,7 +876,7 @@ private static final long serialVersionUID = 0L;
      * <code>repeated .GroupedFeature features = 4;</code>
      */
     public Builder addAllFeatures(
-        java.lang.Iterable<? extends com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature> values) {
+        java.lang.Iterable<? extends com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature> values) {
       if (featuresBuilder_ == null) {
         ensureFeaturesIsMutable();
         com.google.protobuf.AbstractMessageLite.Builder.addAll(
@@ -916,14 +916,14 @@ private static final long serialVersionUID = 0L;
     /**
      * <code>repeated .GroupedFeature features = 4;</code>
      */
-    public com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature.Builder getFeaturesBuilder(
+    public com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature.Builder getFeaturesBuilder(
         int index) {
       return getFeaturesFieldBuilder().getBuilder(index);
     }
     /**
      * <code>repeated .GroupedFeature features = 4;</code>
      */
-    public com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeatureOrBuilder getFeaturesOrBuilder(
+    public com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeatureOrBuilder getFeaturesOrBuilder(
         int index) {
       if (featuresBuilder_ == null) {
         return features_.get(index);  } else {
@@ -933,7 +933,7 @@ private static final long serialVersionUID = 0L;
     /**
      * <code>repeated .GroupedFeature features = 4;</code>
      */
-    public java.util.List<? extends com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeatureOrBuilder> 
+    public java.util.List<? extends com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeatureOrBuilder> 
          getFeaturesOrBuilderList() {
       if (featuresBuilder_ != null) {
         return featuresBuilder_.getMessageOrBuilderList();
@@ -944,31 +944,31 @@ private static final long serialVersionUID = 0L;
     /**
      * <code>repeated .GroupedFeature features = 4;</code>
      */
-    public com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature.Builder addFeaturesBuilder() {
+    public com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature.Builder addFeaturesBuilder() {
       return getFeaturesFieldBuilder().addBuilder(
-          com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature.getDefaultInstance());
+          com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature.getDefaultInstance());
     }
     /**
      * <code>repeated .GroupedFeature features = 4;</code>
      */
-    public com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature.Builder addFeaturesBuilder(
+    public com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature.Builder addFeaturesBuilder(
         int index) {
       return getFeaturesFieldBuilder().addBuilder(
-          index, com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature.getDefaultInstance());
+          index, com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature.getDefaultInstance());
     }
     /**
      * <code>repeated .GroupedFeature features = 4;</code>
      */
-    public java.util.List<com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature.Builder> 
+    public java.util.List<com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature.Builder> 
          getFeaturesBuilderList() {
       return getFeaturesFieldBuilder().getBuilderList();
     }
     private com.google.protobuf.RepeatedFieldBuilderV3<
-        com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature, com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature.Builder, com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeatureOrBuilder> 
+        com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature, com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature.Builder, com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeatureOrBuilder> 
         getFeaturesFieldBuilder() {
       if (featuresBuilder_ == null) {
         featuresBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
-            com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature, com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature.Builder, com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeatureOrBuilder>(
+            com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature, com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature.Builder, com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeatureOrBuilder>(
                 features_,
                 ((bitField0_ & 0x00000001) != 0),
                 getParentForChildren(),
@@ -1056,12 +1056,12 @@ private static final long serialVersionUID = 0L;
   }
 
   // @@protoc_insertion_point(class_scope:LRSamples)
-  private static final com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples DEFAULT_INSTANCE;
+  private static final com.tzld.piaoquan.recommend.feature.model.sample.LRSamples DEFAULT_INSTANCE;
   static {
-    DEFAULT_INSTANCE = new com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples();
+    DEFAULT_INSTANCE = new com.tzld.piaoquan.recommend.feature.model.sample.LRSamples();
   }
 
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples getDefaultInstance() {
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRSamples getDefaultInstance() {
     return DEFAULT_INSTANCE;
   }
 
@@ -1086,7 +1086,7 @@ private static final long serialVersionUID = 0L;
   }
 
   @java.lang.Override
-  public com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples getDefaultInstanceForType() {
+  public com.tzld.piaoquan.recommend.feature.model.sample.LRSamples getDefaultInstanceForType() {
     return DEFAULT_INSTANCE;
   }
 

+ 5 - 5
recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/server/gen/recommend/LRSamplesOrBuilder.java → recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/model/sample/LRSamplesOrBuilder.java

@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: com/tzld/piaoquan/recommend/feature/ctr_samples.proto
 
-package com.tzld.piaoquan.recommend.server.gen.recommend;
+package com.tzld.piaoquan.recommend.feature.model.sample;
 
 public interface LRSamplesOrBuilder extends
     // @@protoc_insertion_point(interface_extends:LRSamples)
@@ -28,12 +28,12 @@ public interface LRSamplesOrBuilder extends
   /**
    * <code>repeated .GroupedFeature features = 4;</code>
    */
-  java.util.List<com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature> 
+  java.util.List<com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature> 
       getFeaturesList();
   /**
    * <code>repeated .GroupedFeature features = 4;</code>
    */
-  com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeature getFeatures(int index);
+  com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeature getFeatures(int index);
   /**
    * <code>repeated .GroupedFeature features = 4;</code>
    */
@@ -41,12 +41,12 @@ public interface LRSamplesOrBuilder extends
   /**
    * <code>repeated .GroupedFeature features = 4;</code>
    */
-  java.util.List<? extends com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeatureOrBuilder> 
+  java.util.List<? extends com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeatureOrBuilder> 
       getFeaturesOrBuilderList();
   /**
    * <code>repeated .GroupedFeature features = 4;</code>
    */
-  com.tzld.piaoquan.recommend.server.gen.recommend.GroupedFeatureOrBuilder getFeaturesOrBuilder(
+  com.tzld.piaoquan.recommend.feature.model.sample.GroupedFeatureOrBuilder getFeaturesOrBuilder(
       int index);
 
   /**

+ 70 - 70
recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/server/gen/recommend/LRWeight.java → recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/model/sample/LRWeight.java

@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: com/tzld/piaoquan/recommend/feature/ctr_samples.proto
 
-package com.tzld.piaoquan.recommend.server.gen.recommend;
+package com.tzld.piaoquan.recommend.feature.model.sample;
 
 /**
  * Protobuf type {@code LRWeight}
@@ -57,11 +57,11 @@ private static final long serialVersionUID = 0L;
           }
           case 18: {
             if (!((mutable_bitField0_ & 0x00000001) != 0)) {
-              features_ = new java.util.ArrayList<com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature>();
+              features_ = new java.util.ArrayList<com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature>();
               mutable_bitField0_ |= 0x00000001;
             }
             features_.add(
-                input.readMessage(com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.parser(), extensionRegistry));
+                input.readMessage(com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.parser(), extensionRegistry));
             break;
           }
           default: {
@@ -88,15 +88,15 @@ private static final long serialVersionUID = 0L;
   }
   public static final com.google.protobuf.Descriptors.Descriptor
       getDescriptor() {
-    return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_LRWeight_descriptor;
+    return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_LRWeight_descriptor;
   }
 
   @java.lang.Override
   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       internalGetFieldAccessorTable() {
-    return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_LRWeight_fieldAccessorTable
+    return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_LRWeight_fieldAccessorTable
         .ensureFieldAccessorsInitialized(
-            com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight.class, com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight.Builder.class);
+            com.tzld.piaoquan.recommend.feature.model.sample.LRWeight.class, com.tzld.piaoquan.recommend.feature.model.sample.LRWeight.Builder.class);
   }
 
   public static final int GROUP_NUM_FIELD_NUMBER = 1;
@@ -111,19 +111,19 @@ private static final long serialVersionUID = 0L;
   }
 
   public static final int FEATURES_FIELD_NUMBER = 2;
-  private java.util.List<com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature> features_;
+  private java.util.List<com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature> features_;
   /**
    * <code>repeated .BaseFeature features = 2;</code>
    */
   @java.lang.Override
-  public java.util.List<com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature> getFeaturesList() {
+  public java.util.List<com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature> getFeaturesList() {
     return features_;
   }
   /**
    * <code>repeated .BaseFeature features = 2;</code>
    */
   @java.lang.Override
-  public java.util.List<? extends com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeatureOrBuilder> 
+  public java.util.List<? extends com.tzld.piaoquan.recommend.feature.model.sample.BaseFeatureOrBuilder> 
       getFeaturesOrBuilderList() {
     return features_;
   }
@@ -138,14 +138,14 @@ private static final long serialVersionUID = 0L;
    * <code>repeated .BaseFeature features = 2;</code>
    */
   @java.lang.Override
-  public com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature getFeatures(int index) {
+  public com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature getFeatures(int index) {
     return features_.get(index);
   }
   /**
    * <code>repeated .BaseFeature features = 2;</code>
    */
   @java.lang.Override
-  public com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeatureOrBuilder getFeaturesOrBuilder(
+  public com.tzld.piaoquan.recommend.feature.model.sample.BaseFeatureOrBuilder getFeaturesOrBuilder(
       int index) {
     return features_.get(index);
   }
@@ -197,10 +197,10 @@ private static final long serialVersionUID = 0L;
     if (obj == this) {
      return true;
     }
-    if (!(obj instanceof com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight)) {
+    if (!(obj instanceof com.tzld.piaoquan.recommend.feature.model.sample.LRWeight)) {
       return super.equals(obj);
     }
-    com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight other = (com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight) obj;
+    com.tzld.piaoquan.recommend.feature.model.sample.LRWeight other = (com.tzld.piaoquan.recommend.feature.model.sample.LRWeight) obj;
 
     if (getGroupNum()
         != other.getGroupNum()) return false;
@@ -228,69 +228,69 @@ private static final long serialVersionUID = 0L;
     return hash;
   }
 
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRWeight parseFrom(
       java.nio.ByteBuffer data)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRWeight parseFrom(
       java.nio.ByteBuffer data,
       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data, extensionRegistry);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRWeight parseFrom(
       com.google.protobuf.ByteString data)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRWeight parseFrom(
       com.google.protobuf.ByteString data,
       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data, extensionRegistry);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight parseFrom(byte[] data)
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRWeight parseFrom(byte[] data)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRWeight parseFrom(
       byte[] data,
       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       throws com.google.protobuf.InvalidProtocolBufferException {
     return PARSER.parseFrom(data, extensionRegistry);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight parseFrom(java.io.InputStream input)
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRWeight parseFrom(java.io.InputStream input)
       throws java.io.IOException {
     return com.google.protobuf.GeneratedMessageV3
         .parseWithIOException(PARSER, input);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRWeight 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 com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight parseDelimitedFrom(java.io.InputStream input)
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRWeight parseDelimitedFrom(java.io.InputStream input)
       throws java.io.IOException {
     return com.google.protobuf.GeneratedMessageV3
         .parseDelimitedWithIOException(PARSER, input);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight parseDelimitedFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRWeight 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 com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRWeight parseFrom(
       com.google.protobuf.CodedInputStream input)
       throws java.io.IOException {
     return com.google.protobuf.GeneratedMessageV3
         .parseWithIOException(PARSER, input);
   }
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight parseFrom(
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRWeight parseFrom(
       com.google.protobuf.CodedInputStream input,
       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
       throws java.io.IOException {
@@ -303,7 +303,7 @@ private static final long serialVersionUID = 0L;
   public static Builder newBuilder() {
     return DEFAULT_INSTANCE.toBuilder();
   }
-  public static Builder newBuilder(com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight prototype) {
+  public static Builder newBuilder(com.tzld.piaoquan.recommend.feature.model.sample.LRWeight prototype) {
     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
   }
   @java.lang.Override
@@ -324,21 +324,21 @@ private static final long serialVersionUID = 0L;
   public static final class Builder extends
       com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
       // @@protoc_insertion_point(builder_implements:LRWeight)
-      com.tzld.piaoquan.recommend.server.gen.recommend.LRWeightOrBuilder {
+      com.tzld.piaoquan.recommend.feature.model.sample.LRWeightOrBuilder {
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
-      return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_LRWeight_descriptor;
+      return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_LRWeight_descriptor;
     }
 
     @java.lang.Override
     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
-      return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_LRWeight_fieldAccessorTable
+      return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_LRWeight_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
-              com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight.class, com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight.Builder.class);
+              com.tzld.piaoquan.recommend.feature.model.sample.LRWeight.class, com.tzld.piaoquan.recommend.feature.model.sample.LRWeight.Builder.class);
     }
 
-    // Construct using com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight.newBuilder()
+    // Construct using com.tzld.piaoquan.recommend.feature.model.sample.LRWeight.newBuilder()
     private Builder() {
       maybeForceBuilderInitialization();
     }
@@ -371,17 +371,17 @@ private static final long serialVersionUID = 0L;
     @java.lang.Override
     public com.google.protobuf.Descriptors.Descriptor
         getDescriptorForType() {
-      return com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples.internal_static_LRWeight_descriptor;
+      return com.tzld.piaoquan.recommend.feature.model.sample.CtrSamples.internal_static_LRWeight_descriptor;
     }
 
     @java.lang.Override
-    public com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight getDefaultInstanceForType() {
-      return com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight.getDefaultInstance();
+    public com.tzld.piaoquan.recommend.feature.model.sample.LRWeight getDefaultInstanceForType() {
+      return com.tzld.piaoquan.recommend.feature.model.sample.LRWeight.getDefaultInstance();
     }
 
     @java.lang.Override
-    public com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight build() {
-      com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight result = buildPartial();
+    public com.tzld.piaoquan.recommend.feature.model.sample.LRWeight build() {
+      com.tzld.piaoquan.recommend.feature.model.sample.LRWeight result = buildPartial();
       if (!result.isInitialized()) {
         throw newUninitializedMessageException(result);
       }
@@ -389,8 +389,8 @@ private static final long serialVersionUID = 0L;
     }
 
     @java.lang.Override
-    public com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight buildPartial() {
-      com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight result = new com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight(this);
+    public com.tzld.piaoquan.recommend.feature.model.sample.LRWeight buildPartial() {
+      com.tzld.piaoquan.recommend.feature.model.sample.LRWeight result = new com.tzld.piaoquan.recommend.feature.model.sample.LRWeight(this);
       int from_bitField0_ = bitField0_;
       result.groupNum_ = groupNum_;
       if (featuresBuilder_ == null) {
@@ -440,16 +440,16 @@ private static final long serialVersionUID = 0L;
     }
     @java.lang.Override
     public Builder mergeFrom(com.google.protobuf.Message other) {
-      if (other instanceof com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight) {
-        return mergeFrom((com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight)other);
+      if (other instanceof com.tzld.piaoquan.recommend.feature.model.sample.LRWeight) {
+        return mergeFrom((com.tzld.piaoquan.recommend.feature.model.sample.LRWeight)other);
       } else {
         super.mergeFrom(other);
         return this;
       }
     }
 
-    public Builder mergeFrom(com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight other) {
-      if (other == com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight.getDefaultInstance()) return this;
+    public Builder mergeFrom(com.tzld.piaoquan.recommend.feature.model.sample.LRWeight other) {
+      if (other == com.tzld.piaoquan.recommend.feature.model.sample.LRWeight.getDefaultInstance()) return this;
       if (other.getGroupNum() != 0) {
         setGroupNum(other.getGroupNum());
       }
@@ -494,11 +494,11 @@ private static final long serialVersionUID = 0L;
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight parsedMessage = null;
+      com.tzld.piaoquan.recommend.feature.model.sample.LRWeight parsedMessage = null;
       try {
         parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        parsedMessage = (com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight) e.getUnfinishedMessage();
+        parsedMessage = (com.tzld.piaoquan.recommend.feature.model.sample.LRWeight) e.getUnfinishedMessage();
         throw e.unwrapIOException();
       } finally {
         if (parsedMessage != null) {
@@ -540,22 +540,22 @@ private static final long serialVersionUID = 0L;
       return this;
     }
 
-    private java.util.List<com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature> features_ =
+    private java.util.List<com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature> features_ =
       java.util.Collections.emptyList();
     private void ensureFeaturesIsMutable() {
       if (!((bitField0_ & 0x00000001) != 0)) {
-        features_ = new java.util.ArrayList<com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature>(features_);
+        features_ = new java.util.ArrayList<com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature>(features_);
         bitField0_ |= 0x00000001;
        }
     }
 
     private com.google.protobuf.RepeatedFieldBuilderV3<
-        com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature, com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.Builder, com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeatureOrBuilder> featuresBuilder_;
+        com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature, com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.Builder, com.tzld.piaoquan.recommend.feature.model.sample.BaseFeatureOrBuilder> featuresBuilder_;
 
     /**
      * <code>repeated .BaseFeature features = 2;</code>
      */
-    public java.util.List<com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature> getFeaturesList() {
+    public java.util.List<com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature> getFeaturesList() {
       if (featuresBuilder_ == null) {
         return java.util.Collections.unmodifiableList(features_);
       } else {
@@ -575,7 +575,7 @@ private static final long serialVersionUID = 0L;
     /**
      * <code>repeated .BaseFeature features = 2;</code>
      */
-    public com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature getFeatures(int index) {
+    public com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature getFeatures(int index) {
       if (featuresBuilder_ == null) {
         return features_.get(index);
       } else {
@@ -586,7 +586,7 @@ private static final long serialVersionUID = 0L;
      * <code>repeated .BaseFeature features = 2;</code>
      */
     public Builder setFeatures(
-        int index, com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature value) {
+        int index, com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature value) {
       if (featuresBuilder_ == null) {
         if (value == null) {
           throw new NullPointerException();
@@ -603,7 +603,7 @@ private static final long serialVersionUID = 0L;
      * <code>repeated .BaseFeature features = 2;</code>
      */
     public Builder setFeatures(
-        int index, com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.Builder builderForValue) {
+        int index, com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.Builder builderForValue) {
       if (featuresBuilder_ == null) {
         ensureFeaturesIsMutable();
         features_.set(index, builderForValue.build());
@@ -616,7 +616,7 @@ private static final long serialVersionUID = 0L;
     /**
      * <code>repeated .BaseFeature features = 2;</code>
      */
-    public Builder addFeatures(com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature value) {
+    public Builder addFeatures(com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature value) {
       if (featuresBuilder_ == null) {
         if (value == null) {
           throw new NullPointerException();
@@ -633,7 +633,7 @@ private static final long serialVersionUID = 0L;
      * <code>repeated .BaseFeature features = 2;</code>
      */
     public Builder addFeatures(
-        int index, com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature value) {
+        int index, com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature value) {
       if (featuresBuilder_ == null) {
         if (value == null) {
           throw new NullPointerException();
@@ -650,7 +650,7 @@ private static final long serialVersionUID = 0L;
      * <code>repeated .BaseFeature features = 2;</code>
      */
     public Builder addFeatures(
-        com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.Builder builderForValue) {
+        com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.Builder builderForValue) {
       if (featuresBuilder_ == null) {
         ensureFeaturesIsMutable();
         features_.add(builderForValue.build());
@@ -664,7 +664,7 @@ private static final long serialVersionUID = 0L;
      * <code>repeated .BaseFeature features = 2;</code>
      */
     public Builder addFeatures(
-        int index, com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.Builder builderForValue) {
+        int index, com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.Builder builderForValue) {
       if (featuresBuilder_ == null) {
         ensureFeaturesIsMutable();
         features_.add(index, builderForValue.build());
@@ -678,7 +678,7 @@ private static final long serialVersionUID = 0L;
      * <code>repeated .BaseFeature features = 2;</code>
      */
     public Builder addAllFeatures(
-        java.lang.Iterable<? extends com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature> values) {
+        java.lang.Iterable<? extends com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature> values) {
       if (featuresBuilder_ == null) {
         ensureFeaturesIsMutable();
         com.google.protobuf.AbstractMessageLite.Builder.addAll(
@@ -718,14 +718,14 @@ private static final long serialVersionUID = 0L;
     /**
      * <code>repeated .BaseFeature features = 2;</code>
      */
-    public com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.Builder getFeaturesBuilder(
+    public com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.Builder getFeaturesBuilder(
         int index) {
       return getFeaturesFieldBuilder().getBuilder(index);
     }
     /**
      * <code>repeated .BaseFeature features = 2;</code>
      */
-    public com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeatureOrBuilder getFeaturesOrBuilder(
+    public com.tzld.piaoquan.recommend.feature.model.sample.BaseFeatureOrBuilder getFeaturesOrBuilder(
         int index) {
       if (featuresBuilder_ == null) {
         return features_.get(index);  } else {
@@ -735,7 +735,7 @@ private static final long serialVersionUID = 0L;
     /**
      * <code>repeated .BaseFeature features = 2;</code>
      */
-    public java.util.List<? extends com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeatureOrBuilder> 
+    public java.util.List<? extends com.tzld.piaoquan.recommend.feature.model.sample.BaseFeatureOrBuilder> 
          getFeaturesOrBuilderList() {
       if (featuresBuilder_ != null) {
         return featuresBuilder_.getMessageOrBuilderList();
@@ -746,31 +746,31 @@ private static final long serialVersionUID = 0L;
     /**
      * <code>repeated .BaseFeature features = 2;</code>
      */
-    public com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.Builder addFeaturesBuilder() {
+    public com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.Builder addFeaturesBuilder() {
       return getFeaturesFieldBuilder().addBuilder(
-          com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.getDefaultInstance());
+          com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.getDefaultInstance());
     }
     /**
      * <code>repeated .BaseFeature features = 2;</code>
      */
-    public com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.Builder addFeaturesBuilder(
+    public com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.Builder addFeaturesBuilder(
         int index) {
       return getFeaturesFieldBuilder().addBuilder(
-          index, com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.getDefaultInstance());
+          index, com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.getDefaultInstance());
     }
     /**
      * <code>repeated .BaseFeature features = 2;</code>
      */
-    public java.util.List<com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.Builder> 
+    public java.util.List<com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.Builder> 
          getFeaturesBuilderList() {
       return getFeaturesFieldBuilder().getBuilderList();
     }
     private com.google.protobuf.RepeatedFieldBuilderV3<
-        com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature, com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.Builder, com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeatureOrBuilder> 
+        com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature, com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.Builder, com.tzld.piaoquan.recommend.feature.model.sample.BaseFeatureOrBuilder> 
         getFeaturesFieldBuilder() {
       if (featuresBuilder_ == null) {
         featuresBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
-            com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature, com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature.Builder, com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeatureOrBuilder>(
+            com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature, com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature.Builder, com.tzld.piaoquan.recommend.feature.model.sample.BaseFeatureOrBuilder>(
                 features_,
                 ((bitField0_ & 0x00000001) != 0),
                 getParentForChildren(),
@@ -796,12 +796,12 @@ private static final long serialVersionUID = 0L;
   }
 
   // @@protoc_insertion_point(class_scope:LRWeight)
-  private static final com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight DEFAULT_INSTANCE;
+  private static final com.tzld.piaoquan.recommend.feature.model.sample.LRWeight DEFAULT_INSTANCE;
   static {
-    DEFAULT_INSTANCE = new com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight();
+    DEFAULT_INSTANCE = new com.tzld.piaoquan.recommend.feature.model.sample.LRWeight();
   }
 
-  public static com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight getDefaultInstance() {
+  public static com.tzld.piaoquan.recommend.feature.model.sample.LRWeight getDefaultInstance() {
     return DEFAULT_INSTANCE;
   }
 
@@ -826,7 +826,7 @@ private static final long serialVersionUID = 0L;
   }
 
   @java.lang.Override
-  public com.tzld.piaoquan.recommend.server.gen.recommend.LRWeight getDefaultInstanceForType() {
+  public com.tzld.piaoquan.recommend.feature.model.sample.LRWeight getDefaultInstanceForType() {
     return DEFAULT_INSTANCE;
   }
 

+ 5 - 5
recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/server/gen/recommend/LRWeightOrBuilder.java → recommend-feature-client/src/main/java/com/tzld/piaoquan/recommend/feature/model/sample/LRWeightOrBuilder.java

@@ -1,7 +1,7 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: com/tzld/piaoquan/recommend/feature/ctr_samples.proto
 
-package com.tzld.piaoquan.recommend.server.gen.recommend;
+package com.tzld.piaoquan.recommend.feature.model.sample;
 
 public interface LRWeightOrBuilder extends
     // @@protoc_insertion_point(interface_extends:LRWeight)
@@ -16,12 +16,12 @@ public interface LRWeightOrBuilder extends
   /**
    * <code>repeated .BaseFeature features = 2;</code>
    */
-  java.util.List<com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature> 
+  java.util.List<com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature> 
       getFeaturesList();
   /**
    * <code>repeated .BaseFeature features = 2;</code>
    */
-  com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeature getFeatures(int index);
+  com.tzld.piaoquan.recommend.feature.model.sample.BaseFeature getFeatures(int index);
   /**
    * <code>repeated .BaseFeature features = 2;</code>
    */
@@ -29,11 +29,11 @@ public interface LRWeightOrBuilder extends
   /**
    * <code>repeated .BaseFeature features = 2;</code>
    */
-  java.util.List<? extends com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeatureOrBuilder> 
+  java.util.List<? extends com.tzld.piaoquan.recommend.feature.model.sample.BaseFeatureOrBuilder> 
       getFeaturesOrBuilderList();
   /**
    * <code>repeated .BaseFeature features = 2;</code>
    */
-  com.tzld.piaoquan.recommend.server.gen.recommend.BaseFeatureOrBuilder getFeaturesOrBuilder(
+  com.tzld.piaoquan.recommend.feature.model.sample.BaseFeatureOrBuilder getFeaturesOrBuilder(
       int index);
 }