abstract class com.novell.ldapchai.provider.AbstractProvider extends java.lang.Object implements com.novell.ldapchai.provider.ChaiProvider, com.novell.ldapchai.provider.ChaiProviderImplementor
{
private static final com.novell.ldapchai.provider.AbstractProvider$ChaiProviderInputValidator INPUT_VALIDATOR;
private static final com.novell.ldapchai.util.internal.ChaiLogger LOGGER;
protected com.novell.ldapchai.provider.ChaiConfiguration chaiConfig;
private com.novell.ldapchai.provider.ChaiProviderFactory providerFactory;
protected volatile com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState state;
private final java.util.Map cacheFailureMap;
private com.novell.ldapchai.provider.DirectoryVendor cachedDirectoryVendor;
private static final java.util.concurrent.atomic.AtomicInteger ID_COUNTER;
private final int counter;
void <init>()
{
com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState v;
java.util.concurrent.atomic.AtomicInteger v;
int v;
java.util.HashMap v;
com.novell.ldapchai.provider.AbstractProvider v;
v := @this: com.novell.ldapchai.provider.AbstractProvider;
specialinvoke v.<java.lang.Object: void <init>()>();
v = <com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState: com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState NEW>;
v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState state> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<com.novell.ldapchai.provider.AbstractProvider: java.util.Map cacheFailureMap> = v;
v = <com.novell.ldapchai.provider.AbstractProvider: java.util.concurrent.atomic.AtomicInteger ID_COUNTER>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int getAndIncrement()>();
v.<com.novell.ldapchai.provider.AbstractProvider: int counter> = v;
return;
}
public java.lang.String toString()
{
com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState v, v, v;
int v, v;
java.lang.String v, v, v, v;
com.novell.ldapchai.provider.AbstractProvider v;
boolean v;
com.novell.ldapchai.provider.ChaiConfiguration v;
com.novell.ldapchai.provider.ChaiSetting v;
java.lang.Class v;
java.lang.StringBuilder v, v, v, v, v, v;
v := @this: com.novell.ldapchai.provider.AbstractProvider;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("ChaiProvider ");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("#");
v = v.<com.novell.ldapchai.provider.AbstractProvider: int counter>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
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.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getSimpleName()>();
v = 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.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState getConnectionState()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" ");
v = virtualinvoke v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState getConnectionState()>();
v = <com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState: com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState OPEN>;
v = virtualinvoke v.<com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<com.novell.ldapchai.provider.AbstractProvider: java.lang.String getCurrentConnectionURL()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiConfiguration getChaiConfiguration()>();
v = <com.novell.ldapchai.provider.ChaiSetting: com.novell.ldapchai.provider.ChaiSetting BIND_DN>;
v = virtualinvoke v.<com.novell.ldapchai.provider.ChaiConfiguration: java.lang.String getSetting(com.novell.ldapchai.provider.ChaiSetting)>(v);
if v == null goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 1 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" ");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
public void close()
{
com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState v;
com.novell.ldapchai.provider.AbstractProvider v;
com.novell.ldapchai.provider.ChaiProviderFactory$CentralService v;
com.novell.ldapchai.provider.ChaiProviderFactory v;
v := @this: com.novell.ldapchai.provider.AbstractProvider;
v = <com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState: com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState CLOSED>;
v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState state> = v;
v = v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiProviderFactory providerFactory>;
v = virtualinvoke v.<com.novell.ldapchai.provider.ChaiProviderFactory: com.novell.ldapchai.provider.ChaiProviderFactory$CentralService getCentralService()>();
virtualinvoke v.<com.novell.ldapchai.provider.ChaiProviderFactory$CentralService: void deRegisterProvider(com.novell.ldapchai.provider.ChaiProviderImplementor)>(v);
return;
}
public com.novell.ldapchai.provider.ChaiConfiguration getChaiConfiguration()
{
com.novell.ldapchai.provider.ChaiConfiguration v;
com.novell.ldapchai.provider.AbstractProvider v;
v := @this: com.novell.ldapchai.provider.AbstractProvider;
v = v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiConfiguration chaiConfig>;
return v;
}
public com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState getConnectionState()
{
com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState v;
com.novell.ldapchai.provider.AbstractProvider v;
v := @this: com.novell.ldapchai.provider.AbstractProvider;
v = v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState state>;
return v;
}
public void init(com.novell.ldapchai.provider.ChaiConfiguration, com.novell.ldapchai.provider.ChaiProviderFactory) throws com.novell.ldapchai.exception.ChaiUnavailableException
{
java.lang.IllegalStateException v, v;
com.novell.ldapchai.provider.ChaiConfiguration v;
com.novell.ldapchai.provider.ChaiProviderFactory v;
com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState v, v, v, v, v;
com.novell.ldapchai.provider.AbstractProvider v;
v := @this: com.novell.ldapchai.provider.AbstractProvider;
v := @parameter: com.novell.ldapchai.provider.ChaiConfiguration;
v := @parameter: com.novell.ldapchai.provider.ChaiProviderFactory;
v = v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState state>;
v = <com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState: com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState OPEN>;
if v != v goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("provider already initialized");
throw v;
label:
v = v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState state>;
v = <com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState: com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState CLOSED>;
if v != v goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("instance has been closed");
throw v;
label:
v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiProviderFactory providerFactory> = v;
v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiConfiguration chaiConfig> = v;
v = <com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState: com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState OPEN>;
v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState state> = v;
specialinvoke v.<com.novell.ldapchai.provider.AbstractProvider: void incrementBindStatistic()>();
return;
}
protected void activityPreCheck()
{
java.lang.IllegalStateException v, v;
com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState v, v, v, v;
com.novell.ldapchai.provider.AbstractProvider v;
v := @this: com.novell.ldapchai.provider.AbstractProvider;
v = v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState state>;
v = <com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState: com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState NEW>;
if v != v goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("ChaiProvider instance is not yet initialized");
throw v;
label:
v = v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState state>;
v = <com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState: com.novell.ldapchai.provider.ChaiProviderImplementor$ConnectionState CLOSED>;
if v != v goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("ChaiProvider instance has been closed");
throw v;
label:
return;
}
public boolean errorIsRetryable(java.lang.Exception)
{
com.novell.ldapchai.provider.AbstractProvider v;
java.lang.Exception v;
boolean v, v, v, v;
v := @this: com.novell.ldapchai.provider.AbstractProvider;
v := @parameter: java.lang.Exception;
v = v instanceof java.io.IOException;
if v == 0 goto label;
return 1;
label:
v = v instanceof com.novell.ldapchai.exception.ChaiException;
if v == 0 goto label;
v = virtualinvoke v.<com.novell.ldapchai.exception.ChaiException: boolean isPermanent()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
return 0;
}
protected void preCheckExtendedOperation(javax.naming.ldap.ExtendedRequest) throws com.novell.ldapchai.exception.ChaiOperationException
{
com.novell.ldapchai.provider.ChaiConfiguration v;
javax.naming.ldap.ExtendedRequest v;
com.novell.ldapchai.provider.ChaiSetting v;
java.util.function.Supplier v;
java.util.Map v, v;
java.lang.Object v;
java.lang.String v, v, v;
com.novell.ldapchai.provider.AbstractProvider v;
boolean v, v;
com.novell.ldapchai.util.internal.ChaiLogger v;
v := @this: com.novell.ldapchai.provider.AbstractProvider;
v := @parameter: javax.naming.ldap.ExtendedRequest;
v = "true";
v = virtualinvoke v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiConfiguration getChaiConfiguration()>();
v = <com.novell.ldapchai.provider.ChaiSetting: com.novell.ldapchai.provider.ChaiSetting EXTENDED_OPERATION_FAILURE_CACHE>;
v = virtualinvoke v.<com.novell.ldapchai.provider.ChaiConfiguration: java.lang.String getSetting(com.novell.ldapchai.provider.ChaiSetting)>(v);
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<javax.naming.ldap.ExtendedRequest: java.lang.String getID()>();
v = v.<com.novell.ldapchai.provider.AbstractProvider: java.util.Map cacheFailureMap>;
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
v = <com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.provider.AbstractProvider$lambda_preCheckExtendedOperation_0__99: java.util.function.Supplier bootstrap$(java.lang.String)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void debug(java.util.function.Supplier)>(v);
v = v.<com.novell.ldapchai.provider.AbstractProvider: java.util.Map cacheFailureMap>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
throw v;
label:
return;
}
protected void cacheExtendedOperationException(javax.naming.ldap.ExtendedRequest, java.lang.Exception) throws com.novell.ldapchai.exception.ChaiOperationException
{
com.novell.ldapchai.provider.ChaiConfiguration v;
javax.naming.ldap.ExtendedRequest v;
com.novell.ldapchai.provider.ChaiSetting v;
java.util.function.Supplier v;
com.novell.ldapchai.exception.ChaiError v, v;
java.lang.Exception v;
java.util.Map v;
java.lang.String v, v;
com.novell.ldapchai.exception.ChaiOperationException v;
com.novell.ldapchai.provider.AbstractProvider v;
boolean v;
com.novell.ldapchai.util.internal.ChaiLogger v;
v := @this: com.novell.ldapchai.provider.AbstractProvider;
v := @parameter: javax.naming.ldap.ExtendedRequest;
v := @parameter: java.lang.Exception;
v = virtualinvoke v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiConfiguration getChaiConfiguration()>();
v = <com.novell.ldapchai.provider.ChaiSetting: com.novell.ldapchai.provider.ChaiSetting EXTENDED_OPERATION_FAILURE_CACHE>;
v = virtualinvoke v.<com.novell.ldapchai.provider.ChaiConfiguration: boolean getBooleanSetting(com.novell.ldapchai.provider.ChaiSetting)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
v = staticinvoke <com.novell.ldapchai.exception.ChaiOperationException: com.novell.ldapchai.exception.ChaiOperationException forErrorMessage(java.lang.String,java.lang.Throwable)>(v, v);
v = virtualinvoke v.<com.novell.ldapchai.exception.ChaiOperationException: com.novell.ldapchai.exception.ChaiError getErrorCode()>();
v = <com.novell.ldapchai.exception.ChaiError: com.novell.ldapchai.exception.ChaiError UNSUPPORTED_OPERATION>;
if v != v goto label;
v = interfaceinvoke v.<javax.naming.ldap.ExtendedRequest: java.lang.String getID()>();
v = v.<com.novell.ldapchai.provider.AbstractProvider: java.util.Map cacheFailureMap>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.provider.AbstractProvider$lambda_cacheExtendedOperationException_1__100: java.util.function.Supplier bootstrap$(java.lang.String)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void trace(java.util.function.Supplier)>(v);
throw v;
label:
return;
}
public com.novell.ldapchai.provider.DirectoryVendor getDirectoryVendor() throws com.novell.ldapchai.exception.ChaiUnavailableException
{
com.novell.ldapchai.ChaiEntry v;
com.novell.ldapchai.provider.DirectoryVendor v, v, v, v, v, v, v;
java.util.function.Supplier v;
com.novell.ldapchai.provider.ChaiProviderFactory$CentralService v, v;
com.novell.ldapchai.provider.ChaiProviderFactory v, v;
com.novell.ldapchai.exception.ChaiOperationException v;
com.novell.ldapchai.provider.AbstractProvider v;
boolean v;
com.novell.ldapchai.provider.ChaiConfiguration v, v, v;
java.util.Optional v;
java.lang.Object v;
com.novell.ldapchai.util.internal.ChaiLogger v;
v := @this: com.novell.ldapchai.provider.AbstractProvider;
v = v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.DirectoryVendor cachedDirectoryVendor>;
if v == null goto label;
v = v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.DirectoryVendor cachedDirectoryVendor>;
return v;
label:
v = virtualinvoke v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiProviderFactory getProviderFactory()>();
v = virtualinvoke v.<com.novell.ldapchai.provider.ChaiProviderFactory: com.novell.ldapchai.provider.ChaiProviderFactory$CentralService getCentralService()>();
v = v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiConfiguration chaiConfig>;
v = virtualinvoke v.<com.novell.ldapchai.provider.ChaiProviderFactory$CentralService: com.novell.ldapchai.provider.DirectoryVendor getVendorCache(com.novell.ldapchai.provider.ChaiConfiguration)>(v);
if v == null goto label;
return v;
label:
v = virtualinvoke v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiConfiguration getChaiConfiguration()>();
v = virtualinvoke v.<com.novell.ldapchai.provider.ChaiConfiguration: java.util.Optional getDefaultVendor()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.DirectoryVendor cachedDirectoryVendor> = v;
goto label;
label:
v = staticinvoke <com.novell.ldapchai.util.ChaiUtility: com.novell.ldapchai.ChaiEntry getRootDSE(com.novell.ldapchai.provider.ChaiProvider)>(v);
v = staticinvoke <com.novell.ldapchai.util.ChaiUtility: com.novell.ldapchai.provider.DirectoryVendor determineDirectoryVendor(com.novell.ldapchai.ChaiEntry)>(v);
v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.DirectoryVendor cachedDirectoryVendor> = v;
label:
goto label;
label:
v := @caughtexception;
v = <com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.provider.AbstractProvider$lambda_getDirectoryVendor_2__101: java.util.function.Supplier bootstrap$(com.novell.ldapchai.exception.ChaiOperationException)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void warn(java.util.function.Supplier,java.lang.Exception)>(v, v);
v = <com.novell.ldapchai.provider.DirectoryVendor: com.novell.ldapchai.provider.DirectoryVendor GENERIC>;
return v;
label:
v = virtualinvoke v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiProviderFactory getProviderFactory()>();
v = virtualinvoke v.<com.novell.ldapchai.provider.ChaiProviderFactory: com.novell.ldapchai.provider.ChaiProviderFactory$CentralService getCentralService()>();
v = v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiConfiguration chaiConfig>;
v = v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.DirectoryVendor cachedDirectoryVendor>;
virtualinvoke v.<com.novell.ldapchai.provider.ChaiProviderFactory$CentralService: void addVendorCache(com.novell.ldapchai.provider.ChaiConfiguration,com.novell.ldapchai.provider.DirectoryVendor)>(v, v);
v = v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.DirectoryVendor cachedDirectoryVendor>;
return v;
catch com.novell.ldapchai.exception.ChaiOperationException from label to label with label;
}
public java.lang.String getIdentifier()
{
int v;
java.lang.String v;
com.novell.ldapchai.provider.AbstractProvider v;
v := @this: com.novell.ldapchai.provider.AbstractProvider;
v = v.<com.novell.ldapchai.provider.AbstractProvider: int counter>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("providerId=\u0001");
return v;
}
public com.novell.ldapchai.provider.ChaiProviderFactory getProviderFactory()
{
com.novell.ldapchai.provider.AbstractProvider v;
com.novell.ldapchai.provider.ChaiProviderFactory v;
v := @this: com.novell.ldapchai.provider.AbstractProvider;
v = v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiProviderFactory providerFactory>;
return v;
}
public com.novell.ldapchai.ChaiEntryFactory getEntryFactory()
{
com.novell.ldapchai.ChaiEntryFactory v;
com.novell.ldapchai.provider.AbstractProvider v;
v := @this: com.novell.ldapchai.provider.AbstractProvider;
v = staticinvoke <com.novell.ldapchai.ChaiEntryFactory: com.novell.ldapchai.ChaiEntryFactory newChaiFactory(com.novell.ldapchai.provider.ChaiProvider)>(v);
return v;
}
protected com.novell.ldapchai.provider.AbstractProvider$ChaiProviderInputValidator getInputValidator()
{
com.novell.ldapchai.provider.AbstractProvider$ChaiProviderInputValidator v;
com.novell.ldapchai.provider.AbstractProvider v;
v := @this: com.novell.ldapchai.provider.AbstractProvider;
v = <com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.AbstractProvider$ChaiProviderInputValidator INPUT_VALIDATOR>;
return v;
}
static com.novell.ldapchai.exception.ChaiException convertInvocationExceptionToChaiException(java.lang.Exception)
{
java.lang.IllegalStateException v;
java.lang.String v;
java.util.function.Supplier v;
java.lang.Exception v;
boolean v, v;
com.novell.ldapchai.util.internal.ChaiLogger v;
v := @parameter: java.lang.Exception;
v = v instanceof com.novell.ldapchai.exception.ChaiOperationException;
if v == 0 goto label;
return v;
label:
v = v instanceof com.novell.ldapchai.exception.ChaiUnavailableException;
if v == 0 goto label;
return v;
label:
v = <com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.util.internal.ChaiLogger LOGGER>;
v = staticinvoke <com.novell.ldapchai.provider.AbstractProvider$lambda_convertInvocationExceptionToChaiException_3__102: java.util.function.Supplier bootstrap$(java.lang.Exception)>(v);
virtualinvoke v.<com.novell.ldapchai.util.internal.ChaiLogger: void warn(java.util.function.Supplier,java.lang.Exception)>(v, v);
v = new java.lang.IllegalStateException;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
}
private void incrementBindStatistic()
{
com.novell.ldapchai.provider.ChaiConfiguration v;
com.novell.ldapchai.provider.ChaiSetting v;
com.novell.ldapchai.provider.ChaiProviderFactory$CentralService v;
com.novell.ldapchai.provider.StatisticsWrapper$StatsBean v;
com.novell.ldapchai.provider.ChaiProviderFactory v;
com.novell.ldapchai.provider.ProviderStatistics$IncrementerStatistic v;
com.novell.ldapchai.provider.AbstractProvider v;
boolean v;
v := @this: com.novell.ldapchai.provider.AbstractProvider;
v = virtualinvoke v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiConfiguration getChaiConfiguration()>();
v = <com.novell.ldapchai.provider.ChaiSetting: com.novell.ldapchai.provider.ChaiSetting STATISTICS_ENABLE>;
v = virtualinvoke v.<com.novell.ldapchai.provider.ChaiConfiguration: boolean getBooleanSetting(com.novell.ldapchai.provider.ChaiSetting)>(v);
if v == 0 goto label;
v = virtualinvoke v.<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.ChaiProviderFactory getProviderFactory()>();
v = virtualinvoke v.<com.novell.ldapchai.provider.ChaiProviderFactory: com.novell.ldapchai.provider.ChaiProviderFactory$CentralService getCentralService()>();
v = virtualinvoke v.<com.novell.ldapchai.provider.ChaiProviderFactory$CentralService: com.novell.ldapchai.provider.StatisticsWrapper$StatsBean getStatsBean()>();
v = <com.novell.ldapchai.provider.ProviderStatistics$IncrementerStatistic: com.novell.ldapchai.provider.ProviderStatistics$IncrementerStatistic BIND_COUNT>;
virtualinvoke v.<com.novell.ldapchai.provider.StatisticsWrapper$StatsBean: void incrementStatistic(com.novell.ldapchai.provider.ProviderStatistics$IncrementerStatistic)>(v);
label:
return;
}
static void <clinit>()
{
com.novell.ldapchai.provider.AbstractProvider$ChaiProviderInputValidator v;
java.util.concurrent.atomic.AtomicInteger v;
com.novell.ldapchai.util.internal.ChaiLogger v;
v = new com.novell.ldapchai.provider.AbstractProvider$ChaiProviderInputValidator;
specialinvoke v.<com.novell.ldapchai.provider.AbstractProvider$ChaiProviderInputValidator: void <init>()>();
<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.provider.AbstractProvider$ChaiProviderInputValidator INPUT_VALIDATOR> = v;
v = staticinvoke <com.novell.ldapchai.util.internal.ChaiLogger: com.novell.ldapchai.util.internal.ChaiLogger getLogger(java.lang.Class)>(class "Lcom/novell/ldapchai/provider/AbstractProvider;");
<com.novell.ldapchai.provider.AbstractProvider: com.novell.ldapchai.util.internal.ChaiLogger LOGGER> = v;
v = new java.util.concurrent.atomic.AtomicInteger;
specialinvoke v.<java.util.concurrent.atomic.AtomicInteger: void <init>(int)>(0);
<com.novell.ldapchai.provider.AbstractProvider: java.util.concurrent.atomic.AtomicInteger ID_COUNTER> = v;
return;
}
}