.class public Lorg/apache/commons/logging/LogSource; .super Ljava/lang/Object; .source "LogSource.java" # static fields .field protected static jdk14IsAvailable:Z .field protected static log4jIsAvailable:Z .field protected static logImplctor:Ljava/lang/reflect/Constructor; .field protected static logs:Ljava/util/Hashtable; # direct methods .method static constructor ()V .registers 5 .line 59 const-string v0, "org.apache.commons.logging.impl.Jdk14Logger" new-instance v1, Ljava/util/Hashtable; invoke-direct {v1}, Ljava/util/Hashtable;->()V sput-object v1, Lorg/apache/commons/logging/LogSource;->logs:Ljava/util/Hashtable; const/4 v1, 0x0 .line 62 sput-boolean v1, Lorg/apache/commons/logging/LogSource;->log4jIsAvailable:Z .line 65 sput-boolean v1, Lorg/apache/commons/logging/LogSource;->jdk14IsAvailable:Z const/4 v2, 0x0 .line 68 sput-object v2, Lorg/apache/commons/logging/LogSource;->logImplctor:Ljava/lang/reflect/Constructor; const/4 v3, 0x1 .line 76 :try_start_12 const-string v4, "org.apache.log4j.Logger" invoke-static {v4}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class; move-result-object v4 if-eqz v4, :cond_1c move v4, v3 goto :goto_1d :cond_1c move v4, v1 :goto_1d sput-boolean v4, Lorg/apache/commons/logging/LogSource;->log4jIsAvailable:Z :try_end_1f .catchall {:try_start_12 .. :try_end_1f} :catchall_20 goto :goto_22 .line 78 :catchall_20 sput-boolean v1, Lorg/apache/commons/logging/LogSource;->log4jIsAvailable:Z .line 83 :goto_22 :try_start_22 const-string v4, "java.util.logging.Logger" invoke-static {v4}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class; move-result-object v4 if-eqz v4, :cond_31 invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class; move-result-object v4 if-eqz v4, :cond_31 goto :goto_32 :cond_31 move v3, v1 :goto_32 sput-boolean v3, Lorg/apache/commons/logging/LogSource;->jdk14IsAvailable:Z :try_end_34 .catchall {:try_start_22 .. :try_end_34} :catchall_35 goto :goto_37 .line 86 :catchall_35 sput-boolean v1, Lorg/apache/commons/logging/LogSource;->jdk14IsAvailable:Z .line 92 :goto_37 :try_start_37 const-string v1, "org.apache.commons.logging.log" invoke-static {v1}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String; move-result-object v2 if-nez v2, :cond_45 .line 94 const-string v1, "org.apache.commons.logging.Log" invoke-static {v1}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String; move-result-object v2 :try_end_45 .catchall {:try_start_37 .. :try_end_45} :catchall_45 .line 98 :catchall_45 :cond_45 const-string v1, "org.apache.commons.logging.impl.NoOpLog" if-eqz v2, :cond_51 .line 100 :try_start_49 invoke-static {v2}, Lorg/apache/commons/logging/LogSource;->setLogImplementation(Ljava/lang/String;)V :try_end_4c .catchall {:try_start_49 .. :try_end_4c} :catchall_4d goto :goto_6a .line 103 :catchall_4d :try_start_4d invoke-static {v1}, Lorg/apache/commons/logging/LogSource;->setLogImplementation(Ljava/lang/String;)V :try_end_50 .catchall {:try_start_4d .. :try_end_50} :catchall_6a goto :goto_6a .line 110 :cond_51 :try_start_51 sget-boolean v2, Lorg/apache/commons/logging/LogSource;->log4jIsAvailable:Z if-eqz v2, :cond_5b .line 111 const-string v0, "org.apache.commons.logging.impl.Log4JLogger" invoke-static {v0}, Lorg/apache/commons/logging/LogSource;->setLogImplementation(Ljava/lang/String;)V goto :goto_6a .line 112 :cond_5b sget-boolean v2, Lorg/apache/commons/logging/LogSource;->jdk14IsAvailable:Z if-eqz v2, :cond_63 .line 113 invoke-static {v0}, Lorg/apache/commons/logging/LogSource;->setLogImplementation(Ljava/lang/String;)V goto :goto_6a .line 115 :cond_63 invoke-static {v1}, Lorg/apache/commons/logging/LogSource;->setLogImplementation(Ljava/lang/String;)V :try_end_66 .catchall {:try_start_51 .. :try_end_66} :catchall_67 goto :goto_6a .line 119 :catchall_67 :try_start_67 invoke-static {v1}, Lorg/apache/commons/logging/LogSource;->setLogImplementation(Ljava/lang/String;)V :try_end_6a .catchall {:try_start_67 .. :try_end_6a} :catchall_6a :catchall_6a :goto_6a return-void .end method .method private constructor ()V .registers 1 .line 131 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public static getInstance(Ljava/lang/Class;)Lorg/apache/commons/logging/Log; .registers 1 .line 178 invoke-virtual {p0}, Ljava/lang/Class;->getName()Ljava/lang/String; move-result-object p0 invoke-static {p0}, Lorg/apache/commons/logging/LogSource;->getInstance(Ljava/lang/String;)Lorg/apache/commons/logging/Log; move-result-object p0 return-object p0 .end method .method public static getInstance(Ljava/lang/String;)Lorg/apache/commons/logging/Log; .registers 3 .line 168 sget-object v0, Lorg/apache/commons/logging/LogSource;->logs:Ljava/util/Hashtable; invoke-virtual {v0, p0}, Ljava/util/Hashtable;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Lorg/apache/commons/logging/Log; if-nez v0, :cond_13 .line 170 invoke-static {p0}, Lorg/apache/commons/logging/LogSource;->makeNewLogInstance(Ljava/lang/String;)Lorg/apache/commons/logging/Log; move-result-object v0 .line 171 sget-object v1, Lorg/apache/commons/logging/LogSource;->logs:Ljava/util/Hashtable; invoke-virtual {v1, p0, v0}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; :cond_13 return-object v0 .end method .method public static getLogNames()[Ljava/lang/String; .registers 2 .line 217 sget-object v0, Lorg/apache/commons/logging/LogSource;->logs:Ljava/util/Hashtable; invoke-virtual {v0}, Ljava/util/Hashtable;->keySet()Ljava/util/Set; move-result-object v0 sget-object v1, Lorg/apache/commons/logging/LogSource;->logs:Ljava/util/Hashtable; invoke-virtual {v1}, Ljava/util/Hashtable;->size()I move-result v1 new-array v1, v1, [Ljava/lang/String; invoke-interface {v0, v1}, Ljava/util/Set;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; move-result-object v0 check-cast v0, [Ljava/lang/String; check-cast v0, [Ljava/lang/String; return-object v0 .end method .method public static makeNewLogInstance(Ljava/lang/String;)Lorg/apache/commons/logging/Log; .registers 3 .line 201 :try_start_0 filled-new-array {p0}, [Ljava/lang/Object; move-result-object v0 .line 202 sget-object v1, Lorg/apache/commons/logging/LogSource;->logImplctor:Ljava/lang/reflect/Constructor; invoke-virtual {v1, v0}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Lorg/apache/commons/logging/Log; :try_end_c .catchall {:try_start_0 .. :try_end_c} :catchall_d goto :goto_e :catchall_d const/4 v0, 0x0 :goto_e if-nez v0, :cond_15 .line 207 new-instance v0, Lorg/apache/commons/logging/impl/NoOpLog; invoke-direct {v0, p0}, Lorg/apache/commons/logging/impl/NoOpLog;->(Ljava/lang/String;)V :cond_15 return-object v0 .end method .method public static setLogImplementation(Ljava/lang/Class;)V .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/lang/LinkageError;, Ljava/lang/ExceptionInInitializerError;, Ljava/lang/NoSuchMethodException;, Ljava/lang/SecurityException; } .end annotation const/4 v0, 0x1 .line 161 new-array v0, v0, [Ljava/lang/Class; .line 162 const-string v1, "" invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v1 const/4 v2, 0x0 aput-object v1, v0, v2 .line 163 invoke-virtual {p0, v0}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor; move-result-object p0 sput-object p0, Lorg/apache/commons/logging/LogSource;->logImplctor:Ljava/lang/reflect/Constructor; return-void .end method .method public static setLogImplementation(Ljava/lang/String;)V .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/lang/LinkageError;, Ljava/lang/NoSuchMethodException;, Ljava/lang/SecurityException;, Ljava/lang/ClassNotFoundException; } .end annotation .line 145 :try_start_0 invoke-static {p0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class; move-result-object p0 const/4 v0, 0x1 .line 146 new-array v0, v0, [Ljava/lang/Class; .line 147 const-string v1, "" invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v1 const/4 v2, 0x0 aput-object v1, v0, v2 .line 148 invoke-virtual {p0, v0}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor; move-result-object p0 sput-object p0, Lorg/apache/commons/logging/LogSource;->logImplctor:Ljava/lang/reflect/Constructor; :try_end_16 .catchall {:try_start_0 .. :try_end_16} :catchall_17 goto :goto_1a :catchall_17 const/4 p0, 0x0 .line 150 sput-object p0, Lorg/apache/commons/logging/LogSource;->logImplctor:Ljava/lang/reflect/Constructor; :goto_1a return-void .end method