diff --git a/database-commons/src/main/java/io/cdap/plugin/db/batch/config/DBSpecificQueryActionConfig.java b/database-commons/src/main/java/io/cdap/plugin/db/batch/config/DBSpecificQueryActionConfig.java index cad417206..5c07575db 100644 --- a/database-commons/src/main/java/io/cdap/plugin/db/batch/config/DBSpecificQueryActionConfig.java +++ b/database-commons/src/main/java/io/cdap/plugin/db/batch/config/DBSpecificQueryActionConfig.java @@ -17,6 +17,7 @@ package io.cdap.plugin.db.batch.config; import io.cdap.cdap.api.annotation.Description; +import io.cdap.cdap.api.annotation.Macro; import io.cdap.cdap.api.annotation.Name; import io.cdap.plugin.db.batch.action.QueryActionConfig; @@ -27,14 +28,17 @@ public abstract class DBSpecificQueryActionConfig extends QueryActionConfig { @Name(HOST) @Description("Database host") + @Macro public String host; @Name(PORT) @Description("Specific database port") + @Macro public Integer port; @Name(DATABASE) @Description("Database name to connect to") + @Macro public String database; } diff --git a/database-commons/src/main/java/io/cdap/plugin/db/batch/config/DBSpecificQueryConfig.java b/database-commons/src/main/java/io/cdap/plugin/db/batch/config/DBSpecificQueryConfig.java index e34a66b8b..2f27ae901 100644 --- a/database-commons/src/main/java/io/cdap/plugin/db/batch/config/DBSpecificQueryConfig.java +++ b/database-commons/src/main/java/io/cdap/plugin/db/batch/config/DBSpecificQueryConfig.java @@ -17,6 +17,7 @@ package io.cdap.plugin.db.batch.config; import io.cdap.cdap.api.annotation.Description; +import io.cdap.cdap.api.annotation.Macro; import io.cdap.cdap.api.annotation.Name; import io.cdap.plugin.db.batch.action.QueryConfig; @@ -27,13 +28,16 @@ public abstract class DBSpecificQueryConfig extends QueryConfig { @Name(HOST) @Description("Database host") + @Macro public String host; @Name(PORT) @Description("Specific database port") + @Macro public Integer port; @Name(DATABASE) @Description("Database name to connect to") + @Macro public String database; } diff --git a/database-commons/src/main/java/io/cdap/plugin/db/batch/config/DBSpecificSinkConfig.java b/database-commons/src/main/java/io/cdap/plugin/db/batch/config/DBSpecificSinkConfig.java index 70b68e6cb..b6bfcbf9d 100644 --- a/database-commons/src/main/java/io/cdap/plugin/db/batch/config/DBSpecificSinkConfig.java +++ b/database-commons/src/main/java/io/cdap/plugin/db/batch/config/DBSpecificSinkConfig.java @@ -17,6 +17,7 @@ package io.cdap.plugin.db.batch.config; import io.cdap.cdap.api.annotation.Description; +import io.cdap.cdap.api.annotation.Macro; import io.cdap.cdap.api.annotation.Name; import io.cdap.plugin.db.batch.sink.AbstractDBSink; @@ -27,13 +28,16 @@ public abstract class DBSpecificSinkConfig extends AbstractDBSink.DBSinkConfig { @Name(HOST) @Description("Database host") + @Macro public String host; @Name(PORT) @Description("Specific database port") + @Macro public Integer port; @Name(DATABASE) @Description("Database name to connect to") + @Macro public String database; } diff --git a/database-commons/src/main/java/io/cdap/plugin/db/batch/config/DBSpecificSourceConfig.java b/database-commons/src/main/java/io/cdap/plugin/db/batch/config/DBSpecificSourceConfig.java index f1d85ffcf..74685234a 100644 --- a/database-commons/src/main/java/io/cdap/plugin/db/batch/config/DBSpecificSourceConfig.java +++ b/database-commons/src/main/java/io/cdap/plugin/db/batch/config/DBSpecificSourceConfig.java @@ -17,6 +17,7 @@ package io.cdap.plugin.db.batch.config; import io.cdap.cdap.api.annotation.Description; +import io.cdap.cdap.api.annotation.Macro; import io.cdap.cdap.api.annotation.Name; import io.cdap.plugin.db.batch.source.AbstractDBSource; @@ -27,13 +28,16 @@ public abstract class DBSpecificSourceConfig extends AbstractDBSource.DBSourceConfig { @Name(HOST) @Description("Database host") + @Macro public String host; @Name(PORT) @Description("Specific database port") + @Macro public Integer port; @Name(DATABASE) @Description("Database name to connect to") + @Macro public String database; } diff --git a/database-commons/src/main/java/io/cdap/plugin/db/batch/source/AbstractDBSource.java b/database-commons/src/main/java/io/cdap/plugin/db/batch/source/AbstractDBSource.java index e60d4fc73..a2e03a0da 100644 --- a/database-commons/src/main/java/io/cdap/plugin/db/batch/source/AbstractDBSource.java +++ b/database-commons/src/main/java/io/cdap/plugin/db/batch/source/AbstractDBSource.java @@ -101,7 +101,14 @@ public void configurePipeline(PipelineConfigurer pipelineConfigurer) { sourceConfig.validate(collector); if (sourceConfig.getSchema() != null) { stageConfigurer.setOutputSchema(sourceConfig.getSchema()); - } else if (!sourceConfig.containsMacro(DBSourceConfig.IMPORT_QUERY)) { + return; + } + if (!sourceConfig.containsMacro(ConnectionConfig.HOST) && + !sourceConfig.containsMacro(ConnectionConfig.PORT) && + !sourceConfig.containsMacro(ConnectionConfig.USER) && + !sourceConfig.containsMacro(ConnectionConfig.PASSWORD) && + !sourceConfig.containsMacro(DBSourceConfig.DATABASE) && + !sourceConfig.containsMacro(DBSourceConfig.IMPORT_QUERY)) { try { stageConfigurer.setOutputSchema(getSchema(driverClass)); } catch (IllegalAccessException | InstantiationException e) {