public class org.apache.nifi.processors.standard.SegmentContent extends org.apache.nifi.processor.AbstractProcessor
{
public static final java.lang.String SEGMENT_ID;
public static final java.lang.String SEGMENT_INDEX;
public static final java.lang.String SEGMENT_COUNT;
public static final java.lang.String SEGMENT_ORIGINAL_FILENAME;
public static final java.lang.String FRAGMENT_ID;
public static final java.lang.String FRAGMENT_INDEX;
public static final java.lang.String FRAGMENT_COUNT;
public static final org.apache.nifi.components.PropertyDescriptor SIZE;
public static final org.apache.nifi.processor.Relationship REL_SEGMENTS;
public static final org.apache.nifi.processor.Relationship REL_ORIGINAL;
private java.util.Set relationships;
private java.util.List propertyDescriptors;
public void <init>()
{
org.apache.nifi.processors.standard.SegmentContent v;
v := @this: org.apache.nifi.processors.standard.SegmentContent;
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.SegmentContent v;
org.apache.nifi.processor.Relationship v, v;
org.apache.nifi.processor.ProcessorInitializationContext v;
v := @this: org.apache.nifi.processors.standard.SegmentContent;
v := @parameter: org.apache.nifi.processor.ProcessorInitializationContext;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = <org.apache.nifi.processors.standard.SegmentContent: org.apache.nifi.processor.Relationship REL_SEGMENTS>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.SegmentContent: org.apache.nifi.processor.Relationship REL_ORIGINAL>;
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.SegmentContent: java.util.Set relationships> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = <org.apache.nifi.processors.standard.SegmentContent: org.apache.nifi.components.PropertyDescriptor SIZE>;
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.SegmentContent: java.util.List propertyDescriptors> = v;
return;
}
public java.util.Set getRelationships()
{
java.util.Set v;
org.apache.nifi.processors.standard.SegmentContent v;
v := @this: org.apache.nifi.processors.standard.SegmentContent;
v = v.<org.apache.nifi.processors.standard.SegmentContent: java.util.Set relationships>;
return v;
}
protected java.util.List getSupportedPropertyDescriptors()
{
java.util.List v;
org.apache.nifi.processors.standard.SegmentContent v;
v := @this: org.apache.nifi.processors.standard.SegmentContent;
v = v.<org.apache.nifi.processors.standard.SegmentContent: java.util.List propertyDescriptors>;
return v;
}
public void onTrigger(org.apache.nifi.processor.ProcessContext, org.apache.nifi.processor.ProcessSession)
{
java.lang.Integer v, v;
org.apache.nifi.components.PropertyDescriptor v;
org.apache.nifi.processors.standard.SegmentContent v;
byte v, v;
org.apache.nifi.processor.DataUnit v;
java.lang.Object[] v, v;
java.lang.Double v;
long v, v, v, v, v, v, v, v, v, v;
org.apache.nifi.processor.Relationship v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.LinkedHashSet v;
org.apache.nifi.processor.ProcessSession v;
org.apache.nifi.flowfile.attributes.CoreAttributes v;
org.apache.nifi.components.PropertyValue v, v;
org.apache.nifi.flowfile.FlowFile v, v, v, v, v, v, v, v, v, v, v, v;
java.util.UUID v;
java.util.HashMap v;
org.apache.nifi.logging.ComponentLog v, v;
int v, v, v;
org.apache.nifi.processor.ProcessContext v;
v := @this: org.apache.nifi.processors.standard.SegmentContent;
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 = staticinvoke <java.util.UUID: java.util.UUID randomUUID()>();
v = virtualinvoke v.<java.util.UUID: java.lang.String toString()>();
v = <org.apache.nifi.processors.standard.SegmentContent: org.apache.nifi.components.PropertyDescriptor SIZE>;
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.PropertyValue evaluateAttributeExpressions(org.apache.nifi.flowfile.FlowFile)>(v);
v = <org.apache.nifi.processor.DataUnit: org.apache.nifi.processor.DataUnit B>;
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.Double asDataSize(org.apache.nifi.processor.DataUnit)>(v);
v = virtualinvoke v.<java.lang.Double: long longValue()>();
v = <org.apache.nifi.flowfile.attributes.CoreAttributes: org.apache.nifi.flowfile.attributes.CoreAttributes FILENAME>;
v = virtualinvoke v.<org.apache.nifi.flowfile.attributes.CoreAttributes: java.lang.String key()>();
v = interfaceinvoke v.<org.apache.nifi.flowfile.FlowFile: java.lang.String getAttribute(java.lang.String)>(v);
v = interfaceinvoke v.<org.apache.nifi.flowfile.FlowFile: long getSize()>();
v = v cmp v;
if v > 0 goto label;
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, "segment.identifier", v);
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, "segment.index", "1");
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, "segment.count", "1");
v = <org.apache.nifi.processors.standard.SegmentContent: java.lang.String SEGMENT_ORIGINAL_FILENAME>;
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, v, v);
v = <org.apache.nifi.processors.standard.SegmentContent: java.lang.String FRAGMENT_ID>;
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, v, v);
v = <org.apache.nifi.processors.standard.SegmentContent: java.lang.String FRAGMENT_INDEX>;
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, v, "1");
v = <org.apache.nifi.processors.standard.SegmentContent: java.lang.String FRAGMENT_COUNT>;
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, v, "1");
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile clone(org.apache.nifi.flowfile.FlowFile)>(v);
v = <org.apache.nifi.processors.standard.SegmentContent: 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 = <org.apache.nifi.processors.standard.SegmentContent: org.apache.nifi.processor.Relationship REL_SEGMENTS>;
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void transfer(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.Relationship)>(v, v);
return;
label:
v = interfaceinvoke v.<org.apache.nifi.flowfile.FlowFile: long getSize()>();
v = v / v;
v = v * v;
v = interfaceinvoke v.<org.apache.nifi.flowfile.FlowFile: long getSize()>();
v = v cmp v;
if v >= 0 goto label;
v = v + 1;
label:
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("segment.identifier", v);
v = staticinvoke <java.lang.String: java.lang.String valueOf(int)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("segment.count", v);
v = <org.apache.nifi.processors.standard.SegmentContent: java.lang.String SEGMENT_ORIGINAL_FILENAME>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.apache.nifi.processors.standard.SegmentContent: java.lang.String FRAGMENT_ID>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.apache.nifi.processors.standard.SegmentContent: java.lang.String FRAGMENT_COUNT>;
v = staticinvoke <java.lang.String: java.lang.String valueOf(int)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = new java.util.LinkedHashSet;
specialinvoke v.<java.util.LinkedHashSet: void <init>()>();
v = 1;
label:
if v > v goto label;
v = v - 1;
v = v * v;
v = interfaceinvoke v.<org.apache.nifi.flowfile.FlowFile: long getSize()>();
v = v - v;
v = staticinvoke <java.lang.Math: long min(long,long)>(v, v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile clone(org.apache.nifi.flowfile.FlowFile,long,long)>(v, v, v);
v = staticinvoke <java.lang.String: java.lang.String valueOf(int)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("segment.index", v);
v = <org.apache.nifi.processors.standard.SegmentContent: java.lang.String FRAGMENT_INDEX>;
v = staticinvoke <java.lang.String: java.lang.String valueOf(int)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile putAllAttributes(org.apache.nifi.flowfile.FlowFile,java.util.Map)>(v, v);
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
v = <org.apache.nifi.processors.standard.SegmentContent: org.apache.nifi.processor.Relationship REL_SEGMENTS>;
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void transfer(java.util.Collection,org.apache.nifi.processor.Relationship)>(v, v);
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.SegmentContent: 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);
if v > 10 goto label;
v = virtualinvoke v.<org.apache.nifi.processors.standard.SegmentContent: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[3];
v[0] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void info(java.lang.String,java.lang.Object[])>("Segmented {} into {} segments: {}", v);
goto label;
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.SegmentContent: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[2];
v[0] = v;
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[])>("Segmented {} into {} segments", v);
label:
return;
}
static void <clinit>()
{
org.apache.nifi.components.PropertyDescriptor v;
org.apache.nifi.components.PropertyDescriptor$Builder v, v, v, v, v, v, v;
org.apache.nifi.processor.Relationship v, v;
java.lang.String v, v, v, v;
org.apache.nifi.components.Validator v;
org.apache.nifi.flowfile.attributes.FragmentAttributes v, v, v, v;
org.apache.nifi.expression.ExpressionLanguageScope v;
org.apache.nifi.processor.Relationship$Builder v, v, v, v, v, v;
v = <org.apache.nifi.flowfile.attributes.FragmentAttributes: org.apache.nifi.flowfile.attributes.FragmentAttributes SEGMENT_ORIGINAL_FILENAME>;
v = virtualinvoke v.<org.apache.nifi.flowfile.attributes.FragmentAttributes: java.lang.String key()>();
<org.apache.nifi.processors.standard.SegmentContent: java.lang.String SEGMENT_ORIGINAL_FILENAME> = v;
v = <org.apache.nifi.flowfile.attributes.FragmentAttributes: org.apache.nifi.flowfile.attributes.FragmentAttributes FRAGMENT_ID>;
v = virtualinvoke v.<org.apache.nifi.flowfile.attributes.FragmentAttributes: java.lang.String key()>();
<org.apache.nifi.processors.standard.SegmentContent: java.lang.String FRAGMENT_ID> = v;
v = <org.apache.nifi.flowfile.attributes.FragmentAttributes: org.apache.nifi.flowfile.attributes.FragmentAttributes FRAGMENT_INDEX>;
v = virtualinvoke v.<org.apache.nifi.flowfile.attributes.FragmentAttributes: java.lang.String key()>();
<org.apache.nifi.processors.standard.SegmentContent: java.lang.String FRAGMENT_INDEX> = v;
v = <org.apache.nifi.flowfile.attributes.FragmentAttributes: org.apache.nifi.flowfile.attributes.FragmentAttributes FRAGMENT_COUNT>;
v = virtualinvoke v.<org.apache.nifi.flowfile.attributes.FragmentAttributes: java.lang.String key()>();
<org.apache.nifi.processors.standard.SegmentContent: java.lang.String FRAGMENT_COUNT> = 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)>("Segment Size");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("Segment Size");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("The maximum data size in bytes for each segment");
v = <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator DATA_SIZE_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 required(boolean)>(1);
v = <org.apache.nifi.expression.ExpressionLanguageScope: org.apache.nifi.expression.ExpressionLanguageScope FLOWFILE_ATTRIBUTES>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder expressionLanguageSupported(org.apache.nifi.expression.ExpressionLanguageScope)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.SegmentContent: org.apache.nifi.components.PropertyDescriptor SIZE> = 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)>("segments");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship$Builder description(java.lang.String)>("All segments will be sent to this relationship. If the file was small enough that it was not segmented, a copy of the original is sent to this relationship as well as original");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship build()>();
<org.apache.nifi.processors.standard.SegmentContent: org.apache.nifi.processor.Relationship REL_SEGMENTS> = 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 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.SegmentContent: org.apache.nifi.processor.Relationship REL_ORIGINAL> = v;
return;
}
}