1
0

Use Hashtable instead of HashMap, for JDK 1.1

compatibility, and to solve sync issues


git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/logging/trunk@138851 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Scott Sanders
2002-02-03 01:28:00 +00:00
parent 84958f29b7
commit c0cc00947a

View File

@@ -1,7 +1,7 @@
/* /*
* $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//logging/src/java/org/apache/commons/logging/LogSource.java,v 1.10 2002/01/17 22:55:43 rdonkin Exp $ * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//logging/src/java/org/apache/commons/logging/LogSource.java,v 1.11 2002/02/03 01:28:00 sanders Exp $
* $Revision: 1.10 $ * $Revision: 1.11 $
* $Date: 2002/01/17 22:55:43 $ * $Date: 2002/02/03 01:28:00 $
* *
* ==================================================================== * ====================================================================
* *
@@ -62,10 +62,8 @@
package org.apache.commons.logging; package org.apache.commons.logging;
import java.util.HashMap;
import java.lang.reflect.Constructor; import java.lang.reflect.Constructor;
import java.util.Iterator; import java.util.Hashtable;
import java.lang.reflect.InvocationTargetException;
/** /**
@@ -94,13 +92,13 @@ import java.lang.reflect.InvocationTargetException;
* </ul> * </ul>
* *
* @author Rod Waldhoff * @author Rod Waldhoff
* @version $Id: LogSource.java,v 1.10 2002/01/17 22:55:43 rdonkin Exp $ * @version $Id: LogSource.java,v 1.11 2002/02/03 01:28:00 sanders Exp $
*/ */
public class LogSource { public class LogSource {
// ------------------------------------------------------- Class Attributes // ------------------------------------------------------- Class Attributes
static protected HashMap logs = new HashMap(); static protected Hashtable logs = new Hashtable();
/** Is log4j available (in the current classpath) */ /** Is log4j available (in the current classpath) */
static protected boolean log4jIsAvailable = false; static protected boolean log4jIsAvailable = false;
@@ -118,7 +116,7 @@ public class LogSource {
// Is Log4J Available? // Is Log4J Available?
try { try {
if(null != Class.forName("org.apache.log4j.Category")) { if (null != Class.forName("org.apache.log4j.Category")) {
log4jIsAvailable = true; log4jIsAvailable = true;
} else { } else {
log4jIsAvailable = false; log4jIsAvailable = false;
@@ -129,7 +127,7 @@ public class LogSource {
// Is JDK 1.4 Logging Available? // Is JDK 1.4 Logging Available?
try { try {
if(null != Class.forName("java.util.logging.Logger")) { if (null != Class.forName("java.util.logging.Logger")) {
jdk14IsAvailable = true; jdk14IsAvailable = true;
} else { } else {
jdk14IsAvailable = false; jdk14IsAvailable = false;
@@ -142,7 +140,8 @@ public class LogSource {
String name = null; String name = null;
try { try {
name = System.getProperty("org.apache.commons.logging.log"); name = System.getProperty("org.apache.commons.logging.log");
} catch (Throwable t) { } } catch (Throwable t) {
}
if (name != null) { if (name != null) {
try { try {
setLogImplementation(name); setLogImplementation(name);
@@ -229,10 +228,10 @@ public class LogSource {
/** Get a <code>Log</code> instance by class name */ /** Get a <code>Log</code> instance by class name */
static public Log getInstance(String name) { static public Log getInstance(String name) {
Log log = (Log)(logs.get(name)); Log log = (Log) (logs.get(name));
if(null == log) { if (null == log) {
log = makeNewLogInstance(name); log = makeNewLogInstance(name);
logs.put(name,log); logs.put(name, log);
} }
return log; return log;
} }
@@ -274,11 +273,11 @@ public class LogSource {
try { try {
Object[] args = new Object[1]; Object[] args = new Object[1];
args[0] = name; args[0] = name;
log = (Log)(logImplctor.newInstance(args)); log = (Log) (logImplctor.newInstance(args));
} catch (Throwable t) { } catch (Throwable t) {
log = null; log = null;
} }
if(null == log) { if (null == log) {
log = new NoOpLog(name); log = new NoOpLog(name);
} }
return log; return log;
@@ -291,7 +290,7 @@ public class LogSource {
* all logs known to me. * all logs known to me.
*/ */
static public String[] getLogNames() { static public String[] getLogNames() {
return (String[])(logs.keySet().toArray(new String[logs.size()])); return (String[]) (logs.keySet().toArray(new String[logs.size()]));
} }