Revision: 6986
Author: [email protected]
Date: Wed Nov 18 08:54:38 2009
Log: Merge trunk r6981, r6984-6985 into this branch
Cleanup logging, reduce visibility of SwingUI internals, fix JDK 1.5
breakage
svn merge --ignore-ancestry -c6981 \
https://google-web-toolkit.googlecode.com/svn/trunk/ .
svn merge --ignore-ancestry -r6983:6985 \
https://google-web-toolkit.googlecode.com/svn/trunk/ .
http://code.google.com/p/google-web-toolkit/source/detail?r=6986
Modified:
/releases/2.0/branch-info.txt
/releases/2.0/dev/core/src/com/google/gwt/dev/DevMode.java
/releases/2.0/dev/core/src/com/google/gwt/dev/DevModeBase.java
/releases/2.0/dev/core/src/com/google/gwt/dev/SwingUI.java
=======================================
--- /releases/2.0/branch-info.txt Wed Nov 18 05:37:52 2009
+++ /releases/2.0/branch-info.txt Wed Nov 18 08:54:38 2009
@@ -758,3 +758,10 @@
tr...@6968 was merged into this branch
Accounting for time difference between host and client in
CookieTest#testExpires
svn merge --ignore-ancestry -c 6968
https://google-web-toolkit.googlecode.com/svn/trunk .
+
+tr...@6981,6984,6985 was merged into this branch
+ Cleanup logging, reduce visibility of SwingUI internals, fix JDK 1.5
breakage
+ svn merge --ignore-ancestry -c6981 \
+ https://google-web-toolkit.googlecode.com/svn/trunk/ .
+ svn merge --ignore-ancestry -r6983:6985 \
+ https://google-web-toolkit.googlecode.com/svn/trunk/ .
=======================================
--- /releases/2.0/dev/core/src/com/google/gwt/dev/DevMode.java Mon Nov 16
19:22:20 2009
+++ /releases/2.0/dev/core/src/com/google/gwt/dev/DevMode.java Wed Nov 18
08:54:38 2009
@@ -343,7 +343,7 @@
ui.setCallback(RestartServerEvent.getType(), this);
// TODO(jat): find a safe way to get an icon for the servlet
container
TreeLogger serverLogger = ui.getWebServerLogger(getWebServerName(),
null);
- serverLogger.log(TreeLogger.INFO, "Starting HTTP on port " +
getPort(),
+ serverLogger.log(TreeLogger.TRACE, "Starting HTTP on port " +
getPort(),
null);
server = options.getServletContainerLauncher().start(serverLogger,
getPort(), options.getWarDir());
@@ -374,6 +374,7 @@
return options.getServletContainerLauncher().getName();
}
+ @Override
protected synchronized void produceOutput(TreeLogger logger,
StandardLinkerContext linkerStack, ArtifactSet artifacts, ModuleDef
module)
throws UnableToCompleteException {
=======================================
--- /releases/2.0/dev/core/src/com/google/gwt/dev/DevModeBase.java Mon Nov
16 19:22:20 2009
+++ /releases/2.0/dev/core/src/com/google/gwt/dev/DevModeBase.java Wed Nov
18 08:54:38 2009
@@ -703,7 +703,7 @@
try {
for (String prenormalized : options.getStartupURLs()) {
startupURL = normalizeURL(prenormalized, getPort(), getHost());
- logger.log(TreeLogger.INFO, "Starting URL: " + startupURL, null);
+ logger.log(TreeLogger.TRACE, "Starting URL: " + startupURL, null);
launchURL(startupURL);
}
} catch (UnableToCompleteException e) {
@@ -764,7 +764,7 @@
* subclasses that need to change the behavior of ShellModuleSpaceHost.
*
* @param logger TreeLogger to use
- * @param typeOracle
+ * @param compilationState
* @param moduleDef
* @return ShellModuleSpaceHost instance
*/
@@ -881,9 +881,6 @@
getTopLogger().log(TreeLogger.ERROR, "Invalid URL " + url, e);
throw new UnableToCompleteException();
}
- System.err.println("Using a browser with the GWT Developer Plugin,
please browse to");
- System.err.println("the following URL:");
- System.err.println(" " + url);
final URL helpInfoUrl = parsedUrl;
getTopLogger().log(TreeLogger.INFO,
"Waiting for browser connection to " + url, null, new HelpInfo() {
=======================================
--- /releases/2.0/dev/core/src/com/google/gwt/dev/SwingUI.java Tue Nov 17
14:54:53 2009
+++ /releases/2.0/dev/core/src/com/google/gwt/dev/SwingUI.java Wed Nov 18
08:54:38 2009
@@ -27,11 +27,15 @@
import com.google.gwt.dev.ui.RestartServerEvent;
import com.google.gwt.dev.util.collect.HashMap;
+import java.awt.Image;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
import java.net.URL;
-import java.util.Arrays;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Map;
import javax.swing.Icon;
@@ -48,11 +52,17 @@
/**
* Module handle for Swing UI.
*/
- public class SwingModuleHandle implements ModuleHandle {
+ protected class SwingModuleHandle implements ModuleHandle {
private final TreeLogger logger;
private final ModulePanel tab;
+ /**
+ * Create an immutable module handle.
+ *
+ * @param logger logger to use for this module
+ * @param tab the module panel associated with this instance
+ */
public SwingModuleHandle(TreeLogger logger, ModulePanel tab) {
this.logger = logger;
this.tab = tab;
@@ -62,6 +72,9 @@
return logger;
}
+ /**
+ * @return the ModulePanel associated with this module instance.
+ */
public ModulePanel getTab() {
return tab;
}
@@ -70,7 +83,7 @@
/**
* Interface to group activities related to adding and deleting tabs.
*/
- public interface TabPanelCollection {
+ protected interface TabPanelCollection {
/**
* Add a new tab containing a ModuleTabPanel.
@@ -208,9 +221,8 @@
}
}
});
- frame.setIconImages(Arrays.asList(gwtIcon48.getImage(),
- gwtIcon32.getImage(), gwtIcon64.getImage(), gwtIcon128.getImage(),
- gwtIcon16.getImage()));
+ setIconImages(topLogger, gwtIcon48, gwtIcon32, gwtIcon64, gwtIcon128,
+ gwtIcon16);
frame.setVisible(true);
}
@@ -304,4 +316,46 @@
}
return moduleTabPanel;
}
-}
+
+ /**
+ * Set the images for the frame. On JDK 1.5, only the last icon
supplied is
+ * used for all needs.
+ *
+ * @param logger logger to use for warnings
+ * @param icons one or more icons
+ */
+ private void setIconImages(TreeLogger logger, ImageIcon... icons) {
+ if (icons.length == 0) {
+ return;
+ }
+ Exception caught = null;
+ try {
+ // if this fails, we fall back to the JDK 1.5 method
+ Method method = frame.getClass().getMethod("setIconImages",
List.class);
+ List<Image> imageList = new ArrayList<Image>();
+ for (ImageIcon icon : icons) {
+ Image image = icon.getImage();
+ if (image != null) {
+ imageList.add(image);
+ }
+ }
+ method.invoke(frame, imageList);
+ return;
+ } catch (SecurityException e) {
+ caught = e;
+ } catch (IllegalArgumentException e) {
+ caught = e;
+ } catch (NoSuchMethodException e) {
+ // ignore, expected on JDK 1.5
+ } catch (IllegalAccessException e) {
+ caught = e;
+ } catch (InvocationTargetException e) {
+ caught = e;
+ }
+ if (caught != null) {
+ logger.log(TreeLogger.WARN, "Unexpected exception setting icon
images",
+ caught);
+ }
+ frame.setIconImage(icons[icons.length - 1].getImage());
+ }
+}
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors