public class org.apache.nifi.processors.standard.SplitXml extends org.apache.nifi.processor.AbstractProcessor
{
public static final org.apache.nifi.components.PropertyDescriptor SPLIT_DEPTH;
public static final org.apache.nifi.processor.Relationship REL_ORIGINAL;
public static final org.apache.nifi.processor.Relationship REL_SPLIT;
public static final org.apache.nifi.processor.Relationship REL_FAILURE;
private java.util.List properties;
private java.util.Set relationships;
public void <init>()
{
org.apache.nifi.processors.standard.SplitXml v;
v := @this: org.apache.nifi.processors.standard.SplitXml;
specialinvoke v.<org.apache.nifi.processor.AbstractProcessor: void <init>()>();
return;
}
protected void init(org.apache.nifi.processor.ProcessorInitializationContext)
{
java.util.Set v;
org.apache.nifi.components.PropertyDescriptor v;
java.util.ArrayList v;
java.util.HashSet v;
java.util.List v;
org.apache.nifi.processors.standard.SplitXml v;
org.apache.nifi.processor.Relationship v, v, v;
org.apache.nifi.processor.ProcessorInitializationContext v;
v := @this: org.apache.nifi.processors.standard.SplitXml;
v := @parameter: org.apache.nifi.processor.ProcessorInitializationContext;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = <org.apache.nifi.processors.standard.SplitXml: org.apache.nifi.components.PropertyDescriptor SPLIT_DEPTH>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = staticinvoke <java.util.Collections: java.util.List unmodifiableList(java.util.List)>(v);
v.<org.apache.nifi.processors.standard.SplitXml: java.util.List properties> = v;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = <org.apache.nifi.processors.standard.SplitXml: org.apache.nifi.processor.Relationship REL_ORIGINAL>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.SplitXml: org.apache.nifi.processor.Relationship REL_SPLIT>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.SplitXml: org.apache.nifi.processor.Relationship REL_FAILURE>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = staticinvoke <java.util.Collections: java.util.Set unmodifiableSet(java.util.Set)>(v);
v.<org.apache.nifi.processors.standard.SplitXml: java.util.Set relationships> = v;
return;
}
public java.util.Set getRelationships()
{
java.util.Set v;
org.apache.nifi.processors.standard.SplitXml v;
v := @this: org.apache.nifi.processors.standard.SplitXml;
v = v.<org.apache.nifi.processors.standard.SplitXml: java.util.Set relationships>;
return v;
}
protected java.util.List getSupportedPropertyDescriptors()
{
java.util.List v;
org.apache.nifi.processors.standard.SplitXml v;
v := @this: org.apache.nifi.processors.standard.SplitXml;
v = v.<org.apache.nifi.processors.standard.SplitXml: java.util.List properties>;
return v;
}
public void onTrigger(org.apache.nifi.processor.ProcessContext, org.apache.nifi.processor.ProcessSession)
{
java.lang.Object[] v;
org.apache.nifi.processors.standard.SplitXml$XmlSplitterSaxParser v;
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.nifi.logging.ComponentLog v;
java.lang.Integer v, v;
org.apache.nifi.components.PropertyDescriptor v;
java.util.ArrayList v;
org.apache.nifi.components.PropertyValue v;
java.util.concurrent.atomic.AtomicInteger v;
org.apache.nifi.processor.Relationship v, v;
int v, v, v;
java.lang.String v;
org.apache.nifi.processor.io.InputStreamCallback v;
boolean v;
org.apache.nifi.flowfile.FlowFile v, v;
org.apache.nifi.processor.ProcessContext v;
org.apache.nifi.processor.ProcessSession v;
java.util.UUID v;
org.apache.nifi.processors.standard.util.XmlElementNotifier v;
java.util.function.Consumer v;
org.apache.nifi.processors.standard.SplitXml v;
v := @this: org.apache.nifi.processors.standard.SplitXml;
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 = <org.apache.nifi.processors.standard.SplitXml: org.apache.nifi.components.PropertyDescriptor SPLIT_DEPTH>;
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.Integer asInteger()>();
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.SplitXml: org.apache.nifi.logging.ComponentLog getLogger()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = staticinvoke <java.util.UUID: java.util.UUID randomUUID()>();
v = virtualinvoke v.<java.util.UUID: java.lang.String toString()>();
v = new java.util.concurrent.atomic.AtomicInteger;
specialinvoke v.<java.util.concurrent.atomic.AtomicInteger: void <init>(int)>(0);
v = new org.apache.nifi.processors.standard.SplitXml$XmlSplitterSaxParser;
v = staticinvoke <org.apache.nifi.processors.standard.SplitXml$lambda_onTrigger_1__227: org.apache.nifi.processors.standard.util.XmlElementNotifier bootstrap$(org.apache.nifi.processor.ProcessSession,org.apache.nifi.flowfile.FlowFile,java.lang.String,java.util.concurrent.atomic.AtomicInteger,java.util.List)>(v, v, v, v, v);
specialinvoke v.<org.apache.nifi.processors.standard.SplitXml$XmlSplitterSaxParser: void <init>(org.apache.nifi.processors.standard.util.XmlElementNotifier,int)>(v, v);
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v = staticinvoke <org.apache.nifi.processors.standard.SplitXml$lambda_onTrigger_2__228: org.apache.nifi.processor.io.InputStreamCallback bootstrap$(org.apache.nifi.processors.standard.SplitXml$XmlSplitterSaxParser,org.apache.nifi.logging.ComponentLog,org.apache.nifi.flowfile.FlowFile,java.util.concurrent.atomic.AtomicBoolean)>(v, v, v, v);
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void read(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.io.InputStreamCallback)>(v, v);
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
v = <org.apache.nifi.processors.standard.SplitXml: 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);
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void remove(java.util.Collection)>(v);
goto label;
label:
v = staticinvoke <org.apache.nifi.processors.standard.SplitXml$lambda_onTrigger_3__229: java.util.function.Consumer bootstrap$(org.apache.nifi.processor.ProcessSession,java.util.concurrent.atomic.AtomicInteger)>(v, v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int get()>();
v = staticinvoke <org.apache.nifi.flowfile.attributes.FragmentAttributes: org.apache.nifi.flowfile.FlowFile copyAttributesToOriginal(org.apache.nifi.processor.ProcessSession,org.apache.nifi.flowfile.FlowFile,java.lang.String,int)>(v, v, v, v);
v = <org.apache.nifi.processors.standard.SplitXml: org.apache.nifi.processor.Relationship REL_ORIGINAL>;
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void transfer(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.Relationship)>(v, v);
v = newarray (java.lang.Object)[2];
v[0] = v;
v = interfaceinvoke v.<java.util.List: int size()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void info(java.lang.String,java.lang.Object[])>("Split {} into {} FlowFiles", v);
label:
return;
}
static void <clinit>()
{
org.apache.nifi.components.PropertyDescriptor v;
org.apache.nifi.components.PropertyDescriptor$Builder v, v, v, v, v, v;
org.apache.nifi.processor.Relationship v, v, v;
org.apache.nifi.components.Validator v;
org.apache.nifi.processor.Relationship$Builder v, v, v, v, v, v, v, v, 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)>("Split Depth");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("Indicates the XML-nesting depth to start splitting XML fragments. A depth of 1 means split the root\'s children, whereas a depth of 2 means split the root\'s children\'s children and so forth.");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(1);
v = <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator POSITIVE_INTEGER_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$Builder defaultValue(java.lang.String)>("1");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.SplitXml: org.apache.nifi.components.PropertyDescriptor SPLIT_DEPTH> = 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)>("original");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship$Builder description(java.lang.String)>("The original FlowFile that was split into segments. If the FlowFile fails processing, nothing will be sent to this relationship");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship build()>();
<org.apache.nifi.processors.standard.SplitXml: org.apache.nifi.processor.Relationship REL_ORIGINAL> = 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)>("split");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship$Builder description(java.lang.String)>("All segments of the original FlowFile will be routed to this relationship");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship build()>();
<org.apache.nifi.processors.standard.SplitXml: org.apache.nifi.processor.Relationship REL_SPLIT> = 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)>("If a FlowFile fails processing for any reason (for example, the FlowFile is not valid XML), it will be routed to this relationship");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship build()>();
<org.apache.nifi.processors.standard.SplitXml: org.apache.nifi.processor.Relationship REL_FAILURE> = v;
return;
}
}