public class org.apache.activemq.console.command.CreateCommand extends org.apache.activemq.console.command.AbstractCommand
{
protected final java.lang.String[] helpFile;
protected final java.lang.String DEFAULT_TARGET_ACTIVEMQ_CONF;
protected final java.lang.String DEFAULT_BROKERNAME_XPATH;
protected final java.lang.String[] BASE_SUB_DIRS;
protected final java.lang.String BROKER_NAME_REGEX;
protected java.lang.String amqConf;
protected java.lang.String[][] fileWriteMap;
protected java.lang.String brokerName;
protected java.io.File amqHome;
protected java.io.File targetAmqBase;
private static final java.lang.String winActivemqData;
public void <init>()
{
org.apache.activemq.console.command.CreateCommand v;
java.lang.String[] v, v, v, v;
java.lang.String[][] v;
v := @this: org.apache.activemq.console.command.CreateCommand;
specialinvoke v.<org.apache.activemq.console.command.AbstractCommand: void <init>()>();
v = newarray (java.lang.String)[8];
v[0] = "Task Usage: Main create path/to/brokerA [create-options]";
v[1] = "Description:  Creates a runnable broker instance in the specified path.";
v[2] = "";
v[3] = "List Options:";
v[4] = "    --amqconf <file path>   Path to ActiveMQ conf file that will be used in the broker instance. Default is: conf/activemq.xml";
v[5] = "    --version               Display the version information.";
v[6] = "    -h,-?,--help            Display the create broker help information.";
v[7] = "";
v.<org.apache.activemq.console.command.CreateCommand: java.lang.String[] helpFile> = v;
v.<org.apache.activemq.console.command.CreateCommand: java.lang.String DEFAULT_TARGET_ACTIVEMQ_CONF> = "conf/activemq.xml";
v.<org.apache.activemq.console.command.CreateCommand: java.lang.String DEFAULT_BROKERNAME_XPATH> = "/beans/broker/@brokerName";
v = newarray (java.lang.String)[2];
v[0] = "bin";
v[1] = "conf";
v.<org.apache.activemq.console.command.CreateCommand: java.lang.String[] BASE_SUB_DIRS> = v;
v.<org.apache.activemq.console.command.CreateCommand: java.lang.String BROKER_NAME_REGEX> = "[$][{]brokerName[}]";
v.<org.apache.activemq.console.command.CreateCommand: java.lang.String amqConf> = "conf/activemq.xml";
v = newarray (java.lang.String[])[2];
v = newarray (java.lang.String)[2];
v[0] = "winActivemq";
v[1] = "bin/${brokerName}.bat";
v[0] = v;
v = newarray (java.lang.String)[2];
v[0] = "unixActivemq";
v[1] = "bin/${brokerName}";
v[1] = v;
v.<org.apache.activemq.console.command.CreateCommand: java.lang.String[][] fileWriteMap> = v;
return;
}
public java.lang.String getName()
{
org.apache.activemq.console.command.CreateCommand v;
v := @this: org.apache.activemq.console.command.CreateCommand;
return "create";
}
public java.lang.String getOneLineDescription()
{
org.apache.activemq.console.command.CreateCommand v;
v := @this: org.apache.activemq.console.command.CreateCommand;
return "Creates a runnable broker instance in the specified path.";
}
protected void runTask(java.util.List) throws java.lang.Exception
{
org.apache.activemq.console.command.CreateCommand v;
boolean v, v, v, v, v, v;
org.apache.activemq.console.CommandContext v, v, v;
java.util.List v;
java.lang.String[] v;
java.lang.String v, v, v, v, v, v, v, v;
java.util.Iterator v;
java.io.InputStreamReader v;
java.io.File v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Object v;
java.io.BufferedReader v;
java.lang.String[][] v;
java.io.InputStream v;
v := @this: org.apache.activemq.console.command.CreateCommand;
v := @parameter: java.util.List;
v = v.<org.apache.activemq.console.command.CreateCommand: org.apache.activemq.console.CommandContext context>;
virtualinvoke v.<org.apache.activemq.console.CommandContext: void print(java.lang.String)>("Running create broker task...");
v = new java.io.File;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("activemq.home");
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v.<org.apache.activemq.console.command.CreateCommand: java.io.File amqHome> = v;
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 = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v.<org.apache.activemq.console.command.CreateCommand: java.io.File targetAmqBase> = v;
v = v.<org.apache.activemq.console.command.CreateCommand: java.io.File targetAmqBase>;
v = virtualinvoke v.<java.io.File: java.lang.String getName()>();
v.<org.apache.activemq.console.command.CreateCommand: java.lang.String brokerName> = v;
v = v.<org.apache.activemq.console.command.CreateCommand: java.io.File targetAmqBase>;
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v == 0 goto label;
v = new java.io.BufferedReader;
v = new java.io.InputStreamReader;
v = <java.lang.System: java.io.InputStream in>;
specialinvoke v.<java.io.InputStreamReader: void <init>(java.io.InputStream)>(v);
specialinvoke v.<java.io.BufferedReader: void <init>(java.io.Reader)>(v);
label:
v = v.<org.apache.activemq.console.command.CreateCommand: org.apache.activemq.console.CommandContext context>;
v = v.<org.apache.activemq.console.command.CreateCommand: java.io.File targetAmqBase>;
v = virtualinvoke v.<java.io.File: java.lang.String getCanonicalPath()>();
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[])>("Target directory (\u) already exists. Overwrite (y/n): ");
virtualinvoke v.<org.apache.activemq.console.CommandContext: void print(java.lang.String)>(v);
v = virtualinvoke v.<java.io.BufferedReader: java.lang.String readLine()>();
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>("y");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>("yes");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>("n");
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>("no");
if v == 0 goto label;
label:
return;
label:
v = v.<org.apache.activemq.console.command.CreateCommand: org.apache.activemq.console.CommandContext context>;
v = v.<org.apache.activemq.console.command.CreateCommand: java.io.File targetAmqBase>;
v = virtualinvoke v.<java.io.File: java.lang.String getCanonicalPath()>();
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[])>("Creating directory: \u0001");
virtualinvoke v.<org.apache.activemq.console.CommandContext: void print(java.lang.String)>(v);
v = v.<org.apache.activemq.console.command.CreateCommand: java.io.File targetAmqBase>;
virtualinvoke v.<java.io.File: boolean mkdirs()>();
v = v.<org.apache.activemq.console.command.CreateCommand: java.io.File targetAmqBase>;
v = v.<org.apache.activemq.console.command.CreateCommand: java.lang.String[] BASE_SUB_DIRS>;
virtualinvoke v.<org.apache.activemq.console.command.CreateCommand: void createSubDirs(java.io.File,java.lang.String[])>(v, v);
v = v.<org.apache.activemq.console.command.CreateCommand: java.io.File targetAmqBase>;
v = v.<org.apache.activemq.console.command.CreateCommand: java.lang.String[][] fileWriteMap>;
virtualinvoke v.<org.apache.activemq.console.command.CreateCommand: void writeFileMapping(java.io.File,java.lang.String[][])>(v, v);
v = v.<org.apache.activemq.console.command.CreateCommand: java.io.File amqHome>;
v = v.<org.apache.activemq.console.command.CreateCommand: java.io.File targetAmqBase>;
v = v.<org.apache.activemq.console.command.CreateCommand: java.lang.String amqConf>;
virtualinvoke v.<org.apache.activemq.console.command.CreateCommand: void copyActivemqConf(java.io.File,java.io.File,java.lang.String)>(v, v, v);
v = new java.io.File;
v = v.<org.apache.activemq.console.command.CreateCommand: java.io.File amqHome>;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "conf");
v = new java.io.File;
v = v.<org.apache.activemq.console.command.CreateCommand: java.io.File targetAmqBase>;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "conf");
specialinvoke v.<org.apache.activemq.console.command.CreateCommand: void copyConfDirectory(java.io.File,java.io.File)>(v, v);
goto label;
label:
return;
}
protected void handleOption(java.lang.String, java.util.List) throws java.lang.Exception
{
org.apache.activemq.console.CommandContext v;
org.apache.activemq.console.command.CreateCommand v;
java.lang.IllegalArgumentException v;
java.util.List v;
java.lang.Object v, v;
java.lang.String v;
boolean v, v, v;
v := @this: org.apache.activemq.console.command.CreateCommand;
v := @parameter: java.lang.String;
v := @parameter: java.util.List;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("--amqconf");
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("-");
if v == 0 goto label;
label:
v = v.<org.apache.activemq.console.command.CreateCommand: org.apache.activemq.console.CommandContext context>;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Attributes to amqconf not specified");
virtualinvoke v.<org.apache.activemq.console.CommandContext: void printException(java.lang.Exception)>(v);
return;
label:
v = interfaceinvoke v.<java.util.List: java.lang.Object remove(int)>(0);
v.<org.apache.activemq.console.command.CreateCommand: java.lang.String amqConf> = v;
goto label;
label:
specialinvoke v.<org.apache.activemq.console.command.AbstractCommand: void handleOption(java.lang.String,java.util.List)>(v, v);
label:
return;
}
protected void createSubDirs(java.io.File, java.lang.String[]) throws java.io.IOException
{
org.apache.activemq.console.CommandContext v;
org.apache.activemq.console.command.CreateCommand v;
java.lang.String[] v, v;
java.io.File v, v;
int v, v;
java.lang.String v, v, v;
v := @this: org.apache.activemq.console.command.CreateCommand;
v := @parameter: java.io.File;
v := @parameter: java.lang.String[];
v = v.<org.apache.activemq.console.command.CreateCommand: java.lang.String[] BASE_SUB_DIRS>;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, v);
v = v.<org.apache.activemq.console.command.CreateCommand: org.apache.activemq.console.CommandContext context>;
v = virtualinvoke v.<java.io.File: java.lang.String getCanonicalPath()>();
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[])>("Creating directory: \u0001");
virtualinvoke v.<org.apache.activemq.console.CommandContext: void print(java.lang.String)>(v);
virtualinvoke v.<java.io.File: boolean mkdirs()>();
v = v + 1;
goto label;
label:
return;
}
protected void writeFileMapping(java.io.File, java.lang.String[][]) throws java.io.IOException
{
org.apache.activemq.console.CommandContext v;
org.apache.activemq.console.command.CreateCommand v;
java.lang.String[] v;
java.io.File v, v;
int v, v;
java.lang.String v, v, v, v, v, v;
java.lang.String[][] v;
v := @this: org.apache.activemq.console.command.CreateCommand;
v := @parameter: java.io.File;
v := @parameter: java.lang.String[][];
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = new java.io.File;
v = v.<org.apache.activemq.console.command.CreateCommand: java.lang.String brokerName>;
v = v[1];
v = specialinvoke v.<org.apache.activemq.console.command.CreateCommand: java.lang.String resolveParam(java.lang.String,java.lang.String,java.lang.String)>("[$][{]brokerName[}]", v, v);
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, v);
v = v.<org.apache.activemq.console.command.CreateCommand: org.apache.activemq.console.CommandContext context>;
v = virtualinvoke v.<java.io.File: java.lang.String getCanonicalPath()>();
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[])>("Creating new file: \u0001");
virtualinvoke v.<org.apache.activemq.console.CommandContext: void print(java.lang.String)>(v);
v = v[0];
specialinvoke v.<org.apache.activemq.console.command.CreateCommand: void writeFile(java.lang.String,java.io.File)>(v, v);
v = v + 1;
goto label;
label:
return;
}
protected void copyActivemqConf(java.io.File, java.io.File, java.lang.String) throws java.io.IOException, javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXException, javax.xml.transform.TransformerException, javax.xml.xpath.XPathExpressionException
{
javax.xml.transform.dom.DOMSource v;
javax.xml.xpath.XPath v;
org.apache.activemq.console.command.CreateCommand v;
org.w3c.dom.Document v;
java.lang.Boolean v;
java.lang.String v, v, v, v, v, v, v;
boolean v, v;
org.apache.activemq.console.CommandContext v;
java.io.File v, v, v, v;
java.io.FileNotFoundException v;
javax.xml.xpath.XPathFactory v;
org.w3c.dom.Element v;
javax.xml.parsers.DocumentBuilder v;
java.lang.Object v;
javax.xml.namespace.QName v;
javax.xml.parsers.DocumentBuilderFactory v;
v := @this: org.apache.activemq.console.command.CreateCommand;
v := @parameter: java.io.File;
v := @parameter: java.io.File;
v := @parameter: java.lang.String;
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, v);
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v != 0 goto label;
v = new java.io.FileNotFoundException;
v = virtualinvoke v.<java.io.File: java.lang.String getCanonicalPath()>();
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[])>("File: \u not found.");
specialinvoke v.<java.io.FileNotFoundException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "conf/activemq.xml");
v = v.<org.apache.activemq.console.command.CreateCommand: org.apache.activemq.console.CommandContext context>;
v = virtualinvoke v.<java.io.File: java.lang.String getCanonicalPath()>();
v = virtualinvoke v.<java.io.File: java.lang.String getCanonicalPath()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, 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[])>("Copying from: \u0001\n          to: \u0001");
virtualinvoke v.<org.apache.activemq.console.CommandContext: void print(java.lang.String)>(v);
v = staticinvoke <javax.xml.parsers.DocumentBuilderFactory: javax.xml.parsers.DocumentBuilderFactory newInstance()>();
v = <java.lang.Boolean: java.lang.Boolean TRUE>;
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
virtualinvoke v.<javax.xml.parsers.DocumentBuilderFactory: void setFeature(java.lang.String,boolean)>("http://javax.xml.XMLConstants/feature/secure-processing", v);
virtualinvoke v.<javax.xml.parsers.DocumentBuilderFactory: void setFeature(java.lang.String,boolean)>("http://apache.org/xml/features/disallow-doctype-decl", 1);
v = virtualinvoke v.<javax.xml.parsers.DocumentBuilderFactory: javax.xml.parsers.DocumentBuilder newDocumentBuilder()>();
v = virtualinvoke v.<javax.xml.parsers.DocumentBuilder: org.w3c.dom.Document parse(java.io.File)>(v);
v = interfaceinvoke v.<org.w3c.dom.Document: org.w3c.dom.Element getDocumentElement()>();
v = staticinvoke <javax.xml.xpath.XPathFactory: javax.xml.xpath.XPathFactory newInstance()>();
v = virtualinvoke v.<javax.xml.xpath.XPathFactory: javax.xml.xpath.XPath newXPath()>();
v = <javax.xml.xpath.XPathConstants: javax.xml.namespace.QName NODE>;
v = interfaceinvoke v.<javax.xml.xpath.XPath: java.lang.Object evaluate(java.lang.String,java.lang.Object,javax.xml.namespace.QName)>("/beans/broker/@brokerName", v, v);
v = v.<org.apache.activemq.console.command.CreateCommand: java.lang.String brokerName>;
interfaceinvoke v.<org.w3c.dom.Attr: void setValue(java.lang.String)>(v);
v = new javax.xml.transform.dom.DOMSource;
specialinvoke v.<javax.xml.transform.dom.DOMSource: void <init>(org.w3c.dom.Node)>(v);
specialinvoke v.<org.apache.activemq.console.command.CreateCommand: void writeToFile(javax.xml.transform.Source,java.io.File)>(v, v);
return;
}
protected void printHelp()
{
java.lang.String[] v;
org.apache.activemq.console.CommandContext v;
org.apache.activemq.console.command.CreateCommand v;
v := @this: org.apache.activemq.console.command.CreateCommand;
v = v.<org.apache.activemq.console.command.CreateCommand: org.apache.activemq.console.CommandContext context>;
v = v.<org.apache.activemq.console.command.CreateCommand: java.lang.String[] helpFile>;
virtualinvoke v.<org.apache.activemq.console.CommandContext: void printHelp(java.lang.String[])>(v);
return;
}
private void writeFile(java.lang.String, java.io.File) throws java.io.IOException
{
java.lang.Throwable v, v;
byte[] v;
java.lang.IllegalStateException v;
org.apache.activemq.console.command.CreateCommand v;
java.nio.ByteBuffer v;
int v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v;
java.io.FileOutputStream v;
java.io.File v, v, v, v, v;
java.nio.channels.FileChannel v;
v := @this: org.apache.activemq.console.command.CreateCommand;
v := @parameter: java.lang.String;
v := @parameter: java.io.File;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("winActivemq");
if v == 0 goto label;
v = v.<org.apache.activemq.console.command.CreateCommand: java.io.File amqHome>;
v = virtualinvoke v.<java.io.File: java.lang.String getCanonicalPath()>();
v = virtualinvoke v.<java.lang.String: java.lang.String replaceAll(java.lang.String,java.lang.String)>("[\\\\]", "/");
v = specialinvoke v.<org.apache.activemq.console.command.CreateCommand: java.lang.String resolveParam(java.lang.String,java.lang.String,java.lang.String)>("[$][{]activemq.home[}]", v, "@echo off\nset ACTIVEMQ_HOME=\"${activemq.home}\"\nset ACTIVEMQ_BASE=\"${activemq.base}\"\n\nset PARAM=%1\n:getParam\nshift\nif \"%1\"==\"\" goto end\nset PARAM=%PARAM% %1\ngoto getParam\n:end\n\n%ACTIVEMQ_HOME%/bin/activemq %PARAM%");
v = v.<org.apache.activemq.console.command.CreateCommand: java.io.File targetAmqBase>;
v = virtualinvoke v.<java.io.File: java.lang.String getCanonicalPath()>();
v = virtualinvoke v.<java.lang.String: java.lang.String replaceAll(java.lang.String,java.lang.String)>("[\\\\]", "/");
v = specialinvoke v.<org.apache.activemq.console.command.CreateCommand: java.lang.String resolveParam(java.lang.String,java.lang.String,java.lang.String)>("[$][{]activemq.base[}]", v, v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("unixActivemq");
if v == 0 goto label;
v = specialinvoke v.<org.apache.activemq.console.command.CreateCommand: java.lang.String getUnixActivemqData()>();
v = v.<org.apache.activemq.console.command.CreateCommand: java.io.File amqHome>;
v = virtualinvoke v.<java.io.File: java.lang.String getCanonicalPath()>();
v = virtualinvoke v.<java.lang.String: java.lang.String replaceAll(java.lang.String,java.lang.String)>("[\\\\]", "/");
v = specialinvoke v.<org.apache.activemq.console.command.CreateCommand: java.lang.String resolveParam(java.lang.String,java.lang.String,java.lang.String)>("[$][{]activemq.home[}]", v, v);
v = v.<org.apache.activemq.console.command.CreateCommand: java.io.File targetAmqBase>;
v = virtualinvoke v.<java.io.File: java.lang.String getCanonicalPath()>();
v = virtualinvoke v.<java.lang.String: java.lang.String replaceAll(java.lang.String,java.lang.String)>("[\\\\]", "/");
v = specialinvoke v.<org.apache.activemq.console.command.CreateCommand: java.lang.String resolveParam(java.lang.String,java.lang.String,java.lang.String)>("[$][{]activemq.base[}]", v, v);
goto label;
label:
v = new java.lang.IllegalStateException;
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[])>("Unknown file type: \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer allocate(int)>(v);
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(byte[])>(v);
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer flip()>();
v = new java.io.FileOutputStream;
specialinvoke v.<java.io.FileOutputStream: void <init>(java.io.File)>(v);
label:
v = virtualinvoke v.<java.io.FileOutputStream: java.nio.channels.FileChannel getChannel()>();
label:
virtualinvoke v.<java.nio.channels.FileChannel: int write(java.nio.ByteBuffer)>(v);
label:
virtualinvoke v.<java.nio.channels.FileChannel: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
virtualinvoke v.<java.io.FileOutputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
virtualinvoke v.<java.io.File: boolean setExecutable(boolean)>(1);
virtualinvoke v.<java.io.File: boolean setReadable(boolean)>(1);
virtualinvoke v.<java.io.File: boolean setWritable(boolean)>(1);
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void writeToFile(javax.xml.transform.Source, java.io.File) throws javax.xml.transform.TransformerException
{
javax.xml.transform.Transformer v;
org.apache.activemq.console.command.CreateCommand v;
javax.xml.transform.stream.StreamResult v;
javax.xml.transform.Source v;
java.io.File v;
java.lang.Boolean v;
javax.xml.transform.TransformerFactory v;
boolean v;
v := @this: org.apache.activemq.console.command.CreateCommand;
v := @parameter: javax.xml.transform.Source;
v := @parameter: java.io.File;
v = staticinvoke <javax.xml.transform.TransformerFactory: javax.xml.transform.TransformerFactory newInstance()>();
v = <java.lang.Boolean: java.lang.Boolean TRUE>;
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
virtualinvoke v.<javax.xml.transform.TransformerFactory: void setFeature(java.lang.String,boolean)>("http://javax.xml.XMLConstants/feature/secure-processing", v);
v = virtualinvoke v.<javax.xml.transform.TransformerFactory: javax.xml.transform.Transformer newTransformer()>();
v = new javax.xml.transform.stream.StreamResult;
specialinvoke v.<javax.xml.transform.stream.StreamResult: void <init>(java.io.File)>(v);
virtualinvoke v.<javax.xml.transform.Transformer: void transform(javax.xml.transform.Source,javax.xml.transform.Result)>(v, v);
return;
}
private void copyFile(java.io.File, java.io.File) throws java.io.IOException
{
java.lang.Throwable v, v, v, v;
org.apache.activemq.console.command.CreateCommand v;
java.io.FileOutputStream v;
long v;
java.io.FileInputStream v;
java.io.File v, v;
java.nio.channels.FileChannel v, v;
boolean v;
v := @this: org.apache.activemq.console.command.CreateCommand;
v := @parameter: java.io.File;
v := @parameter: java.io.File;
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v != 0 goto label;
return;
label:
v = new java.io.FileInputStream;
specialinvoke v.<java.io.FileInputStream: void <init>(java.io.File)>(v);
label:
v = virtualinvoke v.<java.io.FileInputStream: java.nio.channels.FileChannel getChannel()>();
label:
v = new java.io.FileOutputStream;
specialinvoke v.<java.io.FileOutputStream: void <init>(java.io.File)>(v);
label:
v = virtualinvoke v.<java.io.FileOutputStream: java.nio.channels.FileChannel getChannel()>();
label:
v = virtualinvoke v.<java.nio.channels.FileChannel: long size()>();
virtualinvoke v.<java.nio.channels.FileChannel: long transferTo(long,long,java.nio.channels.WritableByteChannel)>(0L, v, v);
label:
if v == null goto label;
virtualinvoke v.<java.nio.channels.FileChannel: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
virtualinvoke v.<java.io.FileOutputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
virtualinvoke v.<java.nio.channels.FileChannel: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
virtualinvoke v.<java.io.FileInputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
return;
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;
}
private void copyConfDirectory(java.io.File, java.io.File) throws java.io.IOException
{
org.apache.activemq.console.command.CreateCommand v;
java.lang.String[] v;
int v, v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v;
org.apache.activemq.console.CommandContext v;
java.io.IOException v;
java.io.File v, v, v, v;
v := @this: org.apache.activemq.console.command.CreateCommand;
v := @parameter: java.io.File;
v := @parameter: java.io.File;
v = virtualinvoke v.<java.io.File: boolean isDirectory()>();
if v == 0 goto label;
v = virtualinvoke v.<java.io.File: java.lang.String[] list()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, v);
v = virtualinvoke v.<java.io.File: boolean isFile()>();
if v == 0 goto label;
v = virtualinvoke v.<java.io.File: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("activemq.xml");
if v != 0 goto label;
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, v);
v = v.<org.apache.activemq.console.command.CreateCommand: org.apache.activemq.console.CommandContext context>;
v = virtualinvoke v.<java.io.File: java.lang.String getCanonicalPath()>();
v = virtualinvoke v.<java.io.File: java.lang.String getCanonicalPath()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, 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[])>("Copying from: \u0001\n          to: \u0001");
virtualinvoke v.<org.apache.activemq.console.CommandContext: void print(java.lang.String)>(v);
specialinvoke v.<org.apache.activemq.console.command.CreateCommand: void copyFile(java.io.File,java.io.File)>(v, v);
label:
v = v + 1;
goto label;
label:
v = new java.io.IOException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.io.File)>(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[])>("\u is not a directory");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
private java.lang.String resolveParam(java.lang.String, java.lang.String, java.lang.String)
{
org.apache.activemq.console.command.CreateCommand v;
java.lang.String v, v, v, v;
v := @this: org.apache.activemq.console.command.CreateCommand;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: java.lang.String replaceAll(java.lang.String,java.lang.String)>(v, v);
return v;
}
private java.lang.String getUnixActivemqData()
{
java.lang.String v;
java.lang.StringBuffer v;
org.apache.activemq.console.command.CreateCommand v;
v := @this: org.apache.activemq.console.command.CreateCommand;
v = new java.lang.StringBuffer;
specialinvoke v.<java.lang.StringBuffer: void <init>()>();
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("#!/bin/sh\n\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("## Figure out the ACTIVEMQ_BASE from the directory this script was run from\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("PRG=\"$0\"\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("progname=`basename \"$0\"`\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("saveddir=`pwd`\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("# need this for relative symlinks\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("dirname_prg=`dirname \"$PRG\"`\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("cd \"$dirname_prg\"\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("while [ -h \"$PRG\" ] ; do\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("  ls=`ls -ld \"$PRG\"`\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("  link=`expr \"$ls\" : \'.*-> \\(.*\\)$\'`\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("  if expr \"$link\" : \'.*/.*\' > /dev/null; then\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("    PRG=\"$link\"\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("  else\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("    PRG=`dirname \"$PRG\"`\"/$link\"\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("  fi\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("done\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("ACTIVEMQ_BASE=`dirname \"$PRG\"`/..\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("cd \"$saveddir\"\n\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("ACTIVEMQ_BASE=`cd \"$ACTIVEMQ_BASE\" && pwd`\n\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("## Enable remote debugging\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("#export ACTIVEMQ_DEBUG_OPTS=\"-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005\"\n\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("## Add system properties for this instance here (if needed), e.g\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("#export ACTIVEMQ_OPTS_MEMORY=\"-Xms256M -Xmx1G\"\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("#export ACTIVEMQ_OPTS=\"$ACTIVEMQ_OPTS_MEMORY -Dorg.apache.activemq.UseDedicatedTaskRunner=true -Djava.util.logging.config.file=logging.properties\"\n\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("export ACTIVEMQ_HOME=${activemq.home}\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("export ACTIVEMQ_BASE=$ACTIVEMQ_BASE\n\n");
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>("${ACTIVEMQ_HOME}/bin/activemq \"$@\"");
v = virtualinvoke v.<java.lang.StringBuffer: java.lang.String toString()>();
return v;
}
}