File tree Expand file tree Collapse file tree 3 files changed +27
-7
lines changed
src/main/java/com/mongodb/kafka/connect Expand file tree Collapse file tree 3 files changed +27
-7
lines changed Original file line number Diff line number Diff line change @@ -81,16 +81,18 @@ public ConfigDef config() {
8181
8282 @ Override
8383 public Config validate (final Map <String , String > connectorConfigs ) {
84- Config rawConfig = super .validate (connectorConfigs );
85-
8684 MongoSinkConfig sinkConfig ;
8785 try {
8886 sinkConfig = new MongoSinkConfig (connectorConfigs );
8987 } catch (Exception e ) {
90- return rawConfig ;
88+ return super . validate ( connectorConfigs ) ;
9189 }
9290
93- final Config config = ConfigHelper .evaluateConfigValues (rawConfig , sinkConfig );
91+ final Map <String , String > resolvedConnectorConfigs =
92+ ConfigHelper .evaluateConfigValues (connectorConfigs , sinkConfig );
93+
94+ final Config tempConfig = super .validate (resolvedConnectorConfigs );
95+ final Config config = ConfigHelper .evaluateConfigValues (tempConfig , sinkConfig );
9496
9597 validateCanConnect (sinkConfig , config , CONNECTION_URI_CONFIG )
9698 .ifPresent (
Original file line number Diff line number Diff line change @@ -50,15 +50,18 @@ public Class<? extends Task> taskClass() {
5050
5151 @ Override
5252 public Config validate (final Map <String , String > connectorConfigs ) {
53- Config rawConfig = super .validate (connectorConfigs );
5453 MongoSourceConfig sourceConfig ;
5554 try {
5655 sourceConfig = new MongoSourceConfig (connectorConfigs );
5756 } catch (Exception e ) {
58- return rawConfig ;
57+ return super . validate ( connectorConfigs ) ;
5958 }
6059
61- final Config config = ConfigHelper .evaluateConfigValues (rawConfig , sourceConfig );
60+ final Map <String , String > resolvedConnectorConfigs =
61+ ConfigHelper .evaluateConfigValues (connectorConfigs , sourceConfig );
62+
63+ final Config tempConfig = super .validate (resolvedConnectorConfigs );
64+ final Config config = ConfigHelper .evaluateConfigValues (tempConfig , sourceConfig );
6265
6366 validateCanConnect (sourceConfig , config , MongoSourceConfig .CONNECTION_URI_CONFIG )
6467 .ifPresent (
Original file line number Diff line number Diff line change 1717
1818import static java .lang .String .format ;
1919
20+ import java .util .HashMap ;
2021import java .util .List ;
2122import java .util .Map ;
2223import java .util .Optional ;
@@ -205,4 +206,18 @@ public static Config evaluateConfigValues(
205206 });
206207 return rawConfig ;
207208 }
209+
210+ public static Map <String , String > evaluateConfigValues (
211+ final Map <String , String > rawConfigs , final AbstractConfig resolvedConfig ) {
212+ Map <String , String > resolvedRawConfigs = new HashMap <>(rawConfigs );
213+ final Map <String , Object > originals = resolvedConfig .originals ();
214+ rawConfigs .forEach (
215+ (key , val ) -> {
216+ Object ev = originals .get (key );
217+ if (ev instanceof String ) {
218+ resolvedRawConfigs .put (key , (String ) ev );
219+ }
220+ });
221+ return resolvedRawConfigs ;
222+ }
208223}
You can’t perform that action at this time.
0 commit comments