public class org.finos.legend.engine.repl.dataCube.commands.DataCubeCache extends java.lang.Object implements org.finos.legend.engine.repl.core.Command
{
private final org.finos.legend.engine.repl.dataCube.commands.DataCube parentCommand;
private final org.finos.legend.engine.repl.client.Client client;
private final org.finos.legend.engine.repl.dataCube.server.REPLServer replServer;
public void <init>(org.finos.legend.engine.repl.dataCube.commands.DataCube, org.finos.legend.engine.repl.client.Client, org.finos.legend.engine.repl.dataCube.server.REPLServer)
{
org.finos.legend.engine.repl.dataCube.server.REPLServer v;
org.finos.legend.engine.repl.dataCube.commands.DataCubeCache v;
org.finos.legend.engine.repl.dataCube.commands.DataCube v;
org.finos.legend.engine.repl.client.Client v;
v := @this: org.finos.legend.engine.repl.dataCube.commands.DataCubeCache;
v := @parameter: org.finos.legend.engine.repl.dataCube.commands.DataCube;
v := @parameter: org.finos.legend.engine.repl.client.Client;
v := @parameter: org.finos.legend.engine.repl.dataCube.server.REPLServer;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.finos.legend.engine.repl.dataCube.commands.DataCubeCache: org.finos.legend.engine.repl.dataCube.commands.DataCube parentCommand> = v;
v.<org.finos.legend.engine.repl.dataCube.commands.DataCubeCache: org.finos.legend.engine.repl.client.Client client> = v;
v.<org.finos.legend.engine.repl.dataCube.commands.DataCubeCache: org.finos.legend.engine.repl.dataCube.server.REPLServer replServer> = v;
return;
}
public java.lang.String documentation()
{
org.finos.legend.engine.repl.dataCube.commands.DataCubeCache v;
v := @this: org.finos.legend.engine.repl.dataCube.commands.DataCubeCache;
return "datacube cache <table name>";
}
public java.lang.String description()
{
org.finos.legend.engine.repl.dataCube.commands.DataCubeCache v;
v := @this: org.finos.legend.engine.repl.dataCube.commands.DataCubeCache;
return "cache the result for the last executed query and launch DataCube";
}
public org.finos.legend.engine.repl.core.Command parentCommand()
{
org.finos.legend.engine.repl.dataCube.commands.DataCube v;
org.finos.legend.engine.repl.dataCube.commands.DataCubeCache v;
v := @this: org.finos.legend.engine.repl.dataCube.commands.DataCubeCache;
v = v.<org.finos.legend.engine.repl.dataCube.commands.DataCubeCache: org.finos.legend.engine.repl.dataCube.commands.DataCube parentCommand>;
return v;
}
public boolean process(java.lang.String) throws java.lang.Exception
{
org.finos.legend.engine.repl.dataCube.commands.DataCubeCache v;
java.lang.String[] v;
org.finos.legend.engine.repl.client.Client v, v, v, v, v, v;
org.finos.legend.engine.repl.client.ModelState v;
org.eclipse.collections.api.block.function.Function v;
org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData v;
int v;
java.lang.String v, v, v, v, v, v, v;
boolean v, v;
java.lang.RuntimeException v;
java.lang.Exception v;
org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.DatabaseConnection v;
v := @this: org.finos.legend.engine.repl.dataCube.commands.DataCubeCache;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("datacube cache");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>(" ");
v = lengthof v;
if v == 3 goto label;
v = new java.lang.RuntimeException;
v = virtualinvoke v.<org.finos.legend.engine.repl.dataCube.commands.DataCubeCache: java.lang.String documentation()>();
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[])>("Command should be used as \'\u0001\'");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v[2];
v = v.<org.finos.legend.engine.repl.dataCube.commands.DataCubeCache: org.finos.legend.engine.repl.client.Client client>;
v = virtualinvoke v.<org.finos.legend.engine.repl.client.Client: java.lang.String getLastCommand(int)>(1);
if v != null goto label;
v = v.<org.finos.legend.engine.repl.dataCube.commands.DataCubeCache: org.finos.legend.engine.repl.client.Client client>;
virtualinvoke v.<org.finos.legend.engine.repl.client.Client: void printError(java.lang.String)>("Failed to retrieve the last command");
return 1;
label:
v = v.<org.finos.legend.engine.repl.dataCube.commands.DataCubeCache: org.finos.legend.engine.repl.client.Client client>;
v = virtualinvoke v.<org.finos.legend.engine.repl.client.Client: org.finos.legend.engine.repl.client.ModelState getModelState()>();
v = virtualinvoke v.<org.finos.legend.engine.repl.client.ModelState: org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData parse()>();
v = staticinvoke <org.finos.legend.engine.repl.dataCube.commands.DataCube: java.lang.String getLocalConnectionPath()>();
v = staticinvoke <org.finos.legend.engine.repl.relational.shared.ConnectionHelper: org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.DatabaseConnection getDatabaseConnection(org.finos.legend.engine.protocol.pure.v.model.context.PureModelContextData,java.lang.String)>(v, v);
label:
v = v.<org.finos.legend.engine.repl.dataCube.commands.DataCubeCache: org.finos.legend.engine.repl.client.Client client>;
v = staticinvoke <org.finos.legend.engine.repl.dataCube.commands.DataCubeCache$lambda_process_d3c77af5_1__3: org.eclipse.collections.api.block.function.Function bootstrap$(org.finos.legend.engine.repl.dataCube.commands.DataCubeCache,org.finos.legend.engine.protocol.pure.v.model.packageableElement.store.relational.connection.DatabaseConnection,java.lang.String)>(v, v, v);
staticinvoke <org.finos.legend.engine.repl.shared.ExecutionHelper: org.finos.legend.engine.repl.shared.ExecutionHelper$ExecuteResultSummary executeCode(java.lang.String,org.finos.legend.engine.repl.client.Client,org.eclipse.collections.api.block.function.Function)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = v.<org.finos.legend.engine.repl.dataCube.commands.DataCubeCache: org.finos.legend.engine.repl.client.Client client>;
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[])>("Last command run is not an execution of a Pure expression (command run: \'\u0001\')");
virtualinvoke v.<org.finos.legend.engine.repl.client.Client: void printError(java.lang.String)>(v);
v = v instanceof org.finos.legend.engine.shared.core.operational.errorManagement.EngineException;
if v == 0 goto label;
v = v.<org.finos.legend.engine.repl.dataCube.commands.DataCubeCache: org.finos.legend.engine.repl.client.Client client>;
virtualinvoke v.<org.finos.legend.engine.repl.client.Client: void printEngineError(org.finos.legend.engine.shared.core.operational.errorManagement.EngineException,java.lang.String)>(v, v);
goto label;
label:
throw v;
label:
return 1;
label:
return 0;
catch java.lang.Exception from label to label with label;
}
public org.eclipse.collections.api.list.MutableList complete(java.lang.String, org.jline.reader.LineReader, org.jline.reader.ParsedLine)
{
org.jline.reader.LineReader v;
org.finos.legend.engine.repl.dataCube.commands.DataCubeCache v;
java.lang.String v;
org.jline.reader.ParsedLine v;
v := @this: org.finos.legend.engine.repl.dataCube.commands.DataCubeCache;
v := @parameter: java.lang.String;
v := @parameter: org.jline.reader.LineReader;
v := @parameter: org.jline.reader.ParsedLine;
return null;
}
}