Skip to content

Commit 097fd84

Browse files
authored
Merge pull request #1167 from data-integrations/feat/CDAP-19804
stop auto-populating reference name for BQ, GCS sink, and spanner sink
2 parents 4cf8516 + f80409e commit 097fd84

File tree

6 files changed

+19
-21
lines changed

6 files changed

+19
-21
lines changed

src/main/java/io/cdap/plugin/gcp/bigquery/connector/BigQueryConnector.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,6 @@
5454
import io.cdap.cdap.etl.api.engine.sql.BatchSQLEngine;
5555
import io.cdap.cdap.etl.api.validation.ValidationException;
5656
import io.cdap.plugin.common.ConfigUtil;
57-
import io.cdap.plugin.common.Constants;
58-
import io.cdap.plugin.common.ReferenceNames;
5957
import io.cdap.plugin.gcp.bigquery.sink.BigQueryMultiSink;
6058
import io.cdap.plugin.gcp.bigquery.sink.BigQuerySink;
6159
import io.cdap.plugin.gcp.bigquery.source.BigQuerySource;
@@ -364,8 +362,6 @@ public ConnectorSpec generateSpec(ConnectorContext context,
364362
if (definition.getType() != TableDefinition.Type.TABLE) {
365363
properties.put(BigQuerySourceConfig.NAME_ENABLE_QUERYING_VIEWS, "true");
366364
}
367-
properties.put(Constants.Reference.REFERENCE_NAME,
368-
ReferenceNames.cleanseReferenceName(datasetName + "." + tableName));
369365
}
370366
return specBuilder
371367
.addRelatedPlugin(new PluginSpec(BigQuerySource.NAME, BatchSource.PLUGIN_TYPE, properties))

src/main/java/io/cdap/plugin/gcp/gcs/connector/GCSConnector.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,6 @@ protected void setConnectorSpec(ConnectorSpecRequest request, ConnectorSpec.Buil
173173
GCSPath gcsPath = GCSPath.from(path);
174174
String referenceName = ReferenceNames.cleanseReferenceName(gcsPath.getBucket() + "." + gcsPath.getName());
175175
sourceProperties.put(Constants.Reference.REFERENCE_NAME, referenceName);
176-
sinkProperties.put(Constants.Reference.REFERENCE_NAME, referenceName);
177176
}
178177
builder.addRelatedPlugin(new PluginSpec(GCSSource.NAME, BatchSource.PLUGIN_TYPE, sourceProperties));
179178
builder.addRelatedPlugin(new PluginSpec(GCSBatchSink.NAME, BatchSink.PLUGIN_TYPE, sinkProperties));

src/main/java/io/cdap/plugin/gcp/spanner/connector/SpannerConnector.java

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -155,29 +155,35 @@ public ConnectorSpec generateSpec(ConnectorContext context, ConnectorSpecRequest
155155
throws IOException {
156156
SpannerPath path = new SpannerPath(connectorSpecRequest.getPath());
157157
ConnectorSpec.Builder specBuilder = ConnectorSpec.builder();
158-
Map<String, String> properties = new HashMap<>();
159-
properties.put(ConfigUtil.NAME_USE_CONNECTION, "true");
160-
properties.put(ConfigUtil.NAME_CONNECTION, connectorSpecRequest.getConnectionWithMacro());
158+
Map<String, String> sourceProperties = new HashMap<>();
159+
Map<String, String> sinkProperties = new HashMap<>();
160+
sourceProperties.put(ConfigUtil.NAME_USE_CONNECTION, "true");
161+
sinkProperties.put(ConfigUtil.NAME_USE_CONNECTION, "true");
162+
sourceProperties.put(ConfigUtil.NAME_CONNECTION, connectorSpecRequest.getConnectionWithMacro());
163+
sinkProperties.put(ConfigUtil.NAME_CONNECTION, connectorSpecRequest.getConnectionWithMacro());
161164

162165
String instanceName = path.getInstance();
163166
if (instanceName != null) {
164-
properties.put(SpannerSourceConfig.NAME_INSTANCE, instanceName);
167+
sourceProperties.put(SpannerSourceConfig.NAME_INSTANCE, instanceName);
168+
sinkProperties.put(SpannerSourceConfig.NAME_INSTANCE, instanceName);
165169
}
166170
String databaseName = path.getDatabase();
167171
if (databaseName != null) {
168-
properties.put(SpannerSourceConfig.NAME_DATABASE, databaseName);
172+
sourceProperties.put(SpannerSourceConfig.NAME_DATABASE, databaseName);
173+
sinkProperties.put(SpannerSourceConfig.NAME_DATABASE, databaseName);
169174
}
170175
String tableName = path.getTable();
171176
if (tableName != null) {
172-
properties.put(SpannerSourceConfig.NAME_TABLE, tableName);
173-
properties.put(Constants.Reference.REFERENCE_NAME,
177+
sourceProperties.put(SpannerSourceConfig.NAME_TABLE, tableName);
178+
sinkProperties.put(SpannerSourceConfig.NAME_TABLE, tableName);
179+
sourceProperties.put(Constants.Reference.REFERENCE_NAME,
174180
ReferenceNames.cleanseReferenceName(instanceName + "." + databaseName + "." + tableName));
175181
Schema schema = getTableSchema(instanceName, databaseName, tableName, context.getFailureCollector());
176182
specBuilder.setSchema(schema);
177183
}
178184
return specBuilder
179-
.addRelatedPlugin(new PluginSpec(SpannerSource.NAME, BatchSource.PLUGIN_TYPE, properties))
180-
.addRelatedPlugin(new PluginSpec(SpannerSink.NAME, BatchSink.PLUGIN_TYPE, properties))
185+
.addRelatedPlugin(new PluginSpec(SpannerSource.NAME, BatchSource.PLUGIN_TYPE, sourceProperties))
186+
.addRelatedPlugin(new PluginSpec(SpannerSink.NAME, BatchSink.PLUGIN_TYPE, sinkProperties))
181187
.build();
182188
}
183189

src/main/java/io/cdap/plugin/gcp/spanner/source/SpannerSourceConfig.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ public class SpannerSourceConfig extends PluginConfig {
5454
public static final String NAME_SCHEMA = "schema";
5555

5656
@Name(Constants.Reference.REFERENCE_NAME)
57-
@Nullable
5857
@Description("This will be used to uniquely identify this source for lineage, annotating metadata, etc.")
5958
public String referenceName;
6059

@@ -163,9 +162,7 @@ public boolean autoServiceAccountUnavailable() {
163162
}
164163

165164
public void validate(FailureCollector collector) {
166-
if (!Strings.isNullOrEmpty(referenceName)) {
167-
IdUtils.validateReferenceName(referenceName, collector);
168-
}
165+
IdUtils.validateReferenceName(referenceName, collector);
169166
ConfigUtil.validateConnection(this, useConnection, connection, collector);
170167
Schema schema = getSchema(collector);
171168
if (!containsMacro(NAME_SCHEMA) && schema != null) {

src/test/java/io/cdap/plugin/gcp/bigquery/connector/BigQueryConnectorTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,6 @@ private void testGenerateSpec(BigQueryConnector connector) throws IOException {
171171
pluginProperties.put("connection", "${conn(connection-id)}");
172172
pluginProperties.put("dataset", dataset);
173173
pluginProperties.put("table", table);
174-
pluginProperties.put("referenceName", dataset + "." + table);
175174
expectedRelatedPlugins.add(new PluginSpec(BigQueryMultiSink.NAME, BatchSink.PLUGIN_TYPE, pluginProperties));
176175
expectedRelatedPlugins.add(new PluginSpec(BigQuerySink.NAME, BatchSink.PLUGIN_TYPE, pluginProperties));
177176
expectedRelatedPlugins.add(new PluginSpec(BigQuerySource.NAME, BigQuerySource.PLUGIN_TYPE, pluginProperties));

src/test/java/io/cdap/plugin/gcp/spanner/connector/SpannerConnectorTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,10 +160,11 @@ private void testGenerateSpec(SpannerConnector connector) throws IOException {
160160
properties.put("table", table);
161161
properties.put("connection", null);
162162
properties.put("useConnection", "true");
163-
properties.put("referenceName", String.format("%s.%s.%s", instance, database, table));
163+
Map<String, String> sourceProperties = new HashMap<>(properties);
164+
sourceProperties.put("referenceName", String.format("%s.%s.%s", instance, database, table));
164165
ConnectorSpec expected = ConnectorSpec.builder()
165166
.setSchema(expectedSchema)
166-
.addRelatedPlugin(new PluginSpec(SpannerSource.NAME, BatchSource.PLUGIN_TYPE, properties))
167+
.addRelatedPlugin(new PluginSpec(SpannerSource.NAME, BatchSource.PLUGIN_TYPE, sourceProperties))
167168
.addRelatedPlugin(new PluginSpec(SpannerSink.NAME, BatchSink.PLUGIN_TYPE, properties))
168169
.build();
169170

0 commit comments

Comments
 (0)