public class org.apache.nifi.processors.standard.PutSQL extends org.apache.nifi.processor.AbstractSessionFactoryProcessor
{
static final org.apache.nifi.components.PropertyDescriptor CONNECTION_POOL;
static final org.apache.nifi.components.PropertyDescriptor SQL_STATEMENT;
static final org.apache.nifi.components.PropertyDescriptor AUTO_COMMIT;
static final org.apache.nifi.components.PropertyDescriptor SUPPORT_TRANSACTIONS;
static final org.apache.nifi.components.PropertyDescriptor TRANSACTION_TIMEOUT;
static final org.apache.nifi.components.PropertyDescriptor BATCH_SIZE;
static final org.apache.nifi.components.PropertyDescriptor OBTAIN_GENERATED_KEYS;
static final org.apache.nifi.processor.Relationship REL_SUCCESS;
static final org.apache.nifi.processor.Relationship REL_RETRY;
static final org.apache.nifi.processor.Relationship REL_FAILURE;
private static final java.lang.String FRAGMENT_ID_ATTR;
private static final java.lang.String FRAGMENT_INDEX_ATTR;
private static final java.lang.String FRAGMENT_COUNT_ATTR;
private static final java.lang.String ERROR_MESSAGE_ATTR;
private static final java.lang.String ERROR_CODE_ATTR;
private static final java.lang.String ERROR_SQL_STATE_ATTR;
private org.apache.nifi.processor.util.pattern.PutGroup process;
private java.util.function.BiFunction adjustError;
private org.apache.nifi.processor.util.pattern.ExceptionHandler exceptionHandler;
private final org.apache.nifi.processor.util.pattern.PartialFunctions$FetchFlowFiles fetchFlowFiles;
private final org.apache.nifi.processor.util.pattern.PartialFunctions$InitConnection initConnection;
private final org.apache.nifi.processors.standard.PutSQL$GroupingFunction groupFragmentedTransaction;
private final org.apache.nifi.processors.standard.PutSQL$GroupingFunction groupFlowFilesBySQLBatch;
private final org.apache.nifi.processors.standard.PutSQL$GroupingFunction groupFlowFilesBySQL;
final org.apache.nifi.processor.util.pattern.PutGroup$GroupFlowFiles groupFlowFiles;
final org.apache.nifi.processor.util.pattern.PutGroup$PutFlowFiles putFlowFiles;
public void <init>()
{
org.apache.nifi.processors.standard.PutSQL$GroupingFunction v, v, v;
org.apache.nifi.processors.standard.PutSQL v;
org.apache.nifi.processor.util.pattern.PutGroup$GroupFlowFiles v;
org.apache.nifi.processor.util.pattern.PartialFunctions$FetchFlowFiles v;
org.apache.nifi.processor.util.pattern.PutGroup$PutFlowFiles v;
org.apache.nifi.processor.util.pattern.PartialFunctions$InitConnection v;
v := @this: org.apache.nifi.processors.standard.PutSQL;
specialinvoke v.<org.apache.nifi.processor.AbstractSessionFactoryProcessor: void <init>()>();
v = staticinvoke <org.apache.nifi.processors.standard.PutSQL$lambda_new_0__177: org.apache.nifi.processor.util.pattern.PartialFunctions$FetchFlowFiles bootstrap$(org.apache.nifi.processors.standard.PutSQL)>(v);
v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.util.pattern.PartialFunctions$FetchFlowFiles fetchFlowFiles> = v;
v = staticinvoke <org.apache.nifi.processors.standard.PutSQL$lambda_new_1__178: org.apache.nifi.processor.util.pattern.PartialFunctions$InitConnection bootstrap$(org.apache.nifi.processors.standard.PutSQL)>(v);
v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.util.pattern.PartialFunctions$InitConnection initConnection> = v;
v = staticinvoke <org.apache.nifi.processors.standard.PutSQL$lambda_new_3__179: org.apache.nifi.processors.standard.PutSQL$GroupingFunction bootstrap$(org.apache.nifi.processors.standard.PutSQL)>(v);
v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processors.standard.PutSQL$GroupingFunction groupFragmentedTransaction> = v;
v = staticinvoke <org.apache.nifi.processors.standard.PutSQL$lambda_new_5__180: org.apache.nifi.processors.standard.PutSQL$GroupingFunction bootstrap$(org.apache.nifi.processors.standard.PutSQL)>(v);
v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processors.standard.PutSQL$GroupingFunction groupFlowFilesBySQLBatch> = v;
v = staticinvoke <org.apache.nifi.processors.standard.PutSQL$lambda_new_6__181: org.apache.nifi.processors.standard.PutSQL$GroupingFunction bootstrap$(org.apache.nifi.processors.standard.PutSQL)>(v);
v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processors.standard.PutSQL$GroupingFunction groupFlowFilesBySQL> = v;
v = staticinvoke <org.apache.nifi.processors.standard.PutSQL$lambda_new_7__182: org.apache.nifi.processor.util.pattern.PutGroup$GroupFlowFiles bootstrap$(org.apache.nifi.processors.standard.PutSQL)>(v);
v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.util.pattern.PutGroup$GroupFlowFiles groupFlowFiles> = v;
v = staticinvoke <org.apache.nifi.processors.standard.PutSQL$lambda_new_10__183: org.apache.nifi.processor.util.pattern.PutGroup$PutFlowFiles bootstrap$(org.apache.nifi.processors.standard.PutSQL)>(v);
v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.util.pattern.PutGroup$PutFlowFiles putFlowFiles> = v;
return;
}
protected java.util.List getSupportedPropertyDescriptors()
{
org.apache.nifi.processors.standard.PutSQL v;
org.apache.nifi.components.PropertyDescriptor v, v, v, v, v, v, v, v;
java.util.ArrayList v;
v := @this: org.apache.nifi.processors.standard.PutSQL;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.components.PropertyDescriptor CONNECTION_POOL>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.components.PropertyDescriptor SQL_STATEMENT>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.components.PropertyDescriptor SUPPORT_TRANSACTIONS>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.components.PropertyDescriptor AUTO_COMMIT>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.components.PropertyDescriptor TRANSACTION_TIMEOUT>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.components.PropertyDescriptor BATCH_SIZE>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.components.PropertyDescriptor OBTAIN_GENERATED_KEYS>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processor.util.pattern.RollbackOnFailure: org.apache.nifi.components.PropertyDescriptor ROLLBACK_ON_FAILURE>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return v;
}
protected final java.util.Collection customValidate(org.apache.nifi.components.ValidationContext)
{
org.apache.nifi.processors.standard.PutSQL v;
org.apache.nifi.components.PropertyDescriptor v, v, v, v, v, v, v, v, v;
org.apache.nifi.components.PropertyValue v, v, v;
boolean v, v, v;
org.apache.nifi.components.ValidationResult$Builder v, v, v, v, v, v;
java.lang.Object[] v, v;
org.apache.nifi.components.ValidationContext v;
java.util.ArrayList v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v;
org.apache.nifi.components.ValidationResult v, v;
v := @this: org.apache.nifi.processors.standard.PutSQL;
v := @parameter: org.apache.nifi.components.ValidationContext;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.components.PropertyDescriptor SUPPORT_TRANSACTIONS>;
v = interfaceinvoke v.<org.apache.nifi.components.ValidationContext: 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.processor.util.pattern.RollbackOnFailure: org.apache.nifi.components.PropertyDescriptor ROLLBACK_ON_FAILURE>;
v = interfaceinvoke v.<org.apache.nifi.components.ValidationContext: 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.PutSQL: org.apache.nifi.components.PropertyDescriptor AUTO_COMMIT>;
v = interfaceinvoke v.<org.apache.nifi.components.ValidationContext: 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 = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>("true");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>("true");
if v == 0 goto label;
v = new org.apache.nifi.components.ValidationResult$Builder;
specialinvoke v.<org.apache.nifi.components.ValidationResult$Builder: void <init>()>();
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.components.PropertyDescriptor SUPPORT_TRANSACTIONS>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor: java.lang.String getDisplayName()>();
v = virtualinvoke v.<org.apache.nifi.components.ValidationResult$Builder: org.apache.nifi.components.ValidationResult$Builder subject(java.lang.String)>(v);
v = newarray (java.lang.Object)[2];
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.components.PropertyDescriptor SUPPORT_TRANSACTIONS>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor: java.lang.String getDisplayName()>();
v[0] = v;
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.components.PropertyDescriptor AUTO_COMMIT>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor: java.lang.String getDisplayName()>();
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("\'%s\' cannot be set to \'true\' when \'%s\' is also set to \'true\'.Transactions for batch updates cannot be supported when auto commit is set to \'true\'", v);
v = virtualinvoke v.<org.apache.nifi.components.ValidationResult$Builder: org.apache.nifi.components.ValidationResult$Builder explanation(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.components.ValidationResult$Builder: org.apache.nifi.components.ValidationResult build()>();
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>(v);
label:
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>("true");
if v == 0 goto label;
v = new org.apache.nifi.components.ValidationResult$Builder;
specialinvoke v.<org.apache.nifi.components.ValidationResult$Builder: void <init>()>();
v = <org.apache.nifi.processor.util.pattern.RollbackOnFailure: org.apache.nifi.components.PropertyDescriptor ROLLBACK_ON_FAILURE>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor: java.lang.String getDisplayName()>();
v = virtualinvoke v.<org.apache.nifi.components.ValidationResult$Builder: org.apache.nifi.components.ValidationResult$Builder subject(java.lang.String)>(v);
v = newarray (java.lang.Object)[2];
v = <org.apache.nifi.processor.util.pattern.RollbackOnFailure: org.apache.nifi.components.PropertyDescriptor ROLLBACK_ON_FAILURE>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor: java.lang.String getDisplayName()>();
v[0] = v;
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.components.PropertyDescriptor AUTO_COMMIT>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor: java.lang.String getDisplayName()>();
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("\'%s\' cannot be set to \'true\' when \'%s\' is also set to \'true\'.Transaction rollbacks for batch updates cannot be supported when auto commit is set to \'true\'", v);
v = virtualinvoke v.<org.apache.nifi.components.ValidationResult$Builder: org.apache.nifi.components.ValidationResult$Builder explanation(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.components.ValidationResult$Builder: org.apache.nifi.components.ValidationResult build()>();
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>(v);
label:
return v;
}
public java.util.Set getRelationships()
{
java.util.HashSet v;
org.apache.nifi.processors.standard.PutSQL v;
org.apache.nifi.processor.Relationship v, v, v;
v := @this: org.apache.nifi.processors.standard.PutSQL;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.Relationship REL_SUCCESS>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.Relationship REL_RETRY>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.Relationship REL_FAILURE>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
return v;
}
private org.apache.nifi.processor.util.pattern.ExceptionHandler$OnError onFlowFileError(org.apache.nifi.processor.ProcessContext, org.apache.nifi.processor.ProcessSession, org.apache.nifi.processor.util.pattern.RoutingResult)
{
org.apache.nifi.processors.standard.PutSQL v;
org.apache.nifi.processor.ProcessContext v;
org.apache.nifi.processor.ProcessSession v;
org.apache.nifi.processor.util.pattern.ExceptionHandler$OnError v, v, v, v;
org.apache.nifi.processor.util.pattern.RoutingResult v;
org.apache.nifi.processor.Relationship v, v;
v := @this: org.apache.nifi.processors.standard.PutSQL;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v := @parameter: org.apache.nifi.processor.ProcessSession;
v := @parameter: org.apache.nifi.processor.util.pattern.RoutingResult;
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.Relationship REL_FAILURE>;
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.Relationship REL_RETRY>;
v = staticinvoke <org.apache.nifi.processor.util.pattern.ExceptionHandler: org.apache.nifi.processor.util.pattern.ExceptionHandler$OnError createOnError(org.apache.nifi.processor.ProcessContext,org.apache.nifi.processor.ProcessSession,org.apache.nifi.processor.util.pattern.RoutingResult,org.apache.nifi.processor.Relationship,org.apache.nifi.processor.Relationship)>(v, v, v, v, v);
v = staticinvoke <org.apache.nifi.processors.standard.PutSQL$lambda_onFlowFileError_11__184: org.apache.nifi.processor.util.pattern.ExceptionHandler$OnError bootstrap$(org.apache.nifi.processors.standard.PutSQL,org.apache.nifi.processor.ProcessSession)>(v, v);
v = interfaceinvoke v.<org.apache.nifi.processor.util.pattern.ExceptionHandler$OnError: org.apache.nifi.processor.util.pattern.ExceptionHandler$OnError andThen(org.apache.nifi.processor.util.pattern.ExceptionHandler$OnError)>(v);
v = staticinvoke <org.apache.nifi.processor.util.pattern.RollbackOnFailure: org.apache.nifi.processor.util.pattern.ExceptionHandler$OnError createOnError(org.apache.nifi.processor.util.pattern.ExceptionHandler$OnError)>(v);
return v;
}
private org.apache.nifi.processor.util.pattern.ExceptionHandler$OnError onGroupError(org.apache.nifi.processor.ProcessContext, org.apache.nifi.processor.ProcessSession, org.apache.nifi.processor.util.pattern.RoutingResult)
{
org.apache.nifi.processors.standard.PutSQL v;
org.apache.nifi.processor.ProcessContext v;
org.apache.nifi.processor.ProcessSession v;
org.apache.nifi.processor.util.pattern.ExceptionHandler$OnError v, v, v;
org.apache.nifi.processor.util.pattern.RoutingResult v;
org.apache.nifi.processor.Relationship v, v;
v := @this: org.apache.nifi.processors.standard.PutSQL;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v := @parameter: org.apache.nifi.processor.ProcessSession;
v := @parameter: org.apache.nifi.processor.util.pattern.RoutingResult;
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.Relationship REL_FAILURE>;
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.Relationship REL_RETRY>;
v = staticinvoke <org.apache.nifi.processor.util.pattern.ExceptionHandler: org.apache.nifi.processor.util.pattern.ExceptionHandler$OnError createOnGroupError(org.apache.nifi.processor.ProcessContext,org.apache.nifi.processor.ProcessSession,org.apache.nifi.processor.util.pattern.RoutingResult,org.apache.nifi.processor.Relationship,org.apache.nifi.processor.Relationship)>(v, v, v, v, v);
v = staticinvoke <org.apache.nifi.processors.standard.PutSQL$lambda_onGroupError_12__185: org.apache.nifi.processor.util.pattern.ExceptionHandler$OnError bootstrap$(org.apache.nifi.processors.standard.PutSQL,org.apache.nifi.processor.util.pattern.RoutingResult,org.apache.nifi.processor.ProcessSession)>(v, v, v);
v = interfaceinvoke v.<org.apache.nifi.processor.util.pattern.ExceptionHandler$OnError: org.apache.nifi.processor.util.pattern.ExceptionHandler$OnError andThen(org.apache.nifi.processor.util.pattern.ExceptionHandler$OnError)>(v);
return v;
}
private java.util.List getFlowFilesOnRelationship(org.apache.nifi.processor.util.pattern.RoutingResult, org.apache.nifi.processor.Relationship)
{
org.apache.nifi.processors.standard.PutSQL v;
java.util.List v;
org.apache.nifi.processor.util.pattern.RoutingResult v;
org.apache.nifi.processor.Relationship v;
java.util.Map v;
java.util.Optional v;
java.lang.Object v, v;
v := @this: org.apache.nifi.processors.standard.PutSQL;
v := @parameter: org.apache.nifi.processor.util.pattern.RoutingResult;
v := @parameter: org.apache.nifi.processor.Relationship;
v = virtualinvoke v.<org.apache.nifi.processor.util.pattern.RoutingResult: java.util.Map getRoutedFlowFiles()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = staticinvoke <java.util.Optional: java.util.Optional ofNullable(java.lang.Object)>(v);
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(v);
return v;
}
private java.util.List addErrorAttributesToFlowFilesInGroup(org.apache.nifi.processor.ProcessSession, java.util.List, java.util.List, java.lang.Exception)
{
org.apache.nifi.processors.standard.PutSQL v;
org.apache.nifi.processor.ProcessSession v;
java.util.function.Function v;
java.lang.Exception v;
java.util.List v, v;
java.util.stream.Stream v, v;
java.lang.Object v;
java.util.stream.Collector v;
v := @this: org.apache.nifi.processors.standard.PutSQL;
v := @parameter: org.apache.nifi.processor.ProcessSession;
v := @parameter: java.util.List;
v := @parameter: java.util.List;
v := @parameter: java.lang.Exception;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.apache.nifi.processors.standard.PutSQL$lambda_addErrorAttributesToFlowFilesInGroup_13__186: java.util.function.Function bootstrap$(org.apache.nifi.processors.standard.PutSQL,java.util.List,org.apache.nifi.processor.ProcessSession,java.lang.Exception)>(v, v, v, v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
private org.apache.nifi.processor.util.pattern.ExceptionHandler$OnError onBatchUpdateError(org.apache.nifi.processor.ProcessContext, org.apache.nifi.processor.ProcessSession, org.apache.nifi.processor.util.pattern.RoutingResult)
{
org.apache.nifi.processor.util.pattern.ExceptionHandler$OnError v, v;
org.apache.nifi.processor.util.pattern.RoutingResult v;
org.apache.nifi.processors.standard.PutSQL v;
org.apache.nifi.processor.ProcessContext v;
org.apache.nifi.processor.ProcessSession v;
v := @this: org.apache.nifi.processors.standard.PutSQL;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v := @parameter: org.apache.nifi.processor.ProcessSession;
v := @parameter: org.apache.nifi.processor.util.pattern.RoutingResult;
v = staticinvoke <org.apache.nifi.processors.standard.PutSQL$lambda_onBatchUpdateError_15__187: org.apache.nifi.processor.util.pattern.ExceptionHandler$OnError bootstrap$(org.apache.nifi.processors.standard.PutSQL,org.apache.nifi.processor.util.pattern.RoutingResult,org.apache.nifi.processor.ProcessSession,org.apache.nifi.processor.ProcessContext)>(v, v, v, v);
v = staticinvoke <org.apache.nifi.processor.util.pattern.RollbackOnFailure: org.apache.nifi.processor.util.pattern.ExceptionHandler$OnError createOnError(org.apache.nifi.processor.util.pattern.ExceptionHandler$OnError)>(v);
return v;
}
public void constructProcess()
{
org.apache.nifi.processors.standard.PutSQL v;
org.apache.nifi.processor.util.pattern.PartialFunctions$AdjustRoute v;
org.apache.nifi.processor.util.pattern.PutGroup$GroupFlowFiles v;
java.util.function.BiFunction v, v;
org.apache.nifi.processor.util.pattern.PartialFunctions$AdjustFailed v;
org.apache.nifi.processor.util.pattern.PartialFunctions$OnFailed v;
org.apache.nifi.processor.util.pattern.ExceptionHandler v, v, v;
org.apache.nifi.processor.util.pattern.PartialFunctions$InitConnection v;
org.apache.nifi.processor.util.pattern.PutGroup v, v, v, v, v, v, v, v, v, v, v;
org.apache.nifi.processor.util.pattern.PartialFunctions$Cleanup v;
org.apache.nifi.processor.util.pattern.PutGroup$PutFlowFiles v;
org.apache.nifi.processor.Relationship[] v;
org.apache.nifi.logging.ComponentLog v, v;
java.util.function.Function v;
org.apache.nifi.processor.Relationship v, v;
org.apache.nifi.processor.util.pattern.PartialFunctions$OnCompleted v;
org.apache.nifi.processor.util.pattern.PartialFunctions$FetchFlowFiles v;
v := @this: org.apache.nifi.processors.standard.PutSQL;
v = new org.apache.nifi.processor.util.pattern.PutGroup;
specialinvoke v.<org.apache.nifi.processor.util.pattern.PutGroup: void <init>()>();
v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.util.pattern.PutGroup process> = v;
v = v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.util.pattern.PutGroup process>;
v = virtualinvoke v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.logging.ComponentLog getLogger()>();
virtualinvoke v.<org.apache.nifi.processor.util.pattern.PutGroup: void setLogger(org.apache.nifi.logging.ComponentLog)>(v);
v = v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.util.pattern.PutGroup process>;
v = v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.util.pattern.PartialFunctions$FetchFlowFiles fetchFlowFiles>;
virtualinvoke v.<org.apache.nifi.processor.util.pattern.PutGroup: void fetchFlowFiles(org.apache.nifi.processor.util.pattern.PartialFunctions$FetchFlowFiles)>(v);
v = v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.util.pattern.PutGroup process>;
v = v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.util.pattern.PartialFunctions$InitConnection initConnection>;
virtualinvoke v.<org.apache.nifi.processor.util.pattern.PutGroup: void initConnection(org.apache.nifi.processor.util.pattern.PartialFunctions$InitConnection)>(v);
v = v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.util.pattern.PutGroup process>;
v = v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.util.pattern.PutGroup$GroupFlowFiles groupFlowFiles>;
virtualinvoke v.<org.apache.nifi.processor.util.pattern.PutGroup: void groupFetchedFlowFiles(org.apache.nifi.processor.util.pattern.PutGroup$GroupFlowFiles)>(v);
v = v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.util.pattern.PutGroup process>;
v = v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.util.pattern.PutGroup$PutFlowFiles putFlowFiles>;
virtualinvoke v.<org.apache.nifi.processor.util.pattern.PutGroup: void putFlowFiles(org.apache.nifi.processor.util.pattern.PutGroup$PutFlowFiles)>(v);
v = v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.util.pattern.PutGroup process>;
v = newarray (org.apache.nifi.processor.Relationship)[2];
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.Relationship REL_FAILURE>;
v[0] = v;
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.Relationship REL_RETRY>;
v[1] = v;
v = staticinvoke <org.apache.nifi.processor.util.pattern.RollbackOnFailure: org.apache.nifi.processor.util.pattern.PartialFunctions$AdjustRoute createAdjustRoute(org.apache.nifi.processor.Relationship[])>(v);
virtualinvoke v.<org.apache.nifi.processor.util.pattern.PutGroup: void adjustRoute(org.apache.nifi.processor.util.pattern.PartialFunctions$AdjustRoute)>(v);
v = v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.util.pattern.PutGroup process>;
v = staticinvoke <org.apache.nifi.processors.standard.PutSQL$lambda_constructProcess_16__188: org.apache.nifi.processor.util.pattern.PartialFunctions$OnCompleted bootstrap$()>();
virtualinvoke v.<org.apache.nifi.processor.util.pattern.PutGroup: void onCompleted(org.apache.nifi.processor.util.pattern.PartialFunctions$OnCompleted)>(v);
v = v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.util.pattern.PutGroup process>;
v = staticinvoke <org.apache.nifi.processors.standard.PutSQL$lambda_constructProcess_17__189: org.apache.nifi.processor.util.pattern.PartialFunctions$OnFailed bootstrap$(org.apache.nifi.processors.standard.PutSQL)>(v);
virtualinvoke v.<org.apache.nifi.processor.util.pattern.PutGroup: void onFailed(org.apache.nifi.processor.util.pattern.PartialFunctions$OnFailed)>(v);
v = v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.util.pattern.PutGroup process>;
v = staticinvoke <org.apache.nifi.processors.standard.PutSQL$lambda_constructProcess_18__190: org.apache.nifi.processor.util.pattern.PartialFunctions$Cleanup bootstrap$(org.apache.nifi.processors.standard.PutSQL)>(v);
virtualinvoke v.<org.apache.nifi.processor.util.pattern.PutGroup: void cleanup(org.apache.nifi.processor.util.pattern.PartialFunctions$Cleanup)>(v);
v = v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.util.pattern.PutGroup process>;
v = staticinvoke <org.apache.nifi.processors.standard.PutSQL$lambda_constructProcess_19__191: org.apache.nifi.processor.util.pattern.PartialFunctions$AdjustFailed bootstrap$()>();
virtualinvoke v.<org.apache.nifi.processor.util.pattern.PutGroup: void adjustFailed(org.apache.nifi.processor.util.pattern.PartialFunctions$AdjustFailed)>(v);
v = new org.apache.nifi.processor.util.pattern.ExceptionHandler;
specialinvoke v.<org.apache.nifi.processor.util.pattern.ExceptionHandler: void <init>()>();
v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.util.pattern.ExceptionHandler exceptionHandler> = v;
v = v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.util.pattern.ExceptionHandler exceptionHandler>;
v = staticinvoke <org.apache.nifi.processors.standard.PutSQL$lambda_constructProcess_20__192: java.util.function.Function bootstrap$()>();
virtualinvoke v.<org.apache.nifi.processor.util.pattern.ExceptionHandler: void mapException(java.util.function.Function)>(v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.logging.ComponentLog getLogger()>();
v = staticinvoke <org.apache.nifi.processor.util.pattern.RollbackOnFailure: java.util.function.BiFunction createAdjustError(org.apache.nifi.logging.ComponentLog)>(v);
v.<org.apache.nifi.processors.standard.PutSQL: java.util.function.BiFunction adjustError> = v;
v = v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.util.pattern.ExceptionHandler exceptionHandler>;
v = v.<org.apache.nifi.processors.standard.PutSQL: java.util.function.BiFunction adjustError>;
virtualinvoke v.<org.apache.nifi.processor.util.pattern.ExceptionHandler: void adjustError(java.util.function.BiFunction)>(v);
return;
}
public void onTrigger(org.apache.nifi.processor.ProcessContext, org.apache.nifi.processor.ProcessSessionFactory) throws org.apache.nifi.processor.exception.ProcessException
{
org.apache.nifi.processors.standard.PutSQL v;
org.apache.nifi.processors.standard.PutSQL$FunctionContext v;
org.apache.nifi.processor.ProcessContext v;
org.apache.nifi.logging.ComponentLog v;
org.apache.nifi.processor.ProcessSessionFactory v;
org.apache.nifi.components.PropertyDescriptor v, v;
org.apache.nifi.components.PropertyValue v, v;
java.lang.Boolean v, v;
org.apache.nifi.processor.util.pattern.PartialFunctions$OnTrigger v;
boolean v, v;
v := @this: org.apache.nifi.processors.standard.PutSQL;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v := @parameter: org.apache.nifi.processor.ProcessSessionFactory;
v = <org.apache.nifi.processor.util.pattern.RollbackOnFailure: org.apache.nifi.components.PropertyDescriptor ROLLBACK_ON_FAILURE>;
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 = new org.apache.nifi.processors.standard.PutSQL$FunctionContext;
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
specialinvoke v.<org.apache.nifi.processors.standard.PutSQL$FunctionContext: void <init>(boolean)>(v);
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.components.PropertyDescriptor OBTAIN_GENERATED_KEYS>;
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()>();
v.<org.apache.nifi.processors.standard.PutSQL$FunctionContext: boolean obtainKeys> = v;
v = virtualinvoke v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.logging.ComponentLog getLogger()>();
v = staticinvoke <org.apache.nifi.processors.standard.PutSQL$lambda_onTrigger_21__193: org.apache.nifi.processor.util.pattern.PartialFunctions$OnTrigger bootstrap$(org.apache.nifi.processors.standard.PutSQL,org.apache.nifi.processor.ProcessContext,org.apache.nifi.processors.standard.PutSQL$FunctionContext)>(v, v, v);
staticinvoke <org.apache.nifi.processor.util.pattern.RollbackOnFailure: void onTrigger(org.apache.nifi.processor.ProcessContext,org.apache.nifi.processor.ProcessSessionFactory,org.apache.nifi.processor.util.pattern.RollbackOnFailure,org.apache.nifi.logging.ComponentLog,org.apache.nifi.processor.util.pattern.PartialFunctions$OnTrigger)>(v, v, v, v, v);
return;
}
private org.apache.nifi.processors.standard.PutSQL$FlowFilePoll pollFlowFiles(org.apache.nifi.processor.ProcessContext, org.apache.nifi.processor.ProcessSession, org.apache.nifi.processors.standard.PutSQL$FunctionContext, org.apache.nifi.processor.util.pattern.RoutingResult)
{
org.apache.nifi.processor.FlowFileFilter v;
org.apache.nifi.processors.standard.PutSQL v;
java.util.function.BiFunction v;
java.lang.Integer v;
org.apache.nifi.components.PropertyDescriptor v, v, v, v;
org.apache.nifi.components.PropertyValue v, v, v, v;
org.apache.nifi.processor.util.pattern.ErrorTypes v;
org.apache.nifi.processors.standard.PutSQL$TransactionalFlowFileFilter v;
org.apache.nifi.processor.util.pattern.ExceptionHandler$OnError v;
org.apache.nifi.processor.util.pattern.RoutingResult v;
java.lang.Long v;
boolean v, v, v, v;
java.util.List v;
org.apache.nifi.controller.ControllerService v;
org.apache.nifi.processors.standard.PutSQL$FunctionContext v;
java.util.function.Function v;
org.apache.nifi.processors.standard.PutSQL$FlowFilePoll v;
int v;
java.lang.Boolean v;
org.apache.nifi.processor.ProcessContext v;
org.apache.nifi.processor.ProcessSession v;
java.lang.IllegalArgumentException v;
java.util.concurrent.TimeUnit v;
java.util.function.Consumer v;
java.lang.Object v;
java.util.Comparator v;
org.apache.nifi.processor.util.pattern.PartialFunctions$FlowFileGroup v;
v := @this: org.apache.nifi.processors.standard.PutSQL;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v := @parameter: org.apache.nifi.processor.ProcessSession;
v := @parameter: org.apache.nifi.processors.standard.PutSQL$FunctionContext;
v := @parameter: org.apache.nifi.processor.util.pattern.RoutingResult;
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.components.PropertyDescriptor SUPPORT_TRANSACTIONS>;
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()>();
v = 0;
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.components.PropertyDescriptor BATCH_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: java.lang.Integer asInteger()>();
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.components.PropertyDescriptor CONNECTION_POOL>;
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.controller.ControllerService asControllerService(java.lang.Class)>(class "Lorg/apache/nifi/dbcp/DBCPService;");
v = interfaceinvoke v.<org.apache.nifi.dbcp.DBCPService: org.apache.nifi.processor.FlowFileFilter getFlowFileFilter(int)>(v);
if v == 0 goto label;
v = new org.apache.nifi.processors.standard.PutSQL$TransactionalFlowFileFilter;
specialinvoke v.<org.apache.nifi.processors.standard.PutSQL$TransactionalFlowFileFilter: void <init>(org.apache.nifi.processor.FlowFileFilter)>(v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: java.util.List get(org.apache.nifi.processor.FlowFileFilter)>(v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.PutSQL$TransactionalFlowFileFilter: boolean isFragmentedTransaction()>();
goto label;
label:
if v != null goto label;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: java.util.List get(int)>(v);
goto label;
label:
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: java.util.List get(org.apache.nifi.processor.FlowFileFilter)>(v);
label:
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
return null;
label:
if v == 0 goto label;
label:
v = <org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.components.PropertyDescriptor TRANSACTION_TIMEOUT>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.Long asTimePeriod(java.util.concurrent.TimeUnit)>(v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.PutSQL: boolean isFragmentedTransactionReady(java.util.List,java.lang.Long)>(v, v);
if v != 0 goto label;
v = staticinvoke <org.apache.nifi.processors.standard.PutSQL$lambda_pollFlowFiles_22__195: java.util.function.Consumer bootstrap$(org.apache.nifi.processor.util.pattern.RoutingResult,org.apache.nifi.processor.ProcessSession)>(v, v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
label:
return null;
label:
v := @caughtexception;
v = v.<org.apache.nifi.processors.standard.PutSQL: java.util.function.BiFunction adjustError>;
v = <org.apache.nifi.processor.util.pattern.ErrorTypes: org.apache.nifi.processor.util.pattern.ErrorTypes InvalidInput>;
v = interfaceinvoke v.<java.util.function.BiFunction: java.lang.Object apply(java.lang.Object,java.lang.Object)>(v, v);
v = specialinvoke v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.util.pattern.ExceptionHandler$OnError onGroupError(org.apache.nifi.processor.ProcessContext,org.apache.nifi.processor.ProcessSession,org.apache.nifi.processor.util.pattern.RoutingResult)>(v, v, v);
v = staticinvoke <org.apache.nifi.processors.standard.PutSQL$lambda_pollFlowFiles_23__196: org.apache.nifi.processor.util.pattern.PartialFunctions$FlowFileGroup bootstrap$(java.util.List)>(v);
interfaceinvoke v.<org.apache.nifi.processor.util.pattern.ExceptionHandler$OnError: void apply(java.lang.Object,java.lang.Object,org.apache.nifi.processor.util.pattern.ErrorTypes$Result,java.lang.Exception)>(v, v, v, v);
return null;
label:
v = staticinvoke <org.apache.nifi.processors.standard.PutSQL$lambda_pollFlowFiles_24__194: java.util.function.Function bootstrap$()>();
v = staticinvoke <java.util.Comparator: java.util.Comparator comparing(java.util.function.Function)>(v);
interfaceinvoke v.<java.util.List: void sort(java.util.Comparator)>(v);
label:
v = new org.apache.nifi.processors.standard.PutSQL$FlowFilePoll;
specialinvoke v.<org.apache.nifi.processors.standard.PutSQL$FlowFilePoll: void <init>(java.util.List,boolean)>(v, v);
return v;
catch java.lang.IllegalArgumentException from label to label with label;
}
private java.lang.String determineGeneratedKey(java.sql.PreparedStatement)
{
java.sql.SQLException v;
org.apache.nifi.processors.standard.PutSQL v;
java.sql.ResultSet v;
java.lang.String v;
java.sql.PreparedStatement v;
boolean v;
v := @this: org.apache.nifi.processors.standard.PutSQL;
v := @parameter: java.sql.PreparedStatement;
label:
v = interfaceinvoke v.<java.sql.PreparedStatement: java.sql.ResultSet getGeneratedKeys()>();
if v == null goto label;
v = interfaceinvoke v.<java.sql.ResultSet: boolean next()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.sql.ResultSet: java.lang.String getString(int)>(1);
label:
return v;
label:
v := @caughtexception;
label:
return null;
catch java.sql.SQLException from label to label with label;
}
private java.lang.String getSQL(org.apache.nifi.processor.ProcessSession, org.apache.nifi.flowfile.FlowFile)
{
byte[] v;
org.apache.nifi.processors.standard.PutSQL v;
org.apache.nifi.flowfile.FlowFile v;
long v;
org.apache.nifi.processor.ProcessSession v;
java.nio.charset.Charset v;
java.lang.String v;
org.apache.nifi.processor.io.InputStreamCallback v;
v := @this: org.apache.nifi.processors.standard.PutSQL;
v := @parameter: org.apache.nifi.processor.ProcessSession;
v := @parameter: org.apache.nifi.flowfile.FlowFile;
v = interfaceinvoke v.<org.apache.nifi.flowfile.FlowFile: long getSize()>();
v = newarray (byte)[v];
v = staticinvoke <org.apache.nifi.processors.standard.PutSQL$lambda_getSQL_25__197: org.apache.nifi.processor.io.InputStreamCallback bootstrap$(byte[])>(v);
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void read(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.io.InputStreamCallback)>(v, v);
v = new java.lang.String;
v = <java.nio.charset.StandardCharsets: java.nio.charset.Charset UTF_8>;
specialinvoke v.<java.lang.String: void <init>(byte[],java.nio.charset.Charset)>(v, v);
return v;
}
boolean isFragmentedTransactionReady(java.util.List, java.lang.Long) throws java.lang.IllegalArgumentException
{
org.apache.nifi.processors.standard.PutSQL v;
java.util.function.BiFunction v;
java.lang.Integer v;
byte v, v, v;
java.lang.Long v, v, v, v;
boolean v, v, v;
java.util.List v;
java.lang.Object[] v, v, v, v, v, v, v, v, v;
long v, v, v, v, v;
org.apache.nifi.logging.ComponentLog v;
int v, v, v, v, v, v;
java.lang.String v, v, v, v;
java.util.Iterator v, v;
java.lang.NumberFormatException v, v;
java.lang.Object v, v, v, v, v, v, v, v, v, v, v;
java.util.BitSet v;
v := @this: org.apache.nifi.processors.standard.PutSQL;
v := @parameter: java.util.List;
v := @parameter: java.lang.Long;
v = 0;
v = new java.util.BitSet;
specialinvoke v.<java.util.BitSet: void <init>()>();
v = staticinvoke <org.apache.nifi.processors.standard.PutSQL$lambda_isFragmentedTransactionReady_26__198: java.util.function.BiFunction bootstrap$()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = <org.apache.nifi.processors.standard.PutSQL: java.lang.String FRAGMENT_COUNT_ATTR>;
v = interfaceinvoke v.<org.apache.nifi.flowfile.FlowFile: java.lang.String getAttribute(java.lang.String)>(v);
if v != null goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
if v != 1 goto label;
return 1;
label:
if v != null goto label;
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;
v = interfaceinvoke v.<java.util.function.BiFunction: java.lang.Object apply(java.lang.Object,java.lang.Object)>("Cannot process %s because there are %d FlowFiles with the same fragment.identifier attribute but not all FlowFiles have a fragment.count attribute", v);
throw v;
label:
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
v = interfaceinvoke v.<java.util.function.BiFunction: java.lang.Object apply(java.lang.Object,java.lang.Object)>("Cannot process %s because the fragment.count attribute has a value of \'%s\', which is not an integer", v);
throw v;
label:
if v >= 1 goto label;
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
v = interfaceinvoke v.<java.util.function.BiFunction: java.lang.Object apply(java.lang.Object,java.lang.Object)>("Cannot process %s because the fragment.count attribute has a value of \'%s\', which is not a positive integer", v);
throw v;
label:
if v != 0 goto label;
v = v;
goto label;
label:
if v == v goto label;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = interfaceinvoke v.<java.util.function.BiFunction: java.lang.Object apply(java.lang.Object,java.lang.Object)>("Cannot process %s because the fragment.count attribute has different values for different FlowFiles with the same fragment.identifier", v);
throw v;
label:
v = <org.apache.nifi.processors.standard.PutSQL: java.lang.String FRAGMENT_INDEX_ATTR>;
v = interfaceinvoke v.<org.apache.nifi.flowfile.FlowFile: java.lang.String getAttribute(java.lang.String)>(v);
if v != null goto label;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = interfaceinvoke v.<java.util.function.BiFunction: java.lang.Object apply(java.lang.Object,java.lang.Object)>("Cannot process %s because the fragment.index attribute is missing", v);
throw v;
label:
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
v = interfaceinvoke v.<java.util.function.BiFunction: java.lang.Object apply(java.lang.Object,java.lang.Object)>("Cannot process %s because the fragment.index attribute has a value of \'%s\', which is not an integer", v);
throw v;
label:
if v >= 0 goto label;
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
v = interfaceinvoke v.<java.util.function.BiFunction: java.lang.Object apply(java.lang.Object,java.lang.Object)>("Cannot process %s because the fragment.index attribute has a value of \'%s\', which is not a positive integer", v);
throw v;
label:
v = virtualinvoke v.<java.util.BitSet: boolean get(int)>(v);
if v == 0 goto label;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = interfaceinvoke v.<java.util.function.BiFunction: java.lang.Object apply(java.lang.Object,java.lang.Object)>("Cannot process %s because it has the same value for the fragment.index attribute as another FlowFile with the same fragment.identifier", v);
throw v;
label:
virtualinvoke v.<java.util.BitSet: void set(int)>(v);
goto label;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v != v goto label;
return 1;
label:
v = 0L;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<org.apache.nifi.flowfile.FlowFile: java.lang.Long getLastQueueDate()>();
if v == null goto label;
v = interfaceinvoke v.<org.apache.nifi.flowfile.FlowFile: java.lang.Long getLastQueueDate()>();
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v cmp v;
if v <= 0 goto label;
v = interfaceinvoke v.<org.apache.nifi.flowfile.FlowFile: java.lang.Long getLastQueueDate()>();
v = virtualinvoke v.<java.lang.Long: long longValue()>();
goto label;
label:
if v == null goto label;
v = v cmp 0L;
if v <= 0 goto label;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v - v;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v cmp v;
if v <= 0 goto label;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = interfaceinvoke v.<java.util.function.BiFunction: java.lang.Object apply(java.lang.Object,java.lang.Object)>("The transaction timeout has expired for the following FlowFiles; they will be routed to failure: %s", v);
throw v;
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.logging.ComponentLog getLogger()>();
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String)>("Not enough FlowFiles for transaction. Returning all FlowFiles to queue");
return 0;
catch java.lang.NumberFormatException from label to label with label;
catch java.lang.NumberFormatException from label to label with label;
}
private org.apache.nifi.flowfile.FlowFile addErrorAttributesToFlowFile(org.apache.nifi.processor.ProcessSession, org.apache.nifi.flowfile.FlowFile, java.lang.Exception)
{
org.apache.nifi.processors.standard.PutSQL v;
org.apache.nifi.flowfile.FlowFile v, v;
java.util.HashMap v;
org.apache.nifi.processor.ProcessSession v;
java.lang.Exception v;
int v;
java.lang.String v, v, v;
boolean v;
v := @this: org.apache.nifi.processors.standard.PutSQL;
v := @parameter: org.apache.nifi.processor.ProcessSession;
v := @parameter: org.apache.nifi.flowfile.FlowFile;
v := @parameter: java.lang.Exception;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("error.message", v);
v = v instanceof java.sql.SQLException;
if v == 0 goto label;
v = virtualinvoke v.<java.sql.SQLException: int getErrorCode()>();
v = virtualinvoke v.<java.sql.SQLException: java.lang.String getSQLState()>();
if v <= 0 goto label;
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)>("error.code", v);
label:
if v == null goto label;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("error.sql.state", v);
label:
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile putAllAttributes(org.apache.nifi.flowfile.FlowFile,java.util.Map)>(v, v);
return v;
}
static void <clinit>()
{
org.apache.nifi.components.PropertyDescriptor v, v, v, v, v, v, v;
org.apache.nifi.flowfile.attributes.FragmentAttributes v, v, v;
org.apache.nifi.processor.Relationship v, v, v;
java.lang.String v, v, 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;
org.apache.nifi.expression.ExpressionLanguageScope v;
java.lang.String[] v, v, v;
org.apache.nifi.components.Validator v, v, 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)>("JDBC Connection Pool");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("Specifies the JDBC Connection Pool to use in order to convert the JSON message to a SQL statement. The Connection Pool is necessary in order to determine the appropriate database column types.");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder identifiesControllerService(java.lang.Class)>(class "Lorg/apache/nifi/dbcp/DBCPService;");
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 build()>();
<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.components.PropertyDescriptor CONNECTION_POOL> = 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)>("putsql-sql-statement");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("SQL Statement");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("The SQL statement to execute. The statement can be empty, a constant value, or built from attributes using Expression Language. If this property is specified, it will be used regardless of the content of incoming FlowFiles. If this property is empty, the content of the incoming FlowFile is expected to contain a valid SQL statement, to be issued by the processor to the database.");
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.PutSQL: org.apache.nifi.components.PropertyDescriptor SQL_STATEMENT> = 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)>("database-session-autocommit");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("Database Session AutoCommit");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("The autocommit mode to set on the database connection being used. If set to false, the operation(s) will be explicitly committed or rolled back (based on success or failure respectively), if set to true the driver/database handles the commit/rollback.");
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)>("false");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.components.PropertyDescriptor AUTO_COMMIT> = 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)>("Support Fragmented Transactions");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("If true, when a FlowFile is consumed by this Processor, the Processor will first check the fragment.identifier and fragment.count attributes of that FlowFile. If the fragment.count value is greater than 1, the Processor will not process any FlowFile with that fragment.identifier until all are available; at that point, it will process all FlowFiles with that fragment.identifier as a single transaction, in the order specified by the FlowFiles\' fragment.index attributes. This Provides atomicity of those SQL statements. Once any statement of this transaction throws exception when executing, this transaction will be rolled back. When transaction rollback happened, none of these FlowFiles would be routed to \'success\'. If the <Rollback On Failure> is set true, these FlowFiles will stay in the input relationship. When the <Rollback On Failure> is set false,, if any of these FlowFiles will be routed to \'retry\', all of these FlowFiles will be routed to \'retry\'.Otherwise, they will be routed to \'failure\'. If this value is false, these attributes will be ignored and the updates will occur independent of one another.");
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.PutSQL: org.apache.nifi.components.PropertyDescriptor SUPPORT_TRANSACTIONS> = 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)>("Transaction Timeout");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("If the <Support Fragmented Transactions> property is set to true, specifies how long to wait for all FlowFiles for a particular fragment.identifier attribute to arrive before just transferring all of the FlowFiles with that identifier to the \'failure\' relationship");
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 TIME_PERIOD_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.PutSQL: org.apache.nifi.components.PropertyDescriptor TRANSACTION_TIMEOUT> = 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)>("Batch Size");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("The preferred number of FlowFiles to put to the database in a single transaction");
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)>("100");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.components.PropertyDescriptor BATCH_SIZE> = 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)>("Obtain Generated Keys");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("If true, any key that is automatically generated by the database will be added to the FlowFile that generated it using the sql.generate.key attribute. This may result in slightly slower performance and is not supported by all databases.");
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)>("false");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.components.PropertyDescriptor OBTAIN_GENERATED_KEYS> = 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)>("A FlowFile is routed to this relationship after the database is successfully updated");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship build()>();
<org.apache.nifi.processors.standard.PutSQL: 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)>("retry");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship$Builder description(java.lang.String)>("A FlowFile is routed to this relationship if the database cannot be updated but attempting the operation again may succeed");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship build()>();
<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.Relationship REL_RETRY> = 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)>("A FlowFile is routed to this relationship if the database cannot be updated and retrying the operation will also fail, such as an invalid query or an integrity constraint violation");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship build()>();
<org.apache.nifi.processors.standard.PutSQL: org.apache.nifi.processor.Relationship REL_FAILURE> = 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.PutSQL: java.lang.String FRAGMENT_ID_ATTR> = 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.PutSQL: java.lang.String FRAGMENT_INDEX_ATTR> = 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.PutSQL: java.lang.String FRAGMENT_COUNT_ATTR> = v;
return;
}
}