public class org.glassfish.ejb.embedded.DeploymentElement extends java.lang.Object
{
private static final java.util.logging.Logger _logger;
private java.io.File element;
private boolean isEJBModule;
private boolean isWebApp;
private java.lang.String mname;
void <init>(java.io.File, boolean, java.lang.String)
{
java.lang.String[] v;
java.io.File v;
java.util.List v;
org.glassfish.ejb.embedded.DeploymentElement v;
java.lang.String v, v;
boolean v, v, v, v;
v := @this: org.glassfish.ejb.embedded.DeploymentElement;
v := @parameter: java.io.File;
v := @parameter: boolean;
v := @parameter: java.lang.String;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.glassfish.ejb.embedded.DeploymentElement: boolean isWebApp> = 0;
v.<org.glassfish.ejb.embedded.DeploymentElement: java.lang.String mname> = null;
v.<org.glassfish.ejb.embedded.DeploymentElement: java.io.File element> = v;
v.<org.glassfish.ejb.embedded.DeploymentElement: boolean isEJBModule> = v;
v.<org.glassfish.ejb.embedded.DeploymentElement: java.lang.String mname> = 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 endsWith(java.lang.String)>(".war");
v.<org.glassfish.ejb.embedded.DeploymentElement: boolean isWebApp> = v;
goto label;
label:
v = virtualinvoke v.<java.io.File: java.lang.String[] list()>();
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = interfaceinvoke v.<java.util.List: boolean contains(java.lang.Object)>("WEB-INF");
v.<org.glassfish.ejb.embedded.DeploymentElement: boolean isWebApp> = v;
label:
return;
}
java.io.File getElement()
{
org.glassfish.ejb.embedded.DeploymentElement v;
java.io.File v;
v := @this: org.glassfish.ejb.embedded.DeploymentElement;
v = v.<org.glassfish.ejb.embedded.DeploymentElement: java.io.File element>;
return v;
}
boolean isEJBModule()
{
org.glassfish.ejb.embedded.DeploymentElement v;
boolean v;
v := @this: org.glassfish.ejb.embedded.DeploymentElement;
v = v.<org.glassfish.ejb.embedded.DeploymentElement: boolean isEJBModule>;
return v;
}
boolean isWebApp()
{
org.glassfish.ejb.embedded.DeploymentElement v;
boolean v;
v := @this: org.glassfish.ejb.embedded.DeploymentElement;
v = v.<org.glassfish.ejb.embedded.DeploymentElement: boolean isWebApp>;
return v;
}
public static boolean hasEJBModule(java.util.Set)
{
java.util.Iterator v;
java.util.Set v;
java.lang.Object v;
boolean v, v;
v := @parameter: java.util.Set;
v = interfaceinvoke v.<java.util.Set: 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 = v.<org.glassfish.ejb.embedded.DeploymentElement: boolean isEJBModule>;
if v == 0 goto label;
return 1;
label:
return 0;
}
public static boolean hasWar(java.util.Set)
{
java.util.Iterator v;
java.util.Set v;
java.lang.Object v;
boolean v, v;
v := @parameter: java.util.Set;
v = interfaceinvoke v.<java.util.Set: 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 = v.<org.glassfish.ejb.embedded.DeploymentElement: boolean isWebApp>;
if v == 0 goto label;
return 1;
label:
return 0;
}
public static org.glassfish.ejb.embedded.DeploymentElement getWar(java.util.Set)
{
java.util.Iterator v;
java.util.Set v;
java.lang.Object v;
boolean v, v;
v := @parameter: java.util.Set;
v = interfaceinvoke v.<java.util.Set: 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 = v.<org.glassfish.ejb.embedded.DeploymentElement: boolean isWebApp>;
if v == 0 goto label;
return v;
label:
return null;
}
public static boolean hasLibrary(java.util.Set)
{
java.util.Iterator v;
java.util.Set v;
java.lang.Object v;
boolean v, v;
v := @parameter: java.util.Set;
v = interfaceinvoke v.<java.util.Set: 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 = v.<org.glassfish.ejb.embedded.DeploymentElement: boolean isEJBModule>;
if v != 0 goto label;
return 1;
label:
return 0;
}
public static int countEJBModules(java.util.Set)
{
java.util.Iterator v;
int v;
java.util.Set v;
java.lang.Object v;
boolean v, v;
v := @parameter: java.util.Set;
v = 0;
v = interfaceinvoke v.<java.util.Set: 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 = v.<org.glassfish.ejb.embedded.DeploymentElement: boolean isEJBModule>;
if v == 0 goto label;
v = v + 1;
goto label;
label:
return v;
}
public static org.glassfish.ejb.embedded.DeploymentElement$ResultApplication getOrCreateApplication(java.util.Set, java.lang.String) throws jakarta.ejb.EJBException, java.io.IOException
{
java.util.Set v;
org.glassfish.ejb.embedded.DeploymentElement$ResultApplication v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.io.File v, v, v, v, v, v, v, v, v, v, v, v, v;
org.glassfish.ejb.embedded.DeploymentElement v;
java.net.URI v;
jakarta.ejb.EJBException v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.logging.Logger v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.glassfish.embeddable.archive.ScatteredArchive v, v;
org.glassfish.embeddable.archive.ScatteredArchive$Type v;
java.util.logging.Level v, v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v;
java.util.Iterator v, v, v, v;
char v;
java.lang.Object v, v, v, v, v;
v := @parameter: java.util.Set;
v := @parameter: java.lang.String;
v = null;
v = 0;
if v == null goto label;
v = interfaceinvoke v.<java.util.Set: int size()>();
if v == 0 goto label;
v = staticinvoke <org.glassfish.ejb.embedded.DeploymentElement: boolean hasEJBModule(java.util.Set)>(v);
if v != 0 goto label;
label:
v = <org.glassfish.ejb.embedded.DeploymentElement: java.util.logging.Logger _logger>;
virtualinvoke v.<java.util.logging.Logger: void severe(java.lang.String)>("[DeploymentElement] No modules found");
goto label;
label:
if v != null goto label;
v = staticinvoke <org.glassfish.ejb.embedded.DeploymentElement: int countEJBModules(java.util.Set)>(v);
if v != 1 goto label;
v = interfaceinvoke v.<java.util.Set: int size()>();
if v != 1 goto label;
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.glassfish.ejb.embedded.DeploymentElement: java.io.File getElement()>();
goto label;
label:
v = staticinvoke <org.glassfish.ejb.embedded.DeploymentElement: int countEJBModules(java.util.Set)>(v);
if v != 1 goto label;
v = staticinvoke <org.glassfish.ejb.embedded.DeploymentElement: boolean hasWar(java.util.Set)>(v);
if v == 0 goto label;
v = staticinvoke <org.glassfish.ejb.embedded.DeploymentElement: org.glassfish.ejb.embedded.DeploymentElement getWar(java.util.Set)>(v);
v = virtualinvoke v.<org.glassfish.ejb.embedded.DeploymentElement: java.io.File getElement()>();
goto label;
label:
v = null;
v = interfaceinvoke v.<java.util.Set: 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 = v.<org.glassfish.ejb.embedded.DeploymentElement: boolean isEJBModule>;
if v == 0 goto label;
v = new org.glassfish.embeddable.archive.ScatteredArchive;
v = v.<org.glassfish.ejb.embedded.DeploymentElement: java.lang.String mname>;
v = <org.glassfish.embeddable.archive.ScatteredArchive$Type: org.glassfish.embeddable.archive.ScatteredArchive$Type JAR>;
specialinvoke v.<org.glassfish.embeddable.archive.ScatteredArchive: void <init>(java.lang.String,org.glassfish.embeddable.archive.ScatteredArchive$Type)>(v, v);
v = v;
v = <org.glassfish.ejb.embedded.DeploymentElement: java.util.logging.Logger _logger>;
v = <java.util.logging.Level: java.util.logging.Level INFO>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.glassfish.ejb.embedded.DeploymentElement: java.util.logging.Logger _logger>;
v = v.<org.glassfish.ejb.embedded.DeploymentElement: java.lang.String mname>;
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[])>("[DeploymentElement] adding EJB module to ScatteredArchive \u0001");
virtualinvoke v.<java.util.logging.Logger: void info(java.lang.String)>(v);
label:
v = v.<org.glassfish.ejb.embedded.DeploymentElement: java.io.File element>;
virtualinvoke v.<org.glassfish.embeddable.archive.ScatteredArchive: void addClassPath(java.io.File)>(v);
label:
if v == null goto label;
v = interfaceinvoke v.<java.util.Set: 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 = v.<org.glassfish.ejb.embedded.DeploymentElement: boolean isEJBModule>;
if v != 0 goto label;
v = <org.glassfish.ejb.embedded.DeploymentElement: java.util.logging.Logger _logger>;
v = <java.util.logging.Level: java.util.logging.Level INFO>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.glassfish.ejb.embedded.DeploymentElement: java.util.logging.Logger _logger>;
v = v.<org.glassfish.ejb.embedded.DeploymentElement: java.io.File element>;
v = virtualinvoke v.<java.io.File: java.lang.String getName()>();
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[])>("[DeploymentElement] adding library to ScatteredArchive \u0001");
virtualinvoke v.<java.util.logging.Logger: void info(java.lang.String)>(v);
label:
v = v.<org.glassfish.ejb.embedded.DeploymentElement: java.io.File element>;
virtualinvoke v.<org.glassfish.embeddable.archive.ScatteredArchive: void addClassPath(java.io.File)>(v);
goto label;
label:
v = v;
goto label;
label:
v = staticinvoke <java.io.File: java.io.File createTempFile(java.lang.String,java.lang.String)>("ejb-app", "");
v = null;
v = virtualinvoke v.<java.io.File: boolean delete()>();
if v == 0 goto label;
v = virtualinvoke v.<java.io.File: boolean mkdirs()>();
if v == 0 goto label;
v = <org.glassfish.ejb.embedded.DeploymentElement: java.util.logging.Logger _logger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.glassfish.ejb.embedded.DeploymentElement: java.util.logging.Logger _logger>;
v = virtualinvoke v.<java.io.File: java.lang.String getAbsolutePath()>();
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[])>("[DeploymentElement] temp dir created at \u0001");
virtualinvoke v.<java.util.logging.Logger: void fine(java.lang.String)>(v);
label:
v = staticinvoke <org.glassfish.ejb.embedded.DeploymentElement: boolean hasLibrary(java.util.Set)>(v);
if v == 0 goto label;
v = <org.glassfish.ejb.embedded.DeploymentElement: java.util.logging.Logger _logger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.glassfish.ejb.embedded.DeploymentElement: java.util.logging.Logger _logger>;
virtualinvoke v.<java.util.logging.Logger: void fine(java.lang.String)>("[DeploymentElement] lib dir added ... ");
label:
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, "lib");
v = v;
goto label;
label:
v = new jakarta.ejb.EJBException;
v = virtualinvoke v.<java.io.File: java.lang.String getAbsolutePath()>();
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[])>("Not able to create temp dir \u0001");
specialinvoke v.<jakarta.ejb.EJBException: void <init>(java.lang.String)>(v);
throw v;
label:
v = 0;
v = interfaceinvoke v.<java.util.Set: 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 = v.<org.glassfish.ejb.embedded.DeploymentElement: java.io.File element>;
v = <org.glassfish.ejb.embedded.DeploymentElement: java.util.logging.Logger _logger>;
v = <java.util.logging.Level: java.util.logging.Level INFO>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.glassfish.ejb.embedded.DeploymentElement: java.util.logging.Logger _logger>;
v = virtualinvoke v.<java.io.File: java.lang.String getName()>();
v = v.<org.glassfish.ejb.embedded.DeploymentElement: boolean isEJBModule>;
v = v.<org.glassfish.ejb.embedded.DeploymentElement: boolean isWebApp>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,boolean,boolean)>(v, 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[])>("[DeploymentElement] adding \u to exploded ear  isEJBModule? \u isWebApp? \u0001");
virtualinvoke v.<java.util.logging.Logger: void info(java.lang.String)>(v);
label:
v = virtualinvoke v.<java.io.File: java.net.URI toURI()>();
v = virtualinvoke v.<java.net.URI: java.lang.String getSchemeSpecificPart()>();
v = <java.io.File: java.lang.String separator>;
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>("/");
if v == 0 goto label;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
label:
v = <java.io.File: char separatorChar>;
v = virtualinvoke v.<java.lang.String: int lastIndexOf(int)>(v);
v = (int) -1;
if v != v goto label;
v = virtualinvoke v.<java.lang.String: int lastIndexOf(int)>(47);
label:
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = <org.glassfish.ejb.embedded.DeploymentElement: java.util.logging.Logger _logger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.glassfish.ejb.embedded.DeploymentElement: java.util.logging.Logger _logger>;
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[])>("[DeploymentElement] Converted file name: \u to \u0001");
virtualinvoke v.<java.util.logging.Logger: void fine(java.lang.String)>(v);
label:
v = v.<org.glassfish.ejb.embedded.DeploymentElement: boolean isEJBModule>;
if v == 0 goto label;
v = v;
goto label;
label:
v = v;
label:
v = v;
v = virtualinvoke v.<java.io.File: boolean isDirectory()>();
if v != 0 goto label;
v = v.<org.glassfish.ejb.embedded.DeploymentElement: boolean isEJBModule>;
if v == 0 goto label;
v = new java.io.File;
v = staticinvoke <com.sun.enterprise.util.io.FileUtils: java.lang.String makeFriendlyFilename(java.lang.String)>(v);
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, v);
v = <org.glassfish.ejb.embedded.DeploymentElement: java.util.logging.Logger _logger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.glassfish.ejb.embedded.DeploymentElement: java.util.logging.Logger _logger>;
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[])>("[DeploymentElement] Exploding jar to: \u0001");
virtualinvoke v.<java.util.logging.Logger: void fine(java.lang.String)>(v);
label:
staticinvoke <org.glassfish.deployment.common.ModuleExploder: void explodeJar(java.io.File,java.io.File)>(v, v);
goto label;
label:
v = virtualinvoke v.<java.io.File: boolean isDirectory()>();
if v == 0 goto label;
v = v;
v = v.<org.glassfish.ejb.embedded.DeploymentElement: boolean isWebApp>;
if v == 0 goto label;
v = "_war";
goto label;
label:
v = v.<org.glassfish.ejb.embedded.DeploymentElement: boolean isEJBModule>;
if v == 0 goto label;
v = "_jar";
goto label;
label:
v = ".jar";
label:
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[])>("\u0001\u0001");
label:
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, v);
v = v;
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v == 0 goto label;
v = new java.io.File;
v = v + 1;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,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[])>("d__\u0001__\u0001");
specialinvoke v.<java.io.File: void <init>(java.io.File,java.lang.String)>(v, v);
v = v;
label:
v = <org.glassfish.ejb.embedded.DeploymentElement: java.util.logging.Logger _logger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.glassfish.ejb.embedded.DeploymentElement: java.util.logging.Logger _logger>;
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[])>("[DeploymentElement] Copying element to: \u0001");
virtualinvoke v.<java.util.logging.Logger: void fine(java.lang.String)>(v);
label:
staticinvoke <com.sun.enterprise.util.io.FileUtils: void copy(java.io.File,java.io.File)>(v, v);
goto label;
label:
v = staticinvoke <java.lang.Boolean: boolean getBoolean(java.lang.String)>("org.glassfish.ejb.embedded.keep-temporary-files");
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v != null goto label;
v = "ejb-app";
label:
v = v;
label:
v = new org.glassfish.ejb.embedded.DeploymentElement$ResultApplication;
specialinvoke v.<org.glassfish.ejb.embedded.DeploymentElement$ResultApplication: void <init>(java.lang.Object,java.lang.String,boolean)>(v, v, v);
return v;
}
static void <clinit>()
{
java.util.logging.Logger v;
v = staticinvoke <com.sun.logging.LogDomains: java.util.logging.Logger getLogger(java.lang.Class,java.lang.String)>(class "Lcom/sun/ejb/containers/EjbContainerUtilImpl;", "jakarta.enterprise.system.container.ejb");
<org.glassfish.ejb.embedded.DeploymentElement: java.util.logging.Logger _logger> = v;
return;
}
}