public class ArgumentManager extends ArgsManager
| Modifier and Type | Field and Description |
|---|---|
static String |
ARG_JYTHONARGS
McIDAS-V flag that signifies everything that follows is a Jython argument.
|
static String |
ARG_LOGPATH |
(package private) String |
defaultUserDirectory
Given by the "-user" argument.
|
private static org.slf4j.Logger |
helpLogger |
private List<String> |
jythonArguments
Jython arguments, if any.
|
private String |
jythonScript
Jython script to execute, or "<none>" if one was not given.
|
static String |
NO_PYTHON_MODULE
"__name__" to use when no Jython/Python script has been provided at startup.
|
static String |
USAGE_MESSAGE
Usage message.
|
argDisplayB64Xml, argXidvFiles, b64Bundles, fileMappingFiles, fileMappingIds, initDisplays, initParams, installPlugins, jythonCode, listResources, noGui, persistentCommandLineArgs, plugins, printJnlpBundles, RUNNABLE_MAX_TRIES, scriptingFiles, testArchive, testDir, testEval, testModecontents, dialog, frame, windowARG_B64BUNDLE, ARG_B64ISL, ARG_BUNDLE, ARG_CATALOG, ARG_CHOOSER, ARG_CLEARDEFAULT, ARG_CODE, ARG_CONNECT, ARG_CURRENTTIME, ARG_DATA, ARG_DEBUG, ARG_DEFAULT, ARG_DISPLAY, ARG_DXML, ARG_FIXEDTIME, ARG_HELP, ARG_IMAGE, ARG_IMAGESERVER, ARG_INSTALLPLUGIN, ARG_ISLFILE, ARG_ISLINTERACTIVE, ARG_LISTRESOURCES, ARG_MAINCLASS, ARG_MOVIE, ARG_MSG_DEBUG, ARG_MSG_RECORD, ARG_NODEFAULT, ARG_NOERRORSINGUI, ARG_NOGUI, ARG_NOONEINSTANCE, ARG_NOPLUGINS, ARG_NOPREF, ARG_ONEINSTANCEPORT, ARG_PLUGIN, ARG_PORT, ARG_PRINTJNLP, ARG_PROPERTIES, ARG_SCRIPT, ARG_SERVER, ARG_SETFILES, ARG_SITEPATH, ARG_TEMPLATE, ARG_TEST, ARG_TESTEVAL, ARG_TRACE, ARG_TRACEONLY, ARG_USERPATH, DEFAULT_DATE_FORMAT, DEFAULT_DOCPATH, DEFAULT_MAX_PERMGENSIZE, DEFAULT_TIMEZONE, FILTER_CPT, FILTER_ISL, FILTER_JNLP, FILTER_XIDV, FILTER_XIDVZIDV, FILTER_XML, FILTER_ZIDV, ID_COMMANDSTORUN, ID_DATASOURCES, ID_DISPLAYCONTROLS, ID_IDV, ID_JYTHON, ID_MESSAGE, ID_MISCHASHTABLE, ID_NCIDV_VERSION, ID_VERSION, ID_VIEWMANAGERS, ID_WINDOWS, INITIAL_PROBE_EARTHLOCATION, NULL_DATA_SELECTION, NULL_STRING, PREF_ARCHIVEDIR, PREF_ARCHIVENAME, PREF_AUTODISPLAYS_ENABLE, PREF_AUTODISPLAYS_SHOWGUI, PREF_AUTOSELECTDATA, PREF_CACHESIZE, PREF_CONTROLSINTABS, PREF_DATAPREFIX, PREF_DATE_FORMAT, PREF_DISTANCEUNIT, PREF_DOCACHE, PREF_EMBEDDATACHOOSERINDASHBOARD, PREF_EMBEDFIELDSELECTORINDASHBOARD, PREF_EMBEDLEGENDINDASHBOARD, PREF_EMBEDQUICKLINKSINDASHBOARD, PREF_EVENT_KEYBOARDMAP, PREF_EVENT_MOUSEMAP, PREF_EVENT_WHEELMAP, PREF_FAST_RENDER, PREF_FIELD_CACHETHRESHOLD, PREF_FILEREADDIR, PREF_FILEWRITEDIR, PREF_GEOMETRY_BY_REF, PREF_HISTORY, PREF_IMAGE_BY_REF, PREF_LARGE_REMOTE_DATA_WARN, PREF_LASTVERSION, PREF_LATLON_FORMAT, PREF_LEGEND_SHOWICONS, PREF_LOCALE, PREF_LOOKANDFEEL, PREF_MAX_PERMGENSIZE, PREF_MAXIMAGESIZE, PREF_MEMORY, PREF_NPOT_IMAGE, PREF_OPEN_ASK, PREF_OPEN_MERGE, PREF_OPEN_REMOVE, PREF_PROJ_LIST, PREF_SAMPLINGMODE, PREF_SHOWCONTROLWINDOW, PREF_SHOWDASHBOARD, PREF_SHOWDECODEDIALOG, PREF_SHOWHIDDENFILES, PREF_SHOWQUITCONFIRM, PREF_SITEPATH, PREF_THREADS_DATA, PREF_THREADS_RENDER, PREF_TIMEZONE, PREF_VERTICALCS, PREF_VERTICALUNIT, PREF_WINDOW_SHOWTOOLBAR, PREF_ZIDV_ASK, PREF_ZIDV_DIRECTORY, PREF_ZIDV_SAVETOTMP, PROP_3DMODE, PROP_ABOUTTEXT, PROP_APPRESOURCEPATH, PROP_CHOOSERS, PROP_CHOOSERS_ALL, PROP_CONTROLDESCRIPTORS, PROP_CONTROLDESCRIPTORS_ALL, PROP_DATAHOLDERBOUNDS, PROP_DEFAULTLOCATIONS, PROP_DISPLAYLIST_GROUP, PROP_FIXFILELOCKUP, PROP_JNLPCODEBASE, PROP_JNLPTEMPLATE, PROP_JNLPTITLE, PROP_LOADINGXML, PROP_MAP_GLOBE_LEVEL, PROP_MAP_MAP_LEVEL, PROP_MINIMUMFRAMECYCLETIME, PROP_MONITORPORT, PROP_OLDCONTROLDESCRIPTORS, PROP_ONEINSTANCEPORT, PROP_PREFERENCES, PROP_PROJ_NAME, PROP_RESOURCEFILES, PROP_SHOWCLOCK_DASH, PROP_SHOWCLOCK_VIEW, PROP_SHOWDASHBOARD, PROP_SHOWDATATREE, PROP_SHOWFORMULAS, PROP_SHOWSPLASH, PROP_SPLASHICON, PROP_UI_DESKTOP, PROP_USE_DISPLAYAREA, PROP_USE_TIMEDRIVER, PROP_VERSIONFILE, PROP_WINDOW_SCREENSIZEOFFSET, PROP_WINDOW_SIZEHEIGHT, PROP_WINDOW_SIZEWIDTH, PROP_WINDOW_USESCREENSIZE, SUFFIX_BAT, SUFFIX_CPT, SUFFIX_ISL, SUFFIX_JNLP, SUFFIX_RBI, SUFFIX_SH, SUFFIX_XIDV, SUFFIX_XML, SUFFIX_ZIDV| Constructor and Description |
|---|
ArgumentManager(IntegratedDataViewer idv,
String[] args)
Just bubblin' on up the inheritance hierarchy.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
clearAutomaticDisplayArgs()
Clears out the automatic display creation arguments by setting
ArgsManager.initParams and ArgsManager.initDisplays to
Collections.emptyList(). |
private static List<String> |
extractJythonArgs(int index,
String... args) |
List<PatternFileFilter> |
getBundleFileFilters() |
List<PatternFileFilter> |
getBundleFilters(boolean fromOpen)
Returns a list of
PatternFileFilters that can be used to determine
if a file is a bundle. |
List<String> |
getJythonArguments()
Returns Jython arguments.
|
String |
getJythonScript()
Returns the name of the Jython script the user has provided.
|
private static JComponent |
getMessageComponent(String msg,
boolean breakLines)
Get the
JComponent that displays the given message. |
protected String |
getUsageMessage()
Append some McIDAS-V specific command line options to the default IDV
usage message.
|
PatternFileFilter |
getXidvFileFilter() |
PatternFileFilter |
getXidvZidvFileFilter() |
PatternFileFilter |
getZidvFileFilter() |
boolean |
hasJythonArguments()
Determine whether or not the user has provided any arguments for a
Jython script.
|
static boolean |
isBundle(String name)
Tests
name to see if it has a known bundle extension. |
boolean |
isXidvFile(String name) |
static boolean |
isXmlBundle(String name)
Tests to see if
name has a known XML bundle extension. |
boolean |
isZidvFile(String name) |
static boolean |
isZippedBundle(String name)
Tests to see if
name has a known zipped bundle extension. |
protected String |
msg(String arg,
String desc)
Format a line in the "usage message" output.
|
protected int |
parseArg(String arg,
String[] args,
int idx)
Currently we're only handling the
-forceaqua flag so we can
mitigate some overlay issues we've been seeing on OS X Leopard. |
protected void |
processInitialBundles()
Gets called by the IDV to process the set of initial files, e.g.,
default bundles, command line bundles, jnlp files, etc.
|
void |
usage(String err)
Print out the command line usage message and exit
|
static void |
userErrorMessage(String msg,
boolean breakLines)
Show a dialog containing an error message.
|
static void |
userMessage(String msg,
boolean breakLines)
Show a dialog containing a message.
|
checkArg, getCollabHostName, getCollabPort, getDoCollabServer, getFixedTimeString, getInitCatalogs, getIslInteractive, getIsOffScreen, getNoGui, getOriginalArgs, initDone, isBundleFile, isDisplayXmlFile, isIslFile, isJnlpFile, isRbiFile, isScriptingMode, parseArgs, parseArgs, preprocessArgs, processInstanceArgs, setIsOffScreengetArgsManager, getCollabManager, getColorTableManager, getDataManager, getIdv, getIdvChooserManager, getIdvClass, getIdvProjectionManager, getIdvUIManager, getImageGenerator, getInstallManager, getJythonManager, getPersistenceManager, getPreferenceManager, getProperty, getProperty, getProperty, getPublishManager, getResourceManager, getStateManager, getStationModelManager, getStore, getVMManager, logException, showNormalCursor, showWaitCursor, waitUntilDisplaysAreDone, waitUntilDisplaysAreDoneactionPerformed, close, doMakeContents, getContents, getDialog, getFrame, getWindow, getWindowTitle, isShowing, removeAll, setMenuBar, setWindowTitle, shouldMakeDialog, show, show, showModal, toFront, windowIsClosingprivate static final org.slf4j.Logger helpLogger
public static final String ARG_JYTHONARGS
public static final String ARG_LOGPATH
public static final String USAGE_MESSAGE
public static final String NO_PYTHON_MODULE
private List<String> jythonArguments
private String jythonScript
String defaultUserDirectory
public ArgumentManager(IntegratedDataViewer idv, String[] args)
idv - The IDV instance.args - The command line arguments that were given.private static List<String> extractJythonArgs(int index, String... args)
protected int parseArg(String arg, String[] args, int idx) throws Exception
-forceaqua flag so we can
mitigate some overlay issues we've been seeing on OS X Leopard.parseArg in class ArgsManagerarg - The current argument we're examining.args - The actual array of arguments.idx - The index of arg within args.Exception - Throw bad things off to something that can handle 'em!private static JComponent getMessageComponent(String msg, boolean breakLines)
JComponent that displays the given message.msg - Message to display.breakLines - Whether or not "long" lines should be broken up.JComponent that displays msg.public static void userMessage(String msg, boolean breakLines)
msg - Message to display.breakLines - If true, long lines are split.public static void userErrorMessage(String msg, boolean breakLines)
msg - Error message to display.breakLines - If true, long lines are split.public void usage(String err)
usage in class ArgsManagererr - The usage messageprotected String msg(String arg, String desc)
ArgsManager.msg(String, String) is that this method prefixes
each line with four "space" characters, rather than a single
"tab" character.msg in class ArgsManagerarg - Commandline argument.desc - Description of the argument.getUsageMessage().protected String getUsageMessage()
getUsageMessage in class ArgsManagerpublic boolean hasJythonArguments()
true if the user has provided Jython arguments,
false otherwise.public List<String> getJythonArguments()
public String getJythonScript()
protected void processInitialBundles() throws VisADException, RemoteException
Overridden by McIDAS-V to remove bundle file paths that are zero
characters long. This was happening because runMcV.bat was
always passing '-bundle ""' on the command line (for Windows).
processInitialBundles in class ArgsManagerVisADException - When something untoward happensRemoteException - When something untoward happenspublic List<PatternFileFilter> getBundleFileFilters()
getBundleFileFilters in class ArgsManagerArgsManager.getBundleFileFilters()public List<PatternFileFilter> getBundleFilters(boolean fromOpen)
PatternFileFilters that can be used to determine
if a file is a bundle.
If fromOpen is true, the
returned list will contain PatternFileFilters for bundles as
well as JNLP and ISL files. If false, the returned list will
only contain filters for XML and zipped bundles.
fromOpen - Whether or not this has been called from an
"open file" dialog.public PatternFileFilter getXidvFileFilter()
getXidvFileFilter in class ArgsManagerArgsManager.getXidvFileFilter()public PatternFileFilter getZidvFileFilter()
getZidvFileFilter in class ArgsManagerArgsManager.getZidvFileFilter()public PatternFileFilter getXidvZidvFileFilter()
getXidvZidvFileFilter in class ArgsManagerArgsManager.getXidvZidvFileFilter()public boolean isZidvFile(String name)
isZidvFile in class ArgsManagerpublic boolean isXidvFile(String name)
isXidvFile in class ArgsManagerpublic static boolean isXmlBundle(String name)
name has a known XML bundle extension.name - Name of the bundle.name has an XML bundle suffix.public static boolean isZippedBundle(String name)
name has a known zipped bundle extension.name - Name of the bundle.name has zipped bundle suffix.public static boolean isBundle(String name)
name to see if it has a known bundle extension.name - Name of the bundle.name has a bundle suffix.protected void clearAutomaticDisplayArgs()
ArgsManager.initParams and ArgsManager.initDisplays to
Collections.emptyList().