diff --git a/java-dataplex/google-cloud-dataplex/src/main/resources/META-INF/native-image/com.google.cloud.dataplex.v1/reflect-config.json b/java-dataplex/google-cloud-dataplex/src/main/resources/META-INF/native-image/com.google.cloud.dataplex.v1/reflect-config.json index 7750afd2aa57..10bec5e16c5a 100644 --- a/java-dataplex/google-cloud-dataplex/src/main/resources/META-INF/native-image/com.google.cloud.dataplex.v1/reflect-config.json +++ b/java-dataplex/google-cloud-dataplex/src/main/resources/META-INF/native-image/com.google.cloud.dataplex.v1/reflect-config.json @@ -1430,6 +1430,24 @@ "allDeclaredClasses": true, "allPublicClasses": true }, + { + "name": "com.google.cloud.dataplex.v1.DataQualityColumnResult", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.dataplex.v1.DataQualityColumnResult$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, { "name": "com.google.cloud.dataplex.v1.DataQualityDimension", "queryAllDeclaredConstructors": true, diff --git a/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityColumnResult.java b/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityColumnResult.java new file mode 100644 index 000000000000..e98ae847ae80 --- /dev/null +++ b/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityColumnResult.java @@ -0,0 +1,783 @@ +/* + * Copyright 2023 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/cloud/dataplex/v1/data_quality.proto + +package com.google.cloud.dataplex.v1; + +/** + * + * + *
+ * DataQualityColumnResult provides a more detailed, per-column view of + * the results. + *+ * + * Protobuf type {@code google.cloud.dataplex.v1.DataQualityColumnResult} + */ +public final class DataQualityColumnResult extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.dataplex.v1.DataQualityColumnResult) + DataQualityColumnResultOrBuilder { + private static final long serialVersionUID = 0L; + // Use DataQualityColumnResult.newBuilder() to construct. + private DataQualityColumnResult(com.google.protobuf.GeneratedMessageV3.Builder> builder) { + super(builder); + } + + private DataQualityColumnResult() { + column_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new DataQualityColumnResult(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.dataplex.v1.DataQualityProto + .internal_static_google_cloud_dataplex_v1_DataQualityColumnResult_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.dataplex.v1.DataQualityProto + .internal_static_google_cloud_dataplex_v1_DataQualityColumnResult_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.dataplex.v1.DataQualityColumnResult.class, + com.google.cloud.dataplex.v1.DataQualityColumnResult.Builder.class); + } + + private int bitField0_; + public static final int COLUMN_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object column_ = ""; + /** + * + * + *
+ * Output only. The column specified in the DataQualityRule. + *+ * + *
string column = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return The column.
+ */
+ @java.lang.Override
+ public java.lang.String getColumn() {
+ java.lang.Object ref = column_;
+ 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();
+ column_ = s;
+ return s;
+ }
+ }
+ /**
+ *
+ *
+ * + * Output only. The column specified in the DataQualityRule. + *+ * + *
string column = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return The bytes for column.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getColumnBytes() {
+ java.lang.Object ref = column_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ column_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int SCORE_FIELD_NUMBER = 2;
+ private float score_ = 0F;
+ /**
+ *
+ *
+ * + * Output only. The column-level data quality score for this data scan job if + * and only if the 'column' field is set. + * + * The score ranges between between [0, 100] (up to two decimal + * points). + *+ * + *
optional float score = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return Whether the score field is set.
+ */
+ @java.lang.Override
+ public boolean hasScore() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ *
+ *
+ * + * Output only. The column-level data quality score for this data scan job if + * and only if the 'column' field is set. + * + * The score ranges between between [0, 100] (up to two decimal + * points). + *+ * + *
optional float score = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return The score.
+ */
+ @java.lang.Override
+ public float getScore() {
+ return score_;
+ }
+
+ 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 (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(column_)) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, column_);
+ }
+ if (((bitField0_ & 0x00000001) != 0)) {
+ output.writeFloat(2, score_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(column_)) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, column_);
+ }
+ if (((bitField0_ & 0x00000001) != 0)) {
+ size += com.google.protobuf.CodedOutputStream.computeFloatSize(2, score_);
+ }
+ size += getUnknownFields().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.google.cloud.dataplex.v1.DataQualityColumnResult)) {
+ return super.equals(obj);
+ }
+ com.google.cloud.dataplex.v1.DataQualityColumnResult other =
+ (com.google.cloud.dataplex.v1.DataQualityColumnResult) obj;
+
+ if (!getColumn().equals(other.getColumn())) return false;
+ if (hasScore() != other.hasScore()) return false;
+ if (hasScore()) {
+ if (java.lang.Float.floatToIntBits(getScore())
+ != java.lang.Float.floatToIntBits(other.getScore())) return false;
+ }
+ if (!getUnknownFields().equals(other.getUnknownFields())) 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) + COLUMN_FIELD_NUMBER;
+ hash = (53 * hash) + getColumn().hashCode();
+ if (hasScore()) {
+ hash = (37 * hash) + SCORE_FIELD_NUMBER;
+ hash = (53 * hash) + java.lang.Float.floatToIntBits(getScore());
+ }
+ hash = (29 * hash) + getUnknownFields().hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.cloud.dataplex.v1.DataQualityColumnResult parseFrom(
+ java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.dataplex.v1.DataQualityColumnResult parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.dataplex.v1.DataQualityColumnResult parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.dataplex.v1.DataQualityColumnResult parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.dataplex.v1.DataQualityColumnResult parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.dataplex.v1.DataQualityColumnResult parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.dataplex.v1.DataQualityColumnResult parseFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.dataplex.v1.DataQualityColumnResult 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.google.cloud.dataplex.v1.DataQualityColumnResult parseDelimitedFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.dataplex.v1.DataQualityColumnResult 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.google.cloud.dataplex.v1.DataQualityColumnResult parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.dataplex.v1.DataQualityColumnResult 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.google.cloud.dataplex.v1.DataQualityColumnResult 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;
+ }
+ /**
+ *
+ *
+ * + * DataQualityColumnResult provides a more detailed, per-column view of + * the results. + *+ * + * Protobuf type {@code google.cloud.dataplex.v1.DataQualityColumnResult} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
+ * Output only. The column specified in the DataQualityRule. + *+ * + *
string column = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return The column.
+ */
+ public java.lang.String getColumn() {
+ java.lang.Object ref = column_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ column_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ *
+ *
+ * + * Output only. The column specified in the DataQualityRule. + *+ * + *
string column = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return The bytes for column.
+ */
+ public com.google.protobuf.ByteString getColumnBytes() {
+ java.lang.Object ref = column_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ column_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ *
+ *
+ * + * Output only. The column specified in the DataQualityRule. + *+ * + *
string column = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @param value The column to set.
+ * @return This builder for chaining.
+ */
+ public Builder setColumn(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ column_ = value;
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Output only. The column specified in the DataQualityRule. + *+ * + *
string column = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearColumn() {
+ column_ = getDefaultInstance().getColumn();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Output only. The column specified in the DataQualityRule. + *+ * + *
string column = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @param value The bytes for column to set.
+ * @return This builder for chaining.
+ */
+ public Builder setColumnBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ column_ = value;
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+
+ private float score_;
+ /**
+ *
+ *
+ * + * Output only. The column-level data quality score for this data scan job if + * and only if the 'column' field is set. + * + * The score ranges between between [0, 100] (up to two decimal + * points). + *+ * + *
optional float score = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return Whether the score field is set.
+ */
+ @java.lang.Override
+ public boolean hasScore() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ *
+ *
+ * + * Output only. The column-level data quality score for this data scan job if + * and only if the 'column' field is set. + * + * The score ranges between between [0, 100] (up to two decimal + * points). + *+ * + *
optional float score = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return The score.
+ */
+ @java.lang.Override
+ public float getScore() {
+ return score_;
+ }
+ /**
+ *
+ *
+ * + * Output only. The column-level data quality score for this data scan job if + * and only if the 'column' field is set. + * + * The score ranges between between [0, 100] (up to two decimal + * points). + *+ * + *
optional float score = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @param value The score to set.
+ * @return This builder for chaining.
+ */
+ public Builder setScore(float value) {
+
+ score_ = value;
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Output only. The column-level data quality score for this data scan job if + * and only if the 'column' field is set. + * + * The score ranges between between [0, 100] (up to two decimal + * points). + *+ * + *
optional float score = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearScore() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ score_ = 0F;
+ 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:google.cloud.dataplex.v1.DataQualityColumnResult)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.cloud.dataplex.v1.DataQualityColumnResult)
+ private static final com.google.cloud.dataplex.v1.DataQualityColumnResult DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.cloud.dataplex.v1.DataQualityColumnResult();
+ }
+
+ public static com.google.cloud.dataplex.v1.DataQualityColumnResult getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser+ * Output only. The column specified in the DataQualityRule. + *+ * + *
string column = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return The column.
+ */
+ java.lang.String getColumn();
+ /**
+ *
+ *
+ * + * Output only. The column specified in the DataQualityRule. + *+ * + *
string column = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return The bytes for column.
+ */
+ com.google.protobuf.ByteString getColumnBytes();
+
+ /**
+ *
+ *
+ * + * Output only. The column-level data quality score for this data scan job if + * and only if the 'column' field is set. + * + * The score ranges between between [0, 100] (up to two decimal + * points). + *+ * + *
optional float score = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return Whether the score field is set.
+ */
+ boolean hasScore();
+ /**
+ *
+ *
+ * + * Output only. The column-level data quality score for this data scan job if + * and only if the 'column' field is set. + * + * The score ranges between between [0, 100] (up to two decimal + * points). + *+ * + *
optional float score = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return The score.
+ */
+ float getScore();
+}
diff --git a/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityDimensionResult.java b/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityDimensionResult.java
index eace2e080182..cb2d08c53b1d 100644
--- a/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityDimensionResult.java
+++ b/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityDimensionResult.java
@@ -61,6 +61,7 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
com.google.cloud.dataplex.v1.DataQualityDimensionResult.Builder.class);
}
+ private int bitField0_;
public static final int DIMENSION_FIELD_NUMBER = 1;
private com.google.cloud.dataplex.v1.DataQualityDimension dimension_;
/**
@@ -135,6 +136,47 @@ public boolean getPassed() {
return passed_;
}
+ public static final int SCORE_FIELD_NUMBER = 4;
+ private float score_ = 0F;
+ /**
+ *
+ *
+ * + * Output only. The dimension-level data quality score for this data scan job + * if and only if the 'dimension' field is set. + * + * The score ranges between [0, 100] (up to two decimal + * points). + *+ * + *
optional float score = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return Whether the score field is set.
+ */
+ @java.lang.Override
+ public boolean hasScore() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ *
+ *
+ * + * Output only. The dimension-level data quality score for this data scan job + * if and only if the 'dimension' field is set. + * + * The score ranges between [0, 100] (up to two decimal + * points). + *+ * + *
optional float score = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return The score.
+ */
+ @java.lang.Override
+ public float getScore() {
+ return score_;
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -155,6 +197,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (passed_ != false) {
output.writeBool(3, passed_);
}
+ if (((bitField0_ & 0x00000001) != 0)) {
+ output.writeFloat(4, score_);
+ }
getUnknownFields().writeTo(output);
}
@@ -170,6 +215,9 @@ public int getSerializedSize() {
if (passed_ != false) {
size += com.google.protobuf.CodedOutputStream.computeBoolSize(3, passed_);
}
+ if (((bitField0_ & 0x00000001) != 0)) {
+ size += com.google.protobuf.CodedOutputStream.computeFloatSize(4, score_);
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -191,6 +239,11 @@ public boolean equals(final java.lang.Object obj) {
if (!getDimension().equals(other.getDimension())) return false;
}
if (getPassed() != other.getPassed()) return false;
+ if (hasScore() != other.hasScore()) return false;
+ if (hasScore()) {
+ if (java.lang.Float.floatToIntBits(getScore())
+ != java.lang.Float.floatToIntBits(other.getScore())) return false;
+ }
if (!getUnknownFields().equals(other.getUnknownFields())) return false;
return true;
}
@@ -208,6 +261,10 @@ public int hashCode() {
}
hash = (37 * hash) + PASSED_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getPassed());
+ if (hasScore()) {
+ hash = (37 * hash) + SCORE_FIELD_NUMBER;
+ hash = (53 * hash) + java.lang.Float.floatToIntBits(getScore());
+ }
hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash;
return hash;
@@ -355,6 +412,7 @@ public Builder clear() {
dimensionBuilder_ = null;
}
passed_ = false;
+ score_ = 0F;
return this;
}
@@ -397,6 +455,12 @@ private void buildPartial0(com.google.cloud.dataplex.v1.DataQualityDimensionResu
if (((from_bitField0_ & 0x00000002) != 0)) {
result.passed_ = passed_;
}
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000004) != 0)) {
+ result.score_ = score_;
+ to_bitField0_ |= 0x00000001;
+ }
+ result.bitField0_ |= to_bitField0_;
}
@java.lang.Override
@@ -451,6 +515,9 @@ public Builder mergeFrom(com.google.cloud.dataplex.v1.DataQualityDimensionResult
if (other.getPassed() != false) {
setPassed(other.getPassed());
}
+ if (other.hasScore()) {
+ setScore(other.getScore());
+ }
this.mergeUnknownFields(other.getUnknownFields());
onChanged();
return this;
@@ -489,6 +556,12 @@ public Builder mergeFrom(
bitField0_ |= 0x00000002;
break;
} // case 24
+ case 37:
+ {
+ score_ = input.readFloat();
+ bitField0_ |= 0x00000004;
+ break;
+ } // case 37
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -764,6 +837,90 @@ public Builder clearPassed() {
return this;
}
+ private float score_;
+ /**
+ *
+ *
+ * + * Output only. The dimension-level data quality score for this data scan job + * if and only if the 'dimension' field is set. + * + * The score ranges between [0, 100] (up to two decimal + * points). + *+ * + *
optional float score = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return Whether the score field is set.
+ */
+ @java.lang.Override
+ public boolean hasScore() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ *
+ *
+ * + * Output only. The dimension-level data quality score for this data scan job + * if and only if the 'dimension' field is set. + * + * The score ranges between [0, 100] (up to two decimal + * points). + *+ * + *
optional float score = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return The score.
+ */
+ @java.lang.Override
+ public float getScore() {
+ return score_;
+ }
+ /**
+ *
+ *
+ * + * Output only. The dimension-level data quality score for this data scan job + * if and only if the 'dimension' field is set. + * + * The score ranges between [0, 100] (up to two decimal + * points). + *+ * + *
optional float score = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @param value The score to set.
+ * @return This builder for chaining.
+ */
+ public Builder setScore(float value) {
+
+ score_ = value;
+ bitField0_ |= 0x00000004;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Output only. The dimension-level data quality score for this data scan job + * if and only if the 'dimension' field is set. + * + * The score ranges between [0, 100] (up to two decimal + * points). + *+ * + *
optional float score = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearScore() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ score_ = 0F;
+ onChanged();
+ return this;
+ }
+
@java.lang.Override
public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
diff --git a/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityDimensionResultOrBuilder.java b/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityDimensionResultOrBuilder.java
index 358e1792b670..31b6f53c03e0 100644
--- a/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityDimensionResultOrBuilder.java
+++ b/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityDimensionResultOrBuilder.java
@@ -76,4 +76,37 @@ public interface DataQualityDimensionResultOrBuilder
* @return The passed.
*/
boolean getPassed();
+
+ /**
+ *
+ *
+ * + * Output only. The dimension-level data quality score for this data scan job + * if and only if the 'dimension' field is set. + * + * The score ranges between [0, 100] (up to two decimal + * points). + *+ * + *
optional float score = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return Whether the score field is set.
+ */
+ boolean hasScore();
+ /**
+ *
+ *
+ * + * Output only. The dimension-level data quality score for this data scan job + * if and only if the 'dimension' field is set. + * + * The score ranges between [0, 100] (up to two decimal + * points). + *+ * + *
optional float score = 4 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return The score.
+ */
+ float getScore();
}
diff --git a/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityProto.java b/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityProto.java
index 00219dea582a..8db569a93d54 100644
--- a/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityProto.java
+++ b/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityProto.java
@@ -99,6 +99,10 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r
internal_static_google_cloud_dataplex_v1_DataQualityRule_TableConditionExpectation_descriptor;
static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internal_static_google_cloud_dataplex_v1_DataQualityRule_TableConditionExpectation_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_google_cloud_dataplex_v1_DataQualityColumnResult_descriptor;
+ static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_google_cloud_dataplex_v1_DataQualityColumnResult_fieldAccessorTable;
public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
return descriptor;
@@ -122,82 +126,88 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "_export\030\001 \001(\0132H.google.cloud.dataplex.v1"
+ ".DataQualitySpec.PostScanActions.BigQuer"
+ "yExportB\004\342A\001\001\032-\n\016BigQueryExport\022\033\n\rresul"
- + "ts_table\030\001 \001(\tB\004\342A\001\001\"\353\005\n\021DataQualityResu"
- + "lt\022\016\n\006passed\030\005 \001(\010\022H\n\ndimensions\030\002 \003(\01324"
- + ".google.cloud.dataplex.v1.DataQualityDim"
- + "ensionResult\022>\n\005rules\030\003 \003(\0132/.google.clo"
- + "ud.dataplex.v1.DataQualityRuleResult\022\021\n\t"
- + "row_count\030\004 \001(\003\022;\n\014scanned_data\030\007 \001(\0132%."
- + "google.cloud.dataplex.v1.ScannedData\022i\n\030"
- + "post_scan_actions_result\030\010 \001(\0132A.google."
- + "cloud.dataplex.v1.DataQualityResult.Post"
- + "ScanActionsResultB\004\342A\001\003\032\200\003\n\025PostScanActi"
- + "onsResult\022|\n\026bigquery_export_result\030\001 \001("
- + "\0132V.google.cloud.dataplex.v1.DataQuality"
- + "Result.PostScanActionsResult.BigQueryExp"
- + "ortResultB\004\342A\001\003\032\350\001\n\024BigQueryExportResult"
- + "\022q\n\005state\030\001 \001(\0162\\.google.cloud.dataplex."
- + "v1.DataQualityResult.PostScanActionsResu"
- + "lt.BigQueryExportResult.StateB\004\342A\001\003\022\025\n\007m"
- + "essage\030\002 \001(\tB\004\342A\001\003\"F\n\005State\022\025\n\021STATE_UNS"
- + "PECIFIED\020\000\022\r\n\tSUCCEEDED\020\001\022\n\n\006FAILED\020\002\022\013\n"
- + "\007SKIPPED\020\003\"\323\001\n\025DataQualityRuleResult\0227\n\004"
- + "rule\030\001 \001(\0132).google.cloud.dataplex.v1.Da"
- + "taQualityRule\022\016\n\006passed\030\007 \001(\010\022\027\n\017evaluat"
- + "ed_count\030\t \001(\003\022\024\n\014passed_count\030\010 \001(\003\022\022\n\n"
- + "null_count\030\005 \001(\003\022\022\n\npass_ratio\030\006 \001(\001\022\032\n\022"
- + "failing_rows_query\030\n \001(\t\"u\n\032DataQualityD"
- + "imensionResult\022G\n\tdimension\030\001 \001(\0132..goog"
- + "le.cloud.dataplex.v1.DataQualityDimensio"
- + "nB\004\342A\001\003\022\016\n\006passed\030\003 \001(\010\"$\n\024DataQualityDi"
- + "mension\022\014\n\004name\030\001 \001(\t\"\211\r\n\017DataQualityRul"
- + "e\022W\n\021range_expectation\030\001 \001(\0132:.google.cl"
- + "oud.dataplex.v1.DataQualityRule.RangeExp"
- + "ectationH\000\022\\\n\024non_null_expectation\030\002 \001(\013"
- + "2<.google.cloud.dataplex.v1.DataQualityR"
- + "ule.NonNullExpectationH\000\022S\n\017set_expectat"
- + "ion\030\003 \001(\01328.google.cloud.dataplex.v1.Dat"
- + "aQualityRule.SetExpectationH\000\022W\n\021regex_e"
- + "xpectation\030\004 \001(\0132:.google.cloud.dataplex"
- + ".v1.DataQualityRule.RegexExpectationH\000\022a"
- + "\n\026uniqueness_expectation\030d \001(\0132?.google."
- + "cloud.dataplex.v1.DataQualityRule.Unique"
- + "nessExpectationH\000\022j\n\033statistic_range_exp"
- + "ectation\030e \001(\0132C.google.cloud.dataplex.v"
- + "1.DataQualityRule.StatisticRangeExpectat"
- + "ionH\000\022g\n\031row_condition_expectation\030\310\001 \001("
- + "\0132A.google.cloud.dataplex.v1.DataQuality"
- + "Rule.RowConditionExpectationH\000\022k\n\033table_"
- + "condition_expectation\030\311\001 \001(\0132C.google.cl"
- + "oud.dataplex.v1.DataQualityRule.TableCon"
- + "ditionExpectationH\000\022\025\n\006column\030\364\003 \001(\tB\004\342A"
- + "\001\001\022\032\n\013ignore_null\030\365\003 \001(\010B\004\342A\001\001\022\030\n\tdimens"
- + "ion\030\366\003 \001(\tB\004\342A\001\002\022\030\n\tthreshold\030\367\003 \001(\001B\004\342A"
- + "\001\001\022\023\n\004name\030\370\003 \001(\tB\004\342A\001\001\022\032\n\013description\030\371"
- + "\003 \001(\tB\004\342A\001\001\032\210\001\n\020RangeExpectation\022\027\n\tmin_"
- + "value\030\001 \001(\tB\004\342A\001\001\022\027\n\tmax_value\030\002 \001(\tB\004\342A"
- + "\001\001\022 \n\022strict_min_enabled\030\003 \001(\010B\004\342A\001\001\022 \n\022"
- + "strict_max_enabled\030\004 \001(\010B\004\342A\001\001\032\024\n\022NonNul"
- + "lExpectation\032&\n\016SetExpectation\022\024\n\006values"
- + "\030\001 \003(\tB\004\342A\001\001\032\'\n\020RegexExpectation\022\023\n\005rege"
- + "x\030\001 \001(\tB\004\342A\001\001\032\027\n\025UniquenessExpectation\032\307"
- + "\002\n\031StatisticRangeExpectation\022l\n\tstatisti"
- + "c\030\001 \001(\0162S.google.cloud.dataplex.v1.DataQ"
- + "ualityRule.StatisticRangeExpectation.Col"
- + "umnStatisticB\004\342A\001\001\022\027\n\tmin_value\030\002 \001(\tB\004\342"
- + "A\001\001\022\027\n\tmax_value\030\003 \001(\tB\004\342A\001\001\022 \n\022strict_m"
- + "in_enabled\030\004 \001(\010B\004\342A\001\001\022 \n\022strict_max_ena"
- + "bled\030\005 \001(\010B\004\342A\001\001\"F\n\017ColumnStatistic\022\027\n\023S"
- + "TATISTIC_UNDEFINED\020\000\022\010\n\004MEAN\020\001\022\007\n\003MIN\020\002\022"
- + "\007\n\003MAX\020\003\0327\n\027RowConditionExpectation\022\034\n\016s"
- + "ql_expression\030\001 \001(\tB\004\342A\001\001\0329\n\031TableCondit"
- + "ionExpectation\022\034\n\016sql_expression\030\001 \001(\tB\004"
- + "\342A\001\001B\013\n\trule_typeB\304\001\n\034com.google.cloud.d"
- + "ataplex.v1B\020DataQualityProtoP\001Z8cloud.go"
- + "ogle.com/go/dataplex/apiv1/dataplexpb;da"
- + "taplexpb\352AU\n\035bigquery.googleapis.com/Tab"
- + "le\0224projects/{project}/datasets/{dataset"
- + "}/tables/{table}b\006proto3"
+ + "ts_table\030\001 \001(\tB\004\342A\001\001\"\331\006\n\021DataQualityResu"
+ + "lt\022\016\n\006passed\030\005 \001(\010\022\030\n\005score\030\t \001(\002B\004\342A\001\003H"
+ + "\000\210\001\001\022H\n\ndimensions\030\002 \003(\01324.google.cloud."
+ + "dataplex.v1.DataQualityDimensionResult\022H"
+ + "\n\007columns\030\n \003(\01321.google.cloud.dataplex."
+ + "v1.DataQualityColumnResultB\004\342A\001\003\022>\n\005rule"
+ + "s\030\003 \003(\0132/.google.cloud.dataplex.v1.DataQ"
+ + "ualityRuleResult\022\021\n\trow_count\030\004 \001(\003\022;\n\014s"
+ + "canned_data\030\007 \001(\0132%.google.cloud.dataple"
+ + "x.v1.ScannedData\022i\n\030post_scan_actions_re"
+ + "sult\030\010 \001(\0132A.google.cloud.dataplex.v1.Da"
+ + "taQualityResult.PostScanActionsResultB\004\342"
+ + "A\001\003\032\200\003\n\025PostScanActionsResult\022|\n\026bigquer"
+ + "y_export_result\030\001 \001(\0132V.google.cloud.dat"
+ + "aplex.v1.DataQualityResult.PostScanActio"
+ + "nsResult.BigQueryExportResultB\004\342A\001\003\032\350\001\n\024"
+ + "BigQueryExportResult\022q\n\005state\030\001 \001(\0162\\.go"
+ + "ogle.cloud.dataplex.v1.DataQualityResult"
+ + ".PostScanActionsResult.BigQueryExportRes"
+ + "ult.StateB\004\342A\001\003\022\025\n\007message\030\002 \001(\tB\004\342A\001\003\"F"
+ + "\n\005State\022\025\n\021STATE_UNSPECIFIED\020\000\022\r\n\tSUCCEE"
+ + "DED\020\001\022\n\n\006FAILED\020\002\022\013\n\007SKIPPED\020\003B\010\n\006_score"
+ + "\"\323\001\n\025DataQualityRuleResult\0227\n\004rule\030\001 \001(\013"
+ + "2).google.cloud.dataplex.v1.DataQualityR"
+ + "ule\022\016\n\006passed\030\007 \001(\010\022\027\n\017evaluated_count\030\t"
+ + " \001(\003\022\024\n\014passed_count\030\010 \001(\003\022\022\n\nnull_count"
+ + "\030\005 \001(\003\022\022\n\npass_ratio\030\006 \001(\001\022\032\n\022failing_ro"
+ + "ws_query\030\n \001(\t\"\231\001\n\032DataQualityDimensionR"
+ + "esult\022G\n\tdimension\030\001 \001(\0132..google.cloud."
+ + "dataplex.v1.DataQualityDimensionB\004\342A\001\003\022\016"
+ + "\n\006passed\030\003 \001(\010\022\030\n\005score\030\004 \001(\002B\004\342A\001\003H\000\210\001\001"
+ + "B\010\n\006_score\"$\n\024DataQualityDimension\022\014\n\004na"
+ + "me\030\001 \001(\t\"\211\r\n\017DataQualityRule\022W\n\021range_ex"
+ + "pectation\030\001 \001(\0132:.google.cloud.dataplex."
+ + "v1.DataQualityRule.RangeExpectationH\000\022\\\n"
+ + "\024non_null_expectation\030\002 \001(\0132<.google.clo"
+ + "ud.dataplex.v1.DataQualityRule.NonNullEx"
+ + "pectationH\000\022S\n\017set_expectation\030\003 \001(\01328.g"
+ + "oogle.cloud.dataplex.v1.DataQualityRule."
+ + "SetExpectationH\000\022W\n\021regex_expectation\030\004 "
+ + "\001(\0132:.google.cloud.dataplex.v1.DataQuali"
+ + "tyRule.RegexExpectationH\000\022a\n\026uniqueness_"
+ + "expectation\030d \001(\0132?.google.cloud.dataple"
+ + "x.v1.DataQualityRule.UniquenessExpectati"
+ + "onH\000\022j\n\033statistic_range_expectation\030e \001("
+ + "\0132C.google.cloud.dataplex.v1.DataQuality"
+ + "Rule.StatisticRangeExpectationH\000\022g\n\031row_"
+ + "condition_expectation\030\310\001 \001(\0132A.google.cl"
+ + "oud.dataplex.v1.DataQualityRule.RowCondi"
+ + "tionExpectationH\000\022k\n\033table_condition_exp"
+ + "ectation\030\311\001 \001(\0132C.google.cloud.dataplex."
+ + "v1.DataQualityRule.TableConditionExpecta"
+ + "tionH\000\022\025\n\006column\030\364\003 \001(\tB\004\342A\001\001\022\032\n\013ignore_"
+ + "null\030\365\003 \001(\010B\004\342A\001\001\022\030\n\tdimension\030\366\003 \001(\tB\004\342"
+ + "A\001\002\022\030\n\tthreshold\030\367\003 \001(\001B\004\342A\001\001\022\023\n\004name\030\370\003"
+ + " \001(\tB\004\342A\001\001\022\032\n\013description\030\371\003 \001(\tB\004\342A\001\001\032\210"
+ + "\001\n\020RangeExpectation\022\027\n\tmin_value\030\001 \001(\tB\004"
+ + "\342A\001\001\022\027\n\tmax_value\030\002 \001(\tB\004\342A\001\001\022 \n\022strict_"
+ + "min_enabled\030\003 \001(\010B\004\342A\001\001\022 \n\022strict_max_en"
+ + "abled\030\004 \001(\010B\004\342A\001\001\032\024\n\022NonNullExpectation\032"
+ + "&\n\016SetExpectation\022\024\n\006values\030\001 \003(\tB\004\342A\001\001\032"
+ + "\'\n\020RegexExpectation\022\023\n\005regex\030\001 \001(\tB\004\342A\001\001"
+ + "\032\027\n\025UniquenessExpectation\032\307\002\n\031StatisticR"
+ + "angeExpectation\022l\n\tstatistic\030\001 \001(\0162S.goo"
+ + "gle.cloud.dataplex.v1.DataQualityRule.St"
+ + "atisticRangeExpectation.ColumnStatisticB"
+ + "\004\342A\001\001\022\027\n\tmin_value\030\002 \001(\tB\004\342A\001\001\022\027\n\tmax_va"
+ + "lue\030\003 \001(\tB\004\342A\001\001\022 \n\022strict_min_enabled\030\004 "
+ + "\001(\010B\004\342A\001\001\022 \n\022strict_max_enabled\030\005 \001(\010B\004\342"
+ + "A\001\001\"F\n\017ColumnStatistic\022\027\n\023STATISTIC_UNDE"
+ + "FINED\020\000\022\010\n\004MEAN\020\001\022\007\n\003MIN\020\002\022\007\n\003MAX\020\003\0327\n\027R"
+ + "owConditionExpectation\022\034\n\016sql_expression"
+ + "\030\001 \001(\tB\004\342A\001\001\0329\n\031TableConditionExpectatio"
+ + "n\022\034\n\016sql_expression\030\001 \001(\tB\004\342A\001\001B\013\n\trule_"
+ + "type\"S\n\027DataQualityColumnResult\022\024\n\006colum"
+ + "n\030\001 \001(\tB\004\342A\001\003\022\030\n\005score\030\002 \001(\002B\004\342A\001\003H\000\210\001\001B"
+ + "\010\n\006_scoreB\304\001\n\034com.google.cloud.dataplex."
+ + "v1B\020DataQualityProtoP\001Z8cloud.google.com"
+ + "/go/dataplex/apiv1/dataplexpb;dataplexpb"
+ + "\352AU\n\035bigquery.googleapis.com/Table\0224proj"
+ + "ects/{project}/datasets/{dataset}/tables"
+ + "/{table}b\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
@@ -239,7 +249,15 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_cloud_dataplex_v1_DataQualityResult_descriptor,
new java.lang.String[] {
- "Passed", "Dimensions", "Rules", "RowCount", "ScannedData", "PostScanActionsResult",
+ "Passed",
+ "Score",
+ "Dimensions",
+ "Columns",
+ "Rules",
+ "RowCount",
+ "ScannedData",
+ "PostScanActionsResult",
+ "Score",
});
internal_static_google_cloud_dataplex_v1_DataQualityResult_PostScanActionsResult_descriptor =
internal_static_google_cloud_dataplex_v1_DataQualityResult_descriptor
@@ -281,7 +299,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_cloud_dataplex_v1_DataQualityDimensionResult_descriptor,
new java.lang.String[] {
- "Dimension", "Passed",
+ "Dimension", "Passed", "Score", "Score",
});
internal_static_google_cloud_dataplex_v1_DataQualityDimension_descriptor =
getDescriptor().getMessageTypes().get(4);
@@ -373,6 +391,14 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new java.lang.String[] {
"SqlExpression",
});
+ internal_static_google_cloud_dataplex_v1_DataQualityColumnResult_descriptor =
+ getDescriptor().getMessageTypes().get(6);
+ internal_static_google_cloud_dataplex_v1_DataQualityColumnResult_fieldAccessorTable =
+ new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_google_cloud_dataplex_v1_DataQualityColumnResult_descriptor,
+ new java.lang.String[] {
+ "Column", "Score", "Score",
+ });
com.google.protobuf.ExtensionRegistry registry =
com.google.protobuf.ExtensionRegistry.newInstance();
registry.add(com.google.api.FieldBehaviorProto.fieldBehavior);
diff --git a/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityResult.java b/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityResult.java
index 279f78986cf5..05d8c293a302 100644
--- a/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityResult.java
+++ b/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityResult.java
@@ -39,6 +39,7 @@ private DataQualityResult(com.google.protobuf.GeneratedMessageV3.Builder> buil
private DataQualityResult() {
dimensions_ = java.util.Collections.emptyList();
+ columns_ = java.util.Collections.emptyList();
rules_ = java.util.Collections.emptyList();
}
@@ -1993,6 +1994,7 @@ public com.google.protobuf.Parser+ * Output only. The overall data quality score. + * + * The score ranges between [0, 100] (up to two decimal points). + *+ * + *
optional float score = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return Whether the score field is set.
+ */
+ @java.lang.Override
+ public boolean hasScore() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ *
+ *
+ * + * Output only. The overall data quality score. + * + * The score ranges between [0, 100] (up to two decimal points). + *+ * + *
optional float score = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return The score.
+ */
+ @java.lang.Override
+ public float getScore() {
+ return score_;
+ }
+
public static final int DIMENSIONS_FIELD_NUMBER = 2;
@SuppressWarnings("serial")
@@ -2099,6 +2138,103 @@ public com.google.cloud.dataplex.v1.DataQualityDimensionResultOrBuilder getDimen
return dimensions_.get(index);
}
+ public static final int COLUMNS_FIELD_NUMBER = 10;
+
+ @SuppressWarnings("serial")
+ private java.util.List+ * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ @java.lang.Override
+ public java.util.List+ * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ @java.lang.Override
+ public java.util.List extends com.google.cloud.dataplex.v1.DataQualityColumnResultOrBuilder>
+ getColumnsOrBuilderList() {
+ return columns_;
+ }
+ /**
+ *
+ *
+ * + * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ @java.lang.Override
+ public int getColumnsCount() {
+ return columns_.size();
+ }
+ /**
+ *
+ *
+ * + * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ @java.lang.Override
+ public com.google.cloud.dataplex.v1.DataQualityColumnResult getColumns(int index) {
+ return columns_.get(index);
+ }
+ /**
+ *
+ *
+ * + * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ @java.lang.Override
+ public com.google.cloud.dataplex.v1.DataQualityColumnResultOrBuilder getColumnsOrBuilder(
+ int index) {
+ return columns_.get(index);
+ }
+
public static final int RULES_FIELD_NUMBER = 3;
@SuppressWarnings("serial")
@@ -2329,6 +2465,12 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (postScanActionsResult_ != null) {
output.writeMessage(8, getPostScanActionsResult());
}
+ if (((bitField0_ & 0x00000001) != 0)) {
+ output.writeFloat(9, score_);
+ }
+ for (int i = 0; i < columns_.size(); i++) {
+ output.writeMessage(10, columns_.get(i));
+ }
getUnknownFields().writeTo(output);
}
@@ -2357,6 +2499,12 @@ public int getSerializedSize() {
size +=
com.google.protobuf.CodedOutputStream.computeMessageSize(8, getPostScanActionsResult());
}
+ if (((bitField0_ & 0x00000001) != 0)) {
+ size += com.google.protobuf.CodedOutputStream.computeFloatSize(9, score_);
+ }
+ for (int i = 0; i < columns_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(10, columns_.get(i));
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -2374,7 +2522,13 @@ public boolean equals(final java.lang.Object obj) {
(com.google.cloud.dataplex.v1.DataQualityResult) obj;
if (getPassed() != other.getPassed()) return false;
+ if (hasScore() != other.hasScore()) return false;
+ if (hasScore()) {
+ if (java.lang.Float.floatToIntBits(getScore())
+ != java.lang.Float.floatToIntBits(other.getScore())) return false;
+ }
if (!getDimensionsList().equals(other.getDimensionsList())) return false;
+ if (!getColumnsList().equals(other.getColumnsList())) return false;
if (!getRulesList().equals(other.getRulesList())) return false;
if (getRowCount() != other.getRowCount()) return false;
if (hasScannedData() != other.hasScannedData()) return false;
@@ -2398,10 +2552,18 @@ public int hashCode() {
hash = (19 * hash) + getDescriptor().hashCode();
hash = (37 * hash) + PASSED_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getPassed());
+ if (hasScore()) {
+ hash = (37 * hash) + SCORE_FIELD_NUMBER;
+ hash = (53 * hash) + java.lang.Float.floatToIntBits(getScore());
+ }
if (getDimensionsCount() > 0) {
hash = (37 * hash) + DIMENSIONS_FIELD_NUMBER;
hash = (53 * hash) + getDimensionsList().hashCode();
}
+ if (getColumnsCount() > 0) {
+ hash = (37 * hash) + COLUMNS_FIELD_NUMBER;
+ hash = (53 * hash) + getColumnsList().hashCode();
+ }
if (getRulesCount() > 0) {
hash = (37 * hash) + RULES_FIELD_NUMBER;
hash = (53 * hash) + getRulesList().hashCode();
@@ -2556,20 +2718,28 @@ public Builder clear() {
super.clear();
bitField0_ = 0;
passed_ = false;
+ score_ = 0F;
if (dimensionsBuilder_ == null) {
dimensions_ = java.util.Collections.emptyList();
} else {
dimensions_ = null;
dimensionsBuilder_.clear();
}
- bitField0_ = (bitField0_ & ~0x00000002);
+ bitField0_ = (bitField0_ & ~0x00000004);
+ if (columnsBuilder_ == null) {
+ columns_ = java.util.Collections.emptyList();
+ } else {
+ columns_ = null;
+ columnsBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000008);
if (rulesBuilder_ == null) {
rules_ = java.util.Collections.emptyList();
} else {
rules_ = null;
rulesBuilder_.clear();
}
- bitField0_ = (bitField0_ & ~0x00000004);
+ bitField0_ = (bitField0_ & ~0x00000010);
rowCount_ = 0L;
scannedData_ = null;
if (scannedDataBuilder_ != null) {
@@ -2618,18 +2788,27 @@ public com.google.cloud.dataplex.v1.DataQualityResult buildPartial() {
private void buildPartialRepeatedFields(com.google.cloud.dataplex.v1.DataQualityResult result) {
if (dimensionsBuilder_ == null) {
- if (((bitField0_ & 0x00000002) != 0)) {
+ if (((bitField0_ & 0x00000004) != 0)) {
dimensions_ = java.util.Collections.unmodifiableList(dimensions_);
- bitField0_ = (bitField0_ & ~0x00000002);
+ bitField0_ = (bitField0_ & ~0x00000004);
}
result.dimensions_ = dimensions_;
} else {
result.dimensions_ = dimensionsBuilder_.build();
}
+ if (columnsBuilder_ == null) {
+ if (((bitField0_ & 0x00000008) != 0)) {
+ columns_ = java.util.Collections.unmodifiableList(columns_);
+ bitField0_ = (bitField0_ & ~0x00000008);
+ }
+ result.columns_ = columns_;
+ } else {
+ result.columns_ = columnsBuilder_.build();
+ }
if (rulesBuilder_ == null) {
- if (((bitField0_ & 0x00000004) != 0)) {
+ if (((bitField0_ & 0x00000010) != 0)) {
rules_ = java.util.Collections.unmodifiableList(rules_);
- bitField0_ = (bitField0_ & ~0x00000004);
+ bitField0_ = (bitField0_ & ~0x00000010);
}
result.rules_ = rules_;
} else {
@@ -2642,19 +2821,25 @@ private void buildPartial0(com.google.cloud.dataplex.v1.DataQualityResult result
if (((from_bitField0_ & 0x00000001) != 0)) {
result.passed_ = passed_;
}
- if (((from_bitField0_ & 0x00000008) != 0)) {
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000002) != 0)) {
+ result.score_ = score_;
+ to_bitField0_ |= 0x00000001;
+ }
+ if (((from_bitField0_ & 0x00000020) != 0)) {
result.rowCount_ = rowCount_;
}
- if (((from_bitField0_ & 0x00000010) != 0)) {
+ if (((from_bitField0_ & 0x00000040) != 0)) {
result.scannedData_ =
scannedDataBuilder_ == null ? scannedData_ : scannedDataBuilder_.build();
}
- if (((from_bitField0_ & 0x00000020) != 0)) {
+ if (((from_bitField0_ & 0x00000080) != 0)) {
result.postScanActionsResult_ =
postScanActionsResultBuilder_ == null
? postScanActionsResult_
: postScanActionsResultBuilder_.build();
}
+ result.bitField0_ |= to_bitField0_;
}
@java.lang.Override
@@ -2705,11 +2890,14 @@ public Builder mergeFrom(com.google.cloud.dataplex.v1.DataQualityResult other) {
if (other.getPassed() != false) {
setPassed(other.getPassed());
}
+ if (other.hasScore()) {
+ setScore(other.getScore());
+ }
if (dimensionsBuilder_ == null) {
if (!other.dimensions_.isEmpty()) {
if (dimensions_.isEmpty()) {
dimensions_ = other.dimensions_;
- bitField0_ = (bitField0_ & ~0x00000002);
+ bitField0_ = (bitField0_ & ~0x00000004);
} else {
ensureDimensionsIsMutable();
dimensions_.addAll(other.dimensions_);
@@ -2722,7 +2910,7 @@ public Builder mergeFrom(com.google.cloud.dataplex.v1.DataQualityResult other) {
dimensionsBuilder_.dispose();
dimensionsBuilder_ = null;
dimensions_ = other.dimensions_;
- bitField0_ = (bitField0_ & ~0x00000002);
+ bitField0_ = (bitField0_ & ~0x00000004);
dimensionsBuilder_ =
com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
? getDimensionsFieldBuilder()
@@ -2732,11 +2920,38 @@ public Builder mergeFrom(com.google.cloud.dataplex.v1.DataQualityResult other) {
}
}
}
+ if (columnsBuilder_ == null) {
+ if (!other.columns_.isEmpty()) {
+ if (columns_.isEmpty()) {
+ columns_ = other.columns_;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ } else {
+ ensureColumnsIsMutable();
+ columns_.addAll(other.columns_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.columns_.isEmpty()) {
+ if (columnsBuilder_.isEmpty()) {
+ columnsBuilder_.dispose();
+ columnsBuilder_ = null;
+ columns_ = other.columns_;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ columnsBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
+ ? getColumnsFieldBuilder()
+ : null;
+ } else {
+ columnsBuilder_.addAllMessages(other.columns_);
+ }
+ }
+ }
if (rulesBuilder_ == null) {
if (!other.rules_.isEmpty()) {
if (rules_.isEmpty()) {
rules_ = other.rules_;
- bitField0_ = (bitField0_ & ~0x00000004);
+ bitField0_ = (bitField0_ & ~0x00000010);
} else {
ensureRulesIsMutable();
rules_.addAll(other.rules_);
@@ -2749,7 +2964,7 @@ public Builder mergeFrom(com.google.cloud.dataplex.v1.DataQualityResult other) {
rulesBuilder_.dispose();
rulesBuilder_ = null;
rules_ = other.rules_;
- bitField0_ = (bitField0_ & ~0x00000004);
+ bitField0_ = (bitField0_ & ~0x00000010);
rulesBuilder_ =
com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
? getRulesFieldBuilder()
@@ -2825,7 +3040,7 @@ public Builder mergeFrom(
case 32:
{
rowCount_ = input.readInt64();
- bitField0_ |= 0x00000008;
+ bitField0_ |= 0x00000020;
break;
} // case 32
case 40:
@@ -2837,16 +3052,36 @@ public Builder mergeFrom(
case 58:
{
input.readMessage(getScannedDataFieldBuilder().getBuilder(), extensionRegistry);
- bitField0_ |= 0x00000010;
+ bitField0_ |= 0x00000040;
break;
} // case 58
case 66:
{
input.readMessage(
getPostScanActionsResultFieldBuilder().getBuilder(), extensionRegistry);
- bitField0_ |= 0x00000020;
+ bitField0_ |= 0x00000080;
break;
} // case 66
+ case 77:
+ {
+ score_ = input.readFloat();
+ bitField0_ |= 0x00000002;
+ break;
+ } // case 77
+ case 82:
+ {
+ com.google.cloud.dataplex.v1.DataQualityColumnResult m =
+ input.readMessage(
+ com.google.cloud.dataplex.v1.DataQualityColumnResult.parser(),
+ extensionRegistry);
+ if (columnsBuilder_ == null) {
+ ensureColumnsIsMutable();
+ columns_.add(m);
+ } else {
+ columnsBuilder_.addMessage(m);
+ }
+ break;
+ } // case 82
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -2919,15 +3154,91 @@ public Builder clearPassed() {
return this;
}
+ private float score_;
+ /**
+ *
+ *
+ * + * Output only. The overall data quality score. + * + * The score ranges between [0, 100] (up to two decimal points). + *+ * + *
optional float score = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return Whether the score field is set.
+ */
+ @java.lang.Override
+ public boolean hasScore() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ *
+ *
+ * + * Output only. The overall data quality score. + * + * The score ranges between [0, 100] (up to two decimal points). + *+ * + *
optional float score = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return The score.
+ */
+ @java.lang.Override
+ public float getScore() {
+ return score_;
+ }
+ /**
+ *
+ *
+ * + * Output only. The overall data quality score. + * + * The score ranges between [0, 100] (up to two decimal points). + *+ * + *
optional float score = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @param value The score to set.
+ * @return This builder for chaining.
+ */
+ public Builder setScore(float value) {
+
+ score_ = value;
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Output only. The overall data quality score. + * + * The score ranges between [0, 100] (up to two decimal points). + *+ * + *
optional float score = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearScore() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ score_ = 0F;
+ onChanged();
+ return this;
+ }
+
private java.util.List+ * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public java.util.List+ * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public int getColumnsCount() {
+ if (columnsBuilder_ == null) {
+ return columns_.size();
+ } else {
+ return columnsBuilder_.getCount();
+ }
+ }
+ /**
+ *
+ *
+ * + * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public com.google.cloud.dataplex.v1.DataQualityColumnResult getColumns(int index) {
+ if (columnsBuilder_ == null) {
+ return columns_.get(index);
+ } else {
+ return columnsBuilder_.getMessage(index);
+ }
+ }
+ /**
+ *
+ *
+ * + * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public Builder setColumns(
+ int index, com.google.cloud.dataplex.v1.DataQualityColumnResult value) {
+ if (columnsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureColumnsIsMutable();
+ columns_.set(index, value);
+ onChanged();
+ } else {
+ columnsBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public Builder setColumns(
+ int index, com.google.cloud.dataplex.v1.DataQualityColumnResult.Builder builderForValue) {
+ if (columnsBuilder_ == null) {
+ ensureColumnsIsMutable();
+ columns_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ columnsBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public Builder addColumns(com.google.cloud.dataplex.v1.DataQualityColumnResult value) {
+ if (columnsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureColumnsIsMutable();
+ columns_.add(value);
+ onChanged();
+ } else {
+ columnsBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public Builder addColumns(
+ int index, com.google.cloud.dataplex.v1.DataQualityColumnResult value) {
+ if (columnsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureColumnsIsMutable();
+ columns_.add(index, value);
+ onChanged();
+ } else {
+ columnsBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public Builder addColumns(
+ com.google.cloud.dataplex.v1.DataQualityColumnResult.Builder builderForValue) {
+ if (columnsBuilder_ == null) {
+ ensureColumnsIsMutable();
+ columns_.add(builderForValue.build());
+ onChanged();
+ } else {
+ columnsBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public Builder addColumns(
+ int index, com.google.cloud.dataplex.v1.DataQualityColumnResult.Builder builderForValue) {
+ if (columnsBuilder_ == null) {
+ ensureColumnsIsMutable();
+ columns_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ columnsBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public Builder addAllColumns(
+ java.lang.Iterable extends com.google.cloud.dataplex.v1.DataQualityColumnResult> values) {
+ if (columnsBuilder_ == null) {
+ ensureColumnsIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(values, columns_);
+ onChanged();
+ } else {
+ columnsBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public Builder clearColumns() {
+ if (columnsBuilder_ == null) {
+ columns_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000008);
+ onChanged();
+ } else {
+ columnsBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public Builder removeColumns(int index) {
+ if (columnsBuilder_ == null) {
+ ensureColumnsIsMutable();
+ columns_.remove(index);
+ onChanged();
+ } else {
+ columnsBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public com.google.cloud.dataplex.v1.DataQualityColumnResult.Builder getColumnsBuilder(
+ int index) {
+ return getColumnsFieldBuilder().getBuilder(index);
+ }
+ /**
+ *
+ *
+ * + * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public com.google.cloud.dataplex.v1.DataQualityColumnResultOrBuilder getColumnsOrBuilder(
+ int index) {
+ if (columnsBuilder_ == null) {
+ return columns_.get(index);
+ } else {
+ return columnsBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ *
+ *
+ * + * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public java.util.List extends com.google.cloud.dataplex.v1.DataQualityColumnResultOrBuilder>
+ getColumnsOrBuilderList() {
+ if (columnsBuilder_ != null) {
+ return columnsBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(columns_);
+ }
+ }
+ /**
+ *
+ *
+ * + * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public com.google.cloud.dataplex.v1.DataQualityColumnResult.Builder addColumnsBuilder() {
+ return getColumnsFieldBuilder()
+ .addBuilder(com.google.cloud.dataplex.v1.DataQualityColumnResult.getDefaultInstance());
+ }
+ /**
+ *
+ *
+ * + * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public com.google.cloud.dataplex.v1.DataQualityColumnResult.Builder addColumnsBuilder(
+ int index) {
+ return getColumnsFieldBuilder()
+ .addBuilder(
+ index, com.google.cloud.dataplex.v1.DataQualityColumnResult.getDefaultInstance());
+ }
+ /**
+ *
+ *
+ * + * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public java.util.List.google.cloud.dataplex.v1.ScannedData scanned_data = 7;
*/
public Builder clearScannedData() {
- bitField0_ = (bitField0_ & ~0x00000010);
+ bitField0_ = (bitField0_ & ~0x00000040);
scannedData_ = null;
if (scannedDataBuilder_ != null) {
scannedDataBuilder_.dispose();
@@ -3878,7 +4636,7 @@ public Builder clearScannedData() {
* .google.cloud.dataplex.v1.ScannedData scanned_data = 7;
*/
public com.google.cloud.dataplex.v1.ScannedData.Builder getScannedDataBuilder() {
- bitField0_ |= 0x00000010;
+ bitField0_ |= 0x00000040;
onChanged();
return getScannedDataFieldBuilder().getBuilder();
}
@@ -3947,7 +4705,7 @@ public com.google.cloud.dataplex.v1.ScannedDataOrBuilder getScannedDataOrBuilder
* @return Whether the postScanActionsResult field is set.
*/
public boolean hasPostScanActionsResult() {
- return ((bitField0_ & 0x00000020) != 0);
+ return ((bitField0_ & 0x00000080) != 0);
}
/**
*
@@ -3994,7 +4752,7 @@ public Builder setPostScanActionsResult(
} else {
postScanActionsResultBuilder_.setMessage(value);
}
- bitField0_ |= 0x00000020;
+ bitField0_ |= 0x00000080;
onChanged();
return this;
}
@@ -4017,7 +4775,7 @@ public Builder setPostScanActionsResult(
} else {
postScanActionsResultBuilder_.setMessage(builderForValue.build());
}
- bitField0_ |= 0x00000020;
+ bitField0_ |= 0x00000080;
onChanged();
return this;
}
@@ -4035,7 +4793,7 @@ public Builder setPostScanActionsResult(
public Builder mergePostScanActionsResult(
com.google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResult value) {
if (postScanActionsResultBuilder_ == null) {
- if (((bitField0_ & 0x00000020) != 0)
+ if (((bitField0_ & 0x00000080) != 0)
&& postScanActionsResult_ != null
&& postScanActionsResult_
!= com.google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResult
@@ -4047,7 +4805,7 @@ public Builder mergePostScanActionsResult(
} else {
postScanActionsResultBuilder_.mergeFrom(value);
}
- bitField0_ |= 0x00000020;
+ bitField0_ |= 0x00000080;
onChanged();
return this;
}
@@ -4063,7 +4821,7 @@ public Builder mergePostScanActionsResult(
*
*/
public Builder clearPostScanActionsResult() {
- bitField0_ = (bitField0_ & ~0x00000020);
+ bitField0_ = (bitField0_ & ~0x00000080);
postScanActionsResult_ = null;
if (postScanActionsResultBuilder_ != null) {
postScanActionsResultBuilder_.dispose();
@@ -4085,7 +4843,7 @@ public Builder clearPostScanActionsResult() {
*/
public com.google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResult.Builder
getPostScanActionsResultBuilder() {
- bitField0_ |= 0x00000020;
+ bitField0_ |= 0x00000080;
onChanged();
return getPostScanActionsResultFieldBuilder().getBuilder();
}
diff --git a/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityResultOrBuilder.java b/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityResultOrBuilder.java
index df95bd6a1765..ff2c93919f32 100644
--- a/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityResultOrBuilder.java
+++ b/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityResultOrBuilder.java
@@ -36,6 +36,35 @@ public interface DataQualityResultOrBuilder
*/
boolean getPassed();
+ /**
+ *
+ *
+ * + * Output only. The overall data quality score. + * + * The score ranges between [0, 100] (up to two decimal points). + *+ * + *
optional float score = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return Whether the score field is set.
+ */
+ boolean hasScore();
+ /**
+ *
+ *
+ * + * Output only. The overall data quality score. + * + * The score ranges between [0, 100] (up to two decimal points). + *+ * + *
optional float score = 9 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return The score.
+ */
+ float getScore();
+
/**
*
*
@@ -104,6 +133,83 @@ public interface DataQualityResultOrBuilder
com.google.cloud.dataplex.v1.DataQualityDimensionResultOrBuilder getDimensionsOrBuilder(
int index);
+ /**
+ *
+ *
+ * + * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ java.util.List+ * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ com.google.cloud.dataplex.v1.DataQualityColumnResult getColumns(int index);
+ /**
+ *
+ *
+ * + * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ int getColumnsCount();
+ /**
+ *
+ *
+ * + * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ java.util.List extends com.google.cloud.dataplex.v1.DataQualityColumnResultOrBuilder>
+ getColumnsOrBuilderList();
+ /**
+ *
+ *
+ * + * Output only. A list of results at the column level. + * + * A column will have a corresponding `DataQualityColumnResult` if and only if + * there is at least one rule with the 'column' field set to it. + *+ * + *
+ * repeated .google.cloud.dataplex.v1.DataQualityColumnResult columns = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ com.google.cloud.dataplex.v1.DataQualityColumnResultOrBuilder getColumnsOrBuilder(int index);
+
/**
*
*
diff --git a/java-dataplex/proto-google-cloud-dataplex-v1/src/main/proto/google/cloud/dataplex/v1/data_quality.proto b/java-dataplex/proto-google-cloud-dataplex-v1/src/main/proto/google/cloud/dataplex/v1/data_quality.proto
index bc2d57403c77..35c1f501ed15 100644
--- a/java-dataplex/proto-google-cloud-dataplex-v1/src/main/proto/google/cloud/dataplex/v1/data_quality.proto
+++ b/java-dataplex/proto-google-cloud-dataplex-v1/src/main/proto/google/cloud/dataplex/v1/data_quality.proto
@@ -107,12 +107,24 @@ message DataQualityResult {
// Overall data quality result -- `true` if all rules passed.
bool passed = 5;
+ // Output only. The overall data quality score.
+ //
+ // The score ranges between [0, 100] (up to two decimal points).
+ optional float score = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
+
// A list of results at the dimension level.
//
// A dimension will have a corresponding `DataQualityDimensionResult` if and
// only if there is at least one rule with the 'dimension' field set to it.
repeated DataQualityDimensionResult dimensions = 2;
+ // Output only. A list of results at the column level.
+ //
+ // A column will have a corresponding `DataQualityColumnResult` if and only if
+ // there is at least one rule with the 'column' field set to it.
+ repeated DataQualityColumnResult columns = 10
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
// A list of all the rules in a job, and their results.
repeated DataQualityRuleResult rules = 3;
@@ -175,6 +187,13 @@ message DataQualityDimensionResult {
// Whether the dimension passed or failed.
bool passed = 3;
+
+ // Output only. The dimension-level data quality score for this data scan job
+ // if and only if the 'dimension' field is set.
+ //
+ // The score ranges between [0, 100] (up to two decimal
+ // points).
+ optional float score = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// A dimension captures data quality intent about a defined subset of the rules
@@ -369,3 +388,17 @@ message DataQualityRule {
// * The maximum length is 1,024 characters.
string description = 505 [(google.api.field_behavior) = OPTIONAL];
}
+
+// DataQualityColumnResult provides a more detailed, per-column view of
+// the results.
+message DataQualityColumnResult {
+ // Output only. The column specified in the DataQualityRule.
+ string column = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The column-level data quality score for this data scan job if
+ // and only if the 'column' field is set.
+ //
+ // The score ranges between between [0, 100] (up to two decimal
+ // points).
+ optional float score = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+}