public class org.glassfish.ejb.deployment.util.EjbBundleValidator extends com.sun.enterprise.deployment.util.ComponentValidator implements com.sun.enterprise.deployment.util.EjbBundleVisitor, org.glassfish.ejb.deployment.util.EjbVisitor
{
private static final com.sun.enterprise.util.LocalStringManagerImpl I18N;
private static final java.util.logging.Logger LOG;
private static final java.lang.String REDUNDANT_PASSIVATION_CALLBACK_METADATA;
protected org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl ejbBundleDescriptor;
protected org.glassfish.ejb.deployment.descriptor.EjbDescriptor ejb;
public void <init>()
{
org.glassfish.ejb.deployment.util.EjbBundleValidator v;
v := @this: org.glassfish.ejb.deployment.util.EjbBundleValidator;
specialinvoke v.<com.sun.enterprise.deployment.util.ComponentValidator: void <init>()>();
return;
}
public void accept(com.sun.enterprise.deployment.BundleDescriptor)
{
com.sun.enterprise.deployment.BundleDescriptor v;
boolean v, v, v, v, v, v;
java.util.Iterator v, v, v, v;
org.glassfish.deployment.common.DescriptorVisitor v;
java.util.Collection v;
java.util.Set v, v;
org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl v;
java.util.List v;
org.glassfish.ejb.deployment.util.EjbBundleValidator v;
com.sun.enterprise.deployment.WebServicesDescriptor v;
com.sun.enterprise.deployment.Application v;
java.lang.Object v, v, v, v;
org.glassfish.ejb.deployment.descriptor.EjbDescriptor v;
v := @this: org.glassfish.ejb.deployment.util.EjbBundleValidator;
v := @parameter: com.sun.enterprise.deployment.BundleDescriptor;
v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: com.sun.enterprise.deployment.BundleDescriptor bundleDescriptor> = v;
v = virtualinvoke v.<com.sun.enterprise.deployment.BundleDescriptor: com.sun.enterprise.deployment.Application getApplication()>();
v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: com.sun.enterprise.deployment.Application application> = v;
v = v instanceof org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl;
if v == 0 goto label;
virtualinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: void accept(com.sun.enterprise.deployment.EjbBundleDescriptor)>(v);
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl: java.util.Set getEjbs()>();
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 = virtualinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: org.glassfish.deployment.common.DescriptorVisitor getSubDescriptorVisitor(org.glassfish.deployment.common.Descriptor)>(v);
virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: void visit(org.glassfish.deployment.common.DescriptorVisitor)>(v);
goto label;
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl: boolean hasRelationships()>();
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl: java.util.Set getRelationships()>();
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()>();
virtualinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: void accept(org.glassfish.deployment.common.Descriptor)>(v);
goto label;
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl: com.sun.enterprise.deployment.WebServicesDescriptor getWebServices()>();
v = virtualinvoke v.<com.sun.enterprise.deployment.WebServicesDescriptor: java.util.Collection getWebServices()>();
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()>();
virtualinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: void accept(com.sun.enterprise.deployment.WebService)>(v);
goto label;
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl: java.util.List getInjectableResources(com.sun.enterprise.deployment.JndiNameEnvironment)>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
virtualinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: void accept(com.sun.enterprise.deployment.InjectionCapable)>(v);
goto label;
label:
specialinvoke v.<com.sun.enterprise.deployment.util.ComponentValidator: void accept(com.sun.enterprise.deployment.BundleDescriptor)>(v);
return;
}
public void accept(com.sun.enterprise.deployment.EjbBundleDescriptor)
{
org.glassfish.deployment.common.ModuleDescriptor v;
boolean v, v, v, v, v, v, v, v;
java.util.Set v, v;
com.sun.enterprise.deployment.Application v;
java.lang.Object[] v, v, v;
com.sun.enterprise.util.LocalStringManagerImpl v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v;
java.util.Iterator v;
java.lang.RuntimeException v;
java.lang.IllegalArgumentException v, v, v;
com.sun.enterprise.deployment.EjbBundleDescriptor v;
org.glassfish.ejb.deployment.util.EjbBundleValidator v;
org.glassfish.ejb.deployment.util.InterceptorBindingTranslator v;
java.lang.Object v;
v := @this: org.glassfish.ejb.deployment.util.EjbBundleValidator;
v := @parameter: com.sun.enterprise.deployment.EjbBundleDescriptor;
v = virtualinvoke v.<com.sun.enterprise.deployment.EjbBundleDescriptor: com.sun.enterprise.deployment.Application getApplication()>();
v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: com.sun.enterprise.deployment.Application application> = v;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl: java.util.Set getEjbs()>();
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v == 0 goto label;
v = new java.lang.IllegalArgumentException;
v = <org.glassfish.ejb.deployment.util.EjbBundleValidator: com.sun.enterprise.util.LocalStringManagerImpl I18N>;
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl: org.glassfish.deployment.common.ModuleDescriptor getModuleDescriptor()>();
v = virtualinvoke v.<org.glassfish.deployment.common.ModuleDescriptor: java.lang.String getArchiveUri()>();
v[0] = v;
v = virtualinvoke v.<com.sun.enterprise.util.LocalStringManagerImpl: java.lang.String getLocalString(java.lang.String,java.lang.String,java.lang.Object[])>("enterprise.deployment.util.no_ejb_in_ejb_jar", "Invalid ejb jar {0}: it contains zero ejb. A valid ejb jar requires at least one session/entity/message driven bean.", v);
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = specialinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: boolean areResourceReferencesValid(org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl)>(v);
if v != 0 goto label;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>("Incorrectly resolved role references");
throw v;
label:
v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl ejbBundleDescriptor> = v;
specialinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: void handleOverloadedInterceptorMethodBindings(org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl)>(v);
v = new org.glassfish.ejb.deployment.util.InterceptorBindingTranslator;
specialinvoke v.<org.glassfish.ejb.deployment.util.InterceptorBindingTranslator: void <init>(org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl)>(v);
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl: java.util.Set getEjbs()>();
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 = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: boolean isRemoteInterfacesSupported()>();
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.lang.String getRemoteClassName()>();
if v == null goto label;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.lang.String getRemoteClassName()>();
v = virtualinvoke v.<java.lang.String: boolean isBlank()>();
if v == 0 goto label;
label:
v = new java.lang.IllegalArgumentException;
v = <org.glassfish.ejb.deployment.util.EjbBundleValidator: com.sun.enterprise.util.LocalStringManagerImpl I18N>;
v = newarray (java.lang.Object)[2];
v[0] = "Remote";
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.lang.String getName()>();
v[1] = v;
v = virtualinvoke v.<com.sun.enterprise.util.LocalStringManagerImpl: java.lang.String getLocalString(java.lang.String,java.lang.String,java.lang.Object[])>("enterprise.deployment.util.componentInterfaceMissing", "{0} Component interface is missing in EJB [{1}]", v);
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: boolean isLocalInterfacesSupported()>();
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.lang.String getLocalClassName()>();
if v == null goto label;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.lang.String getLocalClassName()>();
v = virtualinvoke v.<java.lang.String: boolean isBlank()>();
if v == 0 goto label;
label:
v = new java.lang.IllegalArgumentException;
v = <org.glassfish.ejb.deployment.util.EjbBundleValidator: com.sun.enterprise.util.LocalStringManagerImpl I18N>;
v = newarray (java.lang.Object)[2];
v[0] = "Local";
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.lang.String getName()>();
v[1] = v;
v = virtualinvoke v.<com.sun.enterprise.util.LocalStringManagerImpl: java.lang.String getLocalString(java.lang.String,java.lang.String,java.lang.Object[])>("enterprise.deployment.util.componentInterfaceMissing", "{0} Component interface is missing in EJB [{1}]", v);
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = "Entity";
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.lang.String getType()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: void applyInterceptors(org.glassfish.ejb.deployment.util.InterceptorBindingTranslator)>(v);
goto label;
label:
return;
}
private boolean areResourceReferencesValid(org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl)
{
java.lang.Object[] v;
java.util.logging.Level v;
java.lang.String v;
boolean v, v, v, v;
java.util.Iterator v, v;
java.util.Set v, v, v;
org.glassfish.security.common.Role v;
java.util.logging.Logger v;
org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl v;
org.glassfish.ejb.deployment.util.EjbBundleValidator v;
java.lang.Object v, v;
v := @this: org.glassfish.ejb.deployment.util.EjbBundleValidator;
v := @parameter: org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl: java.util.Set getEjbs()>();
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 = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.util.Set getRoleReferences()>();
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 = virtualinvoke v.<com.sun.enterprise.deployment.RoleReference: org.glassfish.security.common.Role getRole()>();
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl: java.util.Set getRoles()>();
v = virtualinvoke v.<org.glassfish.security.common.Role: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = <org.glassfish.ejb.deployment.util.EjbBundleValidator: java.util.logging.Logger LOG>;
v = <java.util.logging.Level: java.util.logging.Level WARNING>;
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object[])>(v, "Bad role reference to {0}, roles: {1}", v);
return 0;
label:
return 1;
}
private void handleOverloadedInterceptorMethodBindings(org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl)
{
java.lang.reflect.Method[] v;
java.lang.reflect.Method v;
boolean v, v, v, v, v, v, v, v, v, v;
java.lang.Exception v;
java.util.List v, v;
com.sun.enterprise.deployment.MethodDescriptor v, v;
java.lang.ClassLoader v;
org.glassfish.ejb.deployment.descriptor.EjbDescriptor v;
java.util.ArrayList v;
int v, v;
java.lang.String v, v, v, v, v, v, v;
java.util.Iterator v, v;
java.lang.RuntimeException v;
org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl v;
org.glassfish.ejb.deployment.descriptor.InterceptorBindingDescriptor v;
org.glassfish.ejb.deployment.util.EjbBundleValidator v;
java.lang.Class v;
java.lang.Object v, v;
v := @this: org.glassfish.ejb.deployment.util.EjbBundleValidator;
v := @parameter: org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl: java.util.List getInterceptorBindings()>();
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
return;
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl: java.lang.ClassLoader getClassLoader()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
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.ejb.deployment.descriptor.InterceptorBindingDescriptor: boolean getNeedsOverloadResolution()>();
if v != 0 goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.InterceptorBindingDescriptor: com.sun.enterprise.deployment.MethodDescriptor getBusinessMethod()>();
v = virtualinvoke v.<com.sun.enterprise.deployment.MethodDescriptor: java.lang.String getName()>();
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.InterceptorBindingDescriptor: java.lang.String getEjbName()>();
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl: org.glassfish.ejb.deployment.descriptor.EjbDescriptor getEjbByName(java.lang.String)>(v);
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.lang.String getEjbClassName()>();
v = virtualinvoke v.<java.lang.ClassLoader: java.lang.Class loadClass(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.lang.String getEjbClassName()>();
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[])>("Error loading ejb class \u0001");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v = 0;
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method[] getDeclaredMethods()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = 1;
v = new org.glassfish.ejb.deployment.descriptor.InterceptorBindingDescriptor;
specialinvoke v.<org.glassfish.ejb.deployment.descriptor.InterceptorBindingDescriptor: void <init>()>();
v = new com.sun.enterprise.deployment.MethodDescriptor;
specialinvoke v.<com.sun.enterprise.deployment.MethodDescriptor: void <init>(java.lang.reflect.Method,java.lang.String)>(v, "Bean");
virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.InterceptorBindingDescriptor: void setEjbName(java.lang.String)>(v);
virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.InterceptorBindingDescriptor: void setBusinessMethod(com.sun.enterprise.deployment.MethodDescriptor)>(v);
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.InterceptorBindingDescriptor: java.util.List getInterceptorClasses()>();
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()>();
virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.InterceptorBindingDescriptor: void appendInterceptorClass(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.InterceptorBindingDescriptor: boolean getIsTotalOrdering()>();
virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.InterceptorBindingDescriptor: void setIsTotalOrdering(boolean)>(v);
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.InterceptorBindingDescriptor: boolean getExcludeDefaultInterceptors()>();
virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.InterceptorBindingDescriptor: void setExcludeDefaultInterceptors(boolean)>(v);
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.InterceptorBindingDescriptor: boolean getExcludeClassInterceptors()>();
virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.InterceptorBindingDescriptor: void setExcludeClassInterceptors(boolean)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = v + 1;
goto label;
label:
if v != 0 goto label;
v = virtualinvoke v.<java.lang.Class: java.lang.String getSimpleName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl: void setInterceptorBindings(java.util.List)>(v);
return;
catch java.lang.Exception from label to label with label;
}
public void accept(org.glassfish.ejb.deployment.descriptor.EjbDescriptor)
{
org.glassfish.ejb.deployment.descriptor.PersistenceDescriptor v;
java.util.Set v, v, v, v, v, v;
java.lang.Exception v, v;
com.sun.enterprise.deployment.MethodDescriptor v, v, v, v, v, v, v, v;
java.lang.ClassLoader v;
org.glassfish.hk.api.ServiceLocator v, v;
java.lang.String v, v, v, v, v, v, v, v, v;
java.lang.RuntimeException v, v;
org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl v, v;
java.lang.IllegalStateException v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.List v, v;
org.glassfish.ejb.deployment.descriptor.EjbDescriptor v;
java.lang.String[] v;
java.lang.'annotation'.Annotation[] v;
java.util.Iterator v, v, v, v, v, v, v, v;
java.lang.IllegalArgumentException v;
org.glassfish.ejb.deployment.util.EjbBundleValidator v;
java.lang.Class v, v;
java.lang.Object v, v, v, v, v, v, v, v, v;
v := @this: org.glassfish.ejb.deployment.util.EjbBundleValidator;
v := @parameter: org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
v = v instanceof org.glassfish.ejb.deployment.descriptor.DummyEjbDescriptor;
if v == 0 goto label;
v = new java.lang.IllegalArgumentException;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: 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[])>("Referencing error: this bundle has no bean of name: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: org.glassfish.ejb.deployment.descriptor.EjbDescriptor ejb> = v;
specialinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: void setDOLDefault(org.glassfish.ejb.deployment.descriptor.EjbDescriptor)>(v);
specialinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: void computeRuntimeDefault(org.glassfish.ejb.deployment.descriptor.EjbDescriptor)>(v);
specialinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: void checkDependsOn(org.glassfish.ejb.deployment.descriptor.EjbDescriptor)>(v);
specialinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: void validateConcurrencyMetadata(org.glassfish.ejb.deployment.descriptor.EjbDescriptor)>(v);
specialinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: void validateStatefulTimeout(org.glassfish.ejb.deployment.descriptor.EjbDescriptor)>(v);
specialinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: void validatePassivationConfiguration(org.glassfish.ejb.deployment.descriptor.EjbDescriptor)>(v);
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl getEjbBundleDescriptor()>();
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl: java.lang.ClassLoader getClassLoader()>();
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.lang.String getEjbClassName()>();
v = virtualinvoke v.<java.lang.ClassLoader: java.lang.Class loadClass(java.lang.String)>(v);
v = staticinvoke <org.glassfish.internal.api.Globals: org.glassfish.hk.api.ServiceLocator getDefaultHabitat()>();
if v != null goto label;
label:
return;
label:
v = staticinvoke <org.glassfish.internal.api.Globals: org.glassfish.hk.api.ServiceLocator getDefaultHabitat()>();
v = newarray (java.lang.'annotation'.Annotation)[0];
v = interfaceinvoke v.<org.glassfish.hk.api.ServiceLocator: java.lang.Object getService(java.lang.Class,java.lang.String,java.lang.'annotation'.Annotation[])>(class "Lorg/glassfish/internal/deployment/AnnotationTypesProvider;", "EJB", v);
if v != null goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Cannot find AnnotationTypesProvider named \'EJB\'");
throw v;
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: com.sun.enterprise.deployment.MethodDescriptor getEjbTimeoutMethod()>();
if v != null goto label;
v = interfaceinvoke v.<org.glassfish.internal.deployment.AnnotationTypesProvider: java.lang.Class getType(java.lang.String)>("jakarta.ejb.TimedObject");
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
if v == 0 goto label;
v = new com.sun.enterprise.deployment.MethodDescriptor;
v = newarray (java.lang.String)[1];
v[0] = "jakarta.ejb.Timer";
specialinvoke v.<com.sun.enterprise.deployment.MethodDescriptor: void <init>(java.lang.String,java.lang.String,java.lang.String[],java.lang.String)>("ejbTimeout", "TimedObject timeout method", v, "Timer");
virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: void setEjbTimeoutMethod(com.sun.enterprise.deployment.MethodDescriptor)>(v);
goto label;
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: com.sun.enterprise.deployment.MethodDescriptor getEjbTimeoutMethod()>();
if v == null goto label;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: com.sun.enterprise.deployment.MethodDescriptor getEjbTimeoutMethod()>();
v = specialinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: com.sun.enterprise.deployment.MethodDescriptor processTimeoutMethod(org.glassfish.ejb.deployment.descriptor.EjbDescriptor,com.sun.enterprise.deployment.MethodDescriptor,org.glassfish.internal.deployment.AnnotationTypesProvider,java.lang.Class)>(v, v, v, v);
virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: void setEjbTimeoutMethod(com.sun.enterprise.deployment.MethodDescriptor)>(v);
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.util.List getScheduledTimerDescriptors()>();
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()>();
label:
staticinvoke <com.sun.ejb.containers.EJBTimerSchedule: boolean isValid(com.sun.enterprise.deployment.ScheduledTimerDescriptor)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.lang.String getName()>();
v = virtualinvoke v.<com.sun.enterprise.deployment.ScheduledTimerDescriptor: com.sun.enterprise.deployment.MethodDescriptor getTimeoutMethod()>();
v = virtualinvoke v.<com.sun.enterprise.deployment.MethodDescriptor: java.lang.String getFormattedString()>();
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(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[])>("\u0001: Invalid schedule defined on method \u0001: \u0001");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<com.sun.enterprise.deployment.ScheduledTimerDescriptor: com.sun.enterprise.deployment.MethodDescriptor getTimeoutMethod()>();
v = specialinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: com.sun.enterprise.deployment.MethodDescriptor processTimeoutMethod(org.glassfish.ejb.deployment.descriptor.EjbDescriptor,com.sun.enterprise.deployment.MethodDescriptor,org.glassfish.internal.deployment.AnnotationTypesProvider,java.lang.Class)>(v, v, v, v);
virtualinvoke v.<com.sun.enterprise.deployment.ScheduledTimerDescriptor: void setTimeoutMethod(com.sun.enterprise.deployment.MethodDescriptor)>(v);
goto label;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String,java.lang.Throwable)>("Error processing EjbDescriptor", v);
throw v;
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl getEjbBundleDescriptor()>();
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl: java.util.List getInjectableResources(com.sun.enterprise.deployment.JndiNameEnvironment)>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
virtualinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: void accept(com.sun.enterprise.deployment.InjectionCapable)>(v);
goto label;
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.util.Set getEjbReferenceDescriptors()>();
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()>();
virtualinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: void accept(com.sun.enterprise.deployment.types.EjbReference)>(v);
goto label;
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.util.Set getResourceReferenceDescriptors()>();
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()>();
virtualinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: void accept(com.sun.enterprise.deployment.ResourceReferenceDescriptor)>(v);
goto label;
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.util.Set getResourceEnvReferenceDescriptors()>();
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()>();
virtualinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: void accept(com.sun.enterprise.deployment.ResourceEnvReferenceDescriptor)>(v);
goto label;
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.util.Set getMessageDestinationReferenceDescriptors()>();
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()>();
virtualinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: void accept(com.sun.enterprise.deployment.types.MessageDestinationReferencer)>(v);
goto label;
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.lang.String getType()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("Message-driven");
if v == 0 goto label;
v = v instanceof com.sun.enterprise.deployment.types.MessageDestinationReferencer;
if v == 0 goto label;
v = interfaceinvoke v.<com.sun.enterprise.deployment.types.MessageDestinationReferencer: java.lang.String getMessageDestinationLinkName()>();
if v == null goto label;
virtualinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: void accept(com.sun.enterprise.deployment.types.MessageDestinationReferencer)>(v);
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.util.Set getServiceReferenceDescriptors()>();
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()>();
virtualinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: void accept(com.sun.enterprise.deployment.ServiceReferenceDescriptor)>(v);
goto label;
label:
v = v instanceof org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor: org.glassfish.ejb.deployment.descriptor.PersistenceDescriptor getPersistenceDescriptor()>();
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.PersistenceDescriptor: java.util.Set getCMPFields()>();
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()>();
virtualinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: void accept(org.glassfish.deployment.common.Descriptor)>(v);
goto label;
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
public void accept(com.sun.enterprise.deployment.WebService)
{
org.glassfish.ejb.deployment.util.EjbBundleValidator v;
com.sun.enterprise.deployment.WebService v;
v := @this: org.glassfish.ejb.deployment.util.EjbBundleValidator;
v := @parameter: com.sun.enterprise.deployment.WebService;
return;
}
private void validateConcurrencyMetadata(org.glassfish.ejb.deployment.descriptor.EjbDescriptor)
{
java.lang.String v, v, v, v;
java.lang.reflect.Method v, v;
boolean v, v, v;
java.util.Iterator v, v;
java.lang.RuntimeException v, v;
java.util.List v, v;
com.sun.enterprise.deployment.MethodDescriptor v;
org.glassfish.ejb.deployment.util.EjbBundleValidator v;
java.lang.Object v, v;
org.glassfish.ejb.deployment.descriptor.EjbDescriptor v;
org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor v;
v := @this: org.glassfish.ejb.deployment.util.EjbBundleValidator;
v := @parameter: org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
v = v instanceof org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor: java.util.List getAccessTimeoutInfo()>();
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 = v.<org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor$AccessTimeoutHolder: com.sun.enterprise.deployment.MethodDescriptor method>;
v = virtualinvoke v.<com.sun.enterprise.deployment.MethodDescriptor: java.lang.reflect.Method getMethod(com.sun.enterprise.deployment.EjbDescriptor)>(v);
if v != null goto label;
v = new java.lang.RuntimeException;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (com.sun.enterprise.deployment.MethodDescriptor,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[])>("Invalid AccessTimeout method signature \u . Method could not be resolved to a bean class method for bean \u0001");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor: java.util.List getReadAndWriteLockMethods()>();
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.<com.sun.enterprise.deployment.MethodDescriptor: java.lang.reflect.Method getMethod(com.sun.enterprise.deployment.EjbDescriptor)>(v);
if v != null goto label;
v = new java.lang.RuntimeException;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (com.sun.enterprise.deployment.MethodDescriptor,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[])>("Invalid Lock method signature \u . Method could not be resolved to a bean class method for bean \u0001");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
private void validateStatefulTimeout(org.glassfish.ejb.deployment.descriptor.EjbDescriptor)
{
java.lang.Object[] v;
long v;
java.lang.IllegalArgumentException v;
byte v;
java.lang.Long v;
org.glassfish.ejb.deployment.util.EjbBundleValidator v;
com.sun.enterprise.util.LocalStringManagerImpl v;
java.lang.String v, v;
org.glassfish.ejb.deployment.descriptor.EjbDescriptor v;
boolean v;
v := @this: org.glassfish.ejb.deployment.util.EjbBundleValidator;
v := @parameter: org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
v = v instanceof org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor: java.lang.Long getStatefulTimeoutValue()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v cmp -1L;
if v >= 0 goto label;
v = new java.lang.IllegalArgumentException;
v = <org.glassfish.ejb.deployment.util.EjbBundleValidator: com.sun.enterprise.util.LocalStringManagerImpl I18N>;
v = newarray (java.lang.Object)[2];
v[0] = v;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor: java.lang.String getName()>();
v[1] = v;
v = virtualinvoke v.<com.sun.enterprise.util.LocalStringManagerImpl: java.lang.String getLocalString(java.lang.String,java.lang.String,java.lang.Object[])>("enterprise.deployment.invalid_stateful_timeout_value", "Invalid value [{0}] for @StatefulTimeout or <stateful-timeout> element in EJB [{1}]. Values less than -1 are not valid.", v);
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
private void validatePassivationConfiguration(org.glassfish.ejb.deployment.descriptor.EjbDescriptor)
{
java.lang.Object[] v;
java.util.logging.Logger v;
java.util.logging.Level v;
org.glassfish.ejb.deployment.util.EjbBundleValidator v;
int v;
java.lang.String v, v;
org.glassfish.ejb.deployment.descriptor.EjbDescriptor v;
boolean v, v, v;
v := @this: org.glassfish.ejb.deployment.util.EjbBundleValidator;
v := @parameter: org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
v = v instanceof org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor: boolean isStateful()>();
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor: boolean isPassivationCapable()>();
if v == 0 goto label;
label:
return;
label:
v = specialinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: java.lang.String getAllPrePassivatePostActivateCallbackInfo(org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor)>(v);
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 0 goto label;
v = <org.glassfish.ejb.deployment.util.EjbBundleValidator: java.util.logging.Logger LOG>;
v = <java.util.logging.Level: java.util.logging.Level WARNING>;
v = newarray (java.lang.Object)[2];
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.lang.String getName()>();
v[0] = v;
v[1] = v;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object[])>(v, "AS-EJB-00048", v);
label:
return;
}
private java.lang.String getAllPrePassivatePostActivateCallbackInfo(org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor)
{
com.sun.enterprise.deployment.LifecycleCallbackDescriptor$CallbackType v, v;
java.util.ArrayList v;
int v, v, v;
java.lang.String v, v, v, v;
boolean v, v;
java.util.Iterator v, v;
java.util.Set v, v, v, v, v;
org.glassfish.ejb.deployment.util.EjbBundleValidator v;
java.lang.Object v, v;
java.lang.StringBuilder v;
org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor v;
v := @this: org.glassfish.ejb.deployment.util.EjbBundleValidator;
v := @parameter: org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor: java.util.Set getPrePassivateDescriptors()>();
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor: java.util.Set getPostActivateDescriptors()>();
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor: java.util.Set getInterceptorClasses()>();
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 = <com.sun.enterprise.deployment.LifecycleCallbackDescriptor$CallbackType: com.sun.enterprise.deployment.LifecycleCallbackDescriptor$CallbackType PRE_PASSIVATE>;
v = virtualinvoke v.<com.sun.enterprise.deployment.EjbInterceptor: java.util.Set getCallbackDescriptors(com.sun.enterprise.deployment.LifecycleCallbackDescriptor$CallbackType)>(v);
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
v = <com.sun.enterprise.deployment.LifecycleCallbackDescriptor$CallbackType: com.sun.enterprise.deployment.LifecycleCallbackDescriptor$CallbackType POST_ACTIVATE>;
v = virtualinvoke v.<com.sun.enterprise.deployment.EjbInterceptor: java.util.Set getCallbackDescriptors(com.sun.enterprise.deployment.LifecycleCallbackDescriptor$CallbackType)>(v);
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
goto label;
label:
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
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.<com.sun.enterprise.deployment.LifecycleCallbackDescriptor: java.lang.String getLifecycleCallbackClass()>();
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.<com.sun.enterprise.deployment.LifecycleCallbackDescriptor: java.lang.String getLifecycleCallbackMethod()>();
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)>(", ");
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: int length()>();
if v <= 2 goto label;
v = virtualinvoke v.<java.lang.StringBuilder: int length()>();
v = v - 2;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String substring(int,int)>(0, v);
return v;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
private void checkDependsOn(org.glassfish.ejb.deployment.descriptor.EjbDescriptor)
{
java.lang.IllegalStateException v;
com.sun.enterprise.deployment.BundleDescriptor v;
boolean v, v, v, v, v, v, v;
java.util.Collection v;
com.sun.enterprise.deployment.Application v;
org.glassfish.ejb.deployment.descriptor.EjbDescriptor v;
java.lang.String[] v;
org.glassfish.api.deployment.archive.ArchiveType v, v, v;
int v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v;
java.util.Iterator v;
java.lang.RuntimeException v, v, v;
org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl v, v;
org.glassfish.ejb.deployment.util.EjbBundleValidator v;
v := @this: org.glassfish.ejb.deployment.util.EjbBundleValidator;
v := @parameter: org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
v = v instanceof org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor: boolean hasDependsOn()>();
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor: boolean isSingleton()>();
if v != 0 goto label;
v = new java.lang.RuntimeException;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: 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[])>("Illegal usage of DependsOn for EJB \u. DependsOn is only supported for Singleton beans");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor: java.lang.String[] getDependsOn()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("#");
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor: org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl getEjbBundleDescriptor()>();
v = virtualinvoke v.<com.sun.enterprise.deployment.EjbBundleDescriptor: com.sun.enterprise.deployment.Application getApplication()>();
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int indexOf(java.lang.String)>("#");
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = virtualinvoke v.<com.sun.enterprise.deployment.Application: com.sun.enterprise.deployment.BundleDescriptor getRelativeBundle(com.sun.enterprise.deployment.BundleDescriptor,java.lang.String)>(v, v);
if v != null goto label;
v = new java.lang.IllegalStateException;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor: java.lang.String getName()>();
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[])>("Invalid @DependOn value = \u for Singleton \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<com.sun.enterprise.deployment.BundleDescriptor: org.glassfish.api.deployment.archive.ArchiveType getModuleType()>();
if v == null goto label;
v = virtualinvoke v.<com.sun.enterprise.deployment.BundleDescriptor: org.glassfish.api.deployment.archive.ArchiveType getModuleType()>();
v = staticinvoke <com.sun.enterprise.deployment.util.DOLUtils: org.glassfish.api.deployment.archive.ArchiveType warType()>();
v = virtualinvoke v.<org.glassfish.api.deployment.archive.ArchiveType: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<com.sun.enterprise.deployment.BundleDescriptor: java.util.Collection getExtensionsDescriptors(java.lang.Class)>(class "Lorg/glassfish/ejb/deployment/descriptor/EjbBundleDescriptorImpl;");
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl: boolean hasEjbByName(java.lang.String)>(v);
if v != 0 goto label;
v = new java.lang.RuntimeException;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.lang.String getName()>();
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[])>("Invalid DependsOn dependency \'\u0001\' for EJB \u0001");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl getEjbBundleDescriptor()>();
v = virtualinvoke v.<com.sun.enterprise.deployment.EjbBundleDescriptor: boolean hasEjbByName(java.lang.String)>(v);
if v != 0 goto label;
v = new java.lang.RuntimeException;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.lang.String getName()>();
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[])>("Invalid DependsOn dependency \'\u0001\' for EJB \u0001");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v + 1;
goto label;
label:
return;
}
protected org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl getEjbBundleDescriptor()
{
org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl v;
org.glassfish.ejb.deployment.util.EjbBundleValidator v;
v := @this: org.glassfish.ejb.deployment.util.EjbBundleValidator;
v = v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl ejbBundleDescriptor>;
return v;
}
protected org.glassfish.ejb.deployment.descriptor.EjbDescriptor getEjbDescriptor()
{
org.glassfish.ejb.deployment.descriptor.EjbDescriptor v;
org.glassfish.ejb.deployment.util.EjbBundleValidator v;
v := @this: org.glassfish.ejb.deployment.util.EjbBundleValidator;
v = v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: org.glassfish.ejb.deployment.descriptor.EjbDescriptor ejb>;
return v;
}
protected com.sun.enterprise.deployment.Application getApplication()
{
com.sun.enterprise.deployment.Application v;
org.glassfish.ejb.deployment.util.EjbBundleValidator v;
v := @this: org.glassfish.ejb.deployment.util.EjbBundleValidator;
v = v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: com.sun.enterprise.deployment.Application application>;
return v;
}
protected com.sun.enterprise.deployment.BundleDescriptor getBundleDescriptor()
{
org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl v;
org.glassfish.ejb.deployment.util.EjbBundleValidator v;
v := @this: org.glassfish.ejb.deployment.util.EjbBundleValidator;
v = v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl ejbBundleDescriptor>;
return v;
}
private void setDOLDefault(org.glassfish.ejb.deployment.descriptor.EjbDescriptor)
{
org.glassfish.ejb.deployment.util.EjbBundleValidator v;
java.lang.Boolean v;
java.lang.String v;
org.glassfish.ejb.deployment.descriptor.EjbDescriptor v;
boolean v;
v := @this: org.glassfish.ejb.deployment.util.EjbBundleValidator;
v := @parameter: org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.lang.Boolean getUsesCallerIdentity()>();
if v != null goto label;
v = v instanceof org.glassfish.ejb.deployment.descriptor.EjbMessageBeanDescriptor;
if v == 0 goto label;
virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: void setUsesCallerIdentity(boolean)>(0);
goto label;
label:
virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: void setUsesCallerIdentity(boolean)>(1);
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.lang.String getTransactionType()>();
if v != null goto label;
virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: void setTransactionType(java.lang.String)>("Container");
label:
virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: void setUsesDefaultTransaction()>();
return;
}
private void computeRuntimeDefault(org.glassfish.ejb.deployment.descriptor.EjbDescriptor)
{
int v;
java.lang.Boolean v;
com.sun.enterprise.deployment.RunAsIdentityDescriptor v;
boolean v, v, v, v, v, v;
java.util.Iterator v;
java.util.Set v;
org.glassfish.ejb.deployment.util.EjbBundleValidator v;
com.sun.enterprise.deployment.Application v;
java.lang.Object v;
org.glassfish.api.naming.SimpleJndiName v, v, v;
org.glassfish.ejb.deployment.descriptor.EjbDescriptor v;
v := @this: org.glassfish.ejb.deployment.util.EjbBundleValidator;
v := @parameter: org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: org.glassfish.api.naming.SimpleJndiName getJndiName()>();
if v == null goto label;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: org.glassfish.api.naming.SimpleJndiName getJndiName()>();
v = virtualinvoke v.<org.glassfish.api.naming.SimpleJndiName: boolean isEmpty()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: boolean isRemoteInterfacesSupported()>();
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: boolean isRemoteBusinessInterfacesSupported()>();
if v != 0 goto label;
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: boolean isRemoteInterfacesSupported()>();
if v == 0 goto label;
virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.lang.String getHomeClassName()>();
goto label;
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: boolean isRemoteBusinessInterfacesSupported()>();
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.util.Set getRemoteBusinessClassNames()>();
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()>();
label:
if v == null goto label;
v = staticinvoke <org.glassfish.api.naming.SimpleJndiName: org.glassfish.api.naming.SimpleJndiName of(java.lang.String)>(v);
virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: void setJndiName(org.glassfish.api.naming.SimpleJndiName)>(v);
label:
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: java.lang.Boolean getUsesCallerIdentity()>();
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v != 0 goto label;
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: com.sun.enterprise.deployment.RunAsIdentityDescriptor getRunAsIdentity()>();
v = virtualinvoke v.<org.glassfish.ejb.deployment.descriptor.EjbDescriptor: com.sun.enterprise.deployment.Application getApplication()>();
virtualinvoke v.<org.glassfish.ejb.deployment.util.EjbBundleValidator: void computeRunAsPrincipalDefault(com.sun.enterprise.deployment.RunAsIdentityDescriptor,com.sun.enterprise.deployment.Application)>(v, v);
label:
return;
}
private com.sun.enterprise.deployment.MethodDescriptor processTimeoutMethod(org.glassfish.ejb.deployment.descriptor.EjbDescriptor, com.sun.enterprise.deployment.MethodDescriptor, org.glassfish.internal.deployment.AnnotationTypesProvider, java.lang.Class) throws java.lang.ClassNotFoundException
{
java.lang.Class[] v;
java.lang.RuntimeException v;
com.sun.enterprise.deployment.MethodDescriptor v, v;
org.glassfish.internal.deployment.AnnotationTypesProvider v;
org.glassfish.ejb.deployment.util.EjbBundleValidator v;
java.lang.Class v, v;
java.lang.String v, v, v;
org.glassfish.ejb.deployment.descriptor.EjbDescriptor v;
java.lang.reflect.Method v;
v := @this: org.glassfish.ejb.deployment.util.EjbBundleValidator;
v := @parameter: org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
v := @parameter: com.sun.enterprise.deployment.MethodDescriptor;
v := @parameter: org.glassfish.internal.deployment.AnnotationTypesProvider;
v := @parameter: java.lang.Class;
v = virtualinvoke v.<com.sun.enterprise.deployment.MethodDescriptor: java.lang.reflect.Method getDeclaredMethod(com.sun.enterprise.deployment.EjbDescriptor)>(v);
if v != null goto label;
v = newarray (java.lang.Class)[1];
v = interfaceinvoke v.<org.glassfish.internal.deployment.AnnotationTypesProvider: java.lang.Class getType(java.lang.String)>("jakarta.ejb.Timer");
v[0] = v;
v = virtualinvoke v.<com.sun.enterprise.deployment.MethodDescriptor: java.lang.reflect.Method getDeclaredMethod(com.sun.enterprise.deployment.EjbDescriptor,java.lang.Class[])>(v, v);
if v != null goto label;
v = new java.lang.RuntimeException;
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = virtualinvoke v.<com.sun.enterprise.deployment.MethodDescriptor: java.lang.String getFormattedString()>();
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[])>("Class \u does not define timeout method \u0001");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new com.sun.enterprise.deployment.MethodDescriptor;
specialinvoke v.<com.sun.enterprise.deployment.MethodDescriptor: void <init>(java.lang.reflect.Method,java.lang.String)>(v, "Timer");
return v;
}
static void <clinit>()
{
java.util.logging.Logger v;
com.sun.enterprise.util.LocalStringManagerImpl v;
v = new com.sun.enterprise.util.LocalStringManagerImpl;
specialinvoke v.<com.sun.enterprise.util.LocalStringManagerImpl: void <init>(java.lang.Class)>(class "Lorg/glassfish/ejb/deployment/util/EjbBundleValidator;");
<org.glassfish.ejb.deployment.util.EjbBundleValidator: com.sun.enterprise.util.LocalStringManagerImpl I18N> = v;
v = staticinvoke <org.glassfish.ejb.LogFacade: java.util.logging.Logger getLogger()>();
<org.glassfish.ejb.deployment.util.EjbBundleValidator: java.util.logging.Logger LOG> = v;
return;
}
}