@@ -49,6 +49,10 @@ public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) {
49
49
final TypeAdapter <ReverseEtlCronScheduleConfig > adapterReverseEtlCronScheduleConfig =
50
50
gson .getDelegateAdapter (
51
51
this , TypeToken .get (ReverseEtlCronScheduleConfig .class ));
52
+ final TypeAdapter <ReverseEtlDbtCloudScheduleConfig >
53
+ adapterReverseEtlDbtCloudScheduleConfig =
54
+ gson .getDelegateAdapter (
55
+ this , TypeToken .get (ReverseEtlDbtCloudScheduleConfig .class ));
52
56
53
57
return (TypeAdapter <T >)
54
58
new TypeAdapter <Config >() {
@@ -91,9 +95,21 @@ public void write(JsonWriter out, Config value) throws IOException {
91
95
elementAdapter .write (out , element );
92
96
return ;
93
97
}
98
+ // check if the actual instance is of the type
99
+ // `ReverseEtlDbtCloudScheduleConfig`
100
+ if (value .getActualInstance ()
101
+ instanceof ReverseEtlDbtCloudScheduleConfig ) {
102
+ JsonElement element =
103
+ adapterReverseEtlDbtCloudScheduleConfig .toJsonTree (
104
+ (ReverseEtlDbtCloudScheduleConfig )
105
+ value .getActualInstance ());
106
+ elementAdapter .write (out , element );
107
+ return ;
108
+ }
94
109
throw new IOException (
95
110
"Failed to serialize as the type doesn't match anyOf schemae:"
96
111
+ " ReverseEtlCronScheduleConfig,"
112
+ + " ReverseEtlDbtCloudScheduleConfig,"
97
113
+ " ReverseEtlPeriodicScheduleConfig,"
98
114
+ " ReverseEtlSpecificTimeScheduleConfig" );
99
115
}
@@ -172,6 +188,28 @@ public Config read(JsonReader in) throws IOException {
172
188
+ " 'ReverseEtlCronScheduleConfig'" ,
173
189
e );
174
190
}
191
+ // deserialize ReverseEtlDbtCloudScheduleConfig
192
+ try {
193
+ // validate the JSON object to see if any exception is thrown
194
+ ReverseEtlDbtCloudScheduleConfig .validateJsonElement (jsonElement );
195
+ actualAdapter = adapterReverseEtlDbtCloudScheduleConfig ;
196
+ Config ret = new Config ();
197
+ ret .setActualInstance (actualAdapter .fromJsonTree (jsonElement ));
198
+ return ret ;
199
+ } catch (Exception e ) {
200
+ // deserialization failed, continue
201
+ errorMessages .add (
202
+ String .format (
203
+ "Deserialization for"
204
+ + " ReverseEtlDbtCloudScheduleConfig failed"
205
+ + " with `%s`." ,
206
+ e .getMessage ()));
207
+ log .log (
208
+ Level .FINER ,
209
+ "Input data does not match schema"
210
+ + " 'ReverseEtlDbtCloudScheduleConfig'" ,
211
+ e );
212
+ }
175
213
176
214
throw new IOException (
177
215
String .format (
@@ -196,6 +234,11 @@ public Config(ReverseEtlCronScheduleConfig o) {
196
234
setActualInstance (o );
197
235
}
198
236
237
+ public Config (ReverseEtlDbtCloudScheduleConfig o ) {
238
+ super ("anyOf" , Boolean .TRUE );
239
+ setActualInstance (o );
240
+ }
241
+
199
242
public Config (ReverseEtlPeriodicScheduleConfig o ) {
200
243
super ("anyOf" , Boolean .TRUE );
201
244
setActualInstance (o );
@@ -211,6 +254,7 @@ public Config(ReverseEtlSpecificTimeScheduleConfig o) {
211
254
schemas .put (
212
255
"ReverseEtlSpecificTimeScheduleConfig" , ReverseEtlSpecificTimeScheduleConfig .class );
213
256
schemas .put ("ReverseEtlCronScheduleConfig" , ReverseEtlCronScheduleConfig .class );
257
+ schemas .put ("ReverseEtlDbtCloudScheduleConfig" , ReverseEtlDbtCloudScheduleConfig .class );
214
258
}
215
259
216
260
@ Override
@@ -221,7 +265,8 @@ public Map<String, Class<?>> getSchemas() {
221
265
/**
222
266
* Set the instance that matches the anyOf child schema, check the instance parameter is valid
223
267
* against the anyOf child schemas: ReverseEtlCronScheduleConfig,
224
- * ReverseEtlPeriodicScheduleConfig, ReverseEtlSpecificTimeScheduleConfig
268
+ * ReverseEtlDbtCloudScheduleConfig, ReverseEtlPeriodicScheduleConfig,
269
+ * ReverseEtlSpecificTimeScheduleConfig
225
270
*
226
271
* <p>It could be an instance of the 'anyOf' schemas.
227
272
*/
@@ -247,17 +292,24 @@ public void setActualInstance(Object instance) {
247
292
return ;
248
293
}
249
294
295
+ if (instance instanceof ReverseEtlDbtCloudScheduleConfig ) {
296
+ super .setActualInstance (instance );
297
+ return ;
298
+ }
299
+
250
300
throw new RuntimeException (
251
301
"Invalid instance type. Must be ReverseEtlCronScheduleConfig,"
252
- + " ReverseEtlPeriodicScheduleConfig, ReverseEtlSpecificTimeScheduleConfig" );
302
+ + " ReverseEtlDbtCloudScheduleConfig, ReverseEtlPeriodicScheduleConfig,"
303
+ + " ReverseEtlSpecificTimeScheduleConfig" );
253
304
}
254
305
255
306
/**
256
307
* Get the actual instance, which can be the following: ReverseEtlCronScheduleConfig,
257
- * ReverseEtlPeriodicScheduleConfig, ReverseEtlSpecificTimeScheduleConfig
308
+ * ReverseEtlDbtCloudScheduleConfig, ReverseEtlPeriodicScheduleConfig,
309
+ * ReverseEtlSpecificTimeScheduleConfig
258
310
*
259
- * @return The actual instance (ReverseEtlCronScheduleConfig, ReverseEtlPeriodicScheduleConfig ,
260
- * ReverseEtlSpecificTimeScheduleConfig)
311
+ * @return The actual instance (ReverseEtlCronScheduleConfig, ReverseEtlDbtCloudScheduleConfig ,
312
+ * ReverseEtlPeriodicScheduleConfig, ReverseEtlSpecificTimeScheduleConfig)
261
313
*/
262
314
@ Override
263
315
public Object getActualInstance () {
@@ -300,6 +352,18 @@ public ReverseEtlCronScheduleConfig getReverseEtlCronScheduleConfig()
300
352
return (ReverseEtlCronScheduleConfig ) super .getActualInstance ();
301
353
}
302
354
355
+ /**
356
+ * Get the actual instance of `ReverseEtlDbtCloudScheduleConfig`. If the actual instance is not
357
+ * `ReverseEtlDbtCloudScheduleConfig`, the ClassCastException will be thrown.
358
+ *
359
+ * @return The actual instance of `ReverseEtlDbtCloudScheduleConfig`
360
+ * @throws ClassCastException if the instance is not `ReverseEtlDbtCloudScheduleConfig`
361
+ */
362
+ public ReverseEtlDbtCloudScheduleConfig getReverseEtlDbtCloudScheduleConfig ()
363
+ throws ClassCastException {
364
+ return (ReverseEtlDbtCloudScheduleConfig ) super .getActualInstance ();
365
+ }
366
+
303
367
/**
304
368
* Validates the JSON Element and throws an exception if issues found
305
369
*
@@ -344,10 +408,23 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti
344
408
e .getMessage ()));
345
409
// continue to the next one
346
410
}
411
+ // validate the json string with ReverseEtlDbtCloudScheduleConfig
412
+ try {
413
+ ReverseEtlDbtCloudScheduleConfig .validateJsonElement (jsonElement );
414
+ return ;
415
+ } catch (Exception e ) {
416
+ errorMessages .add (
417
+ String .format (
418
+ "Deserialization for ReverseEtlDbtCloudScheduleConfig failed with"
419
+ + " `%s`." ,
420
+ e .getMessage ()));
421
+ // continue to the next one
422
+ }
347
423
throw new IOException (
348
424
String .format (
349
425
"The JSON string is invalid for Config with anyOf schemas:"
350
- + " ReverseEtlCronScheduleConfig, ReverseEtlPeriodicScheduleConfig,"
426
+ + " ReverseEtlCronScheduleConfig, ReverseEtlDbtCloudScheduleConfig,"
427
+ + " ReverseEtlPeriodicScheduleConfig,"
351
428
+ " ReverseEtlSpecificTimeScheduleConfig. no class match the result,"
352
429
+ " expected at least 1. Detailed failure message for anyOf schemas:"
353
430
+ " %s. JSON: %s" ,
0 commit comments