aboutsummaryrefslogtreecommitdiffstats
path: root/netx
diff options
context:
space:
mode:
authorOmair Majid <[email protected]>2013-09-09 11:32:36 -0400
committerOmair Majid <[email protected]>2013-09-09 11:32:36 -0400
commiteae8bd5edfb2300861eb1e646595b27b68293829 (patch)
tree0ad66a0bdefaa8472b8b61b98151bbd316021efd /netx
parent6d8f2f2829a06dee43cfe08eea2be162836b65a3 (diff)
PR1533: Inherit jnlp.packEnabled and jnlp.versionEnabled like other properties
Treat jnlp.packEnabled and jnlp.versionEnabled just like other properties that can be set in one resource element and inherited/filtered in others. 2013-09-09 Omair Majid <[email protected]> * netx/net/sourceforge/jnlp/JNLPFile.java (getDownloadOptionsForJar): Rename to ... (getDownloadOptions): New method. Look up jnlp.packEnabled and jnlp.versionEnabled in any resources element. * netx/net/sourceforge/jnlp/PluginBridge.java (getDownloadOptionsForJar): Rename to ... (getDownloadOptions): New method. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (initializeResources): Invoke file.getDownloadResources. (getDownloadOptionsForJar): Remove. * tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java (testDownloadOptionsAppliedEverywhere): New method. (testDownloadOptionsFilteredOut): New method.
Diffstat (limited to 'netx')
-rw-r--r--netx/net/sourceforge/jnlp/JNLPFile.java29
-rw-r--r--netx/net/sourceforge/jnlp/PluginBridge.java2
-rw-r--r--netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java6
3 files changed, 10 insertions, 27 deletions
diff --git a/netx/net/sourceforge/jnlp/JNLPFile.java b/netx/net/sourceforge/jnlp/JNLPFile.java
index f8c953e..a48ed7e 100644
--- a/netx/net/sourceforge/jnlp/JNLPFile.java
+++ b/netx/net/sourceforge/jnlp/JNLPFile.java
@@ -20,7 +20,6 @@ import static net.sourceforge.jnlp.runtime.Translator.R;
import java.io.IOException;
import java.io.InputStream;
-import java.io.Reader;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
@@ -791,29 +790,17 @@ public class JNLPFile {
}
/**
- * XXX: this method does a "==" comparison between the input JARDesc and
- * jars it finds through getResourcesDescs(). If ever the implementation
- * of that function should change to return copies of JARDescs objects,
- * then the "jar == aJar" comparison below should change accordingly.
- * @param jar the jar whose download options to get.
- * @return the download options.
+ * @return the download options to use for downloading jars listed in this jnlp file.
*/
- public DownloadOptions getDownloadOptionsForJar(JARDesc jar) {
+ public DownloadOptions getDownloadOptions() {
boolean usePack = false;
boolean useVersion = false;
- ResourcesDesc[] descs = getResourcesDescs();
- for (ResourcesDesc desc: descs) {
- JARDesc[] jars = desc.getJARs();
- for (JARDesc aJar: jars) {
- if (jar == aJar) {
- if (Boolean.valueOf(desc.getPropertiesMap().get("jnlp.packEnabled"))) {
- usePack = true;
- }
- if (Boolean.valueOf(desc.getPropertiesMap().get("jnlp.versionEnabled"))) {
- useVersion = true;
- }
- }
- }
+ ResourcesDesc desc = getResources();
+ if (Boolean.valueOf(desc.getPropertiesMap().get("jnlp.packEnabled"))) {
+ usePack = true;
+ }
+ if (Boolean.valueOf(desc.getPropertiesMap().get("jnlp.versionEnabled"))) {
+ useVersion = true;
}
return new DownloadOptions(usePack, useVersion);
}
diff --git a/netx/net/sourceforge/jnlp/PluginBridge.java b/netx/net/sourceforge/jnlp/PluginBridge.java
index 4f4c8f1..51c22a1 100644
--- a/netx/net/sourceforge/jnlp/PluginBridge.java
+++ b/netx/net/sourceforge/jnlp/PluginBridge.java
@@ -228,7 +228,7 @@ public class PluginBridge extends JNLPFile {
* {@inheritDoc }
*/
@Override
- public DownloadOptions getDownloadOptionsForJar(JARDesc jar) {
+ public DownloadOptions getDownloadOptions() {
return new DownloadOptions(usePack, useVersion);
}
diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java
index a74f541..4efa435 100644
--- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java
+++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java
@@ -626,7 +626,7 @@ public class JNLPClassLoader extends URLClassLoader {
tracker.addResource(jars[i].getLocation(),
jars[i].getVersion(),
- getDownloadOptionsForJar(jars[i]),
+ file.getDownloadOptions(),
jars[i].isCacheable() ? JNLPRuntime.getDefaultUpdatePolicy() : UpdatePolicy.FORCE
);
}
@@ -1966,10 +1966,6 @@ public class JNLPClassLoader extends URLClassLoader {
}
}
- private DownloadOptions getDownloadOptionsForJar(JARDesc jar) {
- return file.getDownloadOptionsForJar(jar);
- }
-
/**
* Returns a set of paths that indicate the Class-Path entries in the
* manifest file. The paths are rooted in the same directory as the