.class public abstract Lorg/apache/commons/logging/LogFactory; .super Ljava/lang/Object; .source "LogFactory.java" # static fields .field public static final DIAGNOSTICS_DEST_PROPERTY:Ljava/lang/String; = "org.apache.commons.logging.diagnostics.dest" .field public static final FACTORY_DEFAULT:Ljava/lang/String; = "org.apache.commons.logging.impl.LogFactoryImpl" .field public static final FACTORY_PROPERTIES:Ljava/lang/String; = "commons-logging.properties" .field public static final FACTORY_PROPERTY:Ljava/lang/String; = "org.apache.commons.logging.LogFactory" .field public static final HASHTABLE_IMPLEMENTATION_PROPERTY:Ljava/lang/String; = "org.apache.commons.logging.LogFactory.HashtableImpl" .field public static final PRIORITY_KEY:Ljava/lang/String; = "priority" .field protected static final SERVICE_ID:Ljava/lang/String; = "META-INF/services/org.apache.commons.logging.LogFactory" .field public static final TCCL_KEY:Ljava/lang/String; = "use_tccl" .field private static final WEAK_HASHTABLE_CLASSNAME:Ljava/lang/String; = "org.apache.commons.logging.impl.WeakHashtable" .field static synthetic class$org$apache$commons$logging$LogFactory:Ljava/lang/Class; .field private static final diagnosticPrefix:Ljava/lang/String; .field private static diagnosticsStream:Ljava/io/PrintStream; .field protected static factories:Ljava/util/Hashtable; .field protected static volatile nullClassLoaderFactory:Lorg/apache/commons/logging/LogFactory; .field private static final thisClassLoader:Ljava/lang/ClassLoader; # direct methods .method static constructor ()V .registers 4 .line 1674 sget-object v0, Lorg/apache/commons/logging/LogFactory;->class$org$apache$commons$logging$LogFactory:Ljava/lang/Class; const-string v1, "org.apache.commons.logging.LogFactory" if-nez v0, :cond_c invoke-static {v1}, Lorg/apache/commons/logging/LogFactory;->class$(Ljava/lang/String;)Ljava/lang/Class; move-result-object v0 sput-object v0, Lorg/apache/commons/logging/LogFactory;->class$org$apache$commons$logging$LogFactory:Ljava/lang/Class; :cond_c invoke-static {v0}, Lorg/apache/commons/logging/LogFactory;->getClassLoader(Ljava/lang/Class;)Ljava/lang/ClassLoader; move-result-object v0 sput-object v0, Lorg/apache/commons/logging/LogFactory;->thisClassLoader:Ljava/lang/ClassLoader; if-nez v0, :cond_17 .line 1688 :try_start_14 const-string v0, "BOOTLOADER" goto :goto_1e .line 1690 :cond_17 invoke-static {v0}, Lorg/apache/commons/logging/LogFactory;->objectId(Ljava/lang/Object;)Ljava/lang/String; move-result-object v0 :try_end_1b .catch Ljava/lang/SecurityException; {:try_start_14 .. :try_end_1b} :catch_1c goto :goto_1e .line 1693 :catch_1c const-string v0, "UNKNOWN" .line 1695 :goto_1e new-instance v2, Ljava/lang/StringBuffer; const-string v3, "[LogFactory from " invoke-direct {v2, v3}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-virtual {v2, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v0 const-string v2, "] " invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object v0 sput-object v0, Lorg/apache/commons/logging/LogFactory;->diagnosticPrefix:Ljava/lang/String; .line 1696 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->initDiagnostics()Ljava/io/PrintStream; move-result-object v0 sput-object v0, Lorg/apache/commons/logging/LogFactory;->diagnosticsStream:Ljava/io/PrintStream; .line 1697 sget-object v0, Lorg/apache/commons/logging/LogFactory;->class$org$apache$commons$logging$LogFactory:Ljava/lang/Class; if-nez v0, :cond_45 invoke-static {v1}, Lorg/apache/commons/logging/LogFactory;->class$(Ljava/lang/String;)Ljava/lang/Class; move-result-object v0 sput-object v0, Lorg/apache/commons/logging/LogFactory;->class$org$apache$commons$logging$LogFactory:Ljava/lang/Class; :cond_45 invoke-static {v0}, Lorg/apache/commons/logging/LogFactory;->logClassLoaderEnvironment(Ljava/lang/Class;)V .line 1698 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->createFactoryStore()Ljava/util/Hashtable; move-result-object v0 sput-object v0, Lorg/apache/commons/logging/LogFactory;->factories:Ljava/util/Hashtable; .line 1699 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v0 if-eqz v0, :cond_59 .line 1700 const-string v0, "BOOTSTRAP COMPLETED" invoke-static {v0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V :cond_59 return-void .end method .method protected constructor ()V .registers 1 .line 198 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method static synthetic access$000(Ljava/lang/String;)V .registers 1 .line 45 invoke-static {p0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V return-void .end method .method private static cacheFactory(Ljava/lang/ClassLoader;Lorg/apache/commons/logging/LogFactory;)V .registers 3 if-eqz p1, :cond_c if-nez p0, :cond_7 .line 899 sput-object p1, Lorg/apache/commons/logging/LogFactory;->nullClassLoaderFactory:Lorg/apache/commons/logging/LogFactory; goto :goto_c .line 901 :cond_7 sget-object v0, Lorg/apache/commons/logging/LogFactory;->factories:Ljava/util/Hashtable; invoke-virtual {v0, p0, p1}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; :cond_c :goto_c return-void .end method .method static synthetic class$(Ljava/lang/String;)Ljava/lang/Class; .registers 2 .line 1021 :try_start_0 invoke-static {p0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class; move-result-object p0 :try_end_4 .catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_4} :catch_5 return-object p0 :catch_5 move-exception p0 new-instance v0, Ljava/lang/NoClassDefFoundError; invoke-virtual {p0}, Ljava/lang/ClassNotFoundException;->getMessage()Ljava/lang/String; move-result-object p0 invoke-direct {v0, p0}, Ljava/lang/NoClassDefFoundError;->(Ljava/lang/String;)V throw v0 .end method .method protected static createFactory(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Object; .registers 13 const-string v0, "The conflict is caused by the presence of multiple LogFactory classes in incompatible classloaders. Background can be found in http://commons.apache.org/logging/tech.html. If you have not explicitly specified a custom LogFactory then it is likely that the container has set one without your knowledge. In this case, consider using the commons-logging-adapters.jar file or specifying the standard LogFactory from the command line. " const-string v1, "\' cannot be loaded via classloader " const-string v2, "Loaded class " const-string v3, "Factory class " const-string v4, "Class \'" const-string v5, "Unable to locate any class called \'" const-string v6, "The application has specified that a custom LogFactory implementation should be used but Class \'" const-string v7, "Unable to load factory class via classloader " .line 1014 const-string v8, "org.apache.commons.logging.LogFactory" const/4 v9, 0x0 if-eqz p1, :cond_152 .line 1020 :try_start_15 invoke-virtual {p1, p0}, Ljava/lang/ClassLoader;->loadClass(Ljava/lang/String;)Ljava/lang/Class; move-result-object v9 .line 1021 sget-object v10, Lorg/apache/commons/logging/LogFactory;->class$org$apache$commons$logging$LogFactory:Ljava/lang/Class; if-nez v10, :cond_23 invoke-static {v8}, Lorg/apache/commons/logging/LogFactory;->class$(Ljava/lang/String;)Ljava/lang/Class; move-result-object v10 sput-object v10, Lorg/apache/commons/logging/LogFactory;->class$org$apache$commons$logging$LogFactory:Ljava/lang/Class; :cond_23 invoke-virtual {v10, v9}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z move-result v10 if-eqz v10, :cond_52 .line 1022 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v3 if-eqz v3, :cond_a1 .line 1023 new-instance v3, Ljava/lang/StringBuffer; invoke-direct {v3, v2}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-virtual {v9}, Ljava/lang/Class;->getName()Ljava/lang/String; move-result-object v2 invoke-virtual {v3, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v2 const-string v3, " from classloader " invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v2 invoke-static {p1}, Lorg/apache/commons/logging/LogFactory;->objectId(Ljava/lang/Object;)Ljava/lang/String; move-result-object v3 invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v2 invoke-virtual {v2}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object v2 invoke-static {v2}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V goto :goto_a1 .line 1038 :cond_52 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v2 if-eqz v2, :cond_a1 .line 1039 new-instance v2, Ljava/lang/StringBuffer; invoke-direct {v2, v3}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-virtual {v9}, Ljava/lang/Class;->getName()Ljava/lang/String; move-result-object v3 invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v2 const-string v3, " loaded from classloader " invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v2 invoke-virtual {v9}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader; move-result-object v3 invoke-static {v3}, Lorg/apache/commons/logging/LogFactory;->objectId(Ljava/lang/Object;)Ljava/lang/String; move-result-object v3 invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v2 const-string v3, " does not extend \'" invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v2 sget-object v3, Lorg/apache/commons/logging/LogFactory;->class$org$apache$commons$logging$LogFactory:Ljava/lang/Class; if-nez v3, :cond_87 invoke-static {v8}, Lorg/apache/commons/logging/LogFactory;->class$(Ljava/lang/String;)Ljava/lang/Class; move-result-object v3 sput-object v3, Lorg/apache/commons/logging/LogFactory;->class$org$apache$commons$logging$LogFactory:Ljava/lang/Class; :cond_87 invoke-virtual {v3}, Ljava/lang/Class;->getName()Ljava/lang/String; move-result-object v3 invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v2 const-string v3, "\' as loaded by this classloader." invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v2 invoke-virtual {v2}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object v2 invoke-static {v2}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V .line 1043 const-string v2, "[BAD CL TREE] " invoke-static {v2, p1}, Lorg/apache/commons/logging/LogFactory;->logHierarchy(Ljava/lang/String;Ljava/lang/ClassLoader;)V .line 1047 :cond_a1 :goto_a1 invoke-virtual {v9}, Ljava/lang/Class;->newInstance()Ljava/lang/Object; move-result-object v2 check-cast v2, Lorg/apache/commons/logging/LogFactory; :try_end_a7 .catch Ljava/lang/ClassNotFoundException; {:try_start_15 .. :try_end_a7} :catch_128 .catch Ljava/lang/NoClassDefFoundError; {:try_start_15 .. :try_end_a7} :catch_fa .catch Ljava/lang/ClassCastException; {:try_start_15 .. :try_end_a7} :catch_a8 .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_a7} :catch_17d return-object v2 .line 1071 :catch_a8 :try_start_a8 sget-object v1, Lorg/apache/commons/logging/LogFactory;->thisClassLoader:Ljava/lang/ClassLoader; if-ne p1, v1, :cond_152 .line 1077 invoke-static {v9}, Lorg/apache/commons/logging/LogFactory;->implementsLogFactory(Ljava/lang/Class;)Z move-result p1 .line 1084 new-instance v1, Ljava/lang/StringBuffer; invoke-direct {v1, v6}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V .line 1087 invoke-virtual {v1, p0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; .line 1088 const-string p0, "\' cannot be converted to \'" invoke-virtual {v1, p0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; .line 1089 sget-object p0, Lorg/apache/commons/logging/LogFactory;->class$org$apache$commons$logging$LogFactory:Ljava/lang/Class; if-nez p0, :cond_c7 invoke-static {v8}, Lorg/apache/commons/logging/LogFactory;->class$(Ljava/lang/String;)Ljava/lang/Class; move-result-object p0 sput-object p0, Lorg/apache/commons/logging/LogFactory;->class$org$apache$commons$logging$LogFactory:Ljava/lang/Class; :cond_c7 invoke-virtual {p0}, Ljava/lang/Class;->getName()Ljava/lang/String; move-result-object p0 invoke-virtual {v1, p0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; .line 1090 const-string p0, "\'. " invoke-virtual {v1, p0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; if-eqz p1, :cond_d9 .line 1092 invoke-virtual {v1, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; goto :goto_de .line 1100 :cond_d9 const-string p0, "Please check the custom implementation. " invoke-virtual {v1, p0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; .line 1102 :goto_de const-string p0, "Help can be found @http://commons.apache.org/logging/troubleshooting.html." invoke-virtual {v1, p0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; .line 1104 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result p0 if-eqz p0, :cond_f0 .line 1105 invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object p0 invoke-static {p0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V .line 1108 :cond_f0 new-instance p0, Ljava/lang/ClassCastException; invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {p0, p1}, Ljava/lang/ClassCastException;->(Ljava/lang/String;)V throw p0 :catch_fa move-exception v0 .line 1060 sget-object v2, Lorg/apache/commons/logging/LogFactory;->thisClassLoader:Ljava/lang/ClassLoader; if-ne p1, v2, :cond_152 .line 1062 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v2 if-eqz v2, :cond_127 .line 1063 new-instance v2, Ljava/lang/StringBuffer; invoke-direct {v2, v4}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-virtual {v2, p0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p0 invoke-virtual {p0, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p0 invoke-static {p1}, Lorg/apache/commons/logging/LogFactory;->objectId(Ljava/lang/Object;)Ljava/lang/String; move-result-object p1 invoke-virtual {p0, p1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p0 const-string p1, " - it depends on some other class that cannot be found." invoke-virtual {p0, p1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object p0 invoke-static {p0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V .line 1067 :cond_127 throw v0 :catch_128 move-exception v0 .line 1050 sget-object v1, Lorg/apache/commons/logging/LogFactory;->thisClassLoader:Ljava/lang/ClassLoader; if-ne p1, v1, :cond_152 .line 1052 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v1 if-eqz v1, :cond_151 .line 1053 new-instance v1, Ljava/lang/StringBuffer; invoke-direct {v1, v5}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-virtual {v1, p0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p0 const-string v1, "\' via classloader " invoke-virtual {p0, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p0 invoke-static {p1}, Lorg/apache/commons/logging/LogFactory;->objectId(Ljava/lang/Object;)Ljava/lang/String; move-result-object p1 invoke-virtual {p0, p1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object p0 invoke-static {p0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V .line 1056 :cond_151 throw v0 .line 1142 :cond_152 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v0 if-eqz v0, :cond_172 .line 1143 new-instance v0, Ljava/lang/StringBuffer; invoke-direct {v0, v7}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-static {p1}, Lorg/apache/commons/logging/LogFactory;->objectId(Ljava/lang/Object;)Ljava/lang/String; move-result-object p1 invoke-virtual {v0, p1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p1 const-string v0, " - trying the classloader associated with this LogFactory." invoke-virtual {p1, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object p1 invoke-static {p1}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V .line 1146 :cond_172 invoke-static {p0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class; move-result-object v9 .line 1147 invoke-virtual {v9}, Ljava/lang/Class;->newInstance()Ljava/lang/Object; move-result-object p0 check-cast p0, Lorg/apache/commons/logging/LogFactory; :try_end_17c .catch Ljava/lang/Exception; {:try_start_a8 .. :try_end_17c} :catch_17d return-object p0 :catch_17d move-exception p0 .line 1150 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result p1 if-eqz p1, :cond_189 .line 1151 const-string p1, "Unable to create LogFactory instance." invoke-static {p1}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V :cond_189 if-eqz v9, :cond_1a3 .line 1153 sget-object p1, Lorg/apache/commons/logging/LogFactory;->class$org$apache$commons$logging$LogFactory:Ljava/lang/Class; if-nez p1, :cond_195 invoke-static {v8}, Lorg/apache/commons/logging/LogFactory;->class$(Ljava/lang/String;)Ljava/lang/Class; move-result-object p1 sput-object p1, Lorg/apache/commons/logging/LogFactory;->class$org$apache$commons$logging$LogFactory:Ljava/lang/Class; :cond_195 invoke-virtual {p1, v9}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z move-result p1 if-nez p1, :cond_1a3 .line 1154 new-instance p1, Lorg/apache/commons/logging/LogConfigurationException; const-string v0, "The chosen LogFactory implementation does not extend LogFactory. Please check your configuration." invoke-direct {p1, v0, p0}, Lorg/apache/commons/logging/LogConfigurationException;->(Ljava/lang/String;Ljava/lang/Throwable;)V return-object p1 .line 1158 :cond_1a3 new-instance p1, Lorg/apache/commons/logging/LogConfigurationException; invoke-direct {p1, p0}, Lorg/apache/commons/logging/LogConfigurationException;->(Ljava/lang/Throwable;)V return-object p1 .end method .method private static final createFactoryStore()Ljava/util/Hashtable; .registers 4 const/4 v0, 0x0 .line 320 :try_start_1 const-string v1, "org.apache.commons.logging.LogFactory.HashtableImpl" invoke-static {v1, v0}, Lorg/apache/commons/logging/LogFactory;->getSystemProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v1 :try_end_7 .catch Ljava/lang/SecurityException; {:try_start_1 .. :try_end_7} :catch_8 goto :goto_9 :catch_8 move-object v1, v0 .line 327 :goto_9 const-string v2, "org.apache.commons.logging.impl.WeakHashtable" if-nez v1, :cond_e move-object v1, v2 .line 331 :cond_e :try_start_e invoke-static {v1}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class; move-result-object v3 .line 332 invoke-virtual {v3}, Ljava/lang/Class;->newInstance()Ljava/lang/Object; move-result-object v3 check-cast v3, Ljava/util/Hashtable; :try_end_18 .catchall {:try_start_e .. :try_end_18} :catchall_1a move-object v0, v3 goto :goto_35 :catchall_1a move-exception v3 .line 334 invoke-static {v3}, Lorg/apache/commons/logging/LogFactory;->handleThrowable(Ljava/lang/Throwable;)V .line 337 invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v1 if-nez v1, :cond_35 .line 339 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v1 const-string v2, "[ERROR] LogFactory: Load of custom hashtable failed" if-eqz v1, :cond_30 .line 341 invoke-static {v2}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V goto :goto_35 .line 345 :cond_30 sget-object v1, Ljava/lang/System;->err:Ljava/io/PrintStream; invoke-virtual {v1, v2}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V :cond_35 :goto_35 if-nez v0, :cond_3c .line 350 new-instance v0, Ljava/util/Hashtable; invoke-direct {v0}, Ljava/util/Hashtable;->()V :cond_3c return-object v0 .end method .method protected static directGetContextClassLoader()Ljava/lang/ClassLoader; .registers 1 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/commons/logging/LogConfigurationException; } .end annotation .line 840 :try_start_0 invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread; move-result-object v0 invoke-virtual {v0}, Ljava/lang/Thread;->getContextClassLoader()Ljava/lang/ClassLoader; move-result-object v0 :try_end_8 .catch Ljava/lang/SecurityException; {:try_start_0 .. :try_end_8} :catch_9 goto :goto_a :catch_9 const/4 v0, 0x0 :goto_a return-object v0 .end method .method private static getCachedFactory(Ljava/lang/ClassLoader;)Lorg/apache/commons/logging/LogFactory; .registers 2 if-nez p0, :cond_5 .line 878 sget-object p0, Lorg/apache/commons/logging/LogFactory;->nullClassLoaderFactory:Lorg/apache/commons/logging/LogFactory; return-object p0 .line 880 :cond_5 sget-object v0, Lorg/apache/commons/logging/LogFactory;->factories:Ljava/util/Hashtable; invoke-virtual {v0, p0}, Ljava/util/Hashtable;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 check-cast p0, Lorg/apache/commons/logging/LogFactory; return-object p0 .end method .method protected static getClassLoader(Ljava/lang/Class;)Ljava/lang/ClassLoader; .registers 4 .line 762 :try_start_0 invoke-virtual {p0}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader; move-result-object p0 :try_end_4 .catch Ljava/lang/SecurityException; {:try_start_0 .. :try_end_4} :catch_5 return-object p0 :catch_5 move-exception v0 .line 764 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v1 if-eqz v1, :cond_2c .line 765 new-instance v1, Ljava/lang/StringBuffer; const-string v2, "Unable to get classloader for class \'" invoke-direct {v1, v2}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-virtual {v1, p0}, Ljava/lang/StringBuffer;->append(Ljava/lang/Object;)Ljava/lang/StringBuffer; move-result-object p0 const-string v1, "\' due to security restrictions - " invoke-virtual {p0, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p0 invoke-virtual {v0}, Ljava/lang/SecurityException;->getMessage()Ljava/lang/String; move-result-object v1 invoke-virtual {p0, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object p0 invoke-static {p0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V .line 768 :cond_2c throw v0 .end method .method private static final getConfigurationFile(Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/util/Properties; .registers 16 const/4 v0, 0x0 .line 1360 :try_start_1 invoke-static {p0, p1}, Lorg/apache/commons/logging/LogFactory;->getResources(Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/util/Enumeration; move-result-object p0 :try_end_5 .catch Ljava/lang/SecurityException; {:try_start_1 .. :try_end_5} :catch_f3 if-nez p0, :cond_8 return-object v0 :cond_8 const-wide/16 v1, 0x0 move-object v3, v0 move-wide v4, v1 .line 1366 :cond_c :goto_c :try_start_c invoke-interface {p0}, Ljava/util/Enumeration;->hasMoreElements()Z move-result v6 if-eqz v6, :cond_ff .line 1367 invoke-interface {p0}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object; move-result-object v6 check-cast v6, Ljava/net/URL; .line 1369 invoke-static {v6}, Lorg/apache/commons/logging/LogFactory;->getProperties(Ljava/net/URL;)Ljava/util/Properties; move-result-object v7 :try_end_1c .catch Ljava/lang/SecurityException; {:try_start_c .. :try_end_1c} :catch_f4 if-eqz v7, :cond_c .line 1371 const-string v8, "priority" const-string v9, " with priority " const-string v10, "\'" if-nez v0, :cond_62 .line 1374 :try_start_26 invoke-virtual {v7, v8}, Ljava/util/Properties;->getProperty(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 if-eqz v0, :cond_32 .line 1377 invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D move-result-wide v3 move-wide v4, v3 goto :goto_33 :cond_32 move-wide v4, v1 .line 1380 :goto_33 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v0 if-eqz v0, :cond_5b .line 1381 new-instance v0, Ljava/lang/StringBuffer; invoke-direct {v0}, Ljava/lang/StringBuffer;->()V const-string v3, "[LOOKUP] Properties file found at \'" invoke-virtual {v0, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v0 invoke-virtual {v0, v6}, Ljava/lang/StringBuffer;->append(Ljava/lang/Object;)Ljava/lang/StringBuffer; move-result-object v0 invoke-virtual {v0, v10}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v0 invoke-virtual {v0, v9}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v0 invoke-virtual {v0, v4, v5}, Ljava/lang/StringBuffer;->append(D)Ljava/lang/StringBuffer; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object v0 invoke-static {v0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V :try_end_5b .catch Ljava/lang/SecurityException; {:try_start_26 .. :try_end_5b} :catch_5e :cond_5b move-object v3, v6 move-object v0, v7 goto :goto_c :catch_5e move-object v3, v6 move-object v0, v7 goto/16 :goto_f4 .line 1385 :cond_62 :try_start_62 invoke-virtual {v7, v8}, Ljava/util/Properties;->getProperty(Ljava/lang/String;)Ljava/lang/String; move-result-object v8 if-eqz v8, :cond_6d .line 1388 invoke-static {v8}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D move-result-wide v11 :try_end_6c .catch Ljava/lang/SecurityException; {:try_start_62 .. :try_end_6c} :catch_f4 goto :goto_6e :cond_6d move-wide v11, v1 :goto_6e cmpl-double v8, v11, v4 .line 1391 const-string v13, "[LOOKUP] Properties file at \'" if-lez v8, :cond_b5 .line 1392 :try_start_74 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v8 if-eqz v8, :cond_b0 .line 1393 new-instance v8, Ljava/lang/StringBuffer; invoke-direct {v8}, Ljava/lang/StringBuffer;->()V invoke-virtual {v8, v13}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v8 invoke-virtual {v8, v6}, Ljava/lang/StringBuffer;->append(Ljava/lang/Object;)Ljava/lang/StringBuffer; move-result-object v8 invoke-virtual {v8, v10}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v8 invoke-virtual {v8, v9}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v8 invoke-virtual {v8, v11, v12}, Ljava/lang/StringBuffer;->append(D)Ljava/lang/StringBuffer; move-result-object v8 const-string v13, " overrides file at \'" invoke-virtual {v8, v13}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v8 invoke-virtual {v8, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/Object;)Ljava/lang/StringBuffer; move-result-object v8 invoke-virtual {v8, v10}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v8 invoke-virtual {v8, v9}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v8 invoke-virtual {v8, v4, v5}, Ljava/lang/StringBuffer;->append(D)Ljava/lang/StringBuffer; move-result-object v4 invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object v4 invoke-static {v4}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V :cond_b0 move-object v3, v6 move-object v0, v7 move-wide v4, v11 goto/16 :goto_c .line 1403 :cond_b5 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v7 if-eqz v7, :cond_c .line 1404 new-instance v7, Ljava/lang/StringBuffer; invoke-direct {v7}, Ljava/lang/StringBuffer;->()V invoke-virtual {v7, v13}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v7 invoke-virtual {v7, v6}, Ljava/lang/StringBuffer;->append(Ljava/lang/Object;)Ljava/lang/StringBuffer; move-result-object v6 invoke-virtual {v6, v10}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v6 invoke-virtual {v6, v9}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v6 invoke-virtual {v6, v11, v12}, Ljava/lang/StringBuffer;->append(D)Ljava/lang/StringBuffer; move-result-object v6 const-string v7, " does not override file at \'" invoke-virtual {v6, v7}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v6 invoke-virtual {v6, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/Object;)Ljava/lang/StringBuffer; move-result-object v6 invoke-virtual {v6, v10}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v6 invoke-virtual {v6, v9}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v6 invoke-virtual {v6, v4, v5}, Ljava/lang/StringBuffer;->append(D)Ljava/lang/StringBuffer; move-result-object v6 invoke-virtual {v6}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object v6 invoke-static {v6}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V :try_end_f1 .catch Ljava/lang/SecurityException; {:try_start_74 .. :try_end_f1} :catch_f4 goto/16 :goto_c :catch_f3 move-object v3, v0 .line 1415 :catch_f4 :goto_f4 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result p0 if-eqz p0, :cond_ff .line 1416 const-string p0, "SecurityException thrown while trying to find/read config files." invoke-static {p0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V .line 1420 :cond_ff invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result p0 if-eqz p0, :cond_142 if-nez v0, :cond_120 .line 1422 new-instance p0, Ljava/lang/StringBuffer; const-string v1, "[LOOKUP] No properties file of name \'" invoke-direct {p0, v1}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-virtual {p0, p1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p0 const-string p1, "\' found." invoke-virtual {p0, p1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object p0 invoke-static {p0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V goto :goto_142 .line 1424 :cond_120 new-instance p0, Ljava/lang/StringBuffer; const-string v1, "[LOOKUP] Properties file of name \'" invoke-direct {p0, v1}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-virtual {p0, p1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p0 const-string p1, "\' found at \'" invoke-virtual {p0, p1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p0 invoke-virtual {p0, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/Object;)Ljava/lang/StringBuffer; move-result-object p0 const/16 p1, 0x22 invoke-virtual {p0, p1}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object p0 invoke-static {p0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V :cond_142 :goto_142 return-object v0 .end method .method protected static getContextClassLoader()Ljava/lang/ClassLoader; .registers 1 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/commons/logging/LogConfigurationException; } .end annotation .line 790 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->directGetContextClassLoader()Ljava/lang/ClassLoader; move-result-object v0 return-object v0 .end method .method private static getContextClassLoaderInternal()Ljava/lang/ClassLoader; .registers 1 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/commons/logging/LogConfigurationException; } .end annotation .line 808 new-instance v0, Lorg/apache/commons/logging/LogFactory$1; invoke-direct {v0}, Lorg/apache/commons/logging/LogFactory$1;->()V invoke-static {v0}, Ljava/security/AccessController;->doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/lang/ClassLoader; return-object v0 .end method .method public static getFactory()Lorg/apache/commons/logging/LogFactory; .registers 13 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/commons/logging/LogConfigurationException; } .end annotation .line 419 const-string v0, "]. Trying alternative implementations..." const-string v1, "[LOOKUP] A security exception occurred while trying to create an instance of the custom factory class: [" const-string v2, "org.apache.commons.logging.LogFactory" const-string v3, " as specified by file \'META-INF/services/org.apache.commons.logging.LogFactory\' which was present in the path of the context classloader." const-string v4, "[LOOKUP] Creating an instance of LogFactory class " const-string v5, "\' as specified by system property org.apache.commons.logging.LogFactory" const-string v6, "[LOOKUP] Creating an instance of LogFactory class \'" invoke-static {}, Lorg/apache/commons/logging/LogFactory;->getContextClassLoaderInternal()Ljava/lang/ClassLoader; move-result-object v7 if-nez v7, :cond_1f .line 425 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v8 if-eqz v8, :cond_1f .line 426 const-string v8, "Context classloader is null." invoke-static {v8}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V .line 431 :cond_1f invoke-static {v7}, Lorg/apache/commons/logging/LogFactory;->getCachedFactory(Ljava/lang/ClassLoader;)Lorg/apache/commons/logging/LogFactory; move-result-object v8 if-eqz v8, :cond_26 return-object v8 .line 436 :cond_26 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v9 if-eqz v9, :cond_47 .line 437 new-instance v9, Ljava/lang/StringBuffer; const-string v10, "[LOOKUP] LogFactory implementation requested for the first time for context classloader " invoke-direct {v9, v10}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-static {v7}, Lorg/apache/commons/logging/LogFactory;->objectId(Ljava/lang/Object;)Ljava/lang/String; move-result-object v10 invoke-virtual {v9, v10}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v9 invoke-virtual {v9}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object v9 invoke-static {v9}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V .line 440 const-string v9, "[LOOKUP] " invoke-static {v9, v7}, Lorg/apache/commons/logging/LogFactory;->logHierarchy(Ljava/lang/String;Ljava/lang/ClassLoader;)V .line 453 :cond_47 const-string v9, "commons-logging.properties" invoke-static {v7, v9}, Lorg/apache/commons/logging/LogFactory;->getConfigurationFile(Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/util/Properties; move-result-object v9 if-eqz v9, :cond_64 .line 459 const-string v10, "use_tccl" invoke-virtual {v9, v10}, Ljava/util/Properties;->getProperty(Ljava/lang/String;)Ljava/lang/String; move-result-object v10 if-eqz v10, :cond_64 .line 463 invoke-static {v10}, Ljava/lang/Boolean;->valueOf(Ljava/lang/String;)Ljava/lang/Boolean; move-result-object v10 invoke-virtual {v10}, Ljava/lang/Boolean;->booleanValue()Z move-result v10 if-nez v10, :cond_64 .line 471 sget-object v10, Lorg/apache/commons/logging/LogFactory;->thisClassLoader:Ljava/lang/ClassLoader; goto :goto_65 :cond_64 move-object v10, v7 .line 478 :goto_65 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v11 if-eqz v11, :cond_70 .line 479 const-string v11, "[LOOKUP] Looking for system property [org.apache.commons.logging.LogFactory] to define the LogFactory subclass to use..." invoke-static {v11}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V :cond_70 const/4 v11, 0x0 .line 484 :try_start_71 invoke-static {v2, v11}, Lorg/apache/commons/logging/LogFactory;->getSystemProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v11 if-eqz v11, :cond_96 .line 486 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v12 if-eqz v12, :cond_91 .line 487 new-instance v12, Ljava/lang/StringBuffer; invoke-direct {v12, v6}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-virtual {v12, v11}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v6 invoke-virtual {v6, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v5 invoke-virtual {v5}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object v5 invoke-static {v5}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V .line 490 :cond_91 invoke-static {v11, v10, v7}, Lorg/apache/commons/logging/LogFactory;->newFactory(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Lorg/apache/commons/logging/LogFactory; move-result-object v8 goto :goto_ed .line 492 :cond_96 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v5 if-eqz v5, :cond_ed .line 493 const-string v5, "[LOOKUP] No system property [org.apache.commons.logging.LogFactory] defined." invoke-static {v5}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V :try_end_a1 .catch Ljava/lang/SecurityException; {:try_start_71 .. :try_end_a1} :catch_ca .catch Ljava/lang/RuntimeException; {:try_start_71 .. :try_end_a1} :catch_a2 goto :goto_ed :catch_a2 move-exception v0 .line 509 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v1 if-eqz v1, :cond_c9 .line 510 new-instance v1, Ljava/lang/StringBuffer; const-string v2, "[LOOKUP] An exception occurred while trying to create an instance of the custom factory class: [" invoke-direct {v1, v2}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-virtual {v0}, Ljava/lang/RuntimeException;->getMessage()Ljava/lang/String; move-result-object v2 invoke-static {v2}, Lorg/apache/commons/logging/LogFactory;->trim(Ljava/lang/String;)Ljava/lang/String; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v1 const-string v2, "] as specified by a system property." invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object v1 invoke-static {v1}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V .line 515 :cond_c9 throw v0 :catch_ca move-exception v5 .line 497 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v6 if-eqz v6, :cond_ed .line 498 new-instance v6, Ljava/lang/StringBuffer; invoke-direct {v6, v1}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-virtual {v5}, Ljava/lang/SecurityException;->getMessage()Ljava/lang/String; move-result-object v5 invoke-static {v5}, Lorg/apache/commons/logging/LogFactory;->trim(Ljava/lang/String;)Ljava/lang/String; move-result-object v5 invoke-virtual {v6, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v5 invoke-virtual {v5, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v5 invoke-virtual {v5}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object v5 invoke-static {v5}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V :cond_ed :goto_ed if-nez v8, :cond_179 .line 525 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v5 if-eqz v5, :cond_fa .line 526 const-string v5, "[LOOKUP] Looking for a resource file of name [META-INF/services/org.apache.commons.logging.LogFactory] to define the LogFactory subclass to use..." invoke-static {v5}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V .line 530 :cond_fa :try_start_fa const-string v5, "META-INF/services/org.apache.commons.logging.LogFactory" invoke-static {v7, v5}, Lorg/apache/commons/logging/LogFactory;->getResourceAsStream(Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/io/InputStream; move-result-object v5 :try_end_100 .catch Ljava/lang/Exception; {:try_start_fa .. :try_end_100} :catch_156 if-eqz v5, :cond_14a .line 537 :try_start_102 new-instance v6, Ljava/io/BufferedReader; new-instance v11, Ljava/io/InputStreamReader; const-string v12, "UTF-8" invoke-direct {v11, v5, v12}, Ljava/io/InputStreamReader;->(Ljava/io/InputStream;Ljava/lang/String;)V invoke-direct {v6, v11}, Ljava/io/BufferedReader;->(Ljava/io/Reader;)V :try_end_10e .catch Ljava/io/UnsupportedEncodingException; {:try_start_102 .. :try_end_10e} :catch_10f .catch Ljava/lang/Exception; {:try_start_102 .. :try_end_10e} :catch_156 goto :goto_119 .line 539 :catch_10f :try_start_10f new-instance v6, Ljava/io/BufferedReader; new-instance v11, Ljava/io/InputStreamReader; invoke-direct {v11, v5}, Ljava/io/InputStreamReader;->(Ljava/io/InputStream;)V invoke-direct {v6, v11}, Ljava/io/BufferedReader;->(Ljava/io/Reader;)V .line 542 :goto_119 invoke-virtual {v6}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String; move-result-object v5 .line 543 invoke-virtual {v6}, Ljava/io/BufferedReader;->close()V if-eqz v5, :cond_179 .line 545 const-string v6, "" invoke-virtual {v6, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v6 if-nez v6, :cond_179 .line 546 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v6 if-eqz v6, :cond_144 .line 547 new-instance v6, Ljava/lang/StringBuffer; invoke-direct {v6, v4}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-virtual {v6, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v4 invoke-virtual {v4, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v3 invoke-virtual {v3}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object v3 invoke-static {v3}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V .line 552 :cond_144 invoke-static {v5, v10, v7}, Lorg/apache/commons/logging/LogFactory;->newFactory(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Lorg/apache/commons/logging/LogFactory; move-result-object v0 move-object v8, v0 goto :goto_179 .line 556 :cond_14a invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v3 if-eqz v3, :cond_179 .line 557 const-string v3, "[LOOKUP] No resource file with name \'META-INF/services/org.apache.commons.logging.LogFactory\' found." invoke-static {v3}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V :try_end_155 .catch Ljava/lang/Exception; {:try_start_10f .. :try_end_155} :catch_156 goto :goto_179 :catch_156 move-exception v3 .line 564 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v4 if-eqz v4, :cond_179 .line 565 new-instance v4, Ljava/lang/StringBuffer; invoke-direct {v4, v1}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-virtual {v3}, Ljava/lang/Exception;->getMessage()Ljava/lang/String; move-result-object v1 invoke-static {v1}, Lorg/apache/commons/logging/LogFactory;->trim(Ljava/lang/String;)Ljava/lang/String; move-result-object v1 invoke-virtual {v4, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v1 invoke-virtual {v1, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object v0 invoke-static {v0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V :cond_179 :goto_179 if-nez v8, :cond_1c9 if-eqz v9, :cond_1be .line 579 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v0 if-eqz v0, :cond_188 .line 580 const-string v0, "[LOOKUP] Looking in properties file for entry with key \'org.apache.commons.logging.LogFactory\' to define the LogFactory subclass to use..." invoke-static {v0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V .line 584 :cond_188 invoke-virtual {v9, v2}, Ljava/util/Properties;->getProperty(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 if-eqz v0, :cond_1b2 .line 586 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v1 if-eqz v1, :cond_1ac .line 587 new-instance v1, Ljava/lang/StringBuffer; const-string v2, "[LOOKUP] Properties file specifies LogFactory subclass \'" invoke-direct {v1, v2}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-virtual {v1, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v1 const-string v2, "\'" invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object v1 invoke-static {v1}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V .line 590 :cond_1ac invoke-static {v0, v10, v7}, Lorg/apache/commons/logging/LogFactory;->newFactory(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Lorg/apache/commons/logging/LogFactory; move-result-object v0 move-object v8, v0 goto :goto_1c9 .line 594 :cond_1b2 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v0 if-eqz v0, :cond_1c9 .line 595 const-string v0, "[LOOKUP] Properties file has no entry specifying LogFactory subclass." invoke-static {v0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V goto :goto_1c9 .line 599 :cond_1be invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v0 if-eqz v0, :cond_1c9 .line 600 const-string v0, "[LOOKUP] No properties file available to determine LogFactory subclass from.." invoke-static {v0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V :cond_1c9 :goto_1c9 if-nez v8, :cond_1de .line 608 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v0 if-eqz v0, :cond_1d6 .line 609 const-string v0, "[LOOKUP] Loading the default LogFactory implementation \'org.apache.commons.logging.impl.LogFactoryImpl\' via the same classloader that loaded this LogFactory class (ie not looking in the context classloader)." invoke-static {v0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V .line 624 :cond_1d6 const-string v0, "org.apache.commons.logging.impl.LogFactoryImpl" sget-object v1, Lorg/apache/commons/logging/LogFactory;->thisClassLoader:Ljava/lang/ClassLoader; invoke-static {v0, v1, v7}, Lorg/apache/commons/logging/LogFactory;->newFactory(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Lorg/apache/commons/logging/LogFactory; move-result-object v8 :cond_1de if-eqz v8, :cond_1fd .line 631 invoke-static {v7, v8}, Lorg/apache/commons/logging/LogFactory;->cacheFactory(Ljava/lang/ClassLoader;Lorg/apache/commons/logging/LogFactory;)V if-eqz v9, :cond_1fd .line 634 invoke-virtual {v9}, Ljava/util/Properties;->propertyNames()Ljava/util/Enumeration; move-result-object v0 .line 635 :goto_1e9 invoke-interface {v0}, Ljava/util/Enumeration;->hasMoreElements()Z move-result v1 if-eqz v1, :cond_1fd .line 636 invoke-interface {v0}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/lang/String; .line 637 invoke-virtual {v9, v1}, Ljava/util/Properties;->getProperty(Ljava/lang/String;)Ljava/lang/String; move-result-object v2 .line 638 invoke-virtual {v8, v1, v2}, Lorg/apache/commons/logging/LogFactory;->setAttribute(Ljava/lang/String;Ljava/lang/Object;)V goto :goto_1e9 :cond_1fd return-object v8 .end method .method public static getLog(Ljava/lang/Class;)Lorg/apache/commons/logging/Log; .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/commons/logging/LogConfigurationException; } .end annotation .line 655 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->getFactory()Lorg/apache/commons/logging/LogFactory; move-result-object v0 invoke-virtual {v0, p0}, Lorg/apache/commons/logging/LogFactory;->getInstance(Ljava/lang/Class;)Lorg/apache/commons/logging/Log; move-result-object p0 return-object p0 .end method .method public static getLog(Ljava/lang/String;)Lorg/apache/commons/logging/Log; .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/commons/logging/LogConfigurationException; } .end annotation .line 669 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->getFactory()Lorg/apache/commons/logging/LogFactory; move-result-object v0 invoke-virtual {v0, p0}, Lorg/apache/commons/logging/LogFactory;->getInstance(Ljava/lang/String;)Lorg/apache/commons/logging/Log; move-result-object p0 return-object p0 .end method .method private static getProperties(Ljava/net/URL;)Ljava/util/Properties; .registers 2 .line 1295 new-instance v0, Lorg/apache/commons/logging/LogFactory$5; invoke-direct {v0, p0}, Lorg/apache/commons/logging/LogFactory$5;->(Ljava/net/URL;)V .line 1333 invoke-static {v0}, Ljava/security/AccessController;->doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object; move-result-object p0 check-cast p0, Ljava/util/Properties; return-object p0 .end method .method private static getResourceAsStream(Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/io/InputStream; .registers 3 .line 1233 new-instance v0, Lorg/apache/commons/logging/LogFactory$3; invoke-direct {v0, p0, p1}, Lorg/apache/commons/logging/LogFactory$3;->(Ljava/lang/ClassLoader;Ljava/lang/String;)V invoke-static {v0}, Ljava/security/AccessController;->doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object; move-result-object p0 check-cast p0, Ljava/io/InputStream; return-object p0 .end method .method private static getResources(Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/util/Enumeration; .registers 3 .line 1259 new-instance v0, Lorg/apache/commons/logging/LogFactory$4; invoke-direct {v0, p0, p1}, Lorg/apache/commons/logging/LogFactory$4;->(Ljava/lang/ClassLoader;Ljava/lang/String;)V .line 1282 invoke-static {v0}, Ljava/security/AccessController;->doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object; move-result-object p0 .line 1283 check-cast p0, Ljava/util/Enumeration; return-object p0 .end method .method private static getSystemProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/lang/SecurityException; } .end annotation .line 1442 new-instance v0, Lorg/apache/commons/logging/LogFactory$6; invoke-direct {v0, p0, p1}, Lorg/apache/commons/logging/LogFactory$6;->(Ljava/lang/String;Ljava/lang/String;)V invoke-static {v0}, Ljava/security/AccessController;->doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object; move-result-object p0 check-cast p0, Ljava/lang/String; return-object p0 .end method .method protected static handleThrowable(Ljava/lang/Throwable;)V .registers 2 .line 378 instance-of v0, p0, Ljava/lang/ThreadDeath; if-nez v0, :cond_c .line 381 instance-of v0, p0, Ljava/lang/VirtualMachineError; if-nez v0, :cond_9 return-void .line 382 :cond_9 check-cast p0, Ljava/lang/VirtualMachineError; throw p0 .line 379 :cond_c check-cast p0, Ljava/lang/ThreadDeath; throw p0 .end method .method private static implementsLogFactory(Ljava/lang/Class;)Z .registers 5 const-string v0, "[CUSTOM LOG FACTORY] " const/4 v1, 0x0 if-eqz p0, :cond_8c .line 1178 :try_start_5 invoke-virtual {p0}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader; move-result-object v2 if-nez v2, :cond_12 .line 1180 const-string p0, "[CUSTOM LOG FACTORY] was loaded by the boot classloader" invoke-static {p0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V goto/16 :goto_8c .line 1182 :cond_12 invoke-static {v0, v2}, Lorg/apache/commons/logging/LogFactory;->logHierarchy(Ljava/lang/String;Ljava/lang/ClassLoader;)V .line 1183 const-string v3, "org.apache.commons.logging.LogFactory" invoke-static {v3, v1, v2}, Ljava/lang/Class;->forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class; move-result-object v2 .line 1185 invoke-virtual {v2, p0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z move-result v1 if-eqz v1, :cond_3c .line 1187 new-instance v2, Ljava/lang/StringBuffer; invoke-direct {v2, v0}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-virtual {p0}, Ljava/lang/Class;->getName()Ljava/lang/String; move-result-object p0 invoke-virtual {v2, p0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p0 const-string v0, " implements LogFactory but was loaded by an incompatible classloader." invoke-virtual {p0, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object p0 invoke-static {p0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V goto :goto_8c .line 1190 :cond_3c new-instance v2, Ljava/lang/StringBuffer; invoke-direct {v2, v0}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-virtual {p0}, Ljava/lang/Class;->getName()Ljava/lang/String; move-result-object p0 invoke-virtual {v2, p0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p0 const-string v0, " does not implement LogFactory." invoke-virtual {p0, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object p0 invoke-static {p0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V :try_end_56 .catch Ljava/lang/SecurityException; {:try_start_5 .. :try_end_56} :catch_75 .catch Ljava/lang/LinkageError; {:try_start_5 .. :try_end_56} :catch_5d .catch Ljava/lang/ClassNotFoundException; {:try_start_5 .. :try_end_56} :catch_57 goto :goto_8c .line 1219 :catch_57 const-string p0, "[CUSTOM LOG FACTORY] LogFactory class cannot be loaded by classloader which loaded the custom LogFactory implementation. Is the custom factory in the right classloader?" invoke-static {p0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V goto :goto_8c :catch_5d move-exception p0 .line 1209 new-instance v0, Ljava/lang/StringBuffer; const-string v2, "[CUSTOM LOG FACTORY] LinkageError thrown whilst trying to determine whether the compatibility was caused by a classloader conflict: " invoke-direct {v0, v2}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-virtual {p0}, Ljava/lang/LinkageError;->getMessage()Ljava/lang/String; move-result-object p0 invoke-virtual {v0, p0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object p0 invoke-static {p0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V goto :goto_8c :catch_75 move-exception p0 .line 1200 new-instance v0, Ljava/lang/StringBuffer; const-string v2, "[CUSTOM LOG FACTORY] SecurityException thrown whilst trying to determine whether the compatibility was caused by a classloader conflict: " invoke-direct {v0, v2}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-virtual {p0}, Ljava/lang/SecurityException;->getMessage()Ljava/lang/String; move-result-object p0 invoke-virtual {v0, p0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object p0 invoke-static {p0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V :cond_8c :goto_8c return v1 .end method .method private static initDiagnostics()Ljava/io/PrintStream; .registers 4 const/4 v0, 0x0 .line 1459 :try_start_1 const-string v1, "org.apache.commons.logging.diagnostics.dest" invoke-static {v1, v0}, Lorg/apache/commons/logging/LogFactory;->getSystemProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v1 :try_end_7 .catch Ljava/lang/SecurityException; {:try_start_1 .. :try_end_7} :catch_2c if-nez v1, :cond_a return-object v0 .line 1469 :cond_a const-string v2, "STDOUT" invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v2 if-eqz v2, :cond_15 .line 1470 sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream; return-object v0 .line 1471 :cond_15 const-string v2, "STDERR" invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v2 if-eqz v2, :cond_20 .line 1472 sget-object v0, Ljava/lang/System;->err:Ljava/io/PrintStream; return-object v0 .line 1476 :cond_20 :try_start_20 new-instance v2, Ljava/io/FileOutputStream; const/4 v3, 0x1 invoke-direct {v2, v1, v3}, Ljava/io/FileOutputStream;->(Ljava/lang/String;Z)V .line 1477 new-instance v1, Ljava/io/PrintStream; invoke-direct {v1, v2}, Ljava/io/PrintStream;->(Ljava/io/OutputStream;)V :try_end_2b .catch Ljava/io/IOException; {:try_start_20 .. :try_end_2b} :catch_2c return-object v1 :catch_2c return-object v0 .end method .method protected static isDiagnosticsEnabled()Z .registers 1 .line 1495 sget-object v0, Lorg/apache/commons/logging/LogFactory;->diagnosticsStream:Ljava/io/PrintStream; if-eqz v0, :cond_6 const/4 v0, 0x1 goto :goto_7 :cond_6 const/4 v0, 0x0 :goto_7 return v0 .end method .method private static logClassLoaderEnvironment(Ljava/lang/Class;)V .registers 4 const-string v0, "[ENV] Application classpath (java.class.path): " const-string v1, "[ENV] Extension directories (java.ext.dir): " .line 1555 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v2 if-nez v2, :cond_b return-void .line 1563 :cond_b :try_start_b new-instance v2, Ljava/lang/StringBuffer; invoke-direct {v2, v1}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V const-string v1, "java.ext.dir" invoke-static {v1}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String; move-result-object v1 invoke-virtual {v2, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object v1 invoke-static {v1}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V .line 1564 new-instance v1, Ljava/lang/StringBuffer; invoke-direct {v1, v0}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V const-string v0, "java.class.path" invoke-static {v0}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 invoke-virtual {v1, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object v0 invoke-static {v0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V :try_end_37 .catch Ljava/lang/SecurityException; {:try_start_b .. :try_end_37} :catch_38 goto :goto_3d .line 1566 :catch_38 const-string v0, "[ENV] Security setting prevent interrogation of system classpaths." invoke-static {v0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V .line 1569 :goto_3d invoke-virtual {p0}, Ljava/lang/Class;->getName()Ljava/lang/String; move-result-object v0 .line 1573 :try_start_41 invoke-static {p0}, Lorg/apache/commons/logging/LogFactory;->getClassLoader(Ljava/lang/Class;)Ljava/lang/ClassLoader; move-result-object p0 :try_end_45 .catch Ljava/lang/SecurityException; {:try_start_41 .. :try_end_45} :catch_7e .line 1580 new-instance v1, Ljava/lang/StringBuffer; const-string v2, "[ENV] Class " invoke-direct {v1, v2}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-virtual {v1, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v1 const-string v2, " was loaded via classloader " invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v1 invoke-static {p0}, Lorg/apache/commons/logging/LogFactory;->objectId(Ljava/lang/Object;)Ljava/lang/String; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object v1 invoke-static {v1}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V .line 1581 new-instance v1, Ljava/lang/StringBuffer; const-string v2, "[ENV] Ancestry of classloader which loaded " invoke-direct {v1, v2}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-virtual {v1, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v0 const-string v1, " is " invoke-virtual {v0, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object v0 invoke-static {v0, p0}, Lorg/apache/commons/logging/LogFactory;->logHierarchy(Ljava/lang/String;Ljava/lang/ClassLoader;)V return-void .line 1576 :catch_7e new-instance p0, Ljava/lang/StringBuffer; const-string v1, "[ENV] Security forbids determining the classloader for " invoke-direct {p0, v1}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-virtual {p0, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object p0 invoke-static {p0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V return-void .end method .method private static final logDiagnostic(Ljava/lang/String;)V .registers 3 .line 1517 sget-object v0, Lorg/apache/commons/logging/LogFactory;->diagnosticsStream:Ljava/io/PrintStream; if-eqz v0, :cond_13 .line 1518 sget-object v1, Lorg/apache/commons/logging/LogFactory;->diagnosticPrefix:Ljava/lang/String; invoke-virtual {v0, v1}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V .line 1519 sget-object v0, Lorg/apache/commons/logging/LogFactory;->diagnosticsStream:Ljava/io/PrintStream; invoke-virtual {v0, p0}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V .line 1520 sget-object p0, Lorg/apache/commons/logging/LogFactory;->diagnosticsStream:Ljava/io/PrintStream; invoke-virtual {p0}, Ljava/io/PrintStream;->flush()V :cond_13 return-void .end method .method private static logHierarchy(Ljava/lang/String;Ljava/lang/ClassLoader;)V .registers 5 .line 1592 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v0 if-nez v0, :cond_7 return-void :cond_7 if-eqz p1, :cond_35 .line 1597 invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v0 .line 1598 new-instance v1, Ljava/lang/StringBuffer; invoke-direct {v1}, Ljava/lang/StringBuffer;->()V invoke-virtual {v1, p0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v1 invoke-static {p1}, Lorg/apache/commons/logging/LogFactory;->objectId(Ljava/lang/Object;)Ljava/lang/String; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v1 const-string v2, " == \'" invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v1 invoke-virtual {v1, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v0 const-string v1, "\'" invoke-virtual {v0, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object v0 invoke-static {v0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V .line 1602 :cond_35 :try_start_35 invoke-static {}, Ljava/lang/ClassLoader;->getSystemClassLoader()Ljava/lang/ClassLoader; move-result-object v0 :try_end_39 .catch Ljava/lang/SecurityException; {:try_start_35 .. :try_end_39} :catch_7f if-eqz p1, :cond_7e .line 1608 new-instance v1, Ljava/lang/StringBuffer; new-instance v2, Ljava/lang/StringBuffer; invoke-direct {v2}, Ljava/lang/StringBuffer;->()V invoke-virtual {v2, p0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p0 const-string v2, "ClassLoader tree:" invoke-virtual {p0, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {v1, p0}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V .line 1610 :cond_53 invoke-static {p1}, Lorg/apache/commons/logging/LogFactory;->objectId(Ljava/lang/Object;)Ljava/lang/String; move-result-object p0 invoke-virtual {v1, p0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; if-ne p1, v0, :cond_61 .line 1612 const-string p0, " (SYSTEM) " invoke-virtual {v1, p0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; .line 1616 :cond_61 :try_start_61 invoke-virtual {p1}, Ljava/lang/ClassLoader;->getParent()Ljava/lang/ClassLoader; move-result-object p1 :try_end_65 .catch Ljava/lang/SecurityException; {:try_start_61 .. :try_end_65} :catch_72 .line 1622 const-string p0, " --> " invoke-virtual {v1, p0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; if-nez p1, :cond_53 .line 1624 const-string p0, "BOOT" invoke-virtual {v1, p0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; goto :goto_77 .line 1618 :catch_72 const-string p0, " --> SECRET" invoke-virtual {v1, p0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; .line 1628 :goto_77 invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object p0 invoke-static {p0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V :cond_7e return-void .line 1604 :catch_7f new-instance p1, Ljava/lang/StringBuffer; invoke-direct {p1}, Ljava/lang/StringBuffer;->()V invoke-virtual {p1, p0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p0 const-string p1, "Security forbids determining the system classloader." invoke-virtual {p0, p1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object p0 invoke-static {p0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V return-void .end method .method protected static final logRawDiagnostic(Ljava/lang/String;)V .registers 2 .line 1531 sget-object v0, Lorg/apache/commons/logging/LogFactory;->diagnosticsStream:Ljava/io/PrintStream; if-eqz v0, :cond_c .line 1532 invoke-virtual {v0, p0}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V .line 1533 sget-object p0, Lorg/apache/commons/logging/LogFactory;->diagnosticsStream:Ljava/io/PrintStream; invoke-virtual {p0}, Ljava/io/PrintStream;->flush()V :cond_c return-void .end method .method protected static newFactory(Ljava/lang/String;Ljava/lang/ClassLoader;)Lorg/apache/commons/logging/LogFactory; .registers 3 const/4 v0, 0x0 .line 995 invoke-static {p0, p1, v0}, Lorg/apache/commons/logging/LogFactory;->newFactory(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Lorg/apache/commons/logging/LogFactory; move-result-object p0 return-object p0 .end method .method protected static newFactory(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Lorg/apache/commons/logging/LogFactory; .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/commons/logging/LogConfigurationException; } .end annotation .line 957 new-instance v0, Lorg/apache/commons/logging/LogFactory$2; invoke-direct {v0, p0, p1}, Lorg/apache/commons/logging/LogFactory$2;->(Ljava/lang/String;Ljava/lang/ClassLoader;)V invoke-static {v0}, Ljava/security/AccessController;->doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object; move-result-object p0 .line 964 instance-of p1, p0, Lorg/apache/commons/logging/LogConfigurationException; if-eqz p1, :cond_2c .line 965 check-cast p0, Lorg/apache/commons/logging/LogConfigurationException; .line 966 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result p1 if-eqz p1, :cond_2b .line 967 new-instance p1, Ljava/lang/StringBuffer; const-string p2, "An error occurred while loading the factory class:" invoke-direct {p1, p2}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-virtual {p0}, Lorg/apache/commons/logging/LogConfigurationException;->getMessage()Ljava/lang/String; move-result-object p2 invoke-virtual {p1, p2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object p1 invoke-static {p1}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V .line 969 :cond_2b throw p0 .line 971 :cond_2c invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result p1 if-eqz p1, :cond_56 .line 972 new-instance p1, Ljava/lang/StringBuffer; const-string v0, "Created object " invoke-direct {p1, v0}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-static {p0}, Lorg/apache/commons/logging/LogFactory;->objectId(Ljava/lang/Object;)Ljava/lang/String; move-result-object v0 invoke-virtual {p1, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p1 const-string v0, " to manage classloader " invoke-virtual {p1, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p1 invoke-static {p2}, Lorg/apache/commons/logging/LogFactory;->objectId(Ljava/lang/Object;)Ljava/lang/String; move-result-object p2 invoke-virtual {p1, p2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object p1 invoke-static {p1}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V .line 975 :cond_56 check-cast p0, Lorg/apache/commons/logging/LogFactory; return-object p0 .end method .method public static objectId(Ljava/lang/Object;)Ljava/lang/String; .registers 3 if-nez p0, :cond_5 .line 1646 const-string p0, "null" return-object p0 .line 1648 :cond_5 new-instance v0, Ljava/lang/StringBuffer; invoke-direct {v0}, Ljava/lang/StringBuffer;->()V invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v1 invoke-virtual {v1}, Ljava/lang/Class;->getName()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v0 const-string v1, "@" invoke-virtual {v0, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v0 invoke-static {p0}, Ljava/lang/System;->identityHashCode(Ljava/lang/Object;)I move-result p0 invoke-virtual {v0, p0}, Ljava/lang/StringBuffer;->append(I)Ljava/lang/StringBuffer; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static release(Ljava/lang/ClassLoader;)V .registers 3 .line 681 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v0 if-eqz v0, :cond_1c .line 682 new-instance v0, Ljava/lang/StringBuffer; const-string v1, "Releasing factory for classloader " invoke-direct {v0, v1}, Ljava/lang/StringBuffer;->(Ljava/lang/String;)V invoke-static {p0}, Lorg/apache/commons/logging/LogFactory;->objectId(Ljava/lang/Object;)Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; move-result-object v0 invoke-static {v0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V .line 685 :cond_1c sget-object v0, Lorg/apache/commons/logging/LogFactory;->factories:Ljava/util/Hashtable; .line 686 monitor-enter v0 if-nez p0, :cond_2e .line 688 :try_start_21 sget-object p0, Lorg/apache/commons/logging/LogFactory;->nullClassLoaderFactory:Lorg/apache/commons/logging/LogFactory; if-eqz p0, :cond_3c .line 689 sget-object p0, Lorg/apache/commons/logging/LogFactory;->nullClassLoaderFactory:Lorg/apache/commons/logging/LogFactory; invoke-virtual {p0}, Lorg/apache/commons/logging/LogFactory;->release()V const/4 p0, 0x0 .line 690 sput-object p0, Lorg/apache/commons/logging/LogFactory;->nullClassLoaderFactory:Lorg/apache/commons/logging/LogFactory; goto :goto_3c .line 693 :cond_2e invoke-virtual {v0, p0}, Ljava/util/Hashtable;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 check-cast v1, Lorg/apache/commons/logging/LogFactory; if-eqz v1, :cond_3c .line 695 invoke-virtual {v1}, Lorg/apache/commons/logging/LogFactory;->release()V .line 696 invoke-virtual {v0, p0}, Ljava/util/Hashtable;->remove(Ljava/lang/Object;)Ljava/lang/Object; .line 699 :cond_3c :goto_3c monitor-exit v0 return-void :catchall_3e move-exception p0 monitor-exit v0 :try_end_40 .catchall {:try_start_21 .. :try_end_40} :catchall_3e throw p0 .end method .method public static releaseAll()V .registers 3 .line 711 invoke-static {}, Lorg/apache/commons/logging/LogFactory;->isDiagnosticsEnabled()Z move-result v0 if-eqz v0, :cond_b .line 712 const-string v0, "Releasing factory for all classloaders." invoke-static {v0}, Lorg/apache/commons/logging/LogFactory;->logDiagnostic(Ljava/lang/String;)V .line 715 :cond_b sget-object v0, Lorg/apache/commons/logging/LogFactory;->factories:Ljava/util/Hashtable; .line 716 monitor-enter v0 .line 717 :try_start_e invoke-virtual {v0}, Ljava/util/Hashtable;->elements()Ljava/util/Enumeration; move-result-object v1 .line 718 :goto_12 invoke-interface {v1}, Ljava/util/Enumeration;->hasMoreElements()Z move-result v2 if-eqz v2, :cond_22 .line 719 invoke-interface {v1}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object; move-result-object v2 check-cast v2, Lorg/apache/commons/logging/LogFactory; .line 720 invoke-virtual {v2}, Lorg/apache/commons/logging/LogFactory;->release()V goto :goto_12 .line 722 :cond_22 invoke-virtual {v0}, Ljava/util/Hashtable;->clear()V .line 724 sget-object v1, Lorg/apache/commons/logging/LogFactory;->nullClassLoaderFactory:Lorg/apache/commons/logging/LogFactory; if-eqz v1, :cond_31 .line 725 sget-object v1, Lorg/apache/commons/logging/LogFactory;->nullClassLoaderFactory:Lorg/apache/commons/logging/LogFactory; invoke-virtual {v1}, Lorg/apache/commons/logging/LogFactory;->release()V const/4 v1, 0x0 .line 726 sput-object v1, Lorg/apache/commons/logging/LogFactory;->nullClassLoaderFactory:Lorg/apache/commons/logging/LogFactory; .line 728 :cond_31 monitor-exit v0 return-void :catchall_33 move-exception v1 monitor-exit v0 :try_end_35 .catchall {:try_start_e .. :try_end_35} :catchall_33 throw v1 .end method .method private static trim(Ljava/lang/String;)Ljava/lang/String; .registers 1 if-nez p0, :cond_4 const/4 p0, 0x0 return-object p0 .line 362 :cond_4 invoke-virtual {p0}, Ljava/lang/String;->trim()Ljava/lang/String; move-result-object p0 return-object p0 .end method # virtual methods .method public abstract getAttribute(Ljava/lang/String;)Ljava/lang/Object; .end method .method public abstract getAttributeNames()[Ljava/lang/String; .end method .method public abstract getInstance(Ljava/lang/Class;)Lorg/apache/commons/logging/Log; .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/commons/logging/LogConfigurationException; } .end annotation .end method .method public abstract getInstance(Ljava/lang/String;)Lorg/apache/commons/logging/Log; .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/commons/logging/LogConfigurationException; } .end annotation .end method .method public abstract release()V .end method .method public abstract removeAttribute(Ljava/lang/String;)V .end method .method public abstract setAttribute(Ljava/lang/String;Ljava/lang/Object;)V .end method