class org.glassfish.admin.rest.generator.client.PythonClientClassWriter extends java.lang.Object implements org.glassfish.admin.rest.generator.client.ClientClassWriter
{
private java.lang.String className;
private java.lang.StringBuilder source;
private java.io.File packageDir;
private static java.lang.String TMPL_CTOR;
private java.lang.String TMPL_GET_SEGMENT;
private static java.lang.String TMPL_COMMAND_METHOD;
private static java.lang.String TMPL_GETTER_AND_SETTER;
private static java.lang.String TMPL_GET_CHILD_RESOURCE;
public void <init>(org.jvnet.hk.config.ConfigModel, java.lang.String, java.lang.Class, java.io.File)
{
org.glassfish.admin.rest.generator.client.PythonClientClassWriter v;
java.lang.RuntimeException v;
java.io.File v, v, v, v;
org.jvnet.hk.config.ConfigModel v;
java.lang.Class v;
java.lang.StringBuilder v;
java.lang.String v, v, v;
boolean v, v, v;
v := @this: org.glassfish.admin.rest.generator.client.PythonClientClassWriter;
v := @parameter: org.jvnet.hk.config.ConfigModel;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Class;
v := @parameter: java.io.File;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.lang.String TMPL_GET_SEGMENT> = "    def getSegment(self):\n        return \'/SEGMENT\'\n";
v.<org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.lang.String className> = v;
v.<org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.io.File packageDir> = v;
v = v.<org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.io.File packageDir>;
virtualinvoke v.<java.io.File: void deleteOnExit()>();
v = v.<org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.io.File packageDir>;
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v != 0 goto label;
v = v.<org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.io.File packageDir>;
v = virtualinvoke v.<java.io.File: boolean mkdirs()>();
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
if v != 0 goto label;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>("Unable to create output directory");
throw v;
label:
v = new java.lang.StringBuilder;
v = <org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.lang.String TMPL_CTOR>;
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("CLASS", v);
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>(v);
v.<org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.lang.StringBuilder source> = v;
return;
}
public void generateGetSegment(java.lang.String)
{
org.glassfish.admin.rest.generator.client.PythonClientClassWriter v;
java.lang.StringBuilder v;
java.lang.String v, v, v;
v := @this: org.glassfish.admin.rest.generator.client.PythonClientClassWriter;
v := @parameter: java.lang.String;
v = v.<org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.lang.StringBuilder source>;
v = v.<org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.lang.String TMPL_GET_SEGMENT>;
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("SEGMENT", v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
return;
}
public void generateCommandMethod(java.lang.String, java.lang.String, java.lang.String, org.glassfish.api.admin.CommandModel)
{
boolean v, v, v, v, v, v;
java.util.Collection v;
java.lang.StringBuilder v, v, v, v, v, v;
org.glassfish.api.Param v;
java.lang.Boolean v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.glassfish.admin.rest.generator.client.PythonClientClassWriter v;
java.util.Iterator v;
java.lang.Object v;
org.glassfish.api.admin.CommandModel v;
v := @this: org.glassfish.admin.rest.generator.client.PythonClientClassWriter;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: org.glassfish.api.admin.CommandModel;
v = staticinvoke <org.glassfish.admin.rest.utils.Util: java.lang.String getMethodParameterList(org.glassfish.api.admin.CommandModel,boolean,boolean)>(v, 1, 0);
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("java.io.File");
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v = staticinvoke <org.glassfish.admin.rest.utils.Util: java.lang.String getMethodParameterList(org.glassfish.api.admin.CommandModel,boolean,boolean)>(v, 0, 0);
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>(", \u0001");
label:
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = virtualinvoke v.<org.glassfish.api.admin.CommandModel: java.util.Collection getParameters()>();
if v == null goto label;
v = interfaceinvoke v.<java.util.Collection: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.Collection: 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 = virtualinvoke v.<org.glassfish.api.admin.CommandModel$ParamModel: org.glassfish.api.Param getParam()>();
v = interfaceinvoke v.<org.glassfish.api.Param: boolean optional()>();
if v != 0 goto label;
v = interfaceinvoke v.<org.glassfish.api.Param: java.lang.String alias()>();
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<org.glassfish.api.Param: java.lang.String alias()>();
goto label;
label:
v = virtualinvoke v.<org.glassfish.api.admin.CommandModel$ParamModel: java.lang.String getName()>();
label:
v = virtualinvoke v.<org.glassfish.api.admin.CommandModel$ParamModel: java.lang.String getName()>();
v = staticinvoke <org.glassfish.admin.rest.utils.Util: java.lang.String eleminateHypen(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("        optional[\'");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\'] = _");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\n");
goto label;
label:
v = v.<org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.lang.StringBuilder source>;
v = <org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.lang.String TMPL_COMMAND_METHOD>;
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("COMMAND", v);
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("PARAMS", v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("MERGE", v);
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("PATH", v);
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("METHOD", v);
v = virtualinvoke v.<java.lang.Boolean: java.lang.String toString()>();
v = staticinvoke <org.glassfish.admin.rest.utils.Util: java.lang.String upperCaseFirstLetter(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("MULTIPART", v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
return;
}
public java.lang.String generateMethodBody(org.glassfish.api.admin.CommandModel, java.lang.String, java.lang.String, boolean, boolean)
{
org.glassfish.admin.rest.generator.client.PythonClientClassWriter v;
java.lang.String v, v;
org.glassfish.api.admin.CommandModel v;
boolean v, v;
v := @this: org.glassfish.admin.rest.generator.client.PythonClientClassWriter;
v := @parameter: org.glassfish.api.admin.CommandModel;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: boolean;
return null;
}
public void generateGettersAndSetters(java.lang.String, java.lang.String, java.lang.String)
{
org.glassfish.admin.rest.generator.client.PythonClientClassWriter v;
java.lang.StringBuilder v;
java.lang.String v, v, v, v, v, v;
v := @this: org.glassfish.admin.rest.generator.client.PythonClientClassWriter;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.lang.StringBuilder source>;
v = <org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.lang.String TMPL_GETTER_AND_SETTER>;
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("METHOD", v);
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("FIELD", v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
return;
}
public void createGetChildResource(org.jvnet.hk.config.ConfigModel, java.lang.String, java.lang.String)
{
org.glassfish.admin.rest.generator.client.PythonClientClassWriter v;
java.util.Locale v;
org.jvnet.hk.config.ConfigModel v;
java.lang.StringBuilder v;
java.lang.String v, v, v, v, v, v, v, v;
boolean v;
v := @this: org.glassfish.admin.rest.generator.client.PythonClientClassWriter;
v := @parameter: org.jvnet.hk.config.ConfigModel;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = staticinvoke <org.glassfish.admin.rest.utils.Util: java.lang.String getKeyAttributeName(org.jvnet.hk.config.ConfigModel)>(v);
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = <org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.lang.String TMPL_GET_CHILD_RESOURCE>;
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("CHILD", v);
v = staticinvoke <java.util.Locale: java.util.Locale getDefault()>();
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("IMPORT", v);
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("ELEMENT", v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>(", name", "");
label:
v = v.<org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.lang.StringBuilder source>;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
return;
}
public void generateCollectionLeafResourceGetter(java.lang.String)
{
org.glassfish.admin.rest.generator.client.PythonClientClassWriter v;
java.util.Locale v;
java.lang.StringBuilder v;
java.lang.String v, v, v, v, v, v, v;
v := @this: org.glassfish.admin.rest.generator.client.PythonClientClassWriter;
v := @parameter: java.lang.String;
v = v.<org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.lang.StringBuilder source>;
v = <org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.lang.String TMPL_GET_CHILD_RESOURCE>;
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("CHILD", v);
v = staticinvoke <java.util.Locale: java.util.Locale getDefault()>();
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("IMPORT", v);
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("ELEMENT", v);
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>(", name", "");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
return;
}
public void generateRestLeafGetter(java.lang.String)
{
java.lang.String v;
org.glassfish.admin.rest.generator.client.PythonClientClassWriter v;
v := @this: org.glassfish.admin.rest.generator.client.PythonClientClassWriter;
v := @parameter: java.lang.String;
virtualinvoke v.<org.glassfish.admin.rest.generator.client.PythonClientClassWriter: void generateCollectionLeafResourceGetter(java.lang.String)>(v);
return;
}
public void done()
{
java.lang.Throwable v;
java.util.Locale v;
java.lang.String v, v, v, v;
boolean v;
org.glassfish.admin.rest.generator.client.PythonClientClassWriter v;
java.io.BufferedWriter v, v;
java.io.FileWriter v;
java.io.IOException v;
java.lang.RuntimeException v, v;
java.io.File v, v;
java.lang.StringBuilder v;
v := @this: org.glassfish.admin.rest.generator.client.PythonClientClassWriter;
v = new java.io.File;
v = v.<org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.io.File packageDir>;
v = v.<org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.lang.String className>;
v = staticinvoke <java.util.Locale: java.util.Locale getDefault()>();
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u.py");
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, v);
label:
v = virtualinvoke v.<java.io.File: boolean createNewFile()>();
if v != 0 goto label;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>("Unable to create new file");
throw v;
label:
virtualinvoke v.<java.io.File: void deleteOnExit()>();
v = new java.io.BufferedWriter;
v = new java.io.FileWriter;
specialinvoke v.<java.io.FileWriter: void <init>(java.io.File)>(v);
specialinvoke v.<java.io.BufferedWriter: void <init>(java.io.Writer)>(v);
v = v.<org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.lang.StringBuilder source>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
virtualinvoke v.<java.io.BufferedWriter: java.io.Writer append(java.lang.CharSequence)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
goto label;
label:
v := @caughtexception;
throw v;
label:
return;
catch java.io.IOException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
static void <clinit>()
{
<org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.lang.String TMPL_CTOR> = "from restclientbase import *\n\nclass CLASS(RestClientBase):\n    def __init__(self, connection, parent, name = None):\n        self.name = name\n        RestClientBase.__init__(self, connection, parent, name)\n        self.parent = parent\n        self.connection = connection\n\n    def getRestUrl(self):\n        return self.getParent().getRestUrl() + self.getSegment() + ((\'/\' + self.name) if self.name else \'\')\n";
<org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.lang.String TMPL_COMMAND_METHOD> = "\n    def COMMAND(self PARAMS, optional={}):\nMERGE        return self.execute(\'/PATH\', \'METHOD\', optional, MULTIPART)\n";
<org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.lang.String TMPL_GETTER_AND_SETTER> = "\n    def getMETHOD(self):\n        return self.getValue(\'FIELD\')\n\n    def setMETHOD(self, value):\n        self.setValue(\'FIELD\', value)\n";
<org.glassfish.admin.rest.generator.client.PythonClientClassWriter: java.lang.String TMPL_GET_CHILD_RESOURCE> = "\n    def getELEMENT(self, name):\n        from IMPORT import CHILD\n        child = CHILD(self.connection, self, name)\n        return child if (child.status == 200) else None\n";
return;
}
}