public class org.apache.naming.factory.ResourceFactory extends java.lang.Object implements javax.naming.spi.ObjectFactory
{
public void <init>()
{
org.apache.naming.factory.ResourceFactory v;
v := @this: org.apache.naming.factory.ResourceFactory;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public java.lang.Object getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable) throws java.lang.Exception
{
javax.naming.NamingException v, v, v, v;
java.lang.Thread v;
boolean v, v, v, v;
java.lang.ClassLoader v;
java.lang.Throwable v, v, v;
javax.naming.RefAddr v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v;
javax.naming.Context v;
java.util.Hashtable v;
org.apache.naming.factory.ResourceFactory v;
javax.naming.Name v;
java.lang.Class v, v, v;
java.lang.ClassNotFoundException v, v;
java.lang.Object v, v, v, v;
v := @this: org.apache.naming.factory.ResourceFactory;
v := @parameter: java.lang.Object;
v := @parameter: javax.naming.Name;
v := @parameter: javax.naming.Context;
v := @parameter: java.util.Hashtable;
v = v instanceof org.apache.naming.ResourceRef;
if v == 0 goto label;
v = virtualinvoke v.<javax.naming.Reference: javax.naming.RefAddr get(java.lang.String)>("factory");
if v == null goto label;
v = virtualinvoke v.<javax.naming.RefAddr: java.lang.Object getContent()>();
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: java.lang.ClassLoader getContextClassLoader()>();
if v == null goto label;
label:
v = virtualinvoke v.<java.lang.ClassLoader: java.lang.Class loadClass(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new javax.naming.NamingException;
v = virtualinvoke v.<java.lang.ClassNotFoundException: java.lang.String getMessage()>();
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[])>("Could not create resource factory, ClassNotFoundException:\u0001");
specialinvoke v.<javax.naming.NamingException: void <init>(java.lang.String)>(v);
throw v;
label:
v = staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new javax.naming.NamingException;
v = virtualinvoke v.<java.lang.ClassNotFoundException: java.lang.String getMessage()>();
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[])>("Could not create resource factory, ClassNotFoundException:\u0001");
specialinvoke v.<javax.naming.NamingException: void <init>(java.lang.String)>(v);
throw v;
label:
if v == null goto label;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.Object newInstance()>();
label:
goto label;
label:
v := @caughtexception;
v = v instanceof javax.naming.NamingException;
if v == 0 goto label;
throw v;
label:
v = new javax.naming.NamingException;
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
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[])>("Could not create resource factory instance, \u0001");
specialinvoke v.<javax.naming.NamingException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<javax.naming.Reference: java.lang.String getClassName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("javax.sql.DataSource");
if v == 0 goto label;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("javax.sql.DataSource.Factory", "org.apache.commons.dbcp.BasicDataSourceFactory");
label:
v = staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String)>(v);
virtualinvoke v.<java.lang.Class: java.lang.Object newInstance()>();
label:
goto label;
label:
v := @caughtexception;
goto label;
label:
v = virtualinvoke v.<javax.naming.Reference: java.lang.String getClassName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("jakarta.mail.Session");
if v == 0 goto label;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("jakarta.mail.Session.Factory", "org.apache.naming.factory.MailSessionFactory");
label:
v = staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String)>(v);
virtualinvoke v.<java.lang.Class: java.lang.Object newInstance()>();
label:
goto label;
label:
v := @caughtexception;
label:
if v == null goto label;
v = interfaceinvoke v.<javax.naming.spi.ObjectFactory: java.lang.Object getObjectInstance(java.lang.Object,javax.naming.Name,javax.naming.Context,java.util.Hashtable)>(v, v, v, v);
return v;
label:
v = new javax.naming.NamingException;
specialinvoke v.<javax.naming.NamingException: void <init>(java.lang.String)>("Cannot create resource instance");
throw v;
label:
return null;
catch java.lang.ClassNotFoundException from label to label with label;
catch java.lang.ClassNotFoundException 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;
}
}