/hg/icedtea-web: Introduced logging bottleneck
jvanek at icedtea.classpath.org
jvanek at icedtea.classpath.org
Wed Sep 25 09:50:44 PDT 2013
changeset a817bb6d12a6 in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=a817bb6d12a6
author: Jiri Vanek <jvanek at redhat.com>
date: Wed Sep 25 18:50:18 2013 +0200
Introduced logging bottleneck
diffstat:
ChangeLog | 125 +++
netx/net/sourceforge/jnlp/AbstractLaunchHandler.java | 16 +-
netx/net/sourceforge/jnlp/AppletLog.java | 92 --
netx/net/sourceforge/jnlp/DefaultLaunchHandler.java | 4 +-
netx/net/sourceforge/jnlp/ExtensionDesc.java | 4 +-
netx/net/sourceforge/jnlp/GuiLaunchHandler.java | 8 +-
netx/net/sourceforge/jnlp/JNLPFile.java | 11 +-
netx/net/sourceforge/jnlp/JNLPMatcher.java | 5 +-
netx/net/sourceforge/jnlp/JNLPSplashScreen.java | 13 +-
netx/net/sourceforge/jnlp/Launcher.java | 31 +-
netx/net/sourceforge/jnlp/Log.java | 79 -
netx/net/sourceforge/jnlp/MalformedXMLParser.java | 5 +-
netx/net/sourceforge/jnlp/NetxPanel.java | 11 +-
netx/net/sourceforge/jnlp/Parser.java | 17 +-
netx/net/sourceforge/jnlp/PluginBridge.java | 9 +-
netx/net/sourceforge/jnlp/SecurityDesc.java | 3 +-
netx/net/sourceforge/jnlp/StreamEater.java | 17 +-
netx/net/sourceforge/jnlp/XmlParser.java | 3 +-
netx/net/sourceforge/jnlp/about/HTMLPanel.java | 3 +-
netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java | 19 +-
netx/net/sourceforge/jnlp/browser/FirefoxPreferencesFinder.java | 10 +-
netx/net/sourceforge/jnlp/browser/FirefoxPreferencesParser.java | 7 +-
netx/net/sourceforge/jnlp/cache/CacheDirectory.java | 6 +-
netx/net/sourceforge/jnlp/cache/CacheEntry.java | 7 +-
netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java | 15 +-
netx/net/sourceforge/jnlp/cache/CacheUtil.java | 44 +-
netx/net/sourceforge/jnlp/cache/NativeLibraryStorage.java | 12 +-
netx/net/sourceforge/jnlp/cache/Resource.java | 18 +-
netx/net/sourceforge/jnlp/cache/ResourceTracker.java | 55 +-
netx/net/sourceforge/jnlp/config/Defaults.java | 20 +-
netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java | 133 +-
netx/net/sourceforge/jnlp/controlpanel/CachePane.java | 5 +-
netx/net/sourceforge/jnlp/controlpanel/CommandLine.java | 90 +-
netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java | 9 +-
netx/net/sourceforge/jnlp/controlpanel/DebuggingPanel.java | 82 +-
netx/net/sourceforge/jnlp/controlpanel/DocumentAdapter.java | 4 +-
netx/net/sourceforge/jnlp/controlpanel/JVMPanel.java | 7 +-
netx/net/sourceforge/jnlp/controlpanel/UnsignedAppletsTrustingListPanel.java | 15 +-
netx/net/sourceforge/jnlp/resources/Messages.properties | 11 +-
netx/net/sourceforge/jnlp/resources/Messages_cs.properties | 1 -
netx/net/sourceforge/jnlp/resources/Messages_de.properties | 1 -
netx/net/sourceforge/jnlp/resources/Messages_pl.properties | 1 -
netx/net/sourceforge/jnlp/runtime/AppletAudioClip.java | 4 +-
netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java | 11 +-
netx/net/sourceforge/jnlp/runtime/AppletInstance.java | 9 +-
netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java | 23 +-
netx/net/sourceforge/jnlp/runtime/Boot.java | 46 +-
netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java | 6 +-
netx/net/sourceforge/jnlp/runtime/FakePacEvaluator.java | 5 +-
netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 121 +-
netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java | 7 +-
netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java | 27 +-
netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 120 +-
netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java | 22 +-
netx/net/sourceforge/jnlp/runtime/PacEvaluatorFactory.java | 19 +-
netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java | 17 +-
netx/net/sourceforge/jnlp/security/CertWarningPane.java | 7 +-
netx/net/sourceforge/jnlp/security/CertificateUtils.java | 18 +-
netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java | 7 +-
netx/net/sourceforge/jnlp/security/KeyStores.java | 3 +-
netx/net/sourceforge/jnlp/security/SecurityDialog.java | 11 +-
netx/net/sourceforge/jnlp/security/SecurityDialogMessageHandler.java | 7 +-
netx/net/sourceforge/jnlp/security/SecurityUtil.java | 3 +-
netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java | 9 +-
netx/net/sourceforge/jnlp/security/appletextendedsecurity/ExtendedAppletSecurityHelp.java | 3 +-
netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java | 16 +-
netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java | 13 +-
netx/net/sourceforge/jnlp/services/ServiceUtil.java | 11 +-
netx/net/sourceforge/jnlp/services/XBasicService.java | 16 +-
netx/net/sourceforge/jnlp/services/XPersistenceService.java | 7 +-
netx/net/sourceforge/jnlp/services/XPrintService.java | 9 +-
netx/net/sourceforge/jnlp/services/XSingleInstanceService.java | 19 +-
netx/net/sourceforge/jnlp/splashscreen/SplashUtils.java | 7 +-
netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java | 7 +-
netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ErrorPainter.java | 3 +-
netx/net/sourceforge/jnlp/splashscreen/parts/InformationElement.java | 3 +-
netx/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialog.java | 15 +-
netx/net/sourceforge/jnlp/tools/CertInformation.java | 4 +-
netx/net/sourceforge/jnlp/tools/JarCertVerifier.java | 23 +-
netx/net/sourceforge/jnlp/util/BasicExceptionDialog.java | 11 +-
netx/net/sourceforge/jnlp/util/FileUtils.java | 23 +-
netx/net/sourceforge/jnlp/util/HttpUtils.java | 3 +-
netx/net/sourceforge/jnlp/util/ImageResources.java | 3 +-
netx/net/sourceforge/jnlp/util/PropertiesFile.java | 5 +-
netx/net/sourceforge/jnlp/util/Reflect.java | 5 +-
netx/net/sourceforge/jnlp/util/StreamUtils.java | 14 +-
netx/net/sourceforge/jnlp/util/TimedHashMap.java | 9 +-
netx/net/sourceforge/jnlp/util/UrlUtils.java | 13 +-
netx/net/sourceforge/jnlp/util/XDesktopEntry.java | 19 +-
netx/net/sourceforge/jnlp/util/logging/FileLog.java | 107 ++
netx/net/sourceforge/jnlp/util/logging/LogConfig.java | 156 +++
netx/net/sourceforge/jnlp/util/logging/OutputController.java | 398 ++++++++++
netx/net/sourceforge/jnlp/util/logging/PrintStreamLogger.java | 68 +
netx/net/sourceforge/jnlp/util/logging/SingleStreamLogger.java | 46 +
netx/net/sourceforge/jnlp/util/logging/UnixSystemLog.java | 57 +
netx/net/sourceforge/jnlp/util/logging/WinSystemLog.java | 57 +
netx/net/sourceforge/nanoxml/XMLElement.java | 25 +-
plugin/icedteanp/java/netscape/javascript/JSRunnable.java | 3 +-
plugin/icedteanp/java/sun/applet/JavaConsole.java | 53 +-
plugin/icedteanp/java/sun/applet/PluginAppletPanelFactory.java | 7 +-
plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java | 15 +-
plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 17 +-
plugin/icedteanp/java/sun/applet/PluginDebug.java | 7 +-
plugin/icedteanp/java/sun/applet/PluginException.java | 4 +-
plugin/icedteanp/java/sun/applet/PluginMain.java | 21 +-
plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java | 3 +-
plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java | 4 +-
plugin/icedteanp/java/sun/applet/PluginProxyInfoRequest.java | 3 +-
plugin/icedteanp/java/sun/applet/PluginProxySelector.java | 3 +-
plugin/icedteanp/java/sun/applet/PluginStreamHandler.java | 12 +-
tests/netx/unit/net/sourceforge/jnlp/DefaultLaunchHandlerTest.java | 71 +-
tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java | 62 +-
tests/netx/unit/net/sourceforge/jnlp/util/HttpUtilsTest.java | 52 +-
tests/netx/unit/net/sourceforge/jnlp/util/XDesktopEntryTest.java | 4 -
tests/netx/unit/net/sourceforge/jnlp/util/logging/FileLogTest.java | 178 ++++
tests/netx/unit/net/sourceforge/jnlp/util/logging/OutputControllerTest.java | 367 +++++++++
tests/netx/unit/net/sourceforge/jnlp/util/logging/PrintStreamLoggerTest.java | 113 ++
tests/reproducers/simple/simpletest1/testcases/XDGspecificationTests.java | 2 -
tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java | 12 +-
119 files changed, 2582 insertions(+), 1136 deletions(-)
diffs (truncated from 7708 to 500 lines):
diff -r a69671b1e1f1 -r a817bb6d12a6 ChangeLog
--- a/ChangeLog Tue Sep 24 13:42:31 2013 -0400
+++ b/ChangeLog Wed Sep 25 18:50:18 2013 +0200
@@ -1,3 +1,128 @@
+2013-09-25 Jiri Vanek <jvanek at redhat.com>
+
+ Added logging bottleneck
+ * netx/net/sourceforge/jnlp/AbstractLaunchHandler.java: extracted system.out/err
+ and printStackTrace in favour of outputController.log methods. Same all below
+ * netx/net/sourceforge/jnlp/DefaultLaunchHandler.java
+ * netx/net/sourceforge/jnlp/ExtensionDesc.java
+ * netx/net/sourceforge/jnlp/GuiLaunchHandler.java
+ * netx/net/sourceforge/jnlp/JNLPFile.java
+ * netx/net/sourceforge/jnlp/JNLPMatcher.java
+ * netx/net/sourceforge/jnlp/JNLPSplashScreen.java
+ * netx/net/sourceforge/jnlp/Launcher.java
+ * netx/net/sourceforge/jnlp/MalformedXMLParser.java
+ * netx/net/sourceforge/jnlp/NetxPanel.java
+ * netx/net/sourceforge/jnlp/Parser.java
+ * netx/net/sourceforge/jnlp/PluginBridge.java
+ * netx/net/sourceforge/jnlp/SecurityDesc.java
+ * netx/net/sourceforge/jnlp/StreamEater.java
+ * netx/net/sourceforge/jnlp/XmlParser.java
+ * netx/net/sourceforge/jnlp/about/HTMLPanel.java
+ * netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java
+ * netx/net/sourceforge/jnlp/browser/FirefoxPreferencesFinder.java
+ * netx/net/sourceforge/jnlp/browser/FirefoxPreferencesParser.java
+ * netx/net/sourceforge/jnlp/cache/CacheDirectory.java
+ * netx/net/sourceforge/jnlp/cache/CacheEntry.java
+ * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java
+ * netx/net/sourceforge/jnlp/cache/CacheUtil.java
+ * netx/net/sourceforge/jnlp/cache/NativeLibraryStorage.java
+ * netx/net/sourceforge/jnlp/cache/Resource.java
+ * netx/net/sourceforge/jnlp/cache/ResourceTracker.java
+ * netx/net/sourceforge/jnlp/config/Defaults.java
+ * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java
+ * netx/net/sourceforge/jnlp/controlpanel/CachePane.java
+ * netx/net/sourceforge/jnlp/controlpanel/CommandLine.java
+ * netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java
+ * netx/net/sourceforge/jnlp/controlpanel/DebuggingPanel.java
+ * netx/net/sourceforge/jnlp/controlpanel/DocumentAdapter.java
+ * netx/net/sourceforge/jnlp/controlpanel/JVMPanel.java
+ * netx/net/sourceforge/jnlp/controlpanel/UnsignedAppletsTrustingListPanel.java
+ * netx/net/sourceforge/jnlp/resources/Messages.properties
+ * netx/net/sourceforge/jnlp/resources/Messages_cs.properties
+ * netx/net/sourceforge/jnlp/resources/Messages_de.properties
+ * netx/net/sourceforge/jnlp/resources/Messages_pl.properties
+ * netx/net/sourceforge/jnlp/runtime/AppletAudioClip.java
+ * netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java
+ * netx/net/sourceforge/jnlp/runtime/AppletInstance.java
+ * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java
+ * netx/net/sourceforge/jnlp/runtime/Boot.java
+ * netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java
+ * netx/net/sourceforge/jnlp/runtime/FakePacEvaluator.java
+ * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java
+ * netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java
+ * netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java
+ * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java
+ * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java
+ * netx/net/sourceforge/jnlp/runtime/PacEvaluatorFactory.java
+ * netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java
+ * netx/net/sourceforge/jnlp/security/CertWarningPane.java
+ * netx/net/sourceforge/jnlp/security/CertificateUtils.java
+ * netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java
+ * netx/net/sourceforge/jnlp/security/KeyStores.java
+ * netx/net/sourceforge/jnlp/security/SecurityDialog.java
+ * netx/net/sourceforge/jnlp/security/SecurityDialogMessageHandler.java
+ * netx/net/sourceforge/jnlp/security/SecurityUtil.java
+ * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java
+ * netx/net/sourceforge/jnlp/security/appletextendedsecurity/ExtendedAppletSecurityHelp.java
+ * netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java
+ * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java
+ * netx/net/sourceforge/jnlp/services/ServiceUtil.java
+ * netx/net/sourceforge/jnlp/services/XBasicService.java
+ * netx/net/sourceforge/jnlp/services/XPersistenceService.java
+ * netx/net/sourceforge/jnlp/services/XPrintService.java
+ * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java
+ * netx/net/sourceforge/jnlp/splashscreen/SplashUtils.java
+ * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java
+ * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ErrorPainter.java
+ * netx/net/sourceforge/jnlp/splashscreen/parts/InformationElement.java
+ * netx/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialog.java
+ * netx/net/sourceforge/jnlp/tools/CertInformation.java
+ * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java
+ * netx/net/sourceforge/jnlp/util/BasicExceptionDialog.java
+ * netx/net/sourceforge/jnlp/util/FileUtils.java
+ * netx/net/sourceforge/jnlp/util/HttpUtils.java
+ * netx/net/sourceforge/jnlp/util/ImageResources.java
+ * netx/net/sourceforge/jnlp/util/PropertiesFile.java
+ * netx/net/sourceforge/jnlp/util/Reflect.java
+ * netx/net/sourceforge/jnlp/util/StreamUtils.java
+ * netx/net/sourceforge/jnlp/util/TimedHashMap.java
+ * netx/net/sourceforge/jnlp/util/UrlUtils.java
+ * netx/net/sourceforge/jnlp/util/XDesktopEntry.java
+ * netx/net/sourceforge/nanoxml/XMLElement.java
+ * plugin/icedteanp/java/netscape/javascript/JSRunnable.java
+ * plugin/icedteanp/java/sun/applet/JavaConsole.java
+ * plugin/icedteanp/java/sun/applet/PluginAppletPanelFactory.java
+ * plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java
+ * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java
+ * plugin/icedteanp/java/sun/applet/PluginDebug.java
+ * plugin/icedteanp/java/sun/applet/PluginException.java
+ * plugin/icedteanp/java/sun/applet/PluginMain.java
+ * plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java
+ * plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java
+ * plugin/icedteanp/java/sun/applet/PluginProxyInfoRequest.java
+ * plugin/icedteanp/java/sun/applet/PluginProxySelector.java
+ * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java
+ * tests/netx/unit/net/sourceforge/jnlp/DefaultLaunchHandlerTest.java
+ * tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java
+ * tests/netx/unit/net/sourceforge/jnlp/util/HttpUtilsTest.java
+ * tests/netx/unit/net/sourceforge/jnlp/util/XDesktopEntryTest.java
+ * tests/reproducers/simple/simpletest1/testcases/XDGspecificationTests.java
+ * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java
+ * netx/net/sourceforge/jnlp/util/logging/FileLog.java: new file, derived from
+ AppletLog. Now have responsibility to log to custom file.
+ * netx/net/sourceforge/jnlp/util/logging/LogConfig.java: new file derived from Log
+ * netx/net/sourceforge/jnlp/util/logging/OutputController.java: new bottleneck for logging
+ * netx/net/sourceforge/jnlp/util/logging/PrintStreamLogger.java: logger to std.streams
+ * netx/net/sourceforge/jnlp/util/logging/SingleStreamLogger.java: interface common to all new loggers
+ * netx/net/sourceforge/jnlp/util/logging/UnixSystemLog.java: not yet implemented susytem log
+ * netx/net/sourceforge/jnlp/util/logging/WinSystemLog.java: not yet implemented susytem log
+ * tests/netx/unit/net/sourceforge/jnlp/util/logging/FileLogTest.java: new set of tests
+ * tests/netx/unit/net/sourceforge/jnlp/util/logging/OutputControllerTest.java: new set of tests
+ * tests/netx/unit/net/sourceforge/jnlp/util/logging/PrintStreamLoggerTest.java: new set of tests
+ * netx/net/sourceforge/jnlp/AppletLog.java: removed
+ * netx/net/sourceforge/jnlp/Log.java: rmeoved
+
+
2013-09-24 Omair Majid <omajid at redhat.com>
PR1474
diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/AbstractLaunchHandler.java
--- a/netx/net/sourceforge/jnlp/AbstractLaunchHandler.java Tue Sep 24 13:42:31 2013 -0400
+++ b/netx/net/sourceforge/jnlp/AbstractLaunchHandler.java Wed Sep 25 18:50:18 2013 +0200
@@ -37,16 +37,15 @@
package net.sourceforge.jnlp;
-import java.io.PrintStream;
-import net.sourceforge.jnlp.runtime.JNLPRuntime;
+import net.sourceforge.jnlp.util.logging.OutputController;
public abstract class AbstractLaunchHandler implements LaunchHandler {
- protected final PrintStream outputStream;
+ protected final OutputController logger;
- public AbstractLaunchHandler(PrintStream outputStream) {
- this.outputStream = outputStream;
+ public AbstractLaunchHandler(OutputController logger) {
+ this.logger = logger;
}
/**
@@ -63,11 +62,10 @@
if (ex.getCause() != null) {
result.append(recursiveDescription(ex.getCause()));
}
- outputStream.println(result);
+ logger.log(OutputController.Level.MESSAGE_ALL, result.toString());
- if (JNLPRuntime.isDebug()) {
- ex.printStackTrace(outputStream);
- }
+ logger.log(ex);
+
}
private String recursiveDescription(Throwable throwable) {
diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/AppletLog.java
--- a/netx/net/sourceforge/jnlp/AppletLog.java Tue Sep 24 13:42:31 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/* AppletLog.java
- Copyright (C) 2011 Red Hat, Inc.
-
-This file is part of IcedTea.
-
-IcedTea is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-IcedTea is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with IcedTea; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-package net.sourceforge.jnlp;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.PrintStream;
-import java.util.logging.FileHandler;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import java.util.logging.XMLFormatter;
-
-import net.sourceforge.jnlp.util.FileUtils;
-
-/**
- * This class writes log information to file.
- *
- * @author Andrew Su (asu at redhat.com, andrew.su at utoronto.ca)
- *
- */
-class AppletLog extends Log {
- private static Logger logger;
- static {
- try {
- // If logging is enabled, we create logger.
- if (enableLogging) {
- String fn = icedteaLogDir + "plugin" + java.lang.System.currentTimeMillis() + ".log";
- FileUtils.createRestrictedFile(new File(fn), true);
- FileHandler fh = new FileHandler(fn, false);
- fh.setFormatter(new XMLFormatter());
- String logClassName = AppletLog.class.getName();
- logger = Logger.getLogger(logClassName);
- logger.setLevel(Level.ALL);
- logger.addHandler(fh);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- private AppletLog() {
- }
-
- /**
- * Log the exception to file.
- *
- * @param e Exception that was thrown.
- */
- public synchronized static void log(Throwable e) {
- if (enableLogging && logger != null) {
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- PrintStream ps = new PrintStream(baos);
- e.printStackTrace(ps);
- logger.log(Level.FINE, baos.toString());
- }
- }
-}
diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/DefaultLaunchHandler.java
--- a/netx/net/sourceforge/jnlp/DefaultLaunchHandler.java Tue Sep 24 13:42:31 2013 -0400
+++ b/netx/net/sourceforge/jnlp/DefaultLaunchHandler.java Wed Sep 25 18:50:18 2013 +0200
@@ -16,9 +16,9 @@
package net.sourceforge.jnlp;
-import java.io.PrintStream;
import net.sourceforge.jnlp.runtime.*;
+import net.sourceforge.jnlp.util.logging.OutputController;
/**
* This default implementation shows prints the exception to
@@ -30,7 +30,7 @@
*/
public class DefaultLaunchHandler extends AbstractLaunchHandler {
- public DefaultLaunchHandler(PrintStream out) {
+ public DefaultLaunchHandler(OutputController out) {
super(out);
}
diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/ExtensionDesc.java
--- a/netx/net/sourceforge/jnlp/ExtensionDesc.java Tue Sep 24 13:42:31 2013 -0400
+++ b/netx/net/sourceforge/jnlp/ExtensionDesc.java Wed Sep 25 18:50:18 2013 +0200
@@ -23,6 +23,7 @@
import java.util.*;
import net.sourceforge.jnlp.runtime.JNLPRuntime;
+import net.sourceforge.jnlp.util.logging.OutputController;
/**
* The extension element.
@@ -122,8 +123,7 @@
if (file == null) {
file = new JNLPFile(location);
- if (JNLPRuntime.isDebug())
- System.out.println("Resolve: " + file.getInformation().getTitle());
+ OutputController.getLogger().log("Resolve: " + file.getInformation().getTitle());
// check for it being an extension descriptor
if (!file.isComponent() && !file.isInstaller())
diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/GuiLaunchHandler.java
--- a/netx/net/sourceforge/jnlp/GuiLaunchHandler.java Tue Sep 24 13:42:31 2013 -0400
+++ b/netx/net/sourceforge/jnlp/GuiLaunchHandler.java Wed Sep 25 18:50:18 2013 +0200
@@ -37,7 +37,6 @@
package net.sourceforge.jnlp;
-import java.io.PrintStream;
import java.lang.reflect.InvocationTargetException;
import java.net.URL;
@@ -47,6 +46,7 @@
import net.sourceforge.jnlp.cache.UpdatePolicy;
import net.sourceforge.jnlp.runtime.ApplicationInstance;
import net.sourceforge.jnlp.util.BasicExceptionDialog;
+import net.sourceforge.jnlp.util.logging.OutputController;
/**
* A {@link LaunchHandler} that gives feedback to the user using GUI elements
@@ -58,7 +58,7 @@
private final Object mutex = new Object();
private UpdatePolicy policy = UpdatePolicy.ALWAYS;
- public GuiLaunchHandler(PrintStream outputStream) {
+ public GuiLaunchHandler(OutputController outputStream) {
super(outputStream);
}
@@ -127,7 +127,7 @@
// Wait till splash screen is created
while (splashScreen == null);
} catch (InvocationTargetException ite) {
- ite.printStackTrace();
+ OutputController.getLogger().log(OutputController.Level.ERROR_ALL, ite);
}
try {
SwingUtilities.invokeAndWait(new Runnable() {
@@ -141,7 +141,7 @@
// Wait till splash screen is created
while (!splashScreen.isSplashImageLoaded());
} catch (InvocationTargetException ite) {
- ite.printStackTrace();
+ OutputController.getLogger().log(OutputController.Level.ERROR_ALL, ite);
}
diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/JNLPFile.java
--- a/netx/net/sourceforge/jnlp/JNLPFile.java Tue Sep 24 13:42:31 2013 -0400
+++ b/netx/net/sourceforge/jnlp/JNLPFile.java Wed Sep 25 18:50:18 2013 +0200
@@ -31,6 +31,7 @@
import net.sourceforge.jnlp.cache.ResourceTracker;
import net.sourceforge.jnlp.cache.UpdatePolicy;
import net.sourceforge.jnlp.runtime.JNLPRuntime;
+import net.sourceforge.jnlp.util.logging.OutputController;
/**
* Provides methods to access the information in a Java Network
@@ -223,8 +224,7 @@
((int)(Math.random()*Integer.MAX_VALUE)) + "-" +
location;
- if (JNLPRuntime.isDebug())
- System.err.println("UNIQUEKEY=" + this.uniqueKey);
+ OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "UNIQUEKEY=" + this.uniqueKey);
}
/**
@@ -243,8 +243,7 @@
this(location, version, settings, policy);
this.uniqueKey = uniqueKey;
- if (JNLPRuntime.isDebug())
- System.err.println("UNIQUEKEY (override) =" + this.uniqueKey);
+ OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "UNIQUEKEY (override) =" + this.uniqueKey);
}
/**
@@ -714,9 +713,7 @@
} catch (ParseException ex) {
throw ex;
} catch (Exception ex) {
- if (JNLPRuntime.isDebug())
- ex.printStackTrace();
-
+ OutputController.getLogger().log(ex);
throw new RuntimeException(ex.toString());
}
}
diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/JNLPMatcher.java
--- a/netx/net/sourceforge/jnlp/JNLPMatcher.java Tue Sep 24 13:42:31 2013 -0400
+++ b/netx/net/sourceforge/jnlp/JNLPMatcher.java Wed Sep 25 18:50:18 2013 +0200
@@ -47,6 +47,7 @@
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedList;
+import net.sourceforge.jnlp.util.logging.OutputController;
import net.sourceforge.nanoxml.XMLElement;
/**
@@ -261,7 +262,7 @@
try {
stream.close();
} catch (Exception e) {
- e.printStackTrace(System.err);
+ OutputController.getLogger().log(OutputController.Level.ERROR_ALL, e);
}
}
@@ -276,7 +277,7 @@
try {
stream.close();
} catch (Exception e) {
- e.printStackTrace(System.err);
+ OutputController.getLogger().log(OutputController.Level.ERROR_ALL, e);
}
}
}
diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/JNLPSplashScreen.java
--- a/netx/net/sourceforge/jnlp/JNLPSplashScreen.java Tue Sep 24 13:42:31 2013 -0400
+++ b/netx/net/sourceforge/jnlp/JNLPSplashScreen.java Wed Sep 25 18:50:18 2013 +0200
@@ -54,6 +54,7 @@
import net.sourceforge.jnlp.splashscreen.SplashUtils;
import net.sourceforge.jnlp.splashscreen.parts.InformationElement;
import net.sourceforge.jnlp.util.ImageResources;
+import net.sourceforge.jnlp.util.logging.OutputController;
import net.sourceforge.jnlp.util.ScreenFinder;
public class JNLPSplashScreen extends JDialog {
@@ -91,19 +92,13 @@
try {
splashImage = ImageIO.read(resourceTracker.getCacheFile(splashImageUrl));
if (splashImage == null) {
- if (JNLPRuntime.isDebug()) {
- System.err.println("Error loading splash image: " + url);
- }
+ OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "Error loading splash image: " + url);
}
} catch (IOException e) {
- if (JNLPRuntime.isDebug()) {
- System.err.println("Error loading splash image: " + url);
- }
+ OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "Error loading splash image: " + url);
splashImage = null;
} catch (IllegalArgumentException argumentException) {
- if (JNLPRuntime.isDebug()) {
- System.err.println("Error loading splash image: " + url);
- }
+ OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "Error loading splash image: " + url);
splashImage = null;
}
}
diff -r a69671b1e1f1 -r a817bb6d12a6 netx/net/sourceforge/jnlp/Launcher.java
--- a/netx/net/sourceforge/jnlp/Launcher.java Tue Sep 24 13:42:31 2013 -0400
+++ b/netx/net/sourceforge/jnlp/Launcher.java Wed Sep 25 18:50:18 2013 +0200
@@ -46,6 +46,7 @@
import javax.swing.text.html.parser.ParserDelegator;
import net.sourceforge.jnlp.runtime.AppletEnvironment;
import net.sourceforge.jnlp.splashscreen.SplashUtils;
+import net.sourceforge.jnlp.util.logging.OutputController;
import sun.awt.SunToolkit;
@@ -77,7 +78,7 @@
/** whether to create an AppContext (if possible) */
private boolean context = true;
- /** If the application should call System.exit on fatal errors */
+ /** If the application should call JNLPRuntime.exit on fatal errors */
private boolean exitOnFailure = true;
private ParserSettings parserSettings = new ParserSettings();
@@ -229,10 +230,10 @@
InetAddress.getByName(file.getSourceLocation().getHost());
} catch (UnknownHostException ue) {
- System.err.println("File cannot be launched because offline-allowed tag not specified and system currently offline.");
+ OutputController.getLogger().log(OutputController.Level.ERROR_ALL, "File cannot be launched because offline-allowed tag not specified and system currently offline.");
return null;
} catch (Exception e) {
- System.err.println(e);
+ OutputController.getLogger().log(e);
}
}
@@ -483,9 +484,7 @@
try {
ServiceUtil.checkExistingSingleInstance(file);
} catch (InstanceExistsException e) {
- if (JNLPRuntime.isDebug()) {
More information about the distro-pkg-dev
mailing list