Imported GNU Classpath 0.92

2006-08-14  Mark Wielaard  <mark@klomp.org>

       Imported GNU Classpath 0.92
       * HACKING: Add more importing hints. Update automake version
       requirement.

       * configure.ac (gconf-peer): New enable AC argument.
       Add --disable-gconf-peer and --enable-default-preferences-peer
       to classpath configure when gconf is disabled.
       * scripts/makemake.tcl: Set gnu/java/util/prefs/gconf and
       gnu/java/awt/dnd/peer/gtk to bc. Classify
       gnu/java/security/Configuration.java as generated source file.

       * gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java,
       gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java,
       gnu/java/lang/management/VMClassLoadingMXBeanImpl.java,
       gnu/java/lang/management/VMRuntimeMXBeanImpl.java,
       gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java,
       gnu/java/lang/management/VMThreadMXBeanImpl.java,
       gnu/java/lang/management/VMMemoryMXBeanImpl.java,
       gnu/java/lang/management/VMCompilationMXBeanImpl.java: New VM stub
       classes.
       * java/lang/management/VMManagementFactory.java: Likewise.
       * java/net/VMURLConnection.java: Likewise.
       * gnu/java/nio/VMChannel.java: Likewise.

       * java/lang/Thread.java (getState): Add stub implementation.
       * java/lang/Class.java (isEnum): Likewise.
       * java/lang/Class.h (isEnum): Likewise.

       * gnu/awt/xlib/XToolkit.java (getClasspathTextLayoutPeer): Removed.

       * javax/naming/spi/NamingManager.java: New override for StackWalker
       functionality.

       * configure, sources.am, Makefile.in, gcj/Makefile.in,
       include/Makefile.in, testsuite/Makefile.in: Regenerated.

From-SVN: r116139
This commit is contained in:
Mark Wielaard 2006-08-14 23:12:35 +00:00
parent abab460491
commit ac1ed908de
1294 changed files with 99479 additions and 35933 deletions

View file

@ -39,6 +39,8 @@ exception statement from your version. */
package java.util.logging;
import gnu.classpath.SystemProperties;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.io.ByteArrayInputStream;
@ -50,12 +52,11 @@ import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.StringTokenizer;
import gnu.classpath.SystemProperties;
/**
* The <code>LogManager</code> maintains a hierarchical namespace
* of Logger objects and manages properties for configuring the logging
@ -107,11 +108,23 @@ import gnu.classpath.SystemProperties;
*/
public class LogManager
{
/**
* The object name for the logging management bean.
* @since 1.5
*/
public static final String LOGGING_MXBEAN_NAME
= "java.util.logging:type=Logging";
/**
* The singleton LogManager instance.
*/
private static LogManager logManager;
/**
* The singleton logging bean.
*/
private static LoggingMXBean loggingBean;
/**
* The registered named loggers; maps the name of a Logger to
* a WeakReference to it.
@ -836,11 +849,11 @@ public class LogManager
}
catch (ClassNotFoundException e)
{
warn(property, className, "class not found");
warn(property, className, "class not found", e);
}
catch (IllegalAccessException e)
{
warn(property, className, "illegal access");
warn(property, className, "illegal access", e);
}
catch (InstantiationException e)
{
@ -848,7 +861,7 @@ public class LogManager
}
catch (java.lang.LinkageError e)
{
warn(property, className, "linkage error");
warn(property, className, "linkage error", e);
}
return null;
@ -904,4 +917,63 @@ public class LogManager
}
}
/**
* Return the logging bean. There is a single logging bean per
* VM instance.
* @since 1.5
*/
public static synchronized LoggingMXBean getLoggingMXBean()
{
if (loggingBean == null)
{
loggingBean = new LoggingMXBean()
{
public String getLoggerLevel(String logger)
{
LogManager mgr = getLogManager();
Logger l = mgr.getLogger(logger);
if (l == null)
return null;
Level lev = l.getLevel();
if (lev == null)
return "";
return lev.getName();
}
public List getLoggerNames()
{
LogManager mgr = getLogManager();
// This is inefficient, but perhaps better for maintenance.
return Collections.list(mgr.getLoggerNames());
}
public String getParentLoggerName(String logger)
{
LogManager mgr = getLogManager();
Logger l = mgr.getLogger(logger);
if (l == null)
return null;
l = l.getParent();
if (l == null)
return "";
return l.getName();
}
public void setLoggerLevel(String logger, String level)
{
LogManager mgr = getLogManager();
Logger l = mgr.getLogger(logger);
if (l == null)
throw new IllegalArgumentException("no logger named " + logger);
Level newLevel;
if (level == null)
newLevel = null;
else
newLevel = Level.parse(level);
l.setLevel(newLevel);
}
};
}
return loggingBean;
}
}