public class org.apache.nifi.processors.standard.ValidateJson extends org.apache.nifi.processor.AbstractProcessor
{
public static final java.lang.String ERROR_ATTRIBUTE_KEY;
public static final org.apache.nifi.components.PropertyDescriptor SCHEMA_CONTENT;
public static final org.apache.nifi.components.PropertyDescriptor SCHEMA_VERSION;
public static final java.util.List PROPERTIES;
public static final org.apache.nifi.processor.Relationship REL_VALID;
public static final org.apache.nifi.processor.Relationship REL_INVALID;
public static final org.apache.nifi.processor.Relationship REL_FAILURE;
public static final java.util.Set RELATIONSHIPS;
private static final com.fasterxml.jackson.databind.ObjectMapper MAPPER;
private com.networknt.schema.JsonSchema schema;
public void <init>()
{
org.apache.nifi.processors.standard.ValidateJson v;
v := @this: org.apache.nifi.processors.standard.ValidateJson;
specialinvoke v.<org.apache.nifi.processor.AbstractProcessor: void <init>()>();
return;
}
public java.util.Set getRelationships()
{
java.util.Set v;
org.apache.nifi.processors.standard.ValidateJson v;
v := @this: org.apache.nifi.processors.standard.ValidateJson;
v = <org.apache.nifi.processors.standard.ValidateJson: java.util.Set RELATIONSHIPS>;
return v;
}
public final java.util.List getSupportedPropertyDescriptors()
{
java.util.List v;
org.apache.nifi.processors.standard.ValidateJson v;
v := @this: org.apache.nifi.processors.standard.ValidateJson;
v = <org.apache.nifi.processors.standard.ValidateJson: java.util.List PROPERTIES>;
return v;
}
public void onScheduled(org.apache.nifi.processor.ProcessContext) throws java.io.IOException
{
java.lang.Throwable v;
com.networknt.schema.SpecVersion$VersionFlag v;
org.apache.nifi.processor.ProcessContext v;
org.apache.nifi.processors.standard.ValidateJson v;
org.apache.nifi.processors.standard.ValidateJson$SchemaVersion v;
org.apache.nifi.components.PropertyDescriptor v, v;
org.apache.nifi.components.PropertyValue v, v;
com.networknt.schema.JsonSchemaFactory v;
com.networknt.schema.JsonSchema v;
java.lang.String v;
org.apache.nifi.components.resource.ResourceReference v;
java.io.InputStream v;
v := @this: org.apache.nifi.processors.standard.ValidateJson;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v = <org.apache.nifi.processors.standard.ValidateJson: org.apache.nifi.components.PropertyDescriptor SCHEMA_CONTENT>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: org.apache.nifi.components.resource.ResourceReference asResource()>();
v = interfaceinvoke v.<org.apache.nifi.components.resource.ResourceReference: java.io.InputStream read()>();
label:
v = <org.apache.nifi.processors.standard.ValidateJson: org.apache.nifi.components.PropertyDescriptor SCHEMA_VERSION>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
v = staticinvoke <org.apache.nifi.processors.standard.ValidateJson$SchemaVersion: org.apache.nifi.processors.standard.ValidateJson$SchemaVersion valueOf(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.ValidateJson$SchemaVersion: com.networknt.schema.SpecVersion$VersionFlag getVersionFlag()>();
v = staticinvoke <com.networknt.schema.JsonSchemaFactory: com.networknt.schema.JsonSchemaFactory getInstance(com.networknt.schema.SpecVersion$VersionFlag)>(v);
v = virtualinvoke v.<com.networknt.schema.JsonSchemaFactory: com.networknt.schema.JsonSchema getSchema(java.io.InputStream)>(v);
v.<org.apache.nifi.processors.standard.ValidateJson: com.networknt.schema.JsonSchema schema> = v;
label:
if v == null goto label;
virtualinvoke v.<java.io.InputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void onTrigger(org.apache.nifi.processor.ProcessContext, org.apache.nifi.processor.ProcessSession) throws org.apache.nifi.processor.exception.ProcessException
{
java.lang.Throwable v;
java.lang.Object[] v, v, v;
org.apache.nifi.processors.standard.ValidateJson v;
org.apache.nifi.logging.ComponentLog v, v, v;
org.apache.nifi.provenance.ProvenanceReporter v, v, v;
org.apache.nifi.processor.Relationship v, v, v, v, v, v;
com.fasterxml.jackson.databind.JsonNode v;
java.lang.String v;
boolean v;
org.apache.nifi.flowfile.FlowFile v;
com.fasterxml.jackson.databind.ObjectMapper v;
org.apache.nifi.processor.ProcessContext v;
java.util.Set v;
org.apache.nifi.processor.ProcessSession v;
java.lang.Exception v;
com.networknt.schema.JsonSchema v;
java.io.InputStream v;
v := @this: org.apache.nifi.processors.standard.ValidateJson;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v := @parameter: org.apache.nifi.processor.ProcessSession;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile get()>();
if v != null goto label;
return;
label:
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: java.io.InputStream read(org.apache.nifi.flowfile.FlowFile)>(v);
label:
v = <org.apache.nifi.processors.standard.ValidateJson: com.fasterxml.jackson.databind.ObjectMapper MAPPER>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.JsonNode readTree(java.io.InputStream)>(v);
v = v.<org.apache.nifi.processors.standard.ValidateJson: com.networknt.schema.JsonSchema schema>;
v = virtualinvoke v.<com.networknt.schema.JsonSchema: java.util.Set validate(com.fasterxml.jackson.databind.JsonNode)>(v);
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.nifi.processors.standard.ValidateJson: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[1];
v[0] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("JSON {} valid", v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.provenance.ProvenanceReporter getProvenanceReporter()>();
v = <org.apache.nifi.processors.standard.ValidateJson: org.apache.nifi.processor.Relationship REL_VALID>;
interfaceinvoke v.<org.apache.nifi.provenance.ProvenanceReporter: void route(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.Relationship)>(v, v);
v = <org.apache.nifi.processors.standard.ValidateJson: org.apache.nifi.processor.Relationship REL_VALID>;
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void transfer(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.Relationship)>(v, v);
goto label;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile putAttribute(org.apache.nifi.flowfile.FlowFile,java.lang.String,java.lang.String)>(v, "json.validation.errors", v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.ValidateJson: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void warn(java.lang.String,java.lang.Object[])>("JSON {} invalid: Validation Errors {}", v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.provenance.ProvenanceReporter getProvenanceReporter()>();
v = <org.apache.nifi.processors.standard.ValidateJson: org.apache.nifi.processor.Relationship REL_INVALID>;
interfaceinvoke v.<org.apache.nifi.provenance.ProvenanceReporter: void route(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.Relationship)>(v, v);
v = <org.apache.nifi.processors.standard.ValidateJson: org.apache.nifi.processor.Relationship REL_INVALID>;
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void transfer(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.Relationship)>(v, v);
label:
if v == null goto label;
virtualinvoke v.<java.io.InputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.nifi.processors.standard.ValidateJson: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void error(java.lang.String,java.lang.Object[])>("JSON processing failed {}", v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.provenance.ProvenanceReporter getProvenanceReporter()>();
v = <org.apache.nifi.processors.standard.ValidateJson: org.apache.nifi.processor.Relationship REL_FAILURE>;
interfaceinvoke v.<org.apache.nifi.provenance.ProvenanceReporter: void route(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.Relationship)>(v, v);
v = <org.apache.nifi.processors.standard.ValidateJson: org.apache.nifi.processor.Relationship REL_FAILURE>;
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void transfer(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.Relationship)>(v, v);
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Exception from label to label with label;
}
static void <clinit>()
{
org.apache.nifi.components.resource.ResourceType[] v;
org.apache.nifi.processors.standard.ValidateJson$SchemaVersion v;
org.apache.nifi.components.PropertyDescriptor v, v, v, v;
org.apache.nifi.components.PropertyDescriptor$Builder v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.nifi.components.resource.ResourceCardinality v;
org.apache.nifi.components.resource.ResourceType v, v, v;
java.util.Set v;
java.util.List v, v, v;
org.apache.nifi.processor.Relationship[] v;
java.util.HashSet v;
com.fasterxml.jackson.core.JsonParser$Feature v;
org.apache.nifi.processor.Relationship v, v, v, v, v, v;
java.lang.String v;
org.apache.nifi.components.Validator v;
com.fasterxml.jackson.databind.ObjectMapper v, v;
org.apache.nifi.processor.Relationship$Builder v, v, v, v, v, v, v, v, v;
org.apache.nifi.components.PropertyDescriptor[] v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("JSON Schema");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("JSON Schema");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("The content of a JSON Schema");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(1);
v = <org.apache.nifi.components.resource.ResourceCardinality: org.apache.nifi.components.resource.ResourceCardinality SINGLE>;
v = <org.apache.nifi.components.resource.ResourceType: org.apache.nifi.components.resource.ResourceType FILE>;
v = newarray (org.apache.nifi.components.resource.ResourceType)[2];
v = <org.apache.nifi.components.resource.ResourceType: org.apache.nifi.components.resource.ResourceType URL>;
v[0] = v;
v = <org.apache.nifi.components.resource.ResourceType: org.apache.nifi.components.resource.ResourceType TEXT>;
v[1] = v;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder identifiesExternalResource(org.apache.nifi.components.resource.ResourceCardinality,org.apache.nifi.components.resource.ResourceType,org.apache.nifi.components.resource.ResourceType[])>(v, v, v);
v = <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator NON_BLANK_VALIDATOR>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.ValidateJson: org.apache.nifi.components.PropertyDescriptor SCHEMA_CONTENT> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("Schema Version");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("Schema Version");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("The JSON schema specification");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(1);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder allowableValues(java.lang.Class)>(class "Lorg/apache/nifi/processors/standard/ValidateJson$SchemaVersion;");
v = <org.apache.nifi.processors.standard.ValidateJson$SchemaVersion: org.apache.nifi.processors.standard.ValidateJson$SchemaVersion DRAFT_2020_12>;
v = virtualinvoke v.<org.apache.nifi.processors.standard.ValidateJson$SchemaVersion: java.lang.String getValue()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder defaultValue(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.ValidateJson: org.apache.nifi.components.PropertyDescriptor SCHEMA_VERSION> = v;
v = newarray (org.apache.nifi.components.PropertyDescriptor)[2];
v = <org.apache.nifi.processors.standard.ValidateJson: org.apache.nifi.components.PropertyDescriptor SCHEMA_CONTENT>;
v[0] = v;
v = <org.apache.nifi.processors.standard.ValidateJson: org.apache.nifi.components.PropertyDescriptor SCHEMA_VERSION>;
v[1] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = staticinvoke <java.util.Collections: java.util.List unmodifiableList(java.util.List)>(v);
<org.apache.nifi.processors.standard.ValidateJson: java.util.List PROPERTIES> = v;
v = new org.apache.nifi.processor.Relationship$Builder;
specialinvoke v.<org.apache.nifi.processor.Relationship$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship$Builder name(java.lang.String)>("valid");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship$Builder description(java.lang.String)>("FlowFiles that are successfully validated against the schema are routed to this relationship");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship build()>();
<org.apache.nifi.processors.standard.ValidateJson: org.apache.nifi.processor.Relationship REL_VALID> = v;
v = new org.apache.nifi.processor.Relationship$Builder;
specialinvoke v.<org.apache.nifi.processor.Relationship$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship$Builder name(java.lang.String)>("invalid");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship$Builder description(java.lang.String)>("FlowFiles that are not valid according to the specified schema are routed to this relationship");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship build()>();
<org.apache.nifi.processors.standard.ValidateJson: org.apache.nifi.processor.Relationship REL_INVALID> = v;
v = new org.apache.nifi.processor.Relationship$Builder;
specialinvoke v.<org.apache.nifi.processor.Relationship$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship$Builder name(java.lang.String)>("failure");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship$Builder description(java.lang.String)>("FlowFiles that cannot be read as JSON are routed to this relationship");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship build()>();
<org.apache.nifi.processors.standard.ValidateJson: org.apache.nifi.processor.Relationship REL_FAILURE> = v;
v = new java.util.HashSet;
v = newarray (org.apache.nifi.processor.Relationship)[3];
v = <org.apache.nifi.processors.standard.ValidateJson: org.apache.nifi.processor.Relationship REL_VALID>;
v[0] = v;
v = <org.apache.nifi.processors.standard.ValidateJson: org.apache.nifi.processor.Relationship REL_INVALID>;
v[1] = v;
v = <org.apache.nifi.processors.standard.ValidateJson: org.apache.nifi.processor.Relationship REL_FAILURE>;
v[2] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<java.util.HashSet: void <init>(java.util.Collection)>(v);
v = staticinvoke <java.util.Collections: java.util.Set unmodifiableSet(java.util.Set)>(v);
<org.apache.nifi.processors.standard.ValidateJson: java.util.Set RELATIONSHIPS> = v;
v = new com.fasterxml.jackson.databind.ObjectMapper;
specialinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: void <init>()>();
<org.apache.nifi.processors.standard.ValidateJson: com.fasterxml.jackson.databind.ObjectMapper MAPPER> = v;
v = <org.apache.nifi.processors.standard.ValidateJson: com.fasterxml.jackson.databind.ObjectMapper MAPPER>;
v = <com.fasterxml.jackson.core.JsonParser$Feature: com.fasterxml.jackson.core.JsonParser$Feature ALLOW_COMMENTS>;
virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.ObjectMapper configure(com.fasterxml.jackson.core.JsonParser$Feature,boolean)>(v, 1);
return;
}
}