From aeb8dbac97efe7dec9452a406c8b93e1eeef07cf Mon Sep 17 00:00:00 2001
From: Denis Lila <dlila@redhat.com>
Date: Fri, 4 Mar 2011 18:16:07 -0500
Subject: Fix PR658

---
 netx/net/sourceforge/jnlp/PluginBridge.java | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

(limited to 'netx/net/sourceforge/jnlp/PluginBridge.java')

diff --git a/netx/net/sourceforge/jnlp/PluginBridge.java b/netx/net/sourceforge/jnlp/PluginBridge.java
index a3ef9f3..b8f493a 100644
--- a/netx/net/sourceforge/jnlp/PluginBridge.java
+++ b/netx/net/sourceforge/jnlp/PluginBridge.java
@@ -40,6 +40,8 @@ public class PluginBridge extends JNLPFile {
     String[] cacheJars = new String[0];
     String[] cacheExJars = new String[0];
     Hashtable<String, String> atts;
+    private boolean usePack;
+    private boolean useVersion;
 
     public PluginBridge(URL codebase, URL documentBase, String jar, String main,
                         int width, int height, Hashtable<String, String> atts)
@@ -134,6 +136,27 @@ public class PluginBridge extends JNLPFile {
         // same page can communicate (there are applets known to require 
         // such communication for proper functionality)
         this.uniqueKey = documentBase.toString();
+
+        usePack = false;
+        useVersion = false;
+        String jargs = atts.get("java_arguments");
+        if (jargs != null) {
+            for (String s : jargs.split(" ")) {
+                String[] parts = s.trim().split("=");
+                if (parts.length == 2 && Boolean.valueOf(parts[1])) {
+                    if ("-Djnlp.packEnabled".equals(parts[0])) {
+                        usePack = true;
+                    } else if ("-Djnlp.versionEnabled".equals(parts[0])) {
+                        useVersion = true;
+                    }
+                }
+            }
+        }
+    }
+
+    @Override
+    public DownloadOptions getDownloadOptionsForJar(JARDesc jar) {
+        return new DownloadOptions(usePack, useVersion);
     }
 
     public String getTitle() {
-- 
cgit v1.2.3