Source:
public void configurePipeline(PipelineConfigurer configurer) throws IllegalArgumentException { super.configurePipeline(configurer); if (this.config.format == null || this.config.format.isEmpty()) { throw new IllegalArgumentException("Format is not specified. Allowed values are DEFAULT, EXCEL, MYSQL," + " RFC4180, PDL & TDF"); } if (!this.config.format.equalsIgnoreCase("DEFAULT") && !this.config.format.equalsIgnoreCase("EXCEL") && !this.config.format.equalsIgnoreCase("MYSQL") && !this.config.format.equalsIgnoreCase("RFC4180") && !this.config.format.equalsIgnoreCase("TDF") && !this.config.format.equalsIgnoreCase("PDL")) { throw new IllegalArgumentException("Format specified is not one of the allowed values. Allowed values are " + "DEFAULT, EXCEL, MYSQL, RFC4180, PDL & TDF"); } Schema inputSchema = configurer.getStageConfigurer().getInputSchema(); if (inputSchema != null) { Schema.Field inputSchemaField = inputSchema.getField(config.field); if (inputSchemaField == null) { throw new IllegalArgumentException( "Field " + config.field + " is not present in the input schema"); } else { if (!inputSchemaField.getSchema().getType().equals(Schema.Type.STRING)) { throw new IllegalArgumentException( "Type for field " + config.field + " must be String"); } } } try { Schema outputSchema = Schema.parseJson(this.config.schema); configurer.getStageConfigurer().setOutputSchema(outputSchema); if (inputSchema != null) { for (Field field : inputSchema.getFields()) { if (outputSchema.getField(field.getName()) != null) { Schema.Type out = outputSchema.getField(field.getName()).getSchema().getType(); Schema.Type in = field.getSchema().getType(); if (! in.equals(out)) { throw new IllegalArgumentException( "Input field '" + field.getName() + "' has same type in the output schema." ); } } } } } catch (IOException e) { throw new IllegalArgumentException("Format of schema specified is invalid. Please check the format."); } }

Target:
public void configurePipeline(PipelineConfigurer configurer) throws IllegalArgumentException { super.configurePipeline(configurer); if (this.config.format == null || this.config.format.isEmpty()) { throw new IllegalArgumentException("Format is not specified. Allowed values are DEFAULT, EXCEL, MYSQL," + " RFC4180, PDL & TDF"); } if (!this.config.format.equalsIgnoreCase("DEFAULT") && !this.config.format.equalsIgnoreCase("EXCEL") && !this.config.format.equalsIgnoreCase("MYSQL") && !this.config.format.equalsIgnoreCase("RFC4180") && !this.config.format.equalsIgnoreCase("TDF") && !this.config.format.equalsIgnoreCase("PDL")) { throw new IllegalArgumentException("Format specified is not one of the allowed values. Allowed values are " + "DEFAULT, EXCEL, MYSQL, RFC4180, PDL & TDF"); } Schema inputSchema = configurer.getStageConfigurer().getInputSchema(); if (inputSchema != null) { Schema.Field inputSchemaField = inputSchema.getField(config.field); if (inputSchemaField == null) { throw new IllegalArgumentException( "Field " + config.field + " is not present in the input schema"); } else { if (!inputSchemaField.getSchema().getType().equals(Schema.Type.STRING)) { throw new IllegalArgumentException( "Type for field " + config.field + " must be String"); } } } try { Schema outputSchema = Schema.parseJson(this.config.schema); configurer.getStageConfigurer().setOutputSchema(outputSchema); if (inputSchema != null) { for (Field field : inputSchema.getFields()) { if (outputSchema.getField(field.getName()) != null) { Schema out = outputSchema.getField(field.getName()).getSchema(); Schema in = field.getSchema(); if (!in.equals(out)) { throw new IllegalArgumentException( "Input field '" + field.getName() + "' does not have same output schema as input." ); } } } } } catch (IOException e) { throw new IllegalArgumentException("Format of schema specified is invalid. Please check the format."); } }