public class org.glassfish.persistence.jpa.PersistenceUnitLoader extends java.lang.Object
{
private static java.util.logging.Logger logger;
private static final com.sun.enterprise.util.i18n.StringManager localStrings;
private static java.util.Map integrationProperties;
private static final java.lang.String ECLIPSELINK_WEAVING_PROPERTY;
private static final java.lang.String VALIDATION_MODE_PROPERTY;
private static final java.lang.String VALIDATOR_FACTORY;
private static final java.lang.String DISABLE_UPGRADE_FROM_TOPLINK_ESSENTIALS;
private final org.glassfish.persistence.jpa.ProviderContainerContractInfo providerContainerContractInfo;
private jakarta.persistence.EntityManagerFactory entityManagerFactory;
private org.glassfish.persistence.jpa.schemageneration.SchemaGenerationProcessor schemaGenerationProcessor;
public void <init>(com.sun.enterprise.deployment.PersistenceUnitDescriptor, org.glassfish.persistence.jpa.ProviderContainerContractInfo)
{
com.sun.enterprise.deployment.PersistenceUnitDescriptor v;
java.lang.Throwable v;
jakarta.persistence.EntityManagerFactory v;
org.glassfish.persistence.jpa.ProviderContainerContractInfo v;
java.lang.Thread v, v, v, v;
org.glassfish.persistence.jpa.PersistenceUnitLoader v;
java.lang.ClassLoader v, v;
v := @this: org.glassfish.persistence.jpa.PersistenceUnitLoader;
v := @parameter: com.sun.enterprise.deployment.PersistenceUnitDescriptor;
v := @parameter: org.glassfish.persistence.jpa.ProviderContainerContractInfo;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: org.glassfish.persistence.jpa.ProviderContainerContractInfo providerContainerContractInfo> = v;
specialinvoke v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: void setSystemPropertyToEnableDoPrivilegedInEclipseLink()>();
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 = interfaceinvoke v.<org.glassfish.persistence.jpa.ProviderContainerContractInfo: java.lang.ClassLoader getClassLoader()>();
virtualinvoke v.<java.lang.Thread: void setContextClassLoader(java.lang.ClassLoader)>(v);
label:
v = specialinvoke v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: jakarta.persistence.EntityManagerFactory loadPU(com.sun.enterprise.deployment.PersistenceUnitDescriptor)>(v);
v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: jakarta.persistence.EntityManagerFactory entityManagerFactory> = v;
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:
return;
catch java.lang.Throwable from label to label with label;
}
public jakarta.persistence.EntityManagerFactory getEMF()
{
org.glassfish.persistence.jpa.PersistenceUnitLoader v;
jakarta.persistence.EntityManagerFactory v;
v := @this: org.glassfish.persistence.jpa.PersistenceUnitLoader;
v = v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: jakarta.persistence.EntityManagerFactory entityManagerFactory>;
return v;
}
private void setSystemPropertyToEnableDoPrivilegedInEclipseLink()
{
java.lang.Boolean v;
org.glassfish.persistence.jpa.PersistenceUnitLoader v;
java.lang.String v, v;
v := @this: org.glassfish.persistence.jpa.PersistenceUnitLoader;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("eclipselink.security.usedoprivileged");
if v != null goto label;
v = <java.lang.Boolean: java.lang.Boolean TRUE>;
v = staticinvoke <java.lang.String: java.lang.String valueOf(java.lang.Object)>(v);
staticinvoke <java.lang.System: java.lang.String setProperty(java.lang.String,java.lang.String)>("eclipselink.security.usedoprivileged", v);
label:
return;
}
private jakarta.persistence.EntityManagerFactory loadPU(com.sun.enterprise.deployment.PersistenceUnitDescriptor)
{
org.glassfish.persistence.jpa.PersistenceUnitInfoImpl v;
jakarta.validation.ValidatorFactory v;
java.util.Map v, v;
com.sun.enterprise.deployment.PersistenceUnitsDescriptor v;
boolean v, v, v;
com.sun.enterprise.deployment.PersistenceUnitDescriptor v;
java.util.logging.Logger v, v, v, v, v;
jakarta.persistence.EntityManagerFactory v;
java.lang.Exception v;
java.lang.ClassLoader v;
org.glassfish.persistence.jpa.schemageneration.SchemaGenerationProcessor v, v, v, v;
java.lang.Object[] v;
java.util.HashMap v;
jakarta.persistence.ValidationMode v, v, v;
java.lang.reflect.Constructor v;
java.util.logging.Level v, v;
org.glassfish.persistence.jpa.ProviderContainerContractInfo v, v, v, v, v, v, v, v;
org.glassfish.api.deployment.DeploymentContext v;
java.lang.String v, v, v, v, v, v, v, v, v;
java.lang.Class[] v;
java.lang.RuntimeException v;
org.glassfish.deployment.common.RootDeploymentDescriptor v;
org.glassfish.persistence.jpa.PersistenceUnitLoader v;
java.lang.Class v, v;
java.lang.Object v, v;
v := @this: org.glassfish.persistence.jpa.PersistenceUnitLoader;
v := @parameter: com.sun.enterprise.deployment.PersistenceUnitDescriptor;
specialinvoke v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: void checkForUpgradeFromTopLinkEssentials(com.sun.enterprise.deployment.PersistenceUnitDescriptor)>(v);
specialinvoke v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: void checkForDataSourceOverride(com.sun.enterprise.deployment.PersistenceUnitDescriptor)>(v);
specialinvoke v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: void calculateDefaultDataSource(com.sun.enterprise.deployment.PersistenceUnitDescriptor)>(v);
v = new org.glassfish.persistence.jpa.PersistenceUnitInfoImpl;
v = v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: org.glassfish.persistence.jpa.ProviderContainerContractInfo providerContainerContractInfo>;
specialinvoke v.<org.glassfish.persistence.jpa.PersistenceUnitInfoImpl: void <init>(com.sun.enterprise.deployment.PersistenceUnitDescriptor,org.glassfish.persistence.jpa.ProviderContainerContractInfo)>(v, v);
v = v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: org.glassfish.persistence.jpa.ProviderContainerContractInfo providerContainerContractInfo>;
v = interfaceinvoke v.<org.glassfish.persistence.jpa.ProviderContainerContractInfo: java.lang.String getApplicationLocation()>();
v = <org.glassfish.persistence.jpa.PersistenceUnitLoader: java.util.logging.Logger logger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.glassfish.persistence.jpa.PersistenceUnitLoader: java.util.logging.Logger logger>;
v = virtualinvoke v.<com.sun.enterprise.deployment.PersistenceUnitDescriptor: java.lang.String getPuRoot()>();
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[])>("Loading persistence unit for application: \"\u0001\"pu Root is: \u0001");
virtualinvoke v.<java.util.logging.Logger: void fine(java.lang.String)>(v);
v = <org.glassfish.persistence.jpa.PersistenceUnitLoader: java.util.logging.Logger logger>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (jakarta.persistence.spi.PersistenceUnitInfo)>(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[])>("PersistenceInfo for this pud is :\n\u0001");
virtualinvoke v.<java.util.logging.Logger: void fine(java.lang.String)>(v);
label:
v = class "Ljakarta/persistence/spi/PersistenceProvider;";
v = v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: org.glassfish.persistence.jpa.ProviderContainerContractInfo providerContainerContractInfo>;
v = interfaceinvoke v.<org.glassfish.persistence.jpa.ProviderContainerContractInfo: java.lang.ClassLoader getClassLoader()>();
v = interfaceinvoke v.<jakarta.persistence.spi.PersistenceUnitInfo: java.lang.String getPersistenceProviderClassName()>();
v = virtualinvoke v.<java.lang.ClassLoader: java.lang.Class loadClass(java.lang.String)>(v);
v = newarray (java.lang.Class)[0];
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Constructor getDeclaredConstructor(java.lang.Class[])>(v);
v = newarray (java.lang.Object)[0];
v = virtualinvoke v.<java.lang.reflect.Constructor: java.lang.Object newInstance(java.lang.Object[])>(v);
v = virtualinvoke v.<java.lang.Class: java.lang.Object cast(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v = staticinvoke <org.glassfish.persistence.jpa.schemageneration.SchemaGenerationProcessorFactory: org.glassfish.persistence.jpa.schemageneration.SchemaGenerationProcessor createSchemaGenerationProcessor(com.sun.enterprise.deployment.PersistenceUnitDescriptor)>(v);
v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: org.glassfish.persistence.jpa.schemageneration.SchemaGenerationProcessor schemaGenerationProcessor> = v;
v = v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: org.glassfish.persistence.jpa.ProviderContainerContractInfo providerContainerContractInfo>;
v = interfaceinvoke v.<org.glassfish.persistence.jpa.ProviderContainerContractInfo: boolean isJava2DBRequired()>();
if v == 0 goto label;
v = v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: org.glassfish.persistence.jpa.schemageneration.SchemaGenerationProcessor schemaGenerationProcessor>;
v = v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: org.glassfish.persistence.jpa.ProviderContainerContractInfo providerContainerContractInfo>;
v = interfaceinvoke v.<org.glassfish.persistence.jpa.ProviderContainerContractInfo: org.glassfish.api.deployment.DeploymentContext getDeploymentContext()>();
interfaceinvoke v.<org.glassfish.persistence.jpa.schemageneration.SchemaGenerationProcessor: void init(com.sun.enterprise.deployment.PersistenceUnitDescriptor,org.glassfish.api.deployment.DeploymentContext)>(v, v);
v = v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: org.glassfish.persistence.jpa.schemageneration.SchemaGenerationProcessor schemaGenerationProcessor>;
v = interfaceinvoke v.<org.glassfish.persistence.jpa.schemageneration.SchemaGenerationProcessor: java.util.Map getOverridesForSchemaGeneration()>();
goto label;
label:
v = v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: org.glassfish.persistence.jpa.schemageneration.SchemaGenerationProcessor schemaGenerationProcessor>;
v = interfaceinvoke v.<org.glassfish.persistence.jpa.schemageneration.SchemaGenerationProcessor: java.util.Map getOverridesForSuppressingSchemaGeneration()>();
label:
v = new java.util.HashMap;
v = <org.glassfish.persistence.jpa.PersistenceUnitLoader: java.util.Map integrationProperties>;
specialinvoke v.<java.util.HashMap: void <init>(java.util.Map)>(v);
if v == null goto label;
interfaceinvoke v.<java.util.Map: void putAll(java.util.Map)>(v);
label:
v = specialinvoke v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: jakarta.persistence.ValidationMode getValidationMode(com.sun.enterprise.deployment.PersistenceUnitDescriptor)>(v);
v = <jakarta.persistence.ValidationMode: jakarta.persistence.ValidationMode AUTO>;
if v == v goto label;
v = <jakarta.persistence.ValidationMode: jakarta.persistence.ValidationMode CALLBACK>;
if v != v goto label;
label:
v = v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: org.glassfish.persistence.jpa.ProviderContainerContractInfo providerContainerContractInfo>;
v = interfaceinvoke v.<org.glassfish.persistence.jpa.ProviderContainerContractInfo: jakarta.validation.ValidatorFactory getValidatorFactory()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("jakarta.persistence.validation.factory", v);
label:
v = v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: org.glassfish.persistence.jpa.ProviderContainerContractInfo providerContainerContractInfo>;
v = interfaceinvoke v.<org.glassfish.persistence.jpa.ProviderContainerContractInfo: boolean isWeavingEnabled()>();
if v != 0 goto label;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("eclipselink.weaving", "false");
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("eclipselink.weaving", v);
label:
v = interfaceinvoke v.<jakarta.persistence.spi.PersistenceProvider: jakarta.persistence.EntityManagerFactory createContainerEntityManagerFactory(jakarta.persistence.spi.PersistenceUnitInfo,java.util.Map)>(v, v);
v = <org.glassfish.persistence.jpa.PersistenceUnitLoader: java.util.logging.Logger logger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
virtualinvoke v.<java.util.logging.Logger: void logp(java.util.logging.Level,java.lang.String,java.lang.String,java.lang.String,java.lang.Object)>(v, "PersistenceUnitLoader", "loadPU", "emf = {0}", v);
v = virtualinvoke v.<com.sun.enterprise.deployment.PersistenceUnitDescriptor: com.sun.enterprise.deployment.PersistenceUnitsDescriptor getParent()>();
v = virtualinvoke v.<com.sun.enterprise.deployment.PersistenceUnitsDescriptor: org.glassfish.deployment.common.RootDeploymentDescriptor getParent()>();
v = v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: org.glassfish.persistence.jpa.ProviderContainerContractInfo providerContainerContractInfo>;
v = interfaceinvoke v.<jakarta.persistence.spi.PersistenceUnitInfo: java.lang.String getPersistenceUnitName()>();
v = virtualinvoke v.<com.sun.enterprise.deployment.PersistenceUnitDescriptor: java.lang.String getPuRoot()>();
interfaceinvoke v.<org.glassfish.persistence.jpa.ProviderContainerContractInfo: void registerEMF(java.lang.String,java.lang.String,org.glassfish.deployment.common.RootDeploymentDescriptor,jakarta.persistence.EntityManagerFactory)>(v, v, v, v);
if v == 0 goto label;
v = <org.glassfish.persistence.jpa.PersistenceUnitLoader: java.util.logging.Logger logger>;
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[])>("Finished loading persistence unit for application: \u0001");
virtualinvoke v.<java.util.logging.Logger: void fine(java.lang.String)>(v);
label:
return v;
catch java.lang.ReflectiveOperationException from label to label with label;
catch java.lang.IllegalArgumentException from label to label with label;
catch java.lang.SecurityException from label to label with label;
}
private void checkForDataSourceOverride(com.sun.enterprise.deployment.PersistenceUnitDescriptor)
{
com.sun.enterprise.deployment.PersistenceUnitDescriptor v;
org.glassfish.persistence.jpa.ProviderContainerContractInfo v;
org.glassfish.persistence.jpa.PersistenceUnitLoader v;
org.glassfish.api.naming.SimpleJndiName v;
v := @this: org.glassfish.persistence.jpa.PersistenceUnitLoader;
v := @parameter: com.sun.enterprise.deployment.PersistenceUnitDescriptor;
v = v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: org.glassfish.persistence.jpa.ProviderContainerContractInfo providerContainerContractInfo>;
v = interfaceinvoke v.<org.glassfish.persistence.jpa.ProviderContainerContractInfo: org.glassfish.api.naming.SimpleJndiName getJTADataSourceOverride()>();
if v == null goto label;
virtualinvoke v.<com.sun.enterprise.deployment.PersistenceUnitDescriptor: void setJtaDataSource(org.glassfish.api.naming.SimpleJndiName)>(v);
label:
return;
}
private void calculateDefaultDataSource(com.sun.enterprise.deployment.PersistenceUnitDescriptor)
{
com.sun.enterprise.deployment.PersistenceUnitDescriptor v;
org.glassfish.persistence.jpa.PersistenceUnitLoader v;
org.glassfish.api.naming.SimpleJndiName v, v, v, v, v, v;
java.lang.String v, v;
v := @this: org.glassfish.persistence.jpa.PersistenceUnitLoader;
v := @parameter: com.sun.enterprise.deployment.PersistenceUnitDescriptor;
v = virtualinvoke v.<com.sun.enterprise.deployment.PersistenceUnitDescriptor: java.lang.String getTransactionType()>();
v = virtualinvoke v.<com.sun.enterprise.deployment.PersistenceUnitDescriptor: org.glassfish.api.naming.SimpleJndiName getJtaDataSource()>();
v = virtualinvoke v.<com.sun.enterprise.deployment.PersistenceUnitDescriptor: org.glassfish.api.naming.SimpleJndiName getNonJtaDataSource()>();
v = virtualinvoke v.<com.sun.enterprise.deployment.PersistenceUnitDescriptor: java.lang.String getName()>();
v = specialinvoke v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: org.glassfish.api.naming.SimpleJndiName calculateJtaDataSourceName(java.lang.String,org.glassfish.api.naming.SimpleJndiName,org.glassfish.api.naming.SimpleJndiName,java.lang.String)>(v, v, v, v);
v = virtualinvoke v.<com.sun.enterprise.deployment.PersistenceUnitDescriptor: org.glassfish.api.naming.SimpleJndiName getJtaDataSource()>();
v = virtualinvoke v.<com.sun.enterprise.deployment.PersistenceUnitDescriptor: org.glassfish.api.naming.SimpleJndiName getNonJtaDataSource()>();
v = specialinvoke v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: org.glassfish.api.naming.SimpleJndiName calculateNonJtaDataSourceName(org.glassfish.api.naming.SimpleJndiName,org.glassfish.api.naming.SimpleJndiName)>(v, v);
virtualinvoke v.<com.sun.enterprise.deployment.PersistenceUnitDescriptor: void setJtaDataSource(org.glassfish.api.naming.SimpleJndiName)>(v);
virtualinvoke v.<com.sun.enterprise.deployment.PersistenceUnitDescriptor: void setNonJtaDataSource(org.glassfish.api.naming.SimpleJndiName)>(v);
return;
}
private org.glassfish.api.naming.SimpleJndiName calculateJtaDataSourceName(java.lang.String, org.glassfish.api.naming.SimpleJndiName, org.glassfish.api.naming.SimpleJndiName, java.lang.String)
{
java.lang.Object[] v;
com.sun.enterprise.util.i18n.StringManager v;
jakarta.persistence.spi.PersistenceUnitTransactionType v, v;
java.util.logging.Level v, v;
org.glassfish.persistence.jpa.ProviderContainerContractInfo v;
java.lang.String v, v, v;
boolean v, v;
java.lang.RuntimeException v;
java.util.logging.Logger v, v;
org.glassfish.persistence.jpa.PersistenceUnitLoader v;
org.glassfish.api.naming.SimpleJndiName v, v, v;
v := @this: org.glassfish.persistence.jpa.PersistenceUnitLoader;
v := @parameter: java.lang.String;
v := @parameter: org.glassfish.api.naming.SimpleJndiName;
v := @parameter: org.glassfish.api.naming.SimpleJndiName;
v := @parameter: java.lang.String;
v = staticinvoke <jakarta.persistence.spi.PersistenceUnitTransactionType: jakarta.persistence.spi.PersistenceUnitTransactionType valueOf(java.lang.String)>(v);
v = <jakarta.persistence.spi.PersistenceUnitTransactionType: jakarta.persistence.spi.PersistenceUnitTransactionType JTA>;
if v == v goto label;
v = <org.glassfish.persistence.jpa.PersistenceUnitLoader: java.util.logging.Logger logger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
virtualinvoke v.<java.util.logging.Logger: void logp(java.util.logging.Level,java.lang.String,java.lang.String,java.lang.String)>(v, "PersistenceUnitInfoImpl", "_getJtaDataSource", "This PU is configured as non-jta, so jta-data-source is null");
return null;
label:
v = staticinvoke <org.glassfish.persistence.jpa.PersistenceUnitLoader: boolean isNullOrEmpty(org.glassfish.api.naming.SimpleJndiName)>(v);
if v != 0 goto label;
v = v;
goto label;
label:
v = staticinvoke <org.glassfish.persistence.jpa.PersistenceUnitLoader: boolean isNullOrEmpty(org.glassfish.api.naming.SimpleJndiName)>(v);
if v == 0 goto label;
v = v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: org.glassfish.persistence.jpa.ProviderContainerContractInfo providerContainerContractInfo>;
v = interfaceinvoke v.<org.glassfish.persistence.jpa.ProviderContainerContractInfo: org.glassfish.api.naming.SimpleJndiName getDefaultDataSourceName()>();
goto label;
label:
v = <org.glassfish.persistence.jpa.PersistenceUnitLoader: com.sun.enterprise.util.i18n.StringManager localStrings>;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = virtualinvoke v.<com.sun.enterprise.util.i18n.StringManager: java.lang.String getString(java.lang.String,java.lang.Object[])>("puinfo.jta-ds-not-configured", v);
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
v = <org.glassfish.persistence.jpa.PersistenceUnitLoader: java.util.logging.Logger logger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
virtualinvoke v.<java.util.logging.Logger: void logp(java.util.logging.Level,java.lang.String,java.lang.String,java.lang.String,java.lang.Object)>(v, "PersistenceUnitLoaderImpl", "_getJtaDataSource", "JTADSName = {0}", v);
return v;
}
private org.glassfish.api.naming.SimpleJndiName calculateNonJtaDataSourceName(org.glassfish.api.naming.SimpleJndiName, org.glassfish.api.naming.SimpleJndiName)
{
java.util.logging.Logger v;
java.util.logging.Level v;
org.glassfish.persistence.jpa.ProviderContainerContractInfo v;
org.glassfish.persistence.jpa.PersistenceUnitLoader v;
org.glassfish.api.naming.SimpleJndiName v, v, v;
boolean v, v;
v := @this: org.glassfish.persistence.jpa.PersistenceUnitLoader;
v := @parameter: org.glassfish.api.naming.SimpleJndiName;
v := @parameter: org.glassfish.api.naming.SimpleJndiName;
v = staticinvoke <org.glassfish.persistence.jpa.PersistenceUnitLoader: boolean isNullOrEmpty(org.glassfish.api.naming.SimpleJndiName)>(v);
if v != 0 goto label;
v = v;
goto label;
label:
v = staticinvoke <org.glassfish.persistence.jpa.PersistenceUnitLoader: boolean isNullOrEmpty(org.glassfish.api.naming.SimpleJndiName)>(v);
if v != 0 goto label;
v = v;
goto label;
label:
v = v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: org.glassfish.persistence.jpa.ProviderContainerContractInfo providerContainerContractInfo>;
v = interfaceinvoke v.<org.glassfish.persistence.jpa.ProviderContainerContractInfo: org.glassfish.api.naming.SimpleJndiName getDefaultDataSourceName()>();
label:
v = <org.glassfish.persistence.jpa.PersistenceUnitLoader: java.util.logging.Logger logger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
virtualinvoke v.<java.util.logging.Logger: void logp(java.util.logging.Level,java.lang.String,java.lang.String,java.lang.String,java.lang.Object)>(v, "PersistenceUnitInfoImpl", "_getNonJtaDataSource", "nonJTADSName = {0}", v);
return v;
}
private static boolean isNullOrEmpty(org.glassfish.api.naming.SimpleJndiName)
{
org.glassfish.api.naming.SimpleJndiName v;
boolean v, v;
v := @parameter: org.glassfish.api.naming.SimpleJndiName;
if v == null goto label;
v = virtualinvoke v.<org.glassfish.api.naming.SimpleJndiName: boolean isEmpty()>();
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private void checkForUpgradeFromTopLinkEssentials(com.sun.enterprise.deployment.PersistenceUnitDescriptor)
{
boolean v, v, v, v, v, v, v, v;
com.sun.enterprise.deployment.PersistenceUnitDescriptor v;
java.util.Set v;
java.util.logging.Logger v, v;
java.lang.ClassLoader v;
java.lang.Object[] v;
java.util.logging.Level v, v;
org.glassfish.persistence.jpa.ProviderContainerContractInfo v;
int v;
java.lang.String v, v, v, v, v, v, v, v;
java.util.Properties v;
java.util.Iterator v;
org.glassfish.persistence.jpa.PersistenceUnitLoader v;
java.lang.ClassNotFoundException v;
java.lang.Object v, v, v;
v := @this: org.glassfish.persistence.jpa.PersistenceUnitLoader;
v := @parameter: com.sun.enterprise.deployment.PersistenceUnitDescriptor;
v = staticinvoke <java.lang.Boolean: boolean getBoolean(java.lang.String)>("org.glassfish.persistence.jpa.disable.upgrade.from.toplink.essentials");
if v == 0 goto label;
return;
label:
v = 0;
v = virtualinvoke v.<com.sun.enterprise.deployment.PersistenceUnitDescriptor: java.lang.String getProvider()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = "oracle.toplink.essentials.PersistenceProvider";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = "oracle.toplink.essentials.ejb.cmp.EntityManagerFactoryProvider";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: org.glassfish.persistence.jpa.ProviderContainerContractInfo providerContainerContractInfo>;
v = interfaceinvoke v.<org.glassfish.persistence.jpa.ProviderContainerContractInfo: java.lang.ClassLoader getClassLoader()>();
virtualinvoke v.<java.lang.ClassLoader: java.lang.Class loadClass(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = staticinvoke <org.glassfish.persistence.jpa.PersistenceUnitInfoImpl: java.lang.String getDefaultprovider()>();
v = <org.glassfish.persistence.jpa.PersistenceUnitLoader: java.util.logging.Logger logger>;
v = <java.util.logging.Level: java.util.logging.Level INFO>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.glassfish.persistence.jpa.PersistenceUnitLoader: java.util.logging.Logger logger>;
v = <java.util.logging.Level: java.util.logging.Level INFO>;
v = newarray (java.lang.Object)[2];
v = virtualinvoke v.<com.sun.enterprise.deployment.PersistenceUnitDescriptor: 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, "puloader.defaulting.provider.on.upgrade", v);
label:
virtualinvoke v.<com.sun.enterprise.deployment.PersistenceUnitDescriptor: void setProvider(java.lang.String)>(v);
v = 1;
label:
if v == 0 goto label;
v = virtualinvoke v.<com.sun.enterprise.deployment.PersistenceUnitDescriptor: java.util.Properties getProperties()>();
v = virtualinvoke v.<java.util.Properties: java.util.Set entrySet()>();
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 = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("toplink");
if v == 0 goto label;
v = "toplink";
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("eclipselink\u0001");
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
virtualinvoke v.<com.sun.enterprise.deployment.PersistenceUnitDescriptor: void addProperty(java.lang.String,java.lang.Object)>(v, v);
goto label;
label:
return;
catch java.lang.ClassNotFoundException from label to label with label;
}
void doJava2DB()
{
org.glassfish.persistence.jpa.schemageneration.SchemaGenerationProcessor v, v;
org.glassfish.persistence.jpa.PersistenceUnitLoader v;
java.util.logging.Logger v, v;
boolean v;
v := @this: org.glassfish.persistence.jpa.PersistenceUnitLoader;
v = v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: org.glassfish.persistence.jpa.schemageneration.SchemaGenerationProcessor schemaGenerationProcessor>;
v = interfaceinvoke v.<org.glassfish.persistence.jpa.schemageneration.SchemaGenerationProcessor: boolean isContainerDDLExecutionRequired()>();
if v == 0 goto label;
v = <org.glassfish.persistence.jpa.PersistenceUnitLoader: java.util.logging.Logger logger>;
virtualinvoke v.<java.util.logging.Logger: void fine(java.lang.String)>("<--- To Create Tables");
v = v.<org.glassfish.persistence.jpa.PersistenceUnitLoader: org.glassfish.persistence.jpa.schemageneration.SchemaGenerationProcessor schemaGenerationProcessor>;
interfaceinvoke v.<org.glassfish.persistence.jpa.schemageneration.SchemaGenerationProcessor: void executeCreateDDL()>();
v = <org.glassfish.persistence.jpa.PersistenceUnitLoader: java.util.logging.Logger logger>;
virtualinvoke v.<java.util.logging.Logger: void fine(java.lang.String)>("---> Done Create Tables");
label:
return;
}
private jakarta.persistence.ValidationMode getValidationMode(com.sun.enterprise.deployment.PersistenceUnitDescriptor)
{
com.sun.enterprise.deployment.PersistenceUnitDescriptor v;
java.util.Properties v;
org.glassfish.persistence.jpa.PersistenceUnitLoader v;
java.lang.Object v;
jakarta.persistence.ValidationMode v;
v := @this: org.glassfish.persistence.jpa.PersistenceUnitLoader;
v := @parameter: com.sun.enterprise.deployment.PersistenceUnitDescriptor;
v = virtualinvoke v.<com.sun.enterprise.deployment.PersistenceUnitDescriptor: jakarta.persistence.ValidationMode getValidationMode()>();
v = virtualinvoke v.<com.sun.enterprise.deployment.PersistenceUnitDescriptor: java.util.Properties getProperties()>();
v = virtualinvoke v.<java.util.Properties: java.lang.Object get(java.lang.Object)>("jakarta.persistence.validation.mode");
if v == null goto label;
v = staticinvoke <jakarta.persistence.ValidationMode: jakarta.persistence.ValidationMode valueOf(java.lang.String)>(v);
label:
return v;
}
static void <clinit>()
{
com.sun.enterprise.util.i18n.StringManager v;
java.util.Map v;
java.util.HashMap v;
java.lang.String v, v;
java.util.logging.Logger v;
v = staticinvoke <com.sun.logging.LogDomains: java.util.logging.Logger getLogger(java.lang.Class,java.lang.String)>(class "Lorg/glassfish/persistence/jpa/PersistenceUnitLoader;", "jakarta.org.glassfish.persistence");
<org.glassfish.persistence.jpa.PersistenceUnitLoader: java.util.logging.Logger logger> = v;
v = staticinvoke <com.sun.enterprise.util.i18n.StringManager: com.sun.enterprise.util.i18n.StringManager getManager(java.lang.Class)>(class "Lorg/glassfish/persistence/jpa/PersistenceUnitLoader;");
<org.glassfish.persistence.jpa.PersistenceUnitLoader: com.sun.enterprise.util.i18n.StringManager localStrings> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("eclipselink.target-server", "Glassfish");
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("eclipselink.target-server", v);
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("hibernate.transaction.manager_lookup_class", "org.hibernate.transaction.SunONETransactionManagerLookup");
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("hibernate.transaction.manager_lookup_class", v);
v = staticinvoke <java.util.Collections: java.util.Map unmodifiableMap(java.util.Map)>(v);
<org.glassfish.persistence.jpa.PersistenceUnitLoader: java.util.Map integrationProperties> = v;
return;
}
}