/** * Select the JRE to choose. The selection algorithm will try to match based on the order * specified in the JNLP file. For example, * * <p><j2se version="1.3 1.2"/> <j2se version="1.4"/> * * <p>If a wildcard is used, e.g., 1.2+ or 1.2*, we will try to match on the current running or * highest version installed * * <p>Will match on the platform versions 1.3 1.2 1.4 in that given order */ static ConfigProperties.JREInformation selectJRE(LaunchDesc ld) { final JREDesc selectedJREDesc[] = new JREDesc[1]; final ConfigProperties.JREInformation selectedJRE[] = new ConfigProperties.JREInformation[1]; // Iterate through all JREDesc's ResourcesDesc rdescs = ld.getResources(); rdescs.visit( new ResourceVisitor() { public void visitJARDesc(JARDesc jad) { /* ignore */ } public void visitPropertyDesc(PropertyDesc prd) { /* ignore */ } public void visitPackageDesc(PackageDesc pad) { /* ignore */ } public void visitExtensionDesc(ExtensionDesc ed) { /* ignore */ } public void visitJREDesc(JREDesc jre) { if (selectedJRE[0] == null) { handleJREDesc(jre, selectedJRE, selectedJREDesc); } } }); // Mark the selected JRE in launchDesc selectedJREDesc[0].markAsSelected(); return selectedJRE[0]; }