public class org.glassfish.weld.WeldDeployer extends org.glassfish.deployment.common.SimpleDeployer implements org.glassfish.hk.api.PostConstruct, org.glassfish.api.event.EventListener
{
private static final java.util.logging.Logger LOG;
public static final java.lang.String WELD_EXTENSION;
public static final java.lang.String WELD_DEPLOYMENT;
static final java.lang.String WELD_BOOTSTRAP;
private static final java.lang.String WELD_CONTEXT_LISTENER;
private static final java.lang.String WELD_LISTENER;
private static final java.lang.String WELD_TERMINATION_LISTENER;
private static final java.lang.String WELD_SHUTDOWN;
private static final java.lang.String WELD_BOOTSTRAP_SHUTDOWN;
private static final java.lang.String WELD_CONVERSATION_FILTER_CLASS;
private static final java.lang.String WELD_CONVERSATION_FILTER_NAME;
private org.glassfish.api.event.Events events;
private org.glassfish.hk.api.ServiceLocator services;
private org.glassfish.internal.data.ApplicationRegistry applicationRegistry;
private org.glassfish.api.invocation.InvocationManager invocationManager;
com.sun.enterprise.deploy.shared.ArchiveFactory archiveFactory;
private final java.util.Map appToBootstrap;
private final java.util.Map bundleToBeanDeploymentArchive;
private static final java.lang.Class[] NON_CONTEXT_CLASSES;
public void <init>()
{
org.glassfish.weld.WeldDeployer v;
java.util.HashMap v, v;
v := @this: org.glassfish.weld.WeldDeployer;
specialinvoke v.<org.glassfish.deployment.common.SimpleDeployer: void <init>()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.glassfish.weld.WeldDeployer: java.util.Map appToBootstrap> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.glassfish.weld.WeldDeployer: java.util.Map bundleToBeanDeploymentArchive> = v;
return;
}
public org.glassfish.api.deployment.MetaData getMetaData()
{
java.lang.Class[] v;
org.glassfish.weld.WeldDeployer v;
org.glassfish.api.deployment.MetaData v;
v := @this: org.glassfish.weld.WeldDeployer;
v = new org.glassfish.api.deployment.MetaData;
v = newarray (java.lang.Class)[1];
v[0] = class "Lcom/sun/enterprise/deployment/Application;";
specialinvoke v.<org.glassfish.api.deployment.MetaData: void <init>(boolean,java.lang.Class[],java.lang.Class[])>(1, null, v);
return v;
}
public void postConstruct()
{
org.glassfish.weld.WeldDeployer v;
org.glassfish.api.event.Events v;
v := @this: org.glassfish.weld.WeldDeployer;
v = v.<org.glassfish.weld.WeldDeployer: org.glassfish.api.event.Events events>;
interfaceinvoke v.<org.glassfish.api.event.Events: void register(org.glassfish.api.event.EventListener)>(v);
return;
}
public org.glassfish.weld.WeldApplicationContainer load(org.glassfish.weld.WeldContainer, org.glassfish.api.deployment.DeploymentContext)
{
org.jboss.weld.bootstrap.api.ServiceRegistry v, v, v, v, v, v, v, v, v;
org.jboss.weld.bootstrap.spi.BeansXml v, v;
org.glassfish.api.deployment.archive.ReadableArchive v;
java.util.Map v, v;
org.glassfish.web.deployment.descriptor.ServletFilterDescriptor v;
java.util.Set v;
org.glassfish.weld.DeploymentImpl v;
org.glassfish.hk.api.ServiceLocator v, v, v, v;
org.glassfish.weld.WeldApplicationContainer v;
java.lang.Object[] v, v, v;
org.glassfish.api.deployment.OpsParams v;
org.jboss.weld.bootstrap.spi.BeanDiscoveryMode v, v, v, v;
com.sun.enterprise.deploy.shared.ArchiveFactory v;
com.sun.enterprise.deployment.web.ServletFilterMapping v;
org.glassfish.api.deployment.DeploymentContext v;
java.lang.String v, v, v, v, v, v, v, v;
org.glassfish.web.deployment.descriptor.AppListenerDescriptorImpl v, v, v;
com.sun.enterprise.deployment.EjbBundleDescriptor v;
org.glassfish.weld.services.SecurityServicesImpl v;
org.glassfish.internal.data.ApplicationInfo v;
org.glassfish.internal.data.ApplicationRegistry v;
org.glassfish.weld.services.ProxyServicesImpl v;
boolean v, v, v, v, v, v, v, v;
java.util.Collection v;
java.util.logging.Logger v, v, v, v, v;
java.util.List v;
org.jboss.weld.bootstrap.spi.EEModuleDescriptor v, v;
org.glassfish.weld.services.InjectionServicesImpl v;
org.glassfish.weld.services.TransactionServicesImpl v;
java.lang.'annotation'.Annotation[] v;
java.util.logging.Level v, v, v, v, v;
java.util.HashSet v;
org.glassfish.weld.services.EjbServicesImpl v, v;
org.glassfish.weld.WeldDeployer v;
java.util.Iterator v, v;
org.jboss.weld.bootstrap.spi.BeanDeploymentArchive v;
org.glassfish.weld.WeldContainer v;
java.lang.Class v, v;
java.lang.Object v, v, v, v, v, v, v, v;
org.jboss.weld.bootstrap.WeldBootstrap v;
v := @this: org.glassfish.weld.WeldDeployer;
v := @parameter: org.glassfish.weld.WeldContainer;
v := @parameter: org.glassfish.api.deployment.DeploymentContext;
v = interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: org.glassfish.api.deployment.OpsParams getCommandParameters(java.lang.Class)>(class "Lorg/glassfish/api/deployment/DeployCommandParameters;");
v = v.<org.glassfish.weld.WeldDeployer: org.glassfish.internal.data.ApplicationRegistry applicationRegistry>;
v = v.<org.glassfish.api.deployment.DeployCommandParameters: java.lang.String name>;
v = virtualinvoke v.<org.glassfish.internal.data.ApplicationRegistry: org.glassfish.internal.data.ApplicationInfo get(java.lang.String)>(v);
v = interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: org.glassfish.api.deployment.archive.ReadableArchive getSource()>();
v = interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: java.lang.Object getTransientAppMetaData(java.lang.String,java.lang.Class)>("org.glassfish.weld.WeldBootstrap", class "Lorg/jboss/weld/bootstrap/WeldBootstrap;");
if v != null goto label;
v = new org.jboss.weld.bootstrap.WeldBootstrap;
specialinvoke v.<org.jboss.weld.bootstrap.WeldBootstrap: void <init>()>();
v = interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: java.lang.Object getModuleMetaData(java.lang.Class)>(class "Lcom/sun/enterprise/deployment/Application;");
v = v.<org.glassfish.weld.WeldDeployer: java.util.Map appToBootstrap>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: void addTransientAppMetaData(java.lang.String,java.lang.Object)>("org.glassfish.weld.WeldBootstrap", v);
virtualinvoke v.<org.glassfish.internal.data.ApplicationInfo: void addTransientAppMetaData(java.lang.String,java.lang.Object)>("org.glassfish.weld.WeldBootstrap", v);
virtualinvoke v.<org.glassfish.internal.data.ApplicationInfo: void addTransientAppMetaData(java.lang.String,java.lang.Object)>("weld_bootstrap_shutdown", "false");
label:
v = specialinvoke v.<org.glassfish.weld.WeldDeployer: com.sun.enterprise.deployment.EjbBundleDescriptor getEjbBundleFromContext(org.glassfish.api.deployment.DeploymentContext)>(v);
v = null;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
if v == null goto label;
v = virtualinvoke v.<com.sun.enterprise.deployment.EjbBundleDescriptor: java.util.Set getEjbs()>();
interfaceinvoke v.<java.util.Set: boolean addAll(java.util.Collection)>(v);
v = new org.glassfish.weld.services.EjbServicesImpl;
v = v.<org.glassfish.weld.WeldDeployer: org.glassfish.hk.api.ServiceLocator services>;
specialinvoke v.<org.glassfish.weld.services.EjbServicesImpl: void <init>(org.glassfish.hk.api.ServiceLocator)>(v);
v = v;
label:
v = interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: java.lang.Object getTransientAppMetaData(java.lang.String,java.lang.Class)>("org.glassfish.weld.WeldDeployment", class "Lorg/glassfish/weld/DeploymentImpl;");
if v != null goto label;
v = new org.glassfish.weld.DeploymentImpl;
v = v.<org.glassfish.weld.WeldDeployer: com.sun.enterprise.deploy.shared.ArchiveFactory archiveFactory>;
specialinvoke v.<org.glassfish.weld.DeploymentImpl: void <init>(org.glassfish.api.deployment.archive.ReadableArchive,java.util.Collection,org.glassfish.api.deployment.DeploymentContext,com.sun.enterprise.deploy.shared.ArchiveFactory)>(v, v, v, v);
v = v;
v = virtualinvoke v.<org.glassfish.weld.DeploymentImpl: org.jboss.weld.bootstrap.api.ServiceRegistry getServices()>();
v = new org.glassfish.weld.services.TransactionServicesImpl;
v = v.<org.glassfish.weld.WeldDeployer: org.glassfish.hk.api.ServiceLocator services>;
specialinvoke v.<org.glassfish.weld.services.TransactionServicesImpl: void <init>(org.glassfish.hk.api.ServiceLocator)>(v);
interfaceinvoke v.<org.jboss.weld.bootstrap.api.ServiceRegistry: void add(java.lang.Class,org.jboss.weld.bootstrap.api.Service)>(class "Lorg/jboss/weld/transaction/spi/TransactionServices;", v);
v = virtualinvoke v.<org.glassfish.weld.DeploymentImpl: org.jboss.weld.bootstrap.api.ServiceRegistry getServices()>();
v = new org.glassfish.weld.services.SecurityServicesImpl;
specialinvoke v.<org.glassfish.weld.services.SecurityServicesImpl: void <init>()>();
interfaceinvoke v.<org.jboss.weld.bootstrap.api.ServiceRegistry: void add(java.lang.Class,org.jboss.weld.bootstrap.api.Service)>(class "Lorg/jboss/weld/security/spi/SecurityServices;", v);
v = virtualinvoke v.<org.glassfish.weld.DeploymentImpl: org.jboss.weld.bootstrap.api.ServiceRegistry getServices()>();
v = new org.glassfish.weld.services.ProxyServicesImpl;
v = v.<org.glassfish.weld.WeldDeployer: org.glassfish.hk.api.ServiceLocator services>;
specialinvoke v.<org.glassfish.weld.services.ProxyServicesImpl: void <init>(org.glassfish.hk.api.ServiceLocator)>(v);
interfaceinvoke v.<org.jboss.weld.bootstrap.api.ServiceRegistry: void add(java.lang.Class,org.jboss.weld.bootstrap.api.Service)>(class "Lorg/jboss/weld/serialization/spi/ProxyServices;", v);
specialinvoke v.<org.glassfish.weld.WeldDeployer: void addWeldListenerToAllWars(org.glassfish.api.deployment.DeploymentContext)>(v);
goto label;
label:
virtualinvoke v.<org.glassfish.weld.DeploymentImpl: void scanArchive(org.glassfish.api.deployment.archive.ReadableArchive,java.util.Collection,org.glassfish.api.deployment.DeploymentContext)>(v, v, v);
label:
virtualinvoke v.<org.glassfish.weld.DeploymentImpl: void addDeployedEjbs(java.util.Collection)>(v);
if v == null goto label;
v = virtualinvoke v.<org.glassfish.weld.DeploymentImpl: org.jboss.weld.bootstrap.api.ServiceRegistry getServices()>();
v = interfaceinvoke v.<org.jboss.weld.bootstrap.api.ServiceRegistry: boolean contains(java.lang.Class)>(class "Lorg/jboss/weld/ejb/spi/EjbServices;");
if v != 0 goto label;
v = virtualinvoke v.<org.glassfish.weld.DeploymentImpl: org.jboss.weld.bootstrap.api.ServiceRegistry getServices()>();
interfaceinvoke v.<org.jboss.weld.bootstrap.api.ServiceRegistry: void add(java.lang.Class,org.jboss.weld.bootstrap.api.Service)>(class "Lorg/jboss/weld/ejb/spi/EjbServices;", v);
label:
v = interfaceinvoke v.<org.glassfish.api.deployment.archive.ReadableArchive: java.lang.String getName()>();
v = virtualinvoke v.<org.glassfish.weld.DeploymentImpl: org.jboss.weld.bootstrap.spi.BeanDeploymentArchive getBeanDeploymentArchiveForArchive(java.lang.String)>(v);
if v == null goto label;
v = interfaceinvoke v.<org.jboss.weld.bootstrap.spi.BeanDeploymentArchive: org.jboss.weld.bootstrap.spi.BeansXml getBeansXml()>();
v = interfaceinvoke v.<org.jboss.weld.bootstrap.spi.BeansXml: org.jboss.weld.bootstrap.spi.BeanDiscoveryMode getBeanDiscoveryMode()>();
v = <org.jboss.weld.bootstrap.spi.BeanDiscoveryMode: org.jboss.weld.bootstrap.spi.BeanDiscoveryMode NONE>;
v = virtualinvoke v.<org.jboss.weld.bootstrap.spi.BeanDiscoveryMode: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: java.lang.Object getModuleMetaData(java.lang.Class)>(class "Lcom/sun/enterprise/deployment/WebBundleDescriptor;");
if v == null goto label;
virtualinvoke v.<com.sun.enterprise.deployment.WebBundleDescriptor: void setExtensionProperty(java.lang.String,java.lang.String)>("org.glassfish.weld", "true");
v = new org.glassfish.web.deployment.descriptor.AppListenerDescriptorImpl;
specialinvoke v.<org.glassfish.web.deployment.descriptor.AppListenerDescriptorImpl: void <init>(java.lang.String)>("org.jboss.weld.module.web.servlet.WeldListener");
virtualinvoke v.<com.sun.enterprise.deployment.WebBundleDescriptor: void addAppListenerDescriptorToFirst(com.sun.enterprise.deployment.web.AppListenerDescriptor)>(v);
v = new org.glassfish.web.deployment.descriptor.AppListenerDescriptorImpl;
specialinvoke v.<org.glassfish.web.deployment.descriptor.AppListenerDescriptorImpl: void <init>(java.lang.String)>("org.glassfish.weld.WeldContextListener");
virtualinvoke v.<com.sun.enterprise.deployment.WebBundleDescriptor: void addAppListenerDescriptor(com.sun.enterprise.deployment.web.AppListenerDescriptor)>(v);
v = new org.glassfish.web.deployment.descriptor.AppListenerDescriptorImpl;
specialinvoke v.<org.glassfish.web.deployment.descriptor.AppListenerDescriptorImpl: void <init>(java.lang.String)>("org.jboss.weld.module.web.servlet.WeldTerminalListener");
virtualinvoke v.<com.sun.enterprise.deployment.WebBundleDescriptor: void addAppListenerDescriptor(com.sun.enterprise.deployment.web.AppListenerDescriptor)>(v);
v = virtualinvoke v.<com.sun.enterprise.deployment.WebBundleDescriptor: java.util.List getServletFilterMappings()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.glassfish.web.deployment.descriptor.ServletFilterMappingDescriptor: java.lang.String getDisplayName()>();
v = "CDI Conversation Filter";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = new org.glassfish.web.deployment.descriptor.ServletFilterDescriptor;
specialinvoke v.<org.glassfish.web.deployment.descriptor.ServletFilterDescriptor: void <init>()>();
virtualinvoke v.<org.glassfish.web.deployment.descriptor.ServletFilterDescriptor: void setClassName(java.lang.String)>("org.jboss.weld.module.web.servlet.ConversationFilter");
virtualinvoke v.<org.glassfish.web.deployment.descriptor.ServletFilterDescriptor: void setName(java.lang.String)>("CDI Conversation Filter");
virtualinvoke v.<com.sun.enterprise.deployment.WebBundleDescriptor: void addServletFilter(com.sun.enterprise.deployment.web.ServletFilter)>(v);
label:
if v != null goto label;
v = v;
goto label;
label:
v = v;
label:
v = v;
if v == null goto label;
v = interfaceinvoke v.<org.jboss.weld.bootstrap.spi.BeanDeploymentArchive: org.jboss.weld.bootstrap.spi.BeansXml getBeansXml()>();
v = interfaceinvoke v.<org.jboss.weld.bootstrap.spi.BeansXml: org.jboss.weld.bootstrap.spi.BeanDiscoveryMode getBeanDiscoveryMode()>();
v = <org.jboss.weld.bootstrap.spi.BeanDiscoveryMode: org.jboss.weld.bootstrap.spi.BeanDiscoveryMode NONE>;
v = virtualinvoke v.<org.jboss.weld.bootstrap.spi.BeanDiscoveryMode: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = v.<org.glassfish.weld.WeldDeployer: org.glassfish.hk.api.ServiceLocator services>;
v = newarray (java.lang.'annotation'.Annotation)[0];
v = interfaceinvoke v.<org.glassfish.hk.api.ServiceLocator: java.lang.Object getService(java.lang.Class,java.lang.'annotation'.Annotation[])>(class "Lcom/sun/enterprise/container/common/spi/util/InjectionManager;", v);
v = new org.glassfish.weld.services.InjectionServicesImpl;
specialinvoke v.<org.glassfish.weld.services.InjectionServicesImpl: void <init>(com.sun.enterprise.container.common.spi.util.InjectionManager,com.sun.enterprise.deployment.BundleDescriptor,org.glassfish.weld.DeploymentImpl)>(v, v, v);
v = <org.glassfish.weld.WeldDeployer: java.util.logging.Logger LOG>;
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.weld.WeldDeployer: java.util.logging.Logger LOG>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = newarray (java.lang.Object)[2];
v[0] = v;
v = interfaceinvoke v.<org.jboss.weld.bootstrap.spi.BeanDeploymentArchive: java.lang.String getId()>();
v[1] = v;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object[])>(v, "AS-CDI-00039", v);
label:
v = interfaceinvoke v.<org.jboss.weld.bootstrap.spi.BeanDeploymentArchive: org.jboss.weld.bootstrap.api.ServiceRegistry getServices()>();
interfaceinvoke v.<org.jboss.weld.bootstrap.api.ServiceRegistry: void add(java.lang.Class,org.jboss.weld.bootstrap.api.Service)>(class "Lorg/jboss/weld/injection/spi/InjectionServices;", v);
v = specialinvoke v.<org.glassfish.weld.WeldDeployer: org.jboss.weld.bootstrap.spi.EEModuleDescriptor getEEModuleDescriptor(org.jboss.weld.bootstrap.spi.BeanDeploymentArchive)>(v);
if v == null goto label;
v = interfaceinvoke v.<org.jboss.weld.bootstrap.spi.BeanDeploymentArchive: org.jboss.weld.bootstrap.api.ServiceRegistry getServices()>();
interfaceinvoke v.<org.jboss.weld.bootstrap.api.ServiceRegistry: void add(java.lang.Class,org.jboss.weld.bootstrap.api.Service)>(class "Lorg/jboss/weld/bootstrap/spi/EEModuleDescriptor;", v);
label:
v = interfaceinvoke v.<org.jboss.weld.bootstrap.spi.BeanDeploymentArchive: java.util.Collection getBeanDeploymentArchives()>();
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 = <org.glassfish.weld.WeldDeployer: java.util.logging.Logger LOG>;
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.weld.WeldDeployer: java.util.logging.Logger LOG>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = newarray (java.lang.Object)[2];
v[0] = v;
v = interfaceinvoke v.<org.jboss.weld.bootstrap.spi.BeanDeploymentArchive: java.lang.String getId()>();
v[1] = v;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object[])>(v, "AS-CDI-00039", v);
label:
v = interfaceinvoke v.<org.jboss.weld.bootstrap.spi.BeanDeploymentArchive: org.jboss.weld.bootstrap.api.ServiceRegistry getServices()>();
interfaceinvoke v.<org.jboss.weld.bootstrap.api.ServiceRegistry: void add(java.lang.Class,org.jboss.weld.bootstrap.api.Service)>(class "Lorg/jboss/weld/injection/spi/InjectionServices;", v);
v = specialinvoke v.<org.glassfish.weld.WeldDeployer: org.jboss.weld.bootstrap.spi.EEModuleDescriptor getEEModuleDescriptor(org.jboss.weld.bootstrap.spi.BeanDeploymentArchive)>(v);
if v == null goto label;
v = interfaceinvoke v.<org.jboss.weld.bootstrap.spi.BeanDeploymentArchive: org.jboss.weld.bootstrap.api.ServiceRegistry getServices()>();
interfaceinvoke v.<org.jboss.weld.bootstrap.api.ServiceRegistry: void add(java.lang.Class,org.jboss.weld.bootstrap.api.Service)>(class "Lorg/jboss/weld/bootstrap/spi/EEModuleDescriptor;", v);
goto label;
label:
v = <org.glassfish.weld.WeldDeployer: java.util.logging.Logger LOG>;
v = <java.util.logging.Level: java.util.logging.Level CONFIG>;
v = newarray (java.lang.Object)[4];
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v[0] = v;
v = virtualinvoke v.<com.sun.enterprise.deployment.BundleDescriptor: java.lang.String getName()>();
v[1] = v;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v[2] = v;
v = interfaceinvoke v.<org.jboss.weld.bootstrap.spi.BeanDeploymentArchive: java.lang.String getId()>();
v[3] = v;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object[])>(v, "Adding pair bundle.class={0}, bundle.name={1} and archive.class={2}, archive.id={3}", v);
v = v.<org.glassfish.weld.WeldDeployer: java.util.Map bundleToBeanDeploymentArchive>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: void addTransientAppMetaData(java.lang.String,java.lang.Object)>("org.glassfish.weld.WeldDeployment", v);
virtualinvoke v.<org.glassfish.internal.data.ApplicationInfo: void addTransientAppMetaData(java.lang.String,java.lang.Object)>("org.glassfish.weld.WeldDeployment", v);
v = new org.glassfish.weld.WeldApplicationContainer;
specialinvoke v.<org.glassfish.weld.WeldApplicationContainer: void <init>()>();
return v;
}
public void event(org.glassfish.api.event.EventListener$Event)
{
org.jboss.weld.bootstrap.api.ServiceRegistry v, v;
java.lang.Thread v, v, v, v, v, v;
java.util.Map v, v;
org.jboss.weld.module.EjbSupport v;
org.glassfish.api.event.EventListener$Event v;
java.util.Set v;
java.lang.Exception v;
org.glassfish.weld.DeploymentImpl v;
org.glassfish.deployment.common.DeploymentException v;
java.lang.ClassLoader v, v, v, v, v;
org.glassfish.hk.api.ServiceLocator v, v;
java.lang.Throwable v, v, v;
org.glassfish.api.invocation.InvocationManager v, v, v, v, v, v;
java.lang.Object[] v;
org.glassfish.weld.ResourceLoaderImpl v;
java.lang.String v, v, v, v;
java.lang.Class[] v;
org.jboss.weld.bootstrap.api.Environments v;
org.jboss.weld.bootstrap.api.Service v;
boolean v, v, v, v, v, v, v, v, v, v;
java.util.logging.Logger v;
java.util.List v, v, v;
org.jboss.weld.manager.BeanManagerImpl v;
org.glassfish.api.event.EventTypes v, v, v, v;
java.lang.'annotation'.Annotation[] v, v;
org.glassfish.weld.WeldDeployer$WeldApplicationEnvironment v, v;
java.lang.Iterable v;
java.util.logging.Level v;
java.lang.Boolean v, v;
org.glassfish.weld.WeldDeployer v;
org.glassfish.weld.WeldDeployer$WeldInvocationHandler v;
java.util.Iterator v, v, v, v;
org.jboss.weld.bootstrap.spi.BeanDeploymentArchive v;
java.lang.Class v;
java.lang.Object v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @this: org.glassfish.weld.WeldDeployer;
v := @parameter: org.glassfish.api.event.EventListener$Event;
v = <org.glassfish.internal.deployment.Deployment: org.glassfish.api.event.EventTypes APPLICATION_LOADED>;
v = virtualinvoke v.<org.glassfish.api.event.EventListener$Event: boolean is(org.glassfish.api.event.EventTypes)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.api.event.EventListener$Event: java.lang.Object hook()>();
v = virtualinvoke v.<org.glassfish.internal.data.ApplicationInfo: java.lang.Object getTransientAppMetaData(java.lang.String,java.lang.Class)>("org.glassfish.weld.WeldBootstrap", class "Lorg/jboss/weld/bootstrap/WeldBootstrap;");
if v == null goto label;
v = virtualinvoke v.<org.glassfish.internal.data.ApplicationInfo: java.lang.Object getTransientAppMetaData(java.lang.String,java.lang.Class)>("org.glassfish.weld.WeldDeployment", class "Lorg/glassfish/weld/DeploymentImpl;");
virtualinvoke v.<org.glassfish.weld.DeploymentImpl: void buildDeploymentGraph()>();
v = virtualinvoke v.<org.glassfish.weld.DeploymentImpl: java.util.List getBeanDeploymentArchives()>();
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 org.glassfish.weld.ResourceLoaderImpl;
v = virtualinvoke v.<org.glassfish.weld.BeanDeploymentArchiveImpl: java.lang.ClassLoader getModuleClassLoaderForBDA()>();
specialinvoke v.<org.glassfish.weld.ResourceLoaderImpl: void <init>(java.lang.ClassLoader)>(v);
v = interfaceinvoke v.<org.jboss.weld.bootstrap.spi.BeanDeploymentArchive: org.jboss.weld.bootstrap.api.ServiceRegistry getServices()>();
interfaceinvoke v.<org.jboss.weld.bootstrap.api.ServiceRegistry: void add(java.lang.Class,org.jboss.weld.bootstrap.api.Service)>(class "Lorg/jboss/weld/resources/spi/ResourceLoader;", v);
goto label;
label:
v = virtualinvoke v.<org.glassfish.weld.DeploymentImpl: java.util.Iterator getLibJarRootBdas()>();
v = v.<org.glassfish.weld.WeldDeployer: org.glassfish.hk.api.ServiceLocator services>;
v = newarray (java.lang.'annotation'.Annotation)[0];
v = interfaceinvoke v.<org.glassfish.hk.api.ServiceLocator: java.lang.Object getService(java.lang.Class,java.lang.'annotation'.Annotation[])>(class "Lcom/sun/enterprise/container/common/spi/util/InjectionManager;", v);
specialinvoke v.<org.glassfish.weld.WeldDeployer: void addCdiServicesToNonModuleBdas(java.util.Iterator,com.sun.enterprise.container.common.spi.util.InjectionManager)>(v, v);
v = virtualinvoke v.<org.glassfish.weld.DeploymentImpl: java.util.Iterator getRarRootBdas()>();
v = v.<org.glassfish.weld.WeldDeployer: org.glassfish.hk.api.ServiceLocator services>;
v = newarray (java.lang.'annotation'.Annotation)[0];
v = interfaceinvoke v.<org.glassfish.hk.api.ServiceLocator: java.lang.Object getService(java.lang.Class,java.lang.'annotation'.Annotation[])>(class "Lcom/sun/enterprise/container/common/spi/util/InjectionManager;", v);
specialinvoke v.<org.glassfish.weld.WeldDeployer: void addCdiServicesToNonModuleBdas(java.util.Iterator,com.sun.enterprise.container.common.spi.util.InjectionManager)>(v, v);
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: java.lang.ClassLoader getContextClassLoader()>();
v = v.<org.glassfish.weld.WeldDeployer: org.glassfish.api.invocation.InvocationManager invocationManager>;
v = new org.glassfish.weld.WeldDeployer$WeldApplicationEnvironment;
specialinvoke v.<org.glassfish.weld.WeldDeployer$WeldApplicationEnvironment: void <init>(org.glassfish.internal.data.ApplicationInfo)>(v);
interfaceinvoke v.<org.glassfish.api.invocation.InvocationManager: void pushAppEnvironment(org.glassfish.api.invocation.ApplicationEnvironment)>(v);
label:
v = virtualinvoke v.<org.glassfish.weld.DeploymentImpl: java.lang.Iterable getExtensions()>();
virtualinvoke v.<org.jboss.weld.bootstrap.WeldBootstrap: org.jboss.weld.bootstrap.api.TypeDiscoveryConfiguration startExtensions(java.lang.Iterable)>(v);
v = virtualinvoke v.<org.glassfish.internal.data.ApplicationInfo: java.lang.String getName()>();
v = <org.jboss.weld.bootstrap.api.Environments: org.jboss.weld.bootstrap.api.Environments SERVLET>;
virtualinvoke v.<org.jboss.weld.bootstrap.WeldBootstrap: org.jboss.weld.bootstrap.api.Bootstrap startContainer(java.lang.String,org.jboss.weld.bootstrap.api.Environment,org.jboss.weld.bootstrap.spi.Deployment)>(v, v, v);
v = virtualinvoke v.<org.glassfish.weld.DeploymentImpl: java.util.List getBeanDeploymentArchives()>();
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = virtualinvoke v.<org.glassfish.weld.DeploymentImpl: java.util.List getBeanDeploymentArchives()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.jboss.weld.bootstrap.WeldBootstrap: org.jboss.weld.manager.BeanManagerImpl getManager(org.jboss.weld.bootstrap.spi.BeanDeploymentArchive)>(v);
v = virtualinvoke v.<org.jboss.weld.manager.BeanManagerImpl: org.jboss.weld.bootstrap.api.ServiceRegistry getServices()>();
v = interfaceinvoke v.<org.jboss.weld.bootstrap.api.ServiceRegistry: org.jboss.weld.bootstrap.api.Service get(java.lang.Class)>(class "Lorg/jboss/weld/module/EjbSupport;");
if v == null goto label;
v = new org.glassfish.weld.WeldDeployer$WeldInvocationHandler;
specialinvoke v.<org.glassfish.weld.WeldDeployer$WeldInvocationHandler: void <init>(org.glassfish.weld.DeploymentImpl,org.jboss.weld.module.EjbSupport,org.jboss.weld.bootstrap.WeldBootstrap)>(v, v, v);
v = class "Lorg/jboss/weld/module/EjbSupport;";
v = virtualinvoke v.<java.lang.Class: java.lang.ClassLoader getClassLoader()>();
v = newarray (java.lang.Class)[1];
v[0] = class "Lorg/jboss/weld/module/EjbSupport;";
staticinvoke <java.lang.reflect.Proxy: java.lang.Object newProxyInstance(java.lang.ClassLoader,java.lang.Class[],java.lang.reflect.InvocationHandler)>(v, v, v);
interfaceinvoke v.<org.jboss.weld.bootstrap.api.ServiceRegistry: void add(java.lang.Class,org.jboss.weld.bootstrap.api.Service)>(class "Lorg/jboss/weld/module/EjbSupport;", v);
label:
virtualinvoke v.<org.jboss.weld.bootstrap.WeldBootstrap: org.jboss.weld.bootstrap.api.Bootstrap startInitialization()>();
specialinvoke v.<org.glassfish.weld.WeldDeployer: void fireProcessInjectionTargetEvents(org.jboss.weld.bootstrap.WeldBootstrap,org.glassfish.weld.DeploymentImpl)>(v, v);
virtualinvoke v.<org.jboss.weld.bootstrap.WeldBootstrap: org.jboss.weld.bootstrap.api.Bootstrap deployBeans()>();
virtualinvoke v.<org.jboss.weld.bootstrap.WeldBootstrap: org.jboss.weld.bootstrap.api.Bootstrap validateBeans()>();
virtualinvoke v.<org.jboss.weld.bootstrap.WeldBootstrap: org.jboss.weld.bootstrap.api.Bootstrap endInitialization()>();
label:
v = v.<org.glassfish.weld.WeldDeployer: org.glassfish.api.invocation.InvocationManager invocationManager>;
interfaceinvoke v.<org.glassfish.api.invocation.InvocationManager: void popAppEnvironment()>();
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void setContextClassLoader(java.lang.ClassLoader)>(v);
specialinvoke v.<org.glassfish.weld.WeldDeployer: void deploymentComplete(org.glassfish.weld.DeploymentImpl)>(v);
goto label;
label:
v := @caughtexception;
specialinvoke v.<org.glassfish.weld.WeldDeployer: void doBootstrapShutdown(org.glassfish.internal.data.ApplicationInfo)>(v);
v = specialinvoke v.<org.glassfish.weld.WeldDeployer: java.lang.String getDeploymentErrorMsgPrefix(java.lang.Throwable)>(v);
v = new org.glassfish.deployment.common.DeploymentException;
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
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");
specialinvoke v.<org.glassfish.deployment.common.DeploymentException: void <init>(java.lang.String)>(v);
virtualinvoke v.<org.glassfish.deployment.common.DeploymentException: java.lang.Throwable initCause(java.lang.Throwable)>(v);
throw v;
label:
v = <org.glassfish.internal.deployment.Deployment: org.glassfish.api.event.EventTypes APPLICATION_STOPPED>;
v = virtualinvoke v.<org.glassfish.api.event.EventListener$Event: boolean is(org.glassfish.api.event.EventTypes)>(v);
if v != 0 goto label;
v = <org.glassfish.internal.deployment.Deployment: org.glassfish.api.event.EventTypes APPLICATION_UNLOADED>;
v = virtualinvoke v.<org.glassfish.api.event.EventListener$Event: boolean is(org.glassfish.api.event.EventTypes)>(v);
if v != 0 goto label;
v = <org.glassfish.internal.deployment.Deployment: org.glassfish.api.event.EventTypes APPLICATION_DISABLED>;
v = virtualinvoke v.<org.glassfish.api.event.EventListener$Event: boolean is(org.glassfish.api.event.EventTypes)>(v);
if v == 0 goto label;
label:
v = virtualinvoke v.<org.glassfish.api.event.EventListener$Event: java.lang.Object hook()>();
v = virtualinvoke v.<org.glassfish.internal.data.ApplicationInfo: java.lang.Object getMetaData(java.lang.Class)>(class "Lcom/sun/enterprise/deployment/Application;");
if v == null goto label;
v = virtualinvoke v.<com.sun.enterprise.deployment.Application: java.util.Set getBundleDescriptors()>();
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 instanceof com.sun.enterprise.deployment.EjbBundleDescriptor;
if v != 0 goto label;
v = v instanceof com.sun.enterprise.deployment.WebBundleDescriptor;
if v == 0 goto label;
label:
v = v.<org.glassfish.weld.WeldDeployer: java.util.Map bundleToBeanDeploymentArchive>;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
goto label;
label:
v = v.<org.glassfish.weld.WeldDeployer: java.util.Map appToBootstrap>;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
label:
v = virtualinvoke v.<org.glassfish.internal.data.ApplicationInfo: java.lang.Object getTransientAppMetaData(java.lang.String,java.lang.Class)>("weld_shutdown", class "Ljava/lang/String;");
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(java.lang.String)>(v);
v = <java.lang.Boolean: java.lang.Boolean TRUE>;
v = virtualinvoke v.<java.lang.Boolean: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
return;
label:
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: java.lang.ClassLoader getContextClassLoader()>();
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<org.glassfish.internal.data.ApplicationInfo: java.lang.ClassLoader getAppClassLoader()>();
virtualinvoke v.<java.lang.Thread: void setContextClassLoader(java.lang.ClassLoader)>(v);
label:
v = virtualinvoke v.<org.glassfish.internal.data.ApplicationInfo: java.lang.Object getTransientAppMetaData(java.lang.String,java.lang.Class)>("org.glassfish.weld.WeldBootstrap", class "Lorg/jboss/weld/bootstrap/WeldBootstrap;");
if v == null goto label;
v = v.<org.glassfish.weld.WeldDeployer: org.glassfish.api.invocation.InvocationManager invocationManager>;
v = new org.glassfish.weld.WeldDeployer$WeldApplicationEnvironment;
specialinvoke v.<org.glassfish.weld.WeldDeployer$WeldApplicationEnvironment: void <init>(org.glassfish.internal.data.ApplicationInfo)>(v);
interfaceinvoke v.<org.glassfish.api.invocation.InvocationManager: void pushAppEnvironment(org.glassfish.api.invocation.ApplicationEnvironment)>(v);
label:
specialinvoke v.<org.glassfish.weld.WeldDeployer: void doBootstrapShutdown(org.glassfish.internal.data.ApplicationInfo)>(v);
label:
v = v.<org.glassfish.weld.WeldDeployer: org.glassfish.api.invocation.InvocationManager invocationManager>;
interfaceinvoke v.<org.glassfish.api.invocation.InvocationManager: void popAppEnvironment()>();
goto label;
label:
v := @caughtexception;
v = <org.glassfish.weld.WeldDeployer: java.util.logging.Logger LOG>;
v = <java.util.logging.Level: java.util.logging.Level WARNING>;
v = newarray (java.lang.Object)[1];
v[0] = v;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object[])>(v, "AS-CDI-00036", v);
label:
v = v.<org.glassfish.weld.WeldDeployer: org.glassfish.api.invocation.InvocationManager invocationManager>;
interfaceinvoke v.<org.glassfish.api.invocation.InvocationManager: void popAppEnvironment()>();
goto label;
label:
v := @caughtexception;
v = v.<org.glassfish.weld.WeldDeployer: org.glassfish.api.invocation.InvocationManager invocationManager>;
interfaceinvoke v.<org.glassfish.api.invocation.InvocationManager: void popAppEnvironment()>();
throw v;
label:
virtualinvoke v.<org.glassfish.internal.data.ApplicationInfo: void addTransientAppMetaData(java.lang.String,java.lang.Object)>("weld_shutdown", "true");
label:
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void setContextClassLoader(java.lang.ClassLoader)>(v);
goto label;
label:
v := @caughtexception;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void setContextClassLoader(java.lang.ClassLoader)>(v);
throw v;
label:
v = virtualinvoke v.<org.glassfish.internal.data.ApplicationInfo: java.lang.Object getTransientAppMetaData(java.lang.String,java.lang.Class)>("org.glassfish.weld.WeldDeployment", class "Lorg/glassfish/weld/DeploymentImpl;");
if v == null goto label;
virtualinvoke v.<org.glassfish.weld.DeploymentImpl: void cleanup()>();
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Exception 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;
}
protected void generateArtifacts(org.glassfish.api.deployment.DeploymentContext) throws org.glassfish.deployment.common.DeploymentException
{
org.glassfish.weld.WeldDeployer v;
org.glassfish.api.deployment.DeploymentContext v;
v := @this: org.glassfish.weld.WeldDeployer;
v := @parameter: org.glassfish.api.deployment.DeploymentContext;
return;
}
protected void cleanArtifacts(org.glassfish.api.deployment.DeploymentContext) throws org.glassfish.deployment.common.DeploymentException
{
org.glassfish.weld.WeldDeployer v;
org.glassfish.api.deployment.DeploymentContext v;
v := @this: org.glassfish.weld.WeldDeployer;
v := @parameter: org.glassfish.api.deployment.DeploymentContext;
return;
}
public java.lang.Object loadMetaData(java.lang.Class, org.glassfish.api.deployment.DeploymentContext)
{
org.glassfish.weld.WeldDeployer v;
java.lang.Class v;
org.glassfish.api.deployment.DeploymentContext v;
v := @this: org.glassfish.weld.WeldDeployer;
v := @parameter: java.lang.Class;
v := @parameter: org.glassfish.api.deployment.DeploymentContext;
return null;
}
private void deploymentComplete(org.glassfish.weld.DeploymentImpl)
{
org.glassfish.weld.DeploymentImpl v;
org.glassfish.weld.WeldDeployer v;
java.util.List v;
java.util.Iterator v;
org.jboss.weld.bootstrap.spi.BeanDeploymentArchive v;
boolean v;
v := @this: org.glassfish.weld.WeldDeployer;
v := @parameter: org.glassfish.weld.DeploymentImpl;
v = virtualinvoke v.<org.glassfish.weld.DeploymentImpl: java.util.List getBeanDeploymentArchives()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
virtualinvoke v.<org.glassfish.weld.BeanDeploymentArchiveImpl: void setDeploymentComplete(boolean)>(1);
goto label;
label:
return;
}
private void doBootstrapShutdown(org.glassfish.internal.data.ApplicationInfo)
{
org.glassfish.weld.WeldDeployer v;
org.glassfish.internal.data.ApplicationInfo v;
java.lang.Boolean v, v;
java.lang.Object v, v;
boolean v;
v := @this: org.glassfish.weld.WeldDeployer;
v := @parameter: org.glassfish.internal.data.ApplicationInfo;
v = virtualinvoke v.<org.glassfish.internal.data.ApplicationInfo: java.lang.Object getTransientAppMetaData(java.lang.String,java.lang.Class)>("org.glassfish.weld.WeldBootstrap", class "Lorg/jboss/weld/bootstrap/WeldBootstrap;");
v = virtualinvoke v.<org.glassfish.internal.data.ApplicationInfo: java.lang.Object getTransientAppMetaData(java.lang.String,java.lang.Class)>("weld_bootstrap_shutdown", class "Ljava/lang/String;");
if v == null goto label;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(java.lang.String)>(v);
v = <java.lang.Boolean: java.lang.Boolean FALSE>;
v = virtualinvoke v.<java.lang.Boolean: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
virtualinvoke v.<org.jboss.weld.bootstrap.WeldBootstrap: void shutdown()>();
virtualinvoke v.<org.glassfish.internal.data.ApplicationInfo: void addTransientAppMetaData(java.lang.String,java.lang.Object)>("weld_bootstrap_shutdown", "true");
label:
return;
}
private java.lang.String getDeploymentErrorMsgPrefix(java.lang.Throwable)
{
java.lang.Throwable v, v;
org.glassfish.weld.WeldDeployer v;
java.lang.String v;
boolean v, v;
v := @this: org.glassfish.weld.WeldDeployer;
v := @parameter: java.lang.Throwable;
v = v instanceof jakarta.enterprise.inject.spi.DefinitionException;
if v == 0 goto label;
return "CDI definition failure:";
label:
v = v instanceof jakarta.enterprise.inject.spi.DeploymentException;
if v == 0 goto label;
return "CDI deployment failure:";
label:
v = virtualinvoke v.<java.lang.Throwable: java.lang.Throwable getCause()>();
if v == v goto label;
if v != null goto label;
label:
return "CDI deployment failure:";
label:
v = specialinvoke v.<org.glassfish.weld.WeldDeployer: java.lang.String getDeploymentErrorMsgPrefix(java.lang.Throwable)>(v);
return v;
}
private void fireProcessInjectionTargetEvents(org.jboss.weld.bootstrap.WeldBootstrap, org.glassfish.weld.DeploymentImpl)
{
java.util.logging.Level v, v;
java.lang.Thread v;
int v, v;
boolean v, v, v, v, v;
org.glassfish.weld.WeldDeployer v;
java.util.Iterator v, v;
java.util.Collection v;
java.lang.Class[] v;
java.util.logging.Logger v, v;
org.jboss.weld.bootstrap.spi.BeanDeploymentArchive v;
org.glassfish.weld.DeploymentImpl v;
java.util.List v;
java.lang.Class v, v;
java.lang.ClassNotFoundException v;
java.lang.Object v, v;
java.lang.ClassLoader v;
org.jboss.weld.bootstrap.WeldBootstrap v;
v := @this: org.glassfish.weld.WeldDeployer;
v := @parameter: org.jboss.weld.bootstrap.WeldBootstrap;
v := @parameter: org.glassfish.weld.DeploymentImpl;
v = virtualinvoke v.<org.glassfish.weld.DeploymentImpl: java.util.List getBeanDeploymentArchives()>();
v = null;
label:
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: java.lang.ClassLoader getContextClassLoader()>();
v = virtualinvoke v.<java.lang.ClassLoader: java.lang.Class loadClass(java.lang.String)>("jakarta.jms.MessageListener");
v = <org.glassfish.weld.WeldDeployer: java.util.logging.Logger LOG>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String)>(v, "AS-CDI-00037");
v = 1;
label:
goto label;
label:
v := @caughtexception;
v = 0;
label:
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 = virtualinvoke v.<org.glassfish.weld.BeanDeploymentArchiveImpl: java.util.Collection getBeanClassObjects()>();
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 = <org.glassfish.weld.WeldDeployer: java.lang.Class[] NON_CONTEXT_CLASSES>;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
if v == 0 goto label;
specialinvoke v.<org.glassfish.weld.WeldDeployer: void firePITEvent(org.jboss.weld.bootstrap.WeldBootstrap,org.jboss.weld.bootstrap.spi.BeanDeploymentArchive,java.lang.Class)>(v, v, v);
label:
v = v + 1;
goto label;
label:
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
if v == 0 goto label;
v = <org.glassfish.weld.WeldDeployer: java.util.logging.Logger LOG>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object)>(v, "AS-CDI-00038", v);
specialinvoke v.<org.glassfish.weld.WeldDeployer: void firePITEvent(org.jboss.weld.bootstrap.WeldBootstrap,org.jboss.weld.bootstrap.spi.BeanDeploymentArchive,java.lang.Class)>(v, v, v);
goto label;
label:
return;
catch java.lang.ClassNotFoundException from label to label with label;
}
private void firePITEvent(org.jboss.weld.bootstrap.WeldBootstrap, org.jboss.weld.bootstrap.spi.BeanDeploymentArchive, java.lang.Class)
{
org.glassfish.weld.WeldDeployer v;
org.jboss.weld.bootstrap.spi.BeanDeploymentArchive v;
org.jboss.weld.manager.BeanManagerImpl v, v;
jakarta.enterprise.inject.spi.InjectionTarget v;
java.lang.Class v;
jakarta.enterprise.inject.spi.AnnotatedType v;
org.jboss.weld.bootstrap.WeldBootstrap v;
boolean v;
v := @this: org.glassfish.weld.WeldDeployer;
v := @parameter: org.jboss.weld.bootstrap.WeldBootstrap;
v := @parameter: org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<java.lang.Class: boolean isInterface()>();
if v == 0 goto label;
return;
label:
v = virtualinvoke v.<org.jboss.weld.bootstrap.WeldBootstrap: org.jboss.weld.manager.BeanManagerImpl getManager(org.jboss.weld.bootstrap.spi.BeanDeploymentArchive)>(v);
v = virtualinvoke v.<org.jboss.weld.manager.BeanManagerImpl: jakarta.enterprise.inject.spi.AnnotatedType createAnnotatedType(java.lang.Class)>(v);
v = virtualinvoke v.<org.jboss.weld.bootstrap.WeldBootstrap: org.jboss.weld.manager.BeanManagerImpl getManager(org.jboss.weld.bootstrap.spi.BeanDeploymentArchive)>(v);
v = virtualinvoke v.<org.jboss.weld.manager.BeanManagerImpl: jakarta.enterprise.inject.spi.InjectionTarget fireProcessInjectionTarget(jakarta.enterprise.inject.spi.AnnotatedType)>(v);
virtualinvoke v.<org.glassfish.weld.BeanDeploymentArchiveImpl: void putInjectionTarget(jakarta.enterprise.inject.spi.AnnotatedType,jakarta.enterprise.inject.spi.InjectionTarget)>(v, v);
return;
}
public org.jboss.weld.bootstrap.spi.BeanDeploymentArchive getBeanDeploymentArchiveForBundle(com.sun.enterprise.deployment.BundleDescriptor)
{
org.glassfish.weld.WeldDeployer v;
com.sun.enterprise.deployment.BundleDescriptor v;
java.util.Map v;
java.lang.Class v;
java.lang.Object v;
java.util.logging.Logger v;
java.util.logging.Level v;
v := @this: org.glassfish.weld.WeldDeployer;
v := @parameter: com.sun.enterprise.deployment.BundleDescriptor;
v = <org.glassfish.weld.WeldDeployer: java.util.logging.Logger LOG>;
v = <java.util.logging.Level: java.util.logging.Level FINEST>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object)>(v, "getBeanDeploymentArchiveForBundle(bundle.class={0})", v);
v = v.<org.glassfish.weld.WeldDeployer: java.util.Map bundleToBeanDeploymentArchive>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
return v;
}
public boolean isCdiEnabled(com.sun.enterprise.deployment.BundleDescriptor)
{
org.glassfish.weld.WeldDeployer v;
com.sun.enterprise.deployment.BundleDescriptor v;
java.util.Map v;
boolean v;
v := @this: org.glassfish.weld.WeldDeployer;
v := @parameter: com.sun.enterprise.deployment.BundleDescriptor;
v = v.<org.glassfish.weld.WeldDeployer: java.util.Map bundleToBeanDeploymentArchive>;
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
return v;
}
public org.jboss.weld.bootstrap.WeldBootstrap getBootstrapForApp(com.sun.enterprise.deployment.Application)
{
org.glassfish.weld.WeldDeployer v;
java.util.Map v;
com.sun.enterprise.deployment.Application v;
java.lang.Object v;
java.lang.String v;
java.util.logging.Logger v;
java.util.logging.Level v;
v := @this: org.glassfish.weld.WeldDeployer;
v := @parameter: com.sun.enterprise.deployment.Application;
v = <org.glassfish.weld.WeldDeployer: java.util.logging.Logger LOG>;
v = <java.util.logging.Level: java.util.logging.Level FINEST>;
v = virtualinvoke v.<com.sun.enterprise.deployment.Application: java.lang.String getName()>();
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object)>(v, "getBootstrapForApp(app.name={0})", v);
v = v.<org.glassfish.weld.WeldDeployer: java.util.Map appToBootstrap>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
return v;
}
private org.jboss.weld.bootstrap.spi.EEModuleDescriptor getEEModuleDescriptor(org.jboss.weld.bootstrap.spi.BeanDeploymentArchive)
{
org.jboss.weld.bootstrap.spi.EEModuleDescriptor$ModuleType v, v, v;
java.lang.String v, v, v;
boolean v, v, v, v;
org.glassfish.weld.WeldDeployer v;
org.glassfish.weld.connector.WeldUtils$BDAType v, v, v, v;
org.jboss.weld.bootstrap.spi.helpers.EEModuleDescriptorImpl v, v, v;
org.jboss.weld.bootstrap.spi.BeanDeploymentArchive v;
v := @this: org.glassfish.weld.WeldDeployer;
v := @parameter: org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
v = v instanceof org.glassfish.weld.BeanDeploymentArchiveImpl;
if v != 0 goto label;
return null;
label:
v = virtualinvoke v.<org.glassfish.weld.BeanDeploymentArchiveImpl: org.glassfish.weld.connector.WeldUtils$BDAType getBDAType()>();
v = <org.glassfish.weld.connector.WeldUtils$BDAType: org.glassfish.weld.connector.WeldUtils$BDAType JAR>;
v = virtualinvoke v.<org.glassfish.weld.connector.WeldUtils$BDAType: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = new org.jboss.weld.bootstrap.spi.helpers.EEModuleDescriptorImpl;
v = interfaceinvoke v.<org.jboss.weld.bootstrap.spi.BeanDeploymentArchive: java.lang.String getId()>();
v = <org.jboss.weld.bootstrap.spi.EEModuleDescriptor$ModuleType: org.jboss.weld.bootstrap.spi.EEModuleDescriptor$ModuleType EJB_JAR>;
specialinvoke v.<org.jboss.weld.bootstrap.spi.helpers.EEModuleDescriptorImpl: void <init>(java.lang.String,org.jboss.weld.bootstrap.spi.EEModuleDescriptor$ModuleType)>(v, v);
return v;
label:
v = <org.glassfish.weld.connector.WeldUtils$BDAType: org.glassfish.weld.connector.WeldUtils$BDAType WAR>;
v = virtualinvoke v.<org.glassfish.weld.connector.WeldUtils$BDAType: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = new org.jboss.weld.bootstrap.spi.helpers.EEModuleDescriptorImpl;
v = interfaceinvoke v.<org.jboss.weld.bootstrap.spi.BeanDeploymentArchive: java.lang.String getId()>();
v = <org.jboss.weld.bootstrap.spi.EEModuleDescriptor$ModuleType: org.jboss.weld.bootstrap.spi.EEModuleDescriptor$ModuleType WEB>;
specialinvoke v.<org.jboss.weld.bootstrap.spi.helpers.EEModuleDescriptorImpl: void <init>(java.lang.String,org.jboss.weld.bootstrap.spi.EEModuleDescriptor$ModuleType)>(v, v);
return v;
label:
v = <org.glassfish.weld.connector.WeldUtils$BDAType: org.glassfish.weld.connector.WeldUtils$BDAType RAR>;
v = virtualinvoke v.<org.glassfish.weld.connector.WeldUtils$BDAType: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = new org.jboss.weld.bootstrap.spi.helpers.EEModuleDescriptorImpl;
v = interfaceinvoke v.<org.jboss.weld.bootstrap.spi.BeanDeploymentArchive: java.lang.String getId()>();
v = <org.jboss.weld.bootstrap.spi.EEModuleDescriptor$ModuleType: org.jboss.weld.bootstrap.spi.EEModuleDescriptor$ModuleType CONNECTOR>;
specialinvoke v.<org.jboss.weld.bootstrap.spi.helpers.EEModuleDescriptorImpl: void <init>(java.lang.String,org.jboss.weld.bootstrap.spi.EEModuleDescriptor$ModuleType)>(v, v);
return v;
label:
return null;
}
private void addWeldListenerToAllWars(org.glassfish.api.deployment.DeploymentContext)
{
org.glassfish.weld.WeldDeployer v;
java.util.Iterator v;
java.util.Set v, v;
org.glassfish.api.deployment.DeploymentContext v;
int v;
com.sun.enterprise.deployment.Application v, v;
java.lang.Object v, v;
boolean v;
org.glassfish.web.deployment.descriptor.AppListenerDescriptorImpl v, v;
v := @this: org.glassfish.weld.WeldDeployer;
v := @parameter: org.glassfish.api.deployment.DeploymentContext;
v = interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: java.lang.Object getModuleMetaData(java.lang.Class)>(class "Lorg/glassfish/javaee/core/deployment/ApplicationHolder;");
if v == null goto label;
v = v.<org.glassfish.javaee.core.deployment.ApplicationHolder: com.sun.enterprise.deployment.Application app>;
v = virtualinvoke v.<com.sun.enterprise.deployment.Application: java.util.Set getBundleDescriptors(java.lang.Class)>(class "Lcom/sun/enterprise/deployment/EjbBundleDescriptor;");
v = interfaceinvoke v.<java.util.Set: int size()>();
if v <= 0 goto label;
v = v.<org.glassfish.javaee.core.deployment.ApplicationHolder: com.sun.enterprise.deployment.Application app>;
v = virtualinvoke v.<com.sun.enterprise.deployment.Application: java.util.Set getBundleDescriptors(java.lang.Class)>(class "Lcom/sun/enterprise/deployment/WebBundleDescriptor;");
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 = new org.glassfish.web.deployment.descriptor.AppListenerDescriptorImpl;
specialinvoke v.<org.glassfish.web.deployment.descriptor.AppListenerDescriptorImpl: void <init>(java.lang.String)>("org.jboss.weld.module.web.servlet.WeldListener");
virtualinvoke v.<com.sun.enterprise.deployment.WebBundleDescriptor: void addAppListenerDescriptorToFirst(com.sun.enterprise.deployment.web.AppListenerDescriptor)>(v);
v = new org.glassfish.web.deployment.descriptor.AppListenerDescriptorImpl;
specialinvoke v.<org.glassfish.web.deployment.descriptor.AppListenerDescriptorImpl: void <init>(java.lang.String)>("org.jboss.weld.module.web.servlet.WeldTerminalListener");
virtualinvoke v.<com.sun.enterprise.deployment.WebBundleDescriptor: void addAppListenerDescriptor(com.sun.enterprise.deployment.web.AppListenerDescriptor)>(v);
goto label;
label:
return;
}
private com.sun.enterprise.deployment.EjbBundleDescriptor getEjbBundleFromContext(org.glassfish.api.deployment.DeploymentContext)
{
org.glassfish.weld.WeldDeployer v;
java.util.Iterator v, v;
java.util.Collection v;
org.glassfish.api.deployment.DeploymentContext v;
java.lang.Object v, v, v;
boolean v;
v := @this: org.glassfish.weld.WeldDeployer;
v := @parameter: org.glassfish.api.deployment.DeploymentContext;
v = interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: java.lang.Object getModuleMetaData(java.lang.Class)>(class "Lcom/sun/enterprise/deployment/EjbBundleDescriptor;");
if v == null goto label;
return v;
label:
v = interfaceinvoke v.<org.glassfish.api.deployment.DeploymentContext: java.lang.Object getModuleMetaData(java.lang.Class)>(class "Lcom/sun/enterprise/deployment/WebBundleDescriptor;");
if v != null goto label;
return null;
label:
v = virtualinvoke v.<com.sun.enterprise.deployment.WebBundleDescriptor: java.util.Collection getExtensionsDescriptors(java.lang.Class)>(class "Lcom/sun/enterprise/deployment/EjbBundleDescriptor;");
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
return v;
label:
return null;
}
private void addCdiServicesToNonModuleBdas(java.util.Iterator, com.sun.enterprise.container.common.spi.util.InjectionManager)
{
org.glassfish.weld.WeldDeployer v;
java.util.Iterator v;
com.sun.enterprise.container.common.spi.util.InjectionManager v;
java.lang.Object v;
org.jboss.weld.bootstrap.spi.BeanDeploymentArchive v;
boolean v;
v := @this: org.glassfish.weld.WeldDeployer;
v := @parameter: java.util.Iterator;
v := @parameter: com.sun.enterprise.container.common.spi.util.InjectionManager;
if v == null goto label;
if v == null goto label;
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
specialinvoke v.<org.glassfish.weld.WeldDeployer: void addCdiServicesToBda(com.sun.enterprise.container.common.spi.util.InjectionManager,org.jboss.weld.bootstrap.spi.BeanDeploymentArchive)>(v, v);
v = virtualinvoke v.<org.glassfish.weld.RootBeanDeploymentArchive: org.jboss.weld.bootstrap.spi.BeanDeploymentArchive getModuleBda()>();
specialinvoke v.<org.glassfish.weld.WeldDeployer: void addCdiServicesToBda(com.sun.enterprise.container.common.spi.util.InjectionManager,org.jboss.weld.bootstrap.spi.BeanDeploymentArchive)>(v, v);
goto label;
label:
return;
}
private void addCdiServicesToBda(com.sun.enterprise.container.common.spi.util.InjectionManager, org.jboss.weld.bootstrap.spi.BeanDeploymentArchive)
{
org.jboss.weld.bootstrap.api.ServiceRegistry v;
org.glassfish.weld.WeldDeployer v;
com.sun.enterprise.container.common.spi.util.InjectionManager v;
org.glassfish.weld.services.NonModuleInjectionServices v;
org.jboss.weld.bootstrap.spi.BeanDeploymentArchive v;
v := @this: org.glassfish.weld.WeldDeployer;
v := @parameter: com.sun.enterprise.container.common.spi.util.InjectionManager;
v := @parameter: org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
v = interfaceinvoke v.<org.jboss.weld.bootstrap.spi.BeanDeploymentArchive: org.jboss.weld.bootstrap.api.ServiceRegistry getServices()>();
v = new org.glassfish.weld.services.NonModuleInjectionServices;
specialinvoke v.<org.glassfish.weld.services.NonModuleInjectionServices: void <init>(com.sun.enterprise.container.common.spi.util.InjectionManager)>(v);
interfaceinvoke v.<org.jboss.weld.bootstrap.api.ServiceRegistry: void add(java.lang.Class,org.jboss.weld.bootstrap.api.Service)>(class "Lorg/jboss/weld/injection/spi/InjectionServices;", v);
return;
}
static void <clinit>()
{
java.lang.Throwable v;
java.lang.Class[] v;
java.util.logging.Logger v;
v = staticinvoke <org.glassfish.cdi.CDILoggerInfo: java.util.logging.Logger getLogger()>();
<org.glassfish.weld.WeldDeployer: java.util.logging.Logger LOG> = v;
v = newarray (java.lang.Class)[6];
v[0] = class "Ljakarta/servlet/Servlet;";
v[1] = class "Ljakarta/servlet/ServletContextListener;";
v[2] = class "Ljakarta/servlet/Filter;";
v[3] = class "Ljakarta/servlet/http/HttpSessionListener;";
v[4] = class "Ljakarta/servlet/ServletRequestListener;";
v[5] = class "Ljakarta/servlet/jsp/tagext/JspTag;";
<org.glassfish.weld.WeldDeployer: java.lang.Class[] NON_CONTEXT_CLASSES> = v;
label:
staticinvoke <org.glassfish.weld.util.Util: void initializeWeldSingletonProvider()>();
label:
goto label;
label:
v := @caughtexception;
label:
return;
catch java.lang.Throwable from label to label with label;
}
}