From: BobHanson Date: Sun, 7 Jun 2020 23:39:37 +0000 (-0500) Subject: JAL-3446 AppletParams X-Git-Url: http://source.jalview.org/gitweb/?p=jalview.git;a=commitdiff_plain;h=3f865a8b811c9a52a2f6dcfca6768f18afc33379 JAL-3446 AppletParams --- diff --git a/doc/JalviewJS-startupParams.xlsx b/doc/JalviewJS-startupParams.xlsx new file mode 100644 index 0000000..d32fc48 Binary files /dev/null and b/doc/JalviewJS-startupParams.xlsx differ diff --git a/src/jalview/bin/AppletParams.java b/src/jalview/bin/AppletParams.java index 3642985..726734d 100644 --- a/src/jalview/bin/AppletParams.java +++ b/src/jalview/bin/AppletParams.java @@ -8,7 +8,15 @@ import java.util.Map; import jalview.gui.Preferences; /** - * Collection of all known applet tags from JalviewLite + * Collection of all known applet tags from JalviewLite. + * Three cases; can be one or more of these: + * + * CASE I. args[] name and value for ArgsParser + * + * CASE II. applet parameter for JalviewJSApp + * + * CASE III. mapped to a Preference + * * * @author hansonr * @@ -163,14 +171,20 @@ public class AppletParams extends HashMap // note that Application arguments ARE case-sensitive, but // Applet.getParameter() is not. - String appletName = prefName.toLowerCase(); - String argName = prefName; + // prefName // CASE III + + String argName = null; // CASE I + + String appletName = prefName.toLowerCase(); // CASE II + + // by nulling one or more of these names, that route will not be used. + switch (appletName) { case "file": argName = "open"; - appletName = null; + prefName = null; value = resourcePath + value; break; case "file2": @@ -178,27 +192,34 @@ public class AppletParams extends HashMap prefName = null; value = resourcePath + value; break; - case "features": - case "jnetfile": - case "jpredfile": - case "pdbfile": - case "scorefile": - case "sequence": + case "oninit": + case "hidefeaturegroups": + // applet parameter only // setting argName to null indicates that we want - // JalviewJSApp to take care of this using getParameter or getParameterAsObject - prefName = argName = null; - value = resourcePath + value; + // JalviewJSApp to take care of this using getParameter or getParameterAsObject + prefName = argName = null; break; case "tree": case "treefile": // setting appletName to null indicates that we want // Jalview.doMain to taken care of this as Jalview args argName = "tree"; - appletName = null; + prefName = null; value = resourcePath + value; break; - // non-loading preferences + case "features": + case "jnetfile": + case "jpredfile": + case "pdbfile": + case "scorefile": + case "sequence": + case "annotations": + prefName = argName = null; + value = resourcePath + value; + break; + + // non-loading preferences case "defaultcolour": prefName = Preferences.DEFAULT_COLOUR; @@ -240,33 +261,23 @@ public class AppletParams extends HashMap case "wrap": prefName = Preferences.WRAP_ALIGNMENT; break; + case "sortbytree": + argName = prefName; + prefName = Preferences.SORT_BY_TREE; + value = checkTF(value); + break; // implemented; not tested: - case "oninit": - argName = null; - break; - case "annotations": - value = resourcePath + value; - argName = null; - break; - case "hidefeaturegroups": - // TODO - break; case "pdbseq": - argName = prefName = null; - break; - case "sortbytree": - prefName = Preferences.SORT_BY_TREE; - value = checkTF(value); - appletName = null; // taken care of by Jalview + case "alignpdbfiles": + prefName = null; break; case "format": - break; - case "alignpdbfiles": - argName = prefName = null; + argName = prefName; break; case "separator": + argName = prefName; break; // TODO: probably not relevant? @@ -305,17 +316,13 @@ public class AppletParams extends HashMap case "widthscale": case "windowheight": case "windowwidth": - argName = prefName = null; + prefName = null; break; // TRUE/FALSE case "debug": - value = checkTF(value); - break; case "embedded": - value = checkTF(value); - break; case "showbutton": value = checkTF(value); break; @@ -355,25 +362,15 @@ public class AppletParams extends HashMap prefName = Preferences.SHOW_CONSENSUS_LOGO; value = checkTF(value); break; - case "showfeaturegroups": + case "showunconserved": + prefName = Preferences.SHOW_UNCONSERVED; value = checkTF(value); break; + case "showfeaturegroups": case "showfeaturesettings": - value = checkTF(value); - break; case "showfullid": - value = checkTF(value); - break; case "showtreebootstraps": - value = checkTF(value); - break; case "showtreedistances": - value = checkTF(value); - break; - case "showunconserved": - prefName = Preferences.SHOW_UNCONSERVED; - value = checkTF(value); - break; case "showunlinkedtreenodes": value = checkTF(value); break; @@ -391,6 +388,9 @@ public class AppletParams extends HashMap break; } + // CASE I. args[] name and value for ArgsParser + // + // If given an argument name, // put name and value into application args if (value != null && argName != null) { @@ -400,16 +400,22 @@ public class AppletParams extends HashMap vargs.add(value.toString()); } } + + // CASE II. applet parameter for JalviewJSApp + if (value == null) { value = "false"; } System.out.println("AppletParams propName=" + prefName + " argName=" - + argName + " appletName=" + appletName + " value=" + value); + + argName + " appletName=" + appletName + " value=" + value); if (appletName != null) { appletParams.put(appletName, value); } + + // CASE III. mapped to a Preference + if (prefName != null) { Cache.setPropertyNoSave(prefName, value.toString());