Code cleanup forCompositeTreeLogger, AbstractTreeLogger
- Removes access to AbstractTreeLogger.indexWithinMyParent
- CompositeTreeLogger now extends TreeLogger directly and composes TreeLoggers, rather than AbstractTreeLogger
Suggested by: mmendez
Review by: jat
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@6514 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/dev/CompileTaskRunner.java b/dev/core/src/com/google/gwt/dev/CompileTaskRunner.java
index 4156ae4..60ba4ba 100644
--- a/dev/core/src/com/google/gwt/dev/CompileTaskRunner.java
+++ b/dev/core/src/com/google/gwt/dev/CompileTaskRunner.java
@@ -18,7 +18,6 @@
import com.google.gwt.core.ext.TreeLogger;
import com.google.gwt.core.ext.UnableToCompleteException;
import com.google.gwt.dev.shell.log.SwingLoggerPanel;
-import com.google.gwt.dev.util.log.AbstractTreeLogger;
import com.google.gwt.dev.util.log.PrintWriterTreeLogger;
/**
@@ -52,8 +51,7 @@
// Eager AWT initialization for OS X to ensure safe coexistence with SWT.
BootStrapPlatform.initGui();
- final AbstractTreeLogger logger = loggerWindow.getLogger();
- logger.setMaxDetail(options.getLogLevel());
+ final TreeLogger logger = loggerWindow.getLogger();
final boolean[] success = new boolean[1];
// Compiler will be spawned onto a second thread, UI thread for tree
diff --git a/dev/core/src/com/google/gwt/dev/ModulePanel.java b/dev/core/src/com/google/gwt/dev/ModulePanel.java
index 281dd76..a93957e 100644
--- a/dev/core/src/com/google/gwt/dev/ModulePanel.java
+++ b/dev/core/src/com/google/gwt/dev/ModulePanel.java
@@ -15,11 +15,11 @@
*/
package com.google.gwt.dev;
+import com.google.gwt.core.ext.TreeLogger;
import com.google.gwt.core.ext.TreeLogger.Type;
import com.google.gwt.dev.ModuleTabPanel.Session;
import com.google.gwt.dev.shell.log.SwingLoggerPanel;
import com.google.gwt.dev.shell.log.SwingLoggerPanel.CloseHandler;
-import com.google.gwt.dev.util.log.AbstractTreeLogger;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
@@ -70,7 +70,7 @@
setDisconnected();
}
- public AbstractTreeLogger getLogger() {
+ public TreeLogger getLogger() {
return loggerPanel.getLogger();
}
diff --git a/dev/core/src/com/google/gwt/dev/shell/ShellMainWindow.java b/dev/core/src/com/google/gwt/dev/shell/ShellMainWindow.java
index a58d5cf..6f0fbf0 100644
--- a/dev/core/src/com/google/gwt/dev/shell/ShellMainWindow.java
+++ b/dev/core/src/com/google/gwt/dev/shell/ShellMainWindow.java
@@ -17,7 +17,6 @@
import com.google.gwt.core.ext.TreeLogger;
import com.google.gwt.dev.shell.log.SwingLoggerPanel;
-import com.google.gwt.dev.util.log.AbstractTreeLogger;
import java.awt.BorderLayout;
import java.awt.GridLayout;
@@ -57,7 +56,7 @@
/**
* @return TreeLogger instance
*/
- public AbstractTreeLogger getLogger() {
+ public TreeLogger getLogger() {
return logWindow.getLogger();
}
}
diff --git a/dev/core/src/com/google/gwt/dev/shell/log/SwingLoggerPanel.java b/dev/core/src/com/google/gwt/dev/shell/log/SwingLoggerPanel.java
index 08d40e4..5d29208 100644
--- a/dev/core/src/com/google/gwt/dev/shell/log/SwingLoggerPanel.java
+++ b/dev/core/src/com/google/gwt/dev/shell/log/SwingLoggerPanel.java
@@ -253,7 +253,7 @@
private final JEditorPane details;
- private final AbstractTreeLogger logger;
+ private final TreeLogger logger;
private DefaultMutableTreeNode root;
@@ -380,19 +380,18 @@
add(splitter);
AbstractTreeLogger uiLogger = new SwingTreeLogger(this);
- AbstractTreeLogger bestLogger = uiLogger;
+ uiLogger.setMaxDetail(maxLevel);
+ TreeLogger bestLogger = uiLogger;
if (logFile != null) {
try {
PrintWriterTreeLogger fileLogger = new PrintWriterTreeLogger(logFile);
- bestLogger = new CompositeTreeLogger(bestLogger, fileLogger);
fileLogger.setMaxDetail(maxLevel);
- uiLogger.setMaxDetail(maxLevel);
+ bestLogger = new CompositeTreeLogger(bestLogger, fileLogger);
} catch (IOException ex) {
bestLogger.log(TreeLogger.ERROR, "Can't log to file "
+ logFile.getAbsolutePath(), ex);
}
}
- bestLogger.setMaxDetail(maxLevel);
logger = bestLogger;
KeyStroke key = KeyStroke.getKeyStroke(KeyEvent.VK_F,
InputEvent.CTRL_DOWN_MASK);
@@ -460,7 +459,7 @@
return autoScroll;
}
- public AbstractTreeLogger getLogger() {
+ public TreeLogger getLogger() {
return logger;
}
diff --git a/dev/core/src/com/google/gwt/dev/shell/log/SwingTreeLogger.java b/dev/core/src/com/google/gwt/dev/shell/log/SwingTreeLogger.java
index 0f95695..5efe4e8 100644
--- a/dev/core/src/com/google/gwt/dev/shell/log/SwingTreeLogger.java
+++ b/dev/core/src/com/google/gwt/dev/shell/log/SwingTreeLogger.java
@@ -277,7 +277,7 @@
if (event.isBranchCommit) {
SwingTreeLogger parentLogger = (SwingTreeLogger) logger.getParentLogger();
parent = parentLogger.treeNode;
- idx = logger.indexWithinMyParent;
+ idx = logger.getBranchedIndex();
node = logger.treeNode;
} else {
parent = logger.treeNode;
diff --git a/dev/core/src/com/google/gwt/dev/util/log/AbstractTreeLogger.java b/dev/core/src/com/google/gwt/dev/util/log/AbstractTreeLogger.java
index f84d64b..e3b38b0 100644
--- a/dev/core/src/com/google/gwt/dev/util/log/AbstractTreeLogger.java
+++ b/dev/core/src/com/google/gwt/dev/util/log/AbstractTreeLogger.java
@@ -84,12 +84,12 @@
return e.getClass().getSimpleName();
}
- public int indexWithinMyParent;
-
protected TreeLogger.Type logLevel = TreeLogger.ALL;
protected AbstractTreeLogger parent;
+ private int indexWithinMyParent;
+
private int nextChildIndex;
private final Object nextChildIndexLock = new Object();
@@ -220,7 +220,7 @@
}
logLevel = type;
}
-
+
@Override
public String toString() {
return getLoggerId();
@@ -245,12 +245,12 @@
// Commit the parent first.
//
parent.commitMyBranchEntryInMyParentLogger();
-
+
// Let the subclass do its thing to commit this branch.
//
parent.doCommitBranch(this, uncommitted.type, uncommitted.message,
uncommitted.caught, uncommitted.helpInfo);
-
+
// Release the uncommitted state.
//
uncommitted = null;
@@ -267,7 +267,7 @@
* @deprecated This method has been deprecated; override
* {@link #doCommitBranch(AbstractTreeLogger, com.google.gwt.core.ext.TreeLogger.Type, String, Throwable, com.google.gwt.core.ext.TreeLogger.HelpInfo)}
* instead.
- *
+ *
* @param childBeingCommitted
* @param type
* @param msg
@@ -290,7 +290,7 @@
* @deprecated This method has been deprecated; override
* {@link #branch(com.google.gwt.core.ext.TreeLogger.Type, String, Throwable, com.google.gwt.core.ext.TreeLogger.HelpInfo)
* instead.
- *
+ *
* @param indexOfLogEntryWithinParentLogger
* @param type
* @param msg
diff --git a/dev/core/src/com/google/gwt/dev/util/log/CompositeTreeLogger.java b/dev/core/src/com/google/gwt/dev/util/log/CompositeTreeLogger.java
index 7c70c01..ca67b84 100644
--- a/dev/core/src/com/google/gwt/dev/util/log/CompositeTreeLogger.java
+++ b/dev/core/src/com/google/gwt/dev/util/log/CompositeTreeLogger.java
@@ -15,46 +15,44 @@
*/
package com.google.gwt.dev.util.log;
+import com.google.gwt.core.ext.TreeLogger;
+
/**
- * Forks logging over two child loggers. This provides the graphics + file
+ * Forks logging over two child loggers. This provides the graphics + file
* logging of HostedModeBase's -logfile option.
*/
-public class CompositeTreeLogger extends AbstractTreeLogger {
+public class CompositeTreeLogger extends TreeLogger {
- private AbstractTreeLogger[] loggers;
-
- public CompositeTreeLogger(AbstractTreeLogger... loggers) {
+ private TreeLogger[] loggers;
+
+ public CompositeTreeLogger(TreeLogger... loggers) {
this.loggers = loggers;
}
@Override
- protected AbstractTreeLogger doBranch() {
- AbstractTreeLogger children[] = new AbstractTreeLogger[loggers.length];
+ public TreeLogger branch(Type type, String msg, Throwable caught,
+ HelpInfo helpInfo) {
+ TreeLogger children[] = new TreeLogger[loggers.length];
for (int i = 0; i < loggers.length; i++) {
- children[i] = loggers[i].doBranch();
- children[i].indexWithinMyParent = loggers[i].allocateNextChildIndex();
- children[i].parent = loggers[i];
- children[i].logLevel = loggers[i].logLevel;
+ children[i] = loggers[i].branch(type, msg, caught, helpInfo);
}
return new CompositeTreeLogger(children);
}
@Override
- protected void doCommitBranch(AbstractTreeLogger childBeingCommitted,
- Type type, String msg, Throwable caught, HelpInfo helpInfo) {
- CompositeTreeLogger child = (CompositeTreeLogger) childBeingCommitted;
- assert loggers.length == child.loggers.length;
- for (int i = 0; i < loggers.length; i++) {
- loggers[i].doCommitBranch(child.loggers[i], type, msg, caught, helpInfo);
+ public boolean isLoggable(Type type) {
+ for (TreeLogger logger : loggers) {
+ if (logger.isLoggable(type)) {
+ return true;
+ }
}
+ return false;
}
@Override
- protected void doLog(int indexOfLogEntryWithinParentLogger, Type type,
- String msg, Throwable caught, HelpInfo helpInfo) {
- for (AbstractTreeLogger logger : loggers) {
- logger.doLog(indexOfLogEntryWithinParentLogger, type, msg, caught,
- helpInfo);
+ public void log(Type type, String msg, Throwable caught, HelpInfo helpInfo) {
+ for (TreeLogger logger : loggers) {
+ logger.log(type, msg, caught, helpInfo);
}
}
}