changeset 169:6db9ffeb881b

Refactored extras/net/sourceforge/jnlp to extras/net/sourceforge/javaws/ as first step to get rid of all-permitions tag in abouyt.jnlp, boot.java is now reading about.jnlp from insttall directory. About.jnlp codebase redirected to local directory by dot.
author Jiri Vanek <jvanek@redhat.com>
date Wed, 16 Mar 2011 11:46:24 +0100
parents 091c5e83d793
children 2d359e723fef
files ChangeLog Makefile.am extra/net/sourceforge/javaws/about/HTMLPanel.java extra/net/sourceforge/javaws/about/Main.java extra/net/sourceforge/javaws/about/resources/about.html extra/net/sourceforge/javaws/about/resources/applications.html extra/net/sourceforge/javaws/about/resources/jamIcon.jpg extra/net/sourceforge/javaws/about/resources/notes.html extra/net/sourceforge/jnlp/about/HTMLPanel.java extra/net/sourceforge/jnlp/about/Main.java extra/net/sourceforge/jnlp/about/resources/about.html extra/net/sourceforge/jnlp/about/resources/applications.html extra/net/sourceforge/jnlp/about/resources/jamIcon.jpg extra/net/sourceforge/jnlp/about/resources/notes.html netx/net/sourceforge/jnlp/resources/about.jnlp netx/net/sourceforge/jnlp/runtime/Boot.java
diffstat 16 files changed, 377 insertions(+), 357 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Tue Mar 15 11:11:07 2011 -0400
+++ b/ChangeLog	Wed Mar 16 11:46:24 2011 +0100
@@ -1,3 +1,14 @@
+2011-03-02  Jiri Vanek  <jvanek@redhat.com>
+
+	* netx/net/sourceforge/jnlp/runtime/Boot.java: getAboutFile changed to 
+	return path to local about.jnlp instead to  inner-from-jar
+	* extras/net/sourceforge/jnlp/: refactored to 
+	extras/net/sourceforge/javaws/, as /net/sourceforge/jnlp/ package 
+	must be run with all-permissions.
+	* netx/net/sourceforge/jnlp/resources/about.jnlp: codebase changed 
+	to "."
+
+
 2011-03-15  Denis Lila  <dlila@redhat.com>
 
 	* netx/net/sourceforge/jnlp/Launcher.java
--- a/Makefile.am	Tue Mar 15 11:11:07 2011 -0400
+++ b/Makefile.am	Wed Mar 16 11:46:24 2011 +0100
@@ -3,7 +3,8 @@
 NETX_DIR = $(abs_top_builddir)/netx.build
 NETX_SRCDIR = $(abs_top_srcdir)/netx
 NETX_RESOURCE_DIR=$(NETX_SRCDIR)/net/sourceforge/jnlp/resources
-NETX_EXTRA_DIR=$(abs_top_srcdir)/extra/net/sourceforge/jnlp/about/resources
+NETX_EXTRA_DIR=$(abs_top_srcdir)/extra/net/sourceforge/javaws/about/resources
+NETX_EXTRA_DIST_DIR=$(abs_top_builddir)/extra-lib/net/sourceforge/javaws/about/resources
 
 # Build directories
 
@@ -305,7 +306,7 @@
 	 for files in $$(find . -type f); \
 	 do \
 	   ${INSTALL_DATA} -D $${files} \
-	   ${abs_top_builddir}/extra-lib/net/sourceforge/jnlp/about/resources/$${files}; \
+	   $(NETX_EXTRA_DIST_DIR)/$${files}; \
 	 done)
 	mkdir -p stamps
 	touch $@
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/extra/net/sourceforge/javaws/about/HTMLPanel.java	Wed Mar 16 11:46:24 2011 +0100
@@ -0,0 +1,59 @@
+/* HTMLPanel.java
+   Copyright (C) 2008 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, version 2.
+
+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.javaws.about;
+
+import java.awt.BorderLayout;
+import java.io.IOException;
+import java.net.URL;
+
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JEditorPane;
+
+public class HTMLPanel extends JPanel {
+
+	JEditorPane pane;
+	
+	public HTMLPanel(URL url) throws IOException {
+		super(new BorderLayout());
+		pane = new JEditorPane(url);
+		pane.setEditable(false);
+		JScrollPane scroller = new JScrollPane(pane);
+		add(scroller, BorderLayout.CENTER);
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/extra/net/sourceforge/javaws/about/Main.java	Wed Mar 16 11:46:24 2011 +0100
@@ -0,0 +1,135 @@
+/* Main.java
+   Copyright (C) 2008 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, version 2.
+
+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.javaws.about;
+
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.Toolkit;
+import java.io.IOException;
+import java.net.URL;
+
+import javax.swing.JFrame;
+import javax.swing.JPanel;
+import javax.swing.JTabbedPane;
+import javax.swing.UIManager;
+import javax.swing.event.HyperlinkEvent;
+import javax.swing.event.HyperlinkListener;
+
+import net.sourceforge.jnlp.Launcher;
+import net.sourceforge.jnlp.runtime.JNLPRuntime;
+
+public class Main extends JPanel implements HyperlinkListener {
+
+	private final String notes = "/net/sourceforge/jnlp/about/resources/notes.html";
+	private final String apps = "/net/sourceforge/jnlp/about/resources/applications.html";
+	private final String about = "/net/sourceforge/jnlp/about/resources/about.html";
+	JTabbedPane tabbedPane;
+
+	public Main() throws IOException {
+		super(new BorderLayout());
+		
+		HTMLPanel notesPanel = new HTMLPanel(getClass().getResource(notes));
+		HTMLPanel appsPanel = new HTMLPanel(getClass().getResource(apps));
+		HTMLPanel aboutPanel = new HTMLPanel(getClass().getResource(about));
+		
+		appsPanel.pane.addHyperlinkListener(this);
+		
+		tabbedPane = new JTabbedPane();
+
+		tabbedPane.add("About NetX", aboutPanel);
+		tabbedPane.add("Applications", appsPanel);
+		tabbedPane.add("Notes", notesPanel);
+		
+		tabbedPane.setPreferredSize(new Dimension(550,410));
+		add(tabbedPane, BorderLayout.CENTER);
+	}
+
+	private static void createAndShowGUI() {
+		JNLPRuntime.setExitClass(Main.class);
+		
+		try {
+			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
+		} catch (Exception e) {	
+		}
+		
+		JFrame frame = new JFrame("About NetX");
+		frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
+		Main demo = null;
+		try {
+			demo = new Main();
+		} catch (Exception e) {
+			e.printStackTrace();
+			System.exit(1);
+		}
+		demo.setOpaque(true);
+		frame.setContentPane(demo);
+		frame.pack();
+		centerDialog(frame);
+		frame.setVisible(true);
+	}
+	
+    private static void centerDialog(JFrame frame) {
+        Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
+        Dimension dialogSize = frame.getSize();
+
+        frame.setLocation((screen.width - dialogSize.width)/2,
+            (screen.height - dialogSize.height)/2);
+    }
+
+	public static void main(String[] args) {
+		javax.swing.SwingUtilities.invokeLater(new Runnable() {
+			public void run() {
+				createAndShowGUI();
+			}
+		});
+	}
+
+	public void hyperlinkUpdate(HyperlinkEvent e) {
+		if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
+			URL url = e.getURL();
+
+			Launcher launcher = new Launcher(
+					JNLPRuntime.getDefaultLaunchHandler());
+			try {
+				launcher.launchBackground(url);
+			} catch (Exception ex) {
+				ex.printStackTrace();
+			}
+		}
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/extra/net/sourceforge/javaws/about/resources/about.html	Wed Mar 16 11:46:24 2011 +0100
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+    <head>
+        <title>
+        </title>
+    </head>
+    <body>
+        <b>NetX</b> is a high-quality JNLP client that executes
+        network-based applications.  
+        <br>NetX downloads code over the
+        network, caches it, and runs it in a secure sandbox
+        environment (unless signed).
+        <br><br><big><b>
+                Features of NetX:
+        </b></big>
+        <ul>
+            <li><b>Modular: </b>Easily add JNLP capabilities to an application.</li>
+            <li><b>Small Size: </b>Loads from a ~130K JAR file.</li>
+            <li><b>Saves Memory: </b>Launch programs in a shared JVM.</li>
+            <li><b>Fast startup:</b> Runs applications from a cache for fast starting. </li>
+            <li><b>Security:</b> Run any application in a sandbox or log its activities.</li>
+            <li><b>Auto-Update:</b> Applications can auto-update without special code.</li>
+            <li><b>Network Deployment:</b> Deploy to the internet, not with installers. </li>
+            <li><b>Open Source:</b> GNU Lesser General Public License.</li>
+        </ul>
+    </body>
+</html>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/extra/net/sourceforge/javaws/about/resources/applications.html	Wed Mar 16 11:46:24 2011 +0100
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<title>Applications</title>
+</head>
+<body>
+
+<big><b>Sample Applications:</b></big><br>
+<b>&nbsp;&nbsp;&nbsp;<a href="http://www.jGoodies.com/download/jdiskreport/jdiskreport.jnlp">jDiskReport</a> -</b> http://www.jGoodies.com/download/jdiskreport/jdiskreport.jnlp<br>
+<b>&nbsp;&nbsp;&nbsp;<a href="http://www.jgoodies.com/download/jpathreport/jpathreport.jnlp">jPathReport</a> -</b> http://www.jgoodies.com/download/jpathreport/jpathreport.jnlp<br>
+<b>&nbsp;&nbsp;&nbsp;<a href="http://www.L2FProd.com/software/skinlf/jnlp/demo.php">Skin L2F Demo</a> -</b> http://www.L2FProd.com/software/skinlf/jnlp/demo.php<br>
+<b>&nbsp;&nbsp;&nbsp;<a href="http://www.glub.com/products/secureftp/secureftp.jnlp">Secure FTP</a> -</b> http://www.glub.com/products/secureftp/secureftp.jnlp<br>
+<b>&nbsp;&nbsp;&nbsp;<a href="http://www.jext.org/apps/jext.jnlp">Jext</a> -</b> http://www.jext.org/apps/jext.jnlp<br>
+<b>&nbsp;&nbsp;&nbsp;<a href="http://www.javazoom.net/jlgui/jws/jlgui.jnlp">Java Music Player</a> -</b> http://www.javazoom.net/jlgui/jws/jlgui.jnlp<br>
+<br>
+<big><b>Apps using netx:</b></big><br>
+<b>&nbsp;&nbsp;&nbsp;<a href="http://jnlp.sourceforge.net/netx/start/start.jnlp">Java Start Button</a> -</b> http://jnlp.sourceforge.net/netx/start/start.jnlp<br>
+<br>
+<big><b>Sun Demos:</b></big><br>
+<b>&nbsp;&nbsp;&nbsp;<a href="http://java.sun.com/products/javawebstart/apps/swingset2.jnlp">SwingSet2</a> -</b> http://java.sun.com/products/javawebstart/apps/swingset2.jnlp<br>
+<b>&nbsp;&nbsp;&nbsp;<a href="http://java.sun.com/products/javawebstart/apps/notepad.jnlp">Notepad</a> -</b> http://java.sun.com/products/javawebstart/apps/notepad.jnlp<br>
+<b>&nbsp;&nbsp;&nbsp;<a href="http://java.sun.com/products/javawebstart/apps/draw.jnlp">Draw</a> -</b> http://java.sun.com/products/javawebstart/apps/draw.jnlp<br>
+<b>&nbsp;&nbsp;&nbsp;<a href="http://java.sun.com/products/javawebstart/apps/mg.jnlp">Military Game</a> -</b> http://java.sun.com/products/javawebstart/apps/mg.jnlp<br>
+<br>
+<big><b>Tests:</b></big><br>
+&nbsp;&nbsp;&nbsp;<a href="http://www.acm.vt.edu/~jmaxwell/security/SecurityTest.jnlp">Security Test</a><br>
+&nbsp;&nbsp;&nbsp;<a href="http://www.acm.vt.edu/~jmaxwell/security/SecurityTestSigned.jnlp">Security Test (signed)</a><br>
+&nbsp;&nbsp;&nbsp;<a href="http://www.acm.vt.edu/~jmaxwell/security/StrictTest.jnlp">Security Test (signed; fail strict JNLP)</a><br>
+&nbsp;&nbsp;&nbsp;<a href="http://www.acm.vt.edu/~jmaxwell/security/PermissionList.jnlp">Permission Test</a><br>
+&nbsp;&nbsp;&nbsp;<a href="http://www.acm.vt.edu/~jmaxwell/security/PermissionListSigned.jnlp">Permission Test (signed)</a>
+<table cellpadding="0" cellspacing="0" border="0">
+		<tbody><tr><td valign="Top" nowrap="true" bgcolor="#ffffff" width="500"><br>
+		</td></tr></tbody>
+</table>
+</body>
+</html>
Binary file extra/net/sourceforge/javaws/about/resources/jamIcon.jpg has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/extra/net/sourceforge/javaws/about/resources/notes.html	Wed Mar 16 11:46:24 2011 +0100
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+	<head>
+		<title>Release Notes</title>
+	</head>
+	<body>
+	<br>
+	<table cellpadding="2" cellspacing="2" border="0" width="100%">
+		<tbody>
+		<tr>
+			<td valign="Top" width="15"></td>
+			<td valign="Top" width="100%">
+				<table cellpadding="0" cellspacing="0" border="0" align="Center">
+					<tbody>
+						<tr>
+							<td valign="Middle" align="Center" nowrap="true"><div align="Center">
+								<img src="jamIcon.jpg" alt="Jam Icon" width="87" height="84" align="Center">
+								</div>
+							</td>
+						</tr>
+						<tr>
+							<td valign="Middle" nowrap="true" align="Justify">
+								<div align="Center">
+								<b>Lillian Angel</b> <br>
+								<b>Deepak Bhole</b> <br>
+								<b>Thomas Fitzsimmons</b> <br>
+								<b>Andrew John Hughes</b> <br>
+								<b>Matthias Klose </b> <br>
+								<b>Francis Kung</b> <br>
+								<b>Omair Majid</b> <br>
+								<b>Jon A. Maxwell</b> <br>
+								<b>Andrew Su</b> <br>
+								<b>Joshua Sumali</b> <br>
+								<b>Mark Wielaard</b> <br>
+								<b>Man Lung Wong</b> <br>
+								</div>
+							</td>
+						</tr>
+					</tbody>
+				</table>
+			</td>
+		</tr>
+		</tbody>
+	</table>
+<br>
+<big><b>Release Notes</b></big>
+<br>
+<table cellpadding="0" cellspacing="0" border="0">
+	<tbody>
+		<tr>
+			<td valign="Top" width="15"><br></td>
+			
+
+			<td valign="Top"> 
+			NetX on IcedTea: Security Support
+			<ul>
+				<li> Full signed application support </li>
+				<li> User trusted certificates support </li>
+				<li> Some JNLP API Services implemented </li>
+				<li> Improved unsigned application sandboxing with JNLP API </li>
+			</ul>
+			</td>
+		</tr>
+		<tr>
+			<td valign="Top" width="15"><br></td>
+			<td valign="Top"> 
+			Version 0.5: Refines multi-app capabilities + native code support
+			<ul>
+				<li> Released under LGPL. </li> 
+				<li> Separate event queue, look and feel, etc for each application. </li> 
+				<li> Native code support. </li> 
+				<li> Supports headless mode. </li> 
+				<li> Internationalized messages. </li> 
+				<li> Uses NanoXML parser. </li> 
+				<li> Minor changes listed on project web site... </li> 
+			</ul>
+
+			</td>
+		</tr>
+	</tbody>
+</table>
+<b>Please visit the SourceForge site
+	<a href="http://jnlp.sourceforge.net/netx/index.html">
+		http://jnlp.sourceforge.net/netx/index.html
+	</a>
+	and the IcedTea site
+	<a href="http://iced-tea.org">http://iced-tea.org</a>
+	 for more information.</b><br>
+</body>
+</html>
--- a/extra/net/sourceforge/jnlp/about/HTMLPanel.java	Tue Mar 15 11:11:07 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/* HTMLPanel.java
-   Copyright (C) 2008 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, version 2.
-
-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.about;
-
-import java.awt.BorderLayout;
-import java.io.IOException;
-import java.net.URL;
-
-import javax.swing.JPanel;
-import javax.swing.JScrollPane;
-import javax.swing.JEditorPane;
-
-public class HTMLPanel extends JPanel {
-
-	JEditorPane pane;
-	
-	public HTMLPanel(URL url) throws IOException {
-		super(new BorderLayout());
-		pane = new JEditorPane(url);
-		pane.setEditable(false);
-		JScrollPane scroller = new JScrollPane(pane);
-		add(scroller, BorderLayout.CENTER);
-	}
-}
--- a/extra/net/sourceforge/jnlp/about/Main.java	Tue Mar 15 11:11:07 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/* Main.java
-   Copyright (C) 2008 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, version 2.
-
-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.about;
-
-import java.awt.BorderLayout;
-import java.awt.Dimension;
-import java.awt.Toolkit;
-import java.io.IOException;
-import java.net.URL;
-
-import javax.swing.JFrame;
-import javax.swing.JPanel;
-import javax.swing.JTabbedPane;
-import javax.swing.UIManager;
-import javax.swing.event.HyperlinkEvent;
-import javax.swing.event.HyperlinkListener;
-
-import net.sourceforge.jnlp.Launcher;
-import net.sourceforge.jnlp.runtime.JNLPRuntime;
-
-public class Main extends JPanel implements HyperlinkListener {
-
-	private final String notes = "/net/sourceforge/jnlp/about/resources/notes.html";
-	private final String apps = "/net/sourceforge/jnlp/about/resources/applications.html";
-	private final String about = "/net/sourceforge/jnlp/about/resources/about.html";
-	JTabbedPane tabbedPane;
-
-	public Main() throws IOException {
-		super(new BorderLayout());
-		
-		HTMLPanel notesPanel = new HTMLPanel(getClass().getResource(notes));
-		HTMLPanel appsPanel = new HTMLPanel(getClass().getResource(apps));
-		HTMLPanel aboutPanel = new HTMLPanel(getClass().getResource(about));
-		
-		appsPanel.pane.addHyperlinkListener(this);
-		
-		tabbedPane = new JTabbedPane();
-
-		tabbedPane.add("About NetX", aboutPanel);
-		tabbedPane.add("Applications", appsPanel);
-		tabbedPane.add("Notes", notesPanel);
-		
-		tabbedPane.setPreferredSize(new Dimension(550,410));
-		add(tabbedPane, BorderLayout.CENTER);
-	}
-
-	private static void createAndShowGUI() {
-		JNLPRuntime.setExitClass(Main.class);
-		
-		try {
-			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
-		} catch (Exception e) {	
-		}
-		
-		JFrame frame = new JFrame("About NetX");
-		frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
-		Main demo = null;
-		try {
-			demo = new Main();
-		} catch (Exception e) {
-			e.printStackTrace();
-			System.exit(1);
-		}
-		demo.setOpaque(true);
-		frame.setContentPane(demo);
-		frame.pack();
-		centerDialog(frame);
-		frame.setVisible(true);
-	}
-	
-    private static void centerDialog(JFrame frame) {
-        Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
-        Dimension dialogSize = frame.getSize();
-
-        frame.setLocation((screen.width - dialogSize.width)/2,
-            (screen.height - dialogSize.height)/2);
-    }
-
-	public static void main(String[] args) {
-		javax.swing.SwingUtilities.invokeLater(new Runnable() {
-			public void run() {
-				createAndShowGUI();
-			}
-		});
-	}
-
-	public void hyperlinkUpdate(HyperlinkEvent e) {
-		if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
-			URL url = e.getURL();
-
-			Launcher launcher = new Launcher(
-					JNLPRuntime.getDefaultLaunchHandler());
-			try {
-				launcher.launchBackground(url);
-			} catch (Exception ex) {
-				ex.printStackTrace();
-			}
-		}
-	}
-}
--- a/extra/net/sourceforge/jnlp/about/resources/about.html	Tue Mar 15 11:11:07 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-    <head>
-        <title>
-        </title>
-    </head>
-    <body>
-        <b>NetX</b> is a high-quality JNLP client that executes
-        network-based applications.  
-        <br>NetX downloads code over the
-        network, caches it, and runs it in a secure sandbox
-        environment (unless signed).
-        <br><br><big><b>
-                Features of NetX:
-        </b></big>
-        <ul>
-            <li><b>Modular: </b>Easily add JNLP capabilities to an application.</li>
-            <li><b>Small Size: </b>Loads from a ~130K JAR file.</li>
-            <li><b>Saves Memory: </b>Launch programs in a shared JVM.</li>
-            <li><b>Fast startup:</b> Runs applications from a cache for fast starting. </li>
-            <li><b>Security:</b> Run any application in a sandbox or log its activities.</li>
-            <li><b>Auto-Update:</b> Applications can auto-update without special code.</li>
-            <li><b>Network Deployment:</b> Deploy to the internet, not with installers. </li>
-            <li><b>Open Source:</b> GNU Lesser General Public License.</li>
-        </ul>
-    </body>
-</html>
-
--- a/extra/net/sourceforge/jnlp/about/resources/applications.html	Tue Mar 15 11:11:07 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<title>Applications</title>
-</head>
-<body>
-
-<big><b>Sample Applications:</b></big><br>
-<b>&nbsp;&nbsp;&nbsp;<a href="http://www.jGoodies.com/download/jdiskreport/jdiskreport.jnlp">jDiskReport</a> -</b> http://www.jGoodies.com/download/jdiskreport/jdiskreport.jnlp<br>
-<b>&nbsp;&nbsp;&nbsp;<a href="http://www.jgoodies.com/download/jpathreport/jpathreport.jnlp">jPathReport</a> -</b> http://www.jgoodies.com/download/jpathreport/jpathreport.jnlp<br>
-<b>&nbsp;&nbsp;&nbsp;<a href="http://www.L2FProd.com/software/skinlf/jnlp/demo.php">Skin L2F Demo</a> -</b> http://www.L2FProd.com/software/skinlf/jnlp/demo.php<br>
-<b>&nbsp;&nbsp;&nbsp;<a href="http://www.glub.com/products/secureftp/secureftp.jnlp">Secure FTP</a> -</b> http://www.glub.com/products/secureftp/secureftp.jnlp<br>
-<b>&nbsp;&nbsp;&nbsp;<a href="http://www.jext.org/apps/jext.jnlp">Jext</a> -</b> http://www.jext.org/apps/jext.jnlp<br>
-<b>&nbsp;&nbsp;&nbsp;<a href="http://www.javazoom.net/jlgui/jws/jlgui.jnlp">Java Music Player</a> -</b> http://www.javazoom.net/jlgui/jws/jlgui.jnlp<br>
-<br>
-<big><b>Apps using netx:</b></big><br>
-<b>&nbsp;&nbsp;&nbsp;<a href="http://jnlp.sourceforge.net/netx/start/start.jnlp">Java Start Button</a> -</b> http://jnlp.sourceforge.net/netx/start/start.jnlp<br>
-<br>
-<big><b>Sun Demos:</b></big><br>
-<b>&nbsp;&nbsp;&nbsp;<a href="http://java.sun.com/products/javawebstart/apps/swingset2.jnlp">SwingSet2</a> -</b> http://java.sun.com/products/javawebstart/apps/swingset2.jnlp<br>
-<b>&nbsp;&nbsp;&nbsp;<a href="http://java.sun.com/products/javawebstart/apps/notepad.jnlp">Notepad</a> -</b> http://java.sun.com/products/javawebstart/apps/notepad.jnlp<br>
-<b>&nbsp;&nbsp;&nbsp;<a href="http://java.sun.com/products/javawebstart/apps/draw.jnlp">Draw</a> -</b> http://java.sun.com/products/javawebstart/apps/draw.jnlp<br>
-<b>&nbsp;&nbsp;&nbsp;<a href="http://java.sun.com/products/javawebstart/apps/mg.jnlp">Military Game</a> -</b> http://java.sun.com/products/javawebstart/apps/mg.jnlp<br>
-<br>
-<big><b>Tests:</b></big><br>
-&nbsp;&nbsp;&nbsp;<a href="http://www.acm.vt.edu/~jmaxwell/security/SecurityTest.jnlp">Security Test</a><br>
-&nbsp;&nbsp;&nbsp;<a href="http://www.acm.vt.edu/~jmaxwell/security/SecurityTestSigned.jnlp">Security Test (signed)</a><br>
-&nbsp;&nbsp;&nbsp;<a href="http://www.acm.vt.edu/~jmaxwell/security/StrictTest.jnlp">Security Test (signed; fail strict JNLP)</a><br>
-&nbsp;&nbsp;&nbsp;<a href="http://www.acm.vt.edu/~jmaxwell/security/PermissionList.jnlp">Permission Test</a><br>
-&nbsp;&nbsp;&nbsp;<a href="http://www.acm.vt.edu/~jmaxwell/security/PermissionListSigned.jnlp">Permission Test (signed)</a>
-<table cellpadding="0" cellspacing="0" border="0">
-		<tbody><tr><td valign="Top" nowrap="true" bgcolor="#ffffff" width="500"><br>
-		</td></tr></tbody>
-</table>
-</body>
-</html>
Binary file extra/net/sourceforge/jnlp/about/resources/jamIcon.jpg has changed
--- a/extra/net/sourceforge/jnlp/about/resources/notes.html	Tue Mar 15 11:11:07 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-	<head>
-		<title>Release Notes</title>
-	</head>
-	<body>
-	<br>
-	<table cellpadding="2" cellspacing="2" border="0" width="100%">
-		<tbody>
-		<tr>
-			<td valign="Top" width="15"></td>
-			<td valign="Top" width="100%">
-				<table cellpadding="0" cellspacing="0" border="0" align="Center">
-					<tbody>
-						<tr>
-							<td valign="Middle" align="Center" nowrap="true"><div align="Center">
-								<img src="jamIcon.jpg" alt="Jam Icon" width="87" height="84" align="Center">
-								</div>
-							</td>
-						</tr>
-						<tr>
-							<td valign="Middle" nowrap="true" align="Justify">
-								<div align="Center">
-								<b>Lillian Angel</b> <br>
-								<b>Deepak Bhole</b> <br>
-								<b>Thomas Fitzsimmons</b> <br>
-								<b>Andrew John Hughes</b> <br>
-								<b>Matthias Klose </b> <br>
-								<b>Francis Kung</b> <br>
-								<b>Omair Majid</b> <br>
-								<b>Jon A. Maxwell</b> <br>
-								<b>Andrew Su</b> <br>
-								<b>Joshua Sumali</b> <br>
-								<b>Mark Wielaard</b> <br>
-								<b>Man Lung Wong</b> <br>
-								</div>
-							</td>
-						</tr>
-					</tbody>
-				</table>
-			</td>
-		</tr>
-		</tbody>
-	</table>
-<br>
-<big><b>Release Notes</b></big>
-<br>
-<table cellpadding="0" cellspacing="0" border="0">
-	<tbody>
-		<tr>
-			<td valign="Top" width="15"><br></td>
-			
-
-			<td valign="Top"> 
-			NetX on IcedTea: Security Support
-			<ul>
-				<li> Full signed application support </li>
-				<li> User trusted certificates support </li>
-				<li> Some JNLP API Services implemented </li>
-				<li> Improved unsigned application sandboxing with JNLP API </li>
-			</ul>
-			</td>
-		</tr>
-		<tr>
-			<td valign="Top" width="15"><br></td>
-			<td valign="Top"> 
-			Version 0.5: Refines multi-app capabilities + native code support
-			<ul>
-				<li> Released under LGPL. </li> 
-				<li> Separate event queue, look and feel, etc for each application. </li> 
-				<li> Native code support. </li> 
-				<li> Supports headless mode. </li> 
-				<li> Internationalized messages. </li> 
-				<li> Uses NanoXML parser. </li> 
-				<li> Minor changes listed on project web site... </li> 
-			</ul>
-
-			</td>
-		</tr>
-	</tbody>
-</table>
-<b>Please visit the SourceForge site
-	<a href="http://jnlp.sourceforge.net/netx/index.html">
-		http://jnlp.sourceforge.net/netx/index.html
-	</a>
-	and the IcedTea site
-	<a href="http://iced-tea.org">http://iced-tea.org</a>
-	 for more information.</b><br>
-</body>
-</html>
--- a/netx/net/sourceforge/jnlp/resources/about.jnlp	Tue Mar 15 11:11:07 2011 -0400
+++ b/netx/net/sourceforge/jnlp/resources/about.jnlp	Wed Mar 16 11:46:24 2011 +0100
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<jnlp spec="1.0" href="about.jnlp" codebase="http://icedtea.classpath.org/netx/">
+<jnlp spec="1.0" href="about.jnlp" codebase=".">
   <information>
     <title>About window for NetX</title>
     <vendor>NetX</vendor>
@@ -11,10 +11,7 @@
     <j2se version="1.4+"/>
     <jar href="about.jar"/>
   </resources>
-  <security>
-    <all-permissions/>
-  </security>
-  <application-desc main-class="net.sourceforge.jnlp.about.Main">
+  <application-desc main-class="net.sourceforge.javaws.about.Main">
   </application-desc>
 </jnlp>
 
--- a/netx/net/sourceforge/jnlp/runtime/Boot.java	Tue Mar 15 11:11:07 2011 -0400
+++ b/netx/net/sourceforge/jnlp/runtime/Boot.java	Wed Mar 16 11:46:24 2011 +0100
@@ -218,8 +218,19 @@
             cl = ClassLoader.getSystemClassLoader();
         }
         try {
-            return cl.getResource("net/sourceforge/jnlp/resources/about.jnlp").toString();
-        } catch (Exception e) {
+                    //extracts full path to about.jnlp
+            String s = cl.getResource("net/sourceforge/jnlp/runtime/Boot.class").toString();
+            s=s.substring(0,s.indexOf("!"));
+            s=s.substring(s.indexOf(":")+1);
+            s=s.substring(s.indexOf(":")+1);
+            s="file://"+s.replace("netx.jar","about.jnlp");
+            if (JNLPRuntime.isDebug()){
+                System.out.println("Using " + s + " as about.jnlp URL");
+            }
+
+            return s;
+         } catch (Exception e) {
+            e.printStackTrace();
             return null;
         }
     }