Small refactoring in java.util.logging.
Change-Id: I51929a976e2e6ed14d163565d728248e7ce4d9f9
diff --git a/user/super/com/google/gwt/emul/java/util/logging/Level.java b/user/super/com/google/gwt/emul/java/util/logging/Level.java
index d6a416c..72c5305 100644
--- a/user/super/com/google/gwt/emul/java/util/logging/Level.java
+++ b/user/super/com/google/gwt/emul/java/util/logging/Level.java
@@ -88,27 +88,38 @@
return null;
}
- name = name.toUpperCase(Locale.ROOT);
- if (name.equals("ALL")) {
- return ALL;
- } else if (name.equals("CONFIG")) {
- return CONFIG;
- } else if (name.equals("FINE")) {
- return FINE;
- } else if (name.equals("FINER")) {
- return FINER;
- } else if (name.equals("FINEST")) {
- return FINEST;
- } else if (name.equals("INFO")) {
- return INFO;
- } else if (name.equals("OFF")) {
- return OFF;
- } else if (name.equals("SEVERE")) {
- return SEVERE;
- } else if (name.equals("WARNING")) {
- return WARNING;
+ String value = name.toUpperCase(Locale.ROOT);
+ switch (value) {
+ case "ALL":
+ return Level.ALL;
+
+ case "CONFIG":
+ return Level.CONFIG;
+
+ case "FINE":
+ return Level.FINE;
+
+ case "FINER":
+ return Level.FINER;
+
+ case "FINEST":
+ return Level.FINEST;
+
+ case "INFO":
+ return Level.INFO;
+
+ case "OFF":
+ return Level.OFF;
+
+ case "SEVERE":
+ return Level.SEVERE;
+
+ case "WARNING":
+ return Level.WARNING;
+
+ default:
+ throw new IllegalArgumentException("Invalid level \"" + name + "\"");
}
- throw new IllegalArgumentException("Invalid level \"" + name + "\"");
}
protected Level() { }
diff --git a/user/super/com/google/gwt/emul/java/util/logging/LogManager.java b/user/super/com/google/gwt/emul/java/util/logging/LogManager.java
index e5c3b68..b5374c2 100644
--- a/user/super/com/google/gwt/emul/java/util/logging/LogManager.java
+++ b/user/super/com/google/gwt/emul/java/util/logging/LogManager.java
@@ -70,7 +70,7 @@
private void addLoggerAndEnsureParents(Logger logger) {
String name = logger.getName();
String parentName = name.substring(0, Math.max(0, name.lastIndexOf('.')));
- logger.setParent(ensureLogger(parentName));
+ logger.setParent(ensureLogger(parentName, logger.getResourceBundleName()));
addLoggerImpl(logger);
}
@@ -88,10 +88,10 @@
* APIs for getLogger and addLogger make it difficult to use those functions
* for this.
*/
- Logger ensureLogger(String name) {
+ Logger ensureLogger(String name, String resourceName) {
Logger logger = getLogger(name);
if (logger == null) {
- Logger newLogger = new Logger(name, null);
+ Logger newLogger = new Logger(name, resourceName);
addLoggerAndEnsureParents(newLogger);
return newLogger;
}
diff --git a/user/super/com/google/gwt/emul/java/util/logging/Logger.java b/user/super/com/google/gwt/emul/java/util/logging/Logger.java
index 8be53bb..dba7351 100644
--- a/user/super/com/google/gwt/emul/java/util/logging/Logger.java
+++ b/user/super/com/google/gwt/emul/java/util/logging/Logger.java
@@ -46,11 +46,15 @@
}
public static Logger getLogger(String name) {
+ return getLogger(name, null);
+ }
+
+ public static Logger getLogger(String name, String resourceName) {
// Use shortcut if logging is disabled to avoid parent logger creations in LogManager
if (LOGGING_FALSE) {
- return new Logger(name, "");
+ return new Logger(name, resourceName);
}
- return LogManager.getLogManager().ensureLogger(name);
+ return LogManager.getLogManager().ensureLogger(name, resourceName);
}
static void assertLoggingValues() {
@@ -155,8 +159,12 @@
return LOGGING_FALSE ? null : parent;
}
+ public String getResourceBundleName() {
+ return null;
+ }
+
public boolean getUseParentHandlers() {
- return LOGGING_FALSE ? null : useParentHandlers;
+ return LOGGING_FALSE ? false : useParentHandlers;
}
public boolean isLoggable(Level messageLevel) {
@@ -276,9 +284,7 @@
// public static Logger getAnonymousLogger() {
// public static Logger getAnonymousLogger(String resourceBundleName) {}
// public Filter getFilter() {}
- // public static Logger getLogger(String name, String resourceBundleName) {}
// public ResourceBundle getResourceBundle() {}
- // public String getResourceBundleName() {}
// public void setFilter(Filter newFilter) {}
// public void entering(String sourceClass, String sourceMethod) {}
// public void entering(String sourceClass, String sourceMethod, Object param1) {}