File tree 3 files changed +27
-7
lines changed
src/main/java/com/mongodb/kafka/connect
3 files changed +27
-7
lines changed Original file line number Diff line number Diff line change @@ -81,16 +81,18 @@ public ConfigDef config() {
81
81
82
82
@ Override
83
83
public Config validate (final Map <String , String > connectorConfigs ) {
84
- Config rawConfig = super .validate (connectorConfigs );
85
-
86
84
MongoSinkConfig sinkConfig ;
87
85
try {
88
86
sinkConfig = new MongoSinkConfig (connectorConfigs );
89
87
} catch (Exception e ) {
90
- return rawConfig ;
88
+ return super . validate ( connectorConfigs ) ;
91
89
}
92
90
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 );
94
96
95
97
validateCanConnect (sinkConfig , config , CONNECTION_URI_CONFIG )
96
98
.ifPresent (
Original file line number Diff line number Diff line change @@ -50,15 +50,18 @@ public Class<? extends Task> taskClass() {
50
50
51
51
@ Override
52
52
public Config validate (final Map <String , String > connectorConfigs ) {
53
- Config rawConfig = super .validate (connectorConfigs );
54
53
MongoSourceConfig sourceConfig ;
55
54
try {
56
55
sourceConfig = new MongoSourceConfig (connectorConfigs );
57
56
} catch (Exception e ) {
58
- return rawConfig ;
57
+ return super . validate ( connectorConfigs ) ;
59
58
}
60
59
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 );
62
65
63
66
validateCanConnect (sourceConfig , config , MongoSourceConfig .CONNECTION_URI_CONFIG )
64
67
.ifPresent (
Original file line number Diff line number Diff line change 17
17
18
18
import static java .lang .String .format ;
19
19
20
+ import java .util .HashMap ;
20
21
import java .util .List ;
21
22
import java .util .Map ;
22
23
import java .util .Optional ;
@@ -205,4 +206,18 @@ public static Config evaluateConfigValues(
205
206
});
206
207
return rawConfig ;
207
208
}
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
+ }
208
223
}
You can’t perform that action at this time.
0 commit comments