public class org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands extends java.lang.Object implements java.util.concurrent.Callable
{
private static final org.apache.logging.log4j.Logger log;
org.apache.isis.applib.services.command.CommandExecutorService commandExecutorService;
org.apache.isis.applib.services.xactn.TransactionService transactionService;
org.apache.isis.extensions.commandreplay.secondary.fetch.CommandFetcher commandFetcher;
org.apache.isis.extensions.commandlog.model.command.CommandModelRepository commandModelRepository;
org.apache.isis.extensions.commandreplay.secondary.analysis.CommandReplayAnalysisService analysisService;
java.util.Optional controller;
public void <init>()
{
org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands v;
v := @this: org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public org.apache.isis.extensions.commandreplay.secondary.SecondaryStatus call()
{
org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands v;
org.apache.isis.extensions.commandreplay.secondary.StatusException v;
org.apache.isis.extensions.commandreplay.secondary.SecondaryStatus v, v;
v := @this: org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands;
label:
specialinvoke v.<org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands: void doCall()>();
v = <org.apache.isis.extensions.commandreplay.secondary.SecondaryStatus: org.apache.isis.extensions.commandreplay.secondary.SecondaryStatus OK>;
label:
return v;
label:
v := @caughtexception;
v = v.<org.apache.isis.extensions.commandreplay.secondary.StatusException: org.apache.isis.extensions.commandreplay.secondary.SecondaryStatus secondaryStatus>;
return v;
catch org.apache.isis.extensions.commandreplay.secondary.StatusException from label to label with label;
}
private void doCall() throws org.apache.isis.extensions.commandreplay.secondary.StatusException
{
org.apache.isis.extensions.commandlog.model.command.ReplayState v, v;
org.apache.isis.extensions.commandlog.model.command.CommandModelRepository v, v, v;
java.util.function.Function v;
org.apache.isis.extensions.commandreplay.secondary.fetch.CommandFetcher v;
java.util.stream.Collector v;
boolean v, v, v, v, v;
org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands v;
java.util.UUID v;
java.util.List v, v;
java.util.stream.Stream v, v;
org.apache.logging.log4j.Logger v, v;
java.util.Optional v, v;
java.lang.Object v, v;
v := @this: org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands;
v = specialinvoke v.<org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands: boolean isRunning()>();
if v != 0 goto label;
v = <org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands: org.apache.logging.log4j.Logger log>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String)>("ReplicateAndRunCommands is paused");
return;
label:
v = specialinvoke v.<org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands: boolean isRunning()>();
if v == 0 goto label;
v = v.<org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands: org.apache.isis.extensions.commandlog.model.command.CommandModelRepository commandModelRepository>;
v = interfaceinvoke v.<org.apache.isis.extensions.commandlog.model.command.CommandModelRepository: java.util.List findNotYetReplayed()>();
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = v.<org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands: org.apache.isis.extensions.commandlog.model.command.CommandModelRepository commandModelRepository>;
v = interfaceinvoke v.<org.apache.isis.extensions.commandlog.model.command.CommandModelRepository: java.util.Optional findMostRecentReplayed()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
if v == null goto label;
v = interfaceinvoke v.<org.apache.isis.extensions.commandlog.model.command.CommandModel: org.apache.isis.extensions.commandlog.model.command.ReplayState getReplayState()>();
if v == null goto label;
v = interfaceinvoke v.<org.apache.isis.extensions.commandlog.model.command.CommandModel: org.apache.isis.extensions.commandlog.model.command.ReplayState getReplayState()>();
v = virtualinvoke v.<org.apache.isis.extensions.commandlog.model.command.ReplayState: boolean isFailed()>();
if v == 0 goto label;
v = <org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands: org.apache.logging.log4j.Logger log>;
v = interfaceinvoke v.<org.apache.isis.extensions.commandlog.model.command.CommandModel: java.util.UUID getInteractionId()>();
interfaceinvoke v.<org.apache.logging.log4j.Logger: void info(java.lang.String,java.lang.Object)>("Command {} hit replay error", v);
return;
label:
v = v.<org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands: org.apache.isis.extensions.commandlog.model.command.CommandModelRepository commandModelRepository>;
v = interfaceinvoke v.<org.apache.isis.extensions.commandlog.model.command.CommandModelRepository: java.util.Optional findMostRecentCompleted()>();
virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
label:
v = v.<org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands: org.apache.isis.extensions.commandreplay.secondary.fetch.CommandFetcher commandFetcher>;
v = virtualinvoke v.<org.apache.isis.extensions.commandreplay.secondary.fetch.CommandFetcher: java.util.List fetchCommand(org.apache.isis.extensions.commandlog.model.command.CommandModel)>(v);
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands$lambda_doCall_1__1: java.util.function.Function bootstrap$(org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands)>(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);
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
return;
label:
specialinvoke v.<org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands: void replay(java.util.List)>(v);
goto label;
label:
return;
}
private void replay(java.util.List)
{
java.util.function.Consumer v;
java.util.List v;
org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands v;
v := @this: org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands;
v := @parameter: java.util.List;
v = staticinvoke <org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands$lambda_replay_3__2: java.util.function.Consumer bootstrap$(org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands)>(v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
return;
}
private org.apache.isis.extensions.commandlog.model.command.ReplayState executeCommandInTranAndAnalyse(org.apache.isis.extensions.commandlog.model.command.CommandModel)
{
org.apache.isis.extensions.commandlog.model.command.CommandModel v;
org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands v;
org.apache.isis.applib.services.xactn.TransactionService v, v;
org.apache.isis.extensions.commandlog.model.command.ReplayState v;
org.apache.isis.commons.functional.ThrowingRunnable v, v;
v := @this: org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands;
v := @parameter: org.apache.isis.extensions.commandlog.model.command.CommandModel;
v = v.<org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands: org.apache.isis.applib.services.xactn.TransactionService transactionService>;
v = staticinvoke <org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands$lambda_executeCommandInTranAndAnalyse_4__3: org.apache.isis.commons.functional.ThrowingRunnable bootstrap$(org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands,org.apache.isis.extensions.commandlog.model.command.CommandModel)>(v, v);
interfaceinvoke v.<org.apache.isis.applib.services.xactn.TransactionService: org.apache.isis.commons.functional.Result runWithinCurrentTransactionElseCreateNew(org.apache.isis.commons.functional.ThrowingRunnable)>(v);
v = v.<org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands: org.apache.isis.applib.services.xactn.TransactionService transactionService>;
v = staticinvoke <org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands$lambda_executeCommandInTranAndAnalyse_5__4: org.apache.isis.commons.functional.ThrowingRunnable bootstrap$(org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands,org.apache.isis.extensions.commandlog.model.command.CommandModel)>(v, v);
interfaceinvoke v.<org.apache.isis.applib.services.xactn.TransactionService: org.apache.isis.commons.functional.Result runWithinCurrentTransactionElseCreateNew(org.apache.isis.commons.functional.ThrowingRunnable)>(v);
v = interfaceinvoke v.<org.apache.isis.extensions.commandlog.model.command.CommandModel: org.apache.isis.extensions.commandlog.model.command.ReplayState getReplayState()>();
return v;
}
private boolean isRunning()
{
org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands v;
java.util.function.Function v, v;
java.lang.Boolean v;
java.util.Optional v, v, v;
java.lang.Object v;
boolean v;
v := @this: org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands;
v = v.<org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands: java.util.Optional controller>;
v = staticinvoke <org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands$lambda_isRunning_6__5: java.util.function.Function bootstrap$(org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands)>(v);
v = virtualinvoke v.<java.util.Optional: java.util.Optional map(java.util.function.Function)>(v);
v = staticinvoke <org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands$lambda_isRunning_7__6: java.util.function.Function bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.util.Optional map(java.util.function.Function)>(v);
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
return v;
}
static void <clinit>()
{
org.apache.logging.log4j.Logger v;
v = staticinvoke <org.apache.logging.log4j.LogManager: org.apache.logging.log4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/isis/extensions/commandreplay/secondary/jobcallables/ReplicateAndRunCommands;");
<org.apache.isis.extensions.commandreplay.secondary.jobcallables.ReplicateAndRunCommands: org.apache.logging.log4j.Logger log> = v;
return;
}
}