public class org.apache.nifi.processors.standard.PutFile extends org.apache.nifi.processor.AbstractProcessor
{
public static final java.lang.String REPLACE_RESOLUTION;
public static final java.lang.String IGNORE_RESOLUTION;
public static final java.lang.String FAIL_RESOLUTION;
public static final java.lang.String FILE_MODIFY_DATE_ATTRIBUTE;
public static final java.lang.String FILE_MODIFY_DATE_ATTR_FORMAT;
public static final java.util.regex.Pattern RWX_PATTERN;
public static final java.util.regex.Pattern NUM_PATTERN;
private static final org.apache.nifi.components.Validator PERMISSIONS_VALIDATOR;
public static final org.apache.nifi.components.PropertyDescriptor DIRECTORY;
public static final org.apache.nifi.components.PropertyDescriptor MAX_DESTINATION_FILES;
public static final org.apache.nifi.components.PropertyDescriptor CONFLICT_RESOLUTION;
public static final org.apache.nifi.components.PropertyDescriptor CHANGE_LAST_MODIFIED_TIME;
public static final org.apache.nifi.components.PropertyDescriptor CHANGE_PERMISSIONS;
public static final org.apache.nifi.components.PropertyDescriptor CHANGE_OWNER;
public static final org.apache.nifi.components.PropertyDescriptor CHANGE_GROUP;
public static final org.apache.nifi.components.PropertyDescriptor CREATE_DIRS;
public static final int MAX_FILE_LOCK_ATTEMPTS;
public static final org.apache.nifi.processor.Relationship REL_SUCCESS;
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.PutFile v;
v := @this: org.apache.nifi.processors.standard.PutFile;
specialinvoke v.<org.apache.nifi.processor.AbstractProcessor: void <init>()>();
return;
}
protected void init(org.apache.nifi.processor.ProcessorInitializationContext)
{
org.apache.nifi.components.PropertyDescriptor v, v, v, v, v, v, v, v;
java.util.ArrayList v;
java.util.HashSet v;
org.apache.nifi.processor.Relationship v, v;
java.util.Set v;
java.util.List v;
org.apache.nifi.processors.standard.PutFile v;
org.apache.nifi.processor.ProcessorInitializationContext v;
v := @this: org.apache.nifi.processors.standard.PutFile;
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.PutFile: org.apache.nifi.processor.Relationship REL_SUCCESS>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.PutFile: 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.PutFile: java.util.Set relationships> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = <org.apache.nifi.processors.standard.PutFile: org.apache.nifi.components.PropertyDescriptor DIRECTORY>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.PutFile: org.apache.nifi.components.PropertyDescriptor CONFLICT_RESOLUTION>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.PutFile: org.apache.nifi.components.PropertyDescriptor CREATE_DIRS>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.PutFile: org.apache.nifi.components.PropertyDescriptor MAX_DESTINATION_FILES>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.PutFile: org.apache.nifi.components.PropertyDescriptor CHANGE_LAST_MODIFIED_TIME>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.PutFile: org.apache.nifi.components.PropertyDescriptor CHANGE_PERMISSIONS>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.PutFile: org.apache.nifi.components.PropertyDescriptor CHANGE_OWNER>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.PutFile: org.apache.nifi.components.PropertyDescriptor CHANGE_GROUP>;
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.PutFile: java.util.List properties> = v;
return;
}
public java.util.Set getRelationships()
{
java.util.Set v;
org.apache.nifi.processors.standard.PutFile v;
v := @this: org.apache.nifi.processors.standard.PutFile;
v = v.<org.apache.nifi.processors.standard.PutFile: java.util.Set relationships>;
return v;
}
protected java.util.List getSupportedPropertyDescriptors()
{
java.util.List v;
org.apache.nifi.processors.standard.PutFile v;
v := @this: org.apache.nifi.processors.standard.PutFile;
v = v.<org.apache.nifi.processors.standard.PutFile: java.util.List properties>;
return v;
}
public void onTrigger(org.apache.nifi.processor.ProcessContext, org.apache.nifi.processor.ProcessSession)
{
java.lang.Integer v;
byte v, v;
java.lang.Long v;
java.nio.file.Path v, v, v, v, v, v, v, v;
org.apache.nifi.util.StopWatch v;
java.lang.Object[] v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
long v, v, v;
java.nio.file.attribute.UserPrincipal v, v;
org.apache.nifi.processor.Relationship v, v, v, v, v, v, v;
org.apache.nifi.processor.ProcessSession v;
java.nio.file.attribute.UserPrincipalLookupService v, v, v, v;
org.apache.nifi.processors.standard.PutFile v;
org.apache.nifi.flowfile.attributes.CoreAttributes v;
java.util.Date v;
org.apache.nifi.components.PropertyValue v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.Locale v;
java.nio.file.FileSystem v, v, v, v;
int v, v, v;
java.lang.Boolean v;
org.apache.nifi.components.PropertyDescriptor v, v, v, v, v, v, v, v;
java.nio.file.attribute.FileAttribute[] v, v, v;
java.util.Set v, v;
java.nio.file.attribute.FileAttribute v;
java.lang.Exception v, v, v, v, v, v, v, v;
java.lang.Throwable v;
java.text.SimpleDateFormat v;
java.nio.file.attribute.GroupPrincipal v, v;
org.apache.nifi.provenance.ProvenanceReporter v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.nio.file.LinkOption[] v, v, v, v, v, v, v;
java.io.File v, v, v, v, v;
java.net.URI v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.nifi.flowfile.FlowFile v, v;
java.nio.file.attribute.FileAttributeView v, v;
java.lang.String[] v;
org.apache.nifi.logging.ComponentLog v;
org.apache.nifi.processor.exception.ProcessException v;
org.apache.nifi.processor.ProcessContext v;
java.util.concurrent.TimeUnit v;
v := @this: org.apache.nifi.processors.standard.PutFile;
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 = new org.apache.nifi.util.StopWatch;
specialinvoke v.<org.apache.nifi.util.StopWatch: void <init>(boolean)>(1);
v = <org.apache.nifi.processors.standard.PutFile: org.apache.nifi.components.PropertyDescriptor DIRECTORY>;
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 = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
v = newarray (java.lang.String)[0];
v = staticinvoke <java.nio.file.Paths: java.nio.file.Path get(java.lang.String,java.lang.String[])>(v, v);
v = <org.apache.nifi.processors.standard.PutFile: org.apache.nifi.components.PropertyDescriptor CONFLICT_RESOLUTION>;
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 = <org.apache.nifi.processors.standard.PutFile: org.apache.nifi.components.PropertyDescriptor MAX_DESTINATION_FILES>;
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.<org.apache.nifi.processors.standard.PutFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = null;
label:
v = interfaceinvoke v.<java.nio.file.Path: java.nio.file.Path toAbsolutePath()>();
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 = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>(".\u0001");
v = interfaceinvoke v.<java.nio.file.Path: java.nio.file.Path resolve(java.lang.String)>(v);
v = interfaceinvoke v.<java.nio.file.Path: java.nio.file.Path resolve(java.lang.String)>(v);
v = <org.apache.nifi.processors.standard.PutFile: org.apache.nifi.components.PropertyDescriptor CHANGE_PERMISSIONS>;
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 = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
v = <org.apache.nifi.processors.standard.PutFile: org.apache.nifi.components.PropertyDescriptor CHANGE_OWNER>;
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 = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
v = <org.apache.nifi.processors.standard.PutFile: org.apache.nifi.components.PropertyDescriptor CHANGE_GROUP>;
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 = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
v = newarray (java.nio.file.LinkOption)[0];
v = staticinvoke <java.nio.file.Files: boolean exists(java.nio.file.Path,java.nio.file.LinkOption[])>(v, v);
if v != 0 goto label;
v = <org.apache.nifi.processors.standard.PutFile: org.apache.nifi.components.PropertyDescriptor CREATE_DIRS>;
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.Boolean asBoolean()>();
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
v = v;
label:
v = newarray (java.nio.file.LinkOption)[0];
v = staticinvoke <java.nio.file.Files: boolean exists(java.nio.file.Path,java.nio.file.LinkOption[])>(v, v);
if v != 0 goto label;
v = interfaceinvoke v.<java.nio.file.Path: java.nio.file.Path getParent()>();
goto label;
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.PutFile: java.lang.String stringPermissions(java.lang.String,boolean)>(v, 1);
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = newarray (java.nio.file.attribute.FileAttribute)[1];
v = staticinvoke <java.nio.file.attribute.PosixFilePermissions: java.util.Set fromString(java.lang.String)>(v);
v = staticinvoke <java.nio.file.attribute.PosixFilePermissions: java.nio.file.attribute.FileAttribute asFileAttribute(java.util.Set)>(v);
v[0] = v;
staticinvoke <java.nio.file.Files: java.nio.file.Path createDirectories(java.nio.file.Path,java.nio.file.attribute.FileAttribute[])>(v, v);
goto label;
label:
v = newarray (java.nio.file.attribute.FileAttribute)[0];
staticinvoke <java.nio.file.Files: java.nio.file.Path createDirectories(java.nio.file.Path,java.nio.file.attribute.FileAttribute[])>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile penalize(org.apache.nifi.flowfile.FlowFile)>(v);
v = <org.apache.nifi.processors.standard.PutFile: 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);
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[])>("Could not set create directory with permissions {} because {}", v);
label:
return;
label:
v = newarray (java.nio.file.attribute.FileAttribute)[0];
staticinvoke <java.nio.file.Files: java.nio.file.Path createDirectories(java.nio.file.Path,java.nio.file.attribute.FileAttribute[])>(v, v);
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v != 0 goto label;
if v == 0 goto label;
label:
v = v;
label:
v = interfaceinvoke v.<java.nio.file.Path: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
if v == 0 goto label;
label:
v = interfaceinvoke v.<java.nio.file.Path: java.nio.file.FileSystem getFileSystem()>();
v = virtualinvoke v.<java.nio.file.FileSystem: java.nio.file.attribute.UserPrincipalLookupService getUserPrincipalLookupService()>();
v = virtualinvoke v.<java.nio.file.attribute.UserPrincipalLookupService: java.nio.file.attribute.UserPrincipal lookupPrincipalByName(java.lang.String)>(v);
staticinvoke <java.nio.file.Files: java.nio.file.Path setOwner(java.nio.file.Path,java.nio.file.attribute.UserPrincipal)>(v, v);
label:
goto label;
label:
v := @caughtexception;
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[])>("Could not set directory owner to {} because {}", v);
label:
if v == 0 goto label;
label:
v = interfaceinvoke v.<java.nio.file.Path: java.nio.file.FileSystem getFileSystem()>();
v = virtualinvoke v.<java.nio.file.FileSystem: java.nio.file.attribute.UserPrincipalLookupService getUserPrincipalLookupService()>();
v = newarray (java.nio.file.LinkOption)[0];
v = staticinvoke <java.nio.file.Files: java.nio.file.attribute.FileAttributeView getFileAttributeView(java.nio.file.Path,java.lang.Class,java.nio.file.LinkOption[])>(v, class "Ljava/nio/file/attribute/PosixFileAttributeView;", v);
v = virtualinvoke v.<java.nio.file.attribute.UserPrincipalLookupService: java.nio.file.attribute.GroupPrincipal lookupPrincipalByGroupName(java.lang.String)>(v);
interfaceinvoke v.<java.nio.file.attribute.PosixFileAttributeView: void setGroup(java.nio.file.attribute.GroupPrincipal)>(v);
label:
goto label;
label:
v := @caughtexception;
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[])>("Could not set file group to {} because {}", v);
label:
v = interfaceinvoke v.<java.nio.file.Path: java.nio.file.Path getParent()>();
goto label;
label:
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile penalize(org.apache.nifi.flowfile.FlowFile)>(v);
v = <org.apache.nifi.processors.standard.PutFile: 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);
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[])>("Penalizing {} and routing to \'failure\' because the output directory {} does not exist and Processor is configured not to create missing directories", v);
label:
return;
label:
v = v;
v = interfaceinvoke v.<java.nio.file.Path: java.nio.file.Path getParent()>();
v = newarray (java.nio.file.LinkOption)[0];
v = staticinvoke <java.nio.file.Files: boolean exists(java.nio.file.Path,java.nio.file.LinkOption[])>(v, v);
if v == 0 goto label;
if v == null goto label;
v = specialinvoke v.<org.apache.nifi.processors.standard.PutFile: long getFilesNumberInFolder(java.nio.file.Path,java.lang.String)>(v, v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = v cmp v;
if v < 0 goto label;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile penalize(org.apache.nifi.flowfile.FlowFile)>(v);
v = newarray (java.lang.Object)[3];
v[0] = v;
v[1] = v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[2] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void warn(java.lang.String,java.lang.Object[])>("Penalizing {} and routing to \'failure\' because the output directory {} has {} files, which exceeds the configured maximum number of files", v);
v = <org.apache.nifi.processors.standard.PutFile: 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;
label:
v = newarray (java.nio.file.LinkOption)[0];
v = staticinvoke <java.nio.file.Files: boolean exists(java.nio.file.Path,java.nio.file.LinkOption[])>(v, v);
if v == 0 goto label;
v = -1;
v = virtualinvoke v.<java.lang.String: int hashCode()>();
lookupswitch(v)
{
case -1190396462: goto label;
case 3135262: goto label;
case 1094496948: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("replace");
if v == 0 goto label;
v = 0;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("ignore");
if v == 0 goto label;
v = 1;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("fail");
if v == 0 goto label;
v = 2;
label:
tableswitch(v)
{
case 0: goto label;
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
staticinvoke <java.nio.file.Files: void delete(java.nio.file.Path)>(v);
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void info(java.lang.String,java.lang.Object[])>("Deleted {} as configured in order to replace with the contents of {}", v);
goto label;
label:
v = <org.apache.nifi.processors.standard.PutFile: org.apache.nifi.processor.Relationship REL_SUCCESS>;
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)[1];
v[0] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void info(java.lang.String,java.lang.Object[])>("Transferring {} to success because file with same name already exists", v);
label:
return;
label:
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile penalize(org.apache.nifi.flowfile.FlowFile)>(v);
v = newarray (java.lang.Object)[1];
v[0] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void warn(java.lang.String,java.lang.Object[])>("Penalizing {} and routing to failure as configured because file with the same name already exists", v);
v = <org.apache.nifi.processors.standard.PutFile: 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;
label:
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void exportTo(org.apache.nifi.flowfile.FlowFile,java.nio.file.Path,boolean)>(v, v, 0);
v = <org.apache.nifi.processors.standard.PutFile: org.apache.nifi.components.PropertyDescriptor CHANGE_LAST_MODIFIED_TIME>;
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 = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
label:
v = new java.text.SimpleDateFormat;
v = <java.util.Locale: java.util.Locale US>;
specialinvoke v.<java.text.SimpleDateFormat: void <init>(java.lang.String,java.util.Locale)>("yyyy-MM-dd\'T\'HH:mm:ssZ", v);
v = virtualinvoke v.<java.text.DateFormat: java.util.Date parse(java.lang.String)>(v);
v = interfaceinvoke v.<java.nio.file.Path: java.io.File toFile()>();
v = virtualinvoke v.<java.util.Date: long getTime()>();
virtualinvoke v.<java.io.File: boolean setLastModified(long)>(v);
label:
goto label;
label:
v := @caughtexception;
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[])>("Could not set file lastModifiedTime to {} because {}", v);
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.PutFile: java.lang.String stringPermissions(java.lang.String,boolean)>(v, 0);
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = staticinvoke <java.nio.file.attribute.PosixFilePermissions: java.util.Set fromString(java.lang.String)>(v);
staticinvoke <java.nio.file.Files: java.nio.file.Path setPosixFilePermissions(java.nio.file.Path,java.util.Set)>(v, v);
label:
goto label;
label:
v := @caughtexception;
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[])>("Could not set file permissions to {} because {}", v);
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
label:
v = interfaceinvoke v.<java.nio.file.Path: java.nio.file.FileSystem getFileSystem()>();
v = virtualinvoke v.<java.nio.file.FileSystem: java.nio.file.attribute.UserPrincipalLookupService getUserPrincipalLookupService()>();
v = virtualinvoke v.<java.nio.file.attribute.UserPrincipalLookupService: java.nio.file.attribute.UserPrincipal lookupPrincipalByName(java.lang.String)>(v);
staticinvoke <java.nio.file.Files: java.nio.file.Path setOwner(java.nio.file.Path,java.nio.file.attribute.UserPrincipal)>(v, v);
label:
goto label;
label:
v := @caughtexception;
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[])>("Could not set file owner to {} because {}", v);
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
label:
v = interfaceinvoke v.<java.nio.file.Path: java.nio.file.FileSystem getFileSystem()>();
v = virtualinvoke v.<java.nio.file.FileSystem: java.nio.file.attribute.UserPrincipalLookupService getUserPrincipalLookupService()>();
v = newarray (java.nio.file.LinkOption)[0];
v = staticinvoke <java.nio.file.Files: java.nio.file.attribute.FileAttributeView getFileAttributeView(java.nio.file.Path,java.lang.Class,java.nio.file.LinkOption[])>(v, class "Ljava/nio/file/attribute/PosixFileAttributeView;", v);
v = virtualinvoke v.<java.nio.file.attribute.UserPrincipalLookupService: java.nio.file.attribute.GroupPrincipal lookupPrincipalByGroupName(java.lang.String)>(v);
interfaceinvoke v.<java.nio.file.attribute.PosixFileAttributeView: void setGroup(java.nio.file.attribute.GroupPrincipal)>(v);
label:
goto label;
label:
v := @caughtexception;
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[])>("Could not set file group to {} because {}", v);
label:
v = 0;
v = 0;
label:
if v >= 10 goto label;
v = interfaceinvoke v.<java.nio.file.Path: java.io.File toFile()>();
v = interfaceinvoke v.<java.nio.file.Path: java.io.File toFile()>();
v = virtualinvoke v.<java.io.File: boolean renameTo(java.io.File)>(v);
if v == 0 goto label;
v = 1;
goto label;
label:
staticinvoke <java.lang.Thread: void sleep(long)>(100L);
v = v + 1;
goto label;
label:
if v != 0 goto label;
v = newarray (java.nio.file.LinkOption)[0];
v = staticinvoke <java.nio.file.Files: boolean exists(java.nio.file.Path,java.nio.file.LinkOption[])>(v, v);
if v == 0 goto label;
v = interfaceinvoke v.<java.nio.file.Path: java.io.File toFile()>();
v = virtualinvoke v.<java.io.File: boolean delete()>();
if v == 0 goto label;
v = newarray (java.lang.Object)[1];
v[0] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Deleted dot copy file {}", v);
label:
v = new org.apache.nifi.processor.exception.ProcessException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.nio.file.Path)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Could not rename: \u0001");
specialinvoke v.<org.apache.nifi.processor.exception.ProcessException: void <init>(java.lang.String)>(v);
throw v;
label:
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void info(java.lang.String,java.lang.Object[])>("Produced copy of {} at location {}", v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.provenance.ProvenanceReporter getProvenanceReporter()>();
v = interfaceinvoke v.<java.nio.file.Path: java.io.File toFile()>();
v = virtualinvoke v.<java.io.File: java.net.URI toURI()>();
v = virtualinvoke v.<java.net.URI: java.lang.String toString()>();
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = virtualinvoke v.<org.apache.nifi.util.StopWatch: long getElapsed(java.util.concurrent.TimeUnit)>(v);
interfaceinvoke v.<org.apache.nifi.provenance.ProvenanceReporter: void send(org.apache.nifi.flowfile.FlowFile,java.lang.String,long)>(v, v, v);
v = <org.apache.nifi.processors.standard.PutFile: org.apache.nifi.processor.Relationship REL_SUCCESS>;
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void transfer(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.Relationship)>(v, v);
label:
goto label;
label:
v := @caughtexception;
if v == null goto label;
label:
staticinvoke <java.nio.file.Files: boolean deleteIfExists(java.nio.file.Path)>(v);
label:
goto label;
label:
v := @caughtexception;
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[])>("Unable to remove temporary file {} due to {}", v);
label:
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile penalize(org.apache.nifi.flowfile.FlowFile)>(v);
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[])>("Penalizing {} and transferring to failure due to {}", v);
v = <org.apache.nifi.processors.standard.PutFile: 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.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Exception from label to label with label;
}
private long getFilesNumberInFolder(java.nio.file.Path, java.lang.String)
{
java.util.function.Predicate v;
java.lang.String[] v;
long v;
java.io.File v;
java.util.stream.Stream v, v;
java.lang.String v;
org.apache.nifi.processors.standard.PutFile v;
java.nio.file.Path v;
v := @this: org.apache.nifi.processors.standard.PutFile;
v := @parameter: java.nio.file.Path;
v := @parameter: java.lang.String;
v = interfaceinvoke v.<java.nio.file.Path: java.io.File toFile()>();
v = virtualinvoke v.<java.io.File: java.lang.String[] list()>();
v = staticinvoke <java.util.Arrays: java.util.stream.Stream stream(java.lang.Object[])>(v);
v = staticinvoke <org.apache.nifi.processors.standard.PutFile$lambda_getFilesNumberInFolder_0__175: java.util.function.Predicate bootstrap$(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: long count()>();
return v;
}
protected java.lang.String stringPermissions(java.lang.String, boolean)
{
java.util.regex.Matcher v, v;
boolean v, v, v, v, v, v;
java.lang.StringBuilder v, v;
java.util.regex.Pattern v, v;
int v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v;
java.lang.NumberFormatException v;
org.apache.nifi.processors.standard.PutFile v;
v := @this: org.apache.nifi.processors.standard.PutFile;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v = "";
v = <org.apache.nifi.processors.standard.PutFile: java.util.regex.Pattern RWX_PATTERN>;
v = virtualinvoke v.<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>(v);
v = virtualinvoke v.<java.util.regex.Matcher: boolean matches()>();
if v == 0 goto label;
if v == 0 goto label;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("$1");
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(1);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("--");
if v == 0 goto label;
v = "$2";
goto label;
label:
v = "x";
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("$3");
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(3);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("--");
if v == 0 goto label;
v = "$4";
goto label;
label:
v = "x";
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("$5");
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(5);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("--");
if v == 0 goto label;
v = "$6";
goto label;
label:
v = "x";
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String replaceAll(java.lang.String)>(v);
goto label;
label:
v = v;
goto label;
label:
v = <org.apache.nifi.processors.standard.PutFile: java.util.regex.Pattern NUM_PATTERN>;
v = virtualinvoke v.<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>(v);
v = virtualinvoke v.<java.util.regex.Matcher: boolean matches()>();
if v == 0 goto label;
label:
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String,int)>(v, 8);
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = v & 256;
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(114);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(45);
label:
v = v & 128;
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(119);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(45);
label:
if v != 0 goto label;
v = v & 64;
if v <= 0 goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(120);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(45);
label:
v = v & 32;
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(114);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(45);
label:
v = v & 16;
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(119);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(45);
label:
v = v & 8;
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(120);
goto label;
label:
if v == 0 goto label;
v = v & 48;
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(120);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(45);
label:
v = v & 4;
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(114);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(45);
label:
v = v & 2;
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(119);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(45);
label:
v = v & 1;
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(120);
goto label;
label:
if v == 0 goto label;
v = v & 6;
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(120);
goto label;
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(45);
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
label:
goto label;
label:
v := @caughtexception;
label:
return v;
catch java.lang.NumberFormatException from label to label with label;
}
static void <clinit>()
{
org.apache.nifi.components.PropertyDescriptor v, v, v, v, v, v, v, v;
org.apache.nifi.processor.Relationship v, v;
org.apache.nifi.processors.standard.PutFile$1 v;
org.apache.nifi.components.PropertyDescriptor$Builder v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.nifi.expression.ExpressionLanguageScope v, v, v, v, v;
java.util.regex.Pattern v, v;
java.lang.String[] v, v;
org.apache.nifi.components.Validator v, v, v, v, v, v;
org.apache.nifi.processor.Relationship$Builder v, v, v, v, v, v;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("^([r-][w-])([x-])([r-][w-])([x-])([r-][w-])([x-])$");
<org.apache.nifi.processors.standard.PutFile: java.util.regex.Pattern RWX_PATTERN> = v;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("^[0-7]{3}$");
<org.apache.nifi.processors.standard.PutFile: java.util.regex.Pattern NUM_PATTERN> = v;
v = new org.apache.nifi.processors.standard.PutFile$1;
specialinvoke v.<org.apache.nifi.processors.standard.PutFile$1: void <init>()>();
<org.apache.nifi.processors.standard.PutFile: org.apache.nifi.components.Validator PERMISSIONS_VALIDATOR> = 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)>("Directory");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("The directory to which files should be written. You may use expression language such as /aa/bb/${path}");
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 NON_EMPTY_VALIDATOR>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
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.PutFile: org.apache.nifi.components.PropertyDescriptor DIRECTORY> = 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)>("Maximum File Count");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("Specifies the maximum number of files that can exist in the output directory");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(0);
v = <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator 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 build()>();
<org.apache.nifi.processors.standard.PutFile: org.apache.nifi.components.PropertyDescriptor MAX_DESTINATION_FILES> = 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)>("Conflict Resolution Strategy");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("Indicates what should happen when a file with the same name already exists in the output directory");
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 defaultValue(java.lang.String)>("fail");
v = newarray (java.lang.String)[3];
v[0] = "replace";
v[1] = "ignore";
v[2] = "fail";
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder allowableValues(java.lang.String[])>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.PutFile: org.apache.nifi.components.PropertyDescriptor CONFLICT_RESOLUTION> = 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)>("Last Modified Time");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("Sets the lastModifiedTime on the output file to the value of this attribute.  Format must be yyyy-MM-dd\'T\'HH:mm:ssZ.  You may also use expression language such as ${file.lastModifiedTime}.");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(0);
v = <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator NON_EMPTY_VALIDATOR>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
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.PutFile: org.apache.nifi.components.PropertyDescriptor CHANGE_LAST_MODIFIED_TIME> = 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)>("Permissions");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("Sets the permissions on the output file to the value of this attribute.  Format must be either UNIX rwxrwxrwx with a - in place of denied permissions (e.g. rw-r--r--) or an octal number (e.g. 644).  You may also use expression language such as ${file.permissions}.");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(0);
v = <org.apache.nifi.processors.standard.PutFile: org.apache.nifi.components.Validator PERMISSIONS_VALIDATOR>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
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.PutFile: org.apache.nifi.components.PropertyDescriptor CHANGE_PERMISSIONS> = 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)>("Owner");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("Sets the owner on the output file to the value of this attribute.  You may also use expression language such as ${file.owner}. Note on many operating systems Nifi must be running as a super-user to have the permissions to set the file owner.");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(0);
v = <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator NON_EMPTY_VALIDATOR>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
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.PutFile: org.apache.nifi.components.PropertyDescriptor CHANGE_OWNER> = 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)>("Group");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("Sets the group on the output file to the value of this attribute.  You may also use expression language such as ${file.group}.");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(0);
v = <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator NON_EMPTY_VALIDATOR>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
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.PutFile: org.apache.nifi.components.PropertyDescriptor CHANGE_GROUP> = 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)>("Create Missing Directories");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("If true, then missing destination directories will be created. If false, flowfiles are penalized and sent to failure.");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(1);
v = newarray (java.lang.String)[2];
v[0] = "true";
v[1] = "false";
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder allowableValues(java.lang.String[])>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder defaultValue(java.lang.String)>("true");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.PutFile: org.apache.nifi.components.PropertyDescriptor CREATE_DIRS> = 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)>("success");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship$Builder description(java.lang.String)>("Files that have been successfully written to the output directory are transferred to this relationship");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship build()>();
<org.apache.nifi.processors.standard.PutFile: org.apache.nifi.processor.Relationship REL_SUCCESS> = 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)>("Files that could not be written to the output directory for some reason are transferred to this relationship");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship build()>();
<org.apache.nifi.processors.standard.PutFile: org.apache.nifi.processor.Relationship REL_FAILURE> = v;
return;
}
}