public class ArgumentManager extends ucar.unidata.idv.ArgsManager
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ARG_DOACTION
Flag that allows users to automatically run an action after startup.
|
static java.lang.String |
ARG_JYTHONARGS
McIDAS-V flag that signifies everything that follows is a Jython
argument.
|
static java.lang.String |
ARG_LOGPATH
Flag used to set the path to mcidasv.log.
|
(package private) java.lang.String |
defaultUserDirectory
Given by the "-user" argument.
|
private static org.slf4j.Logger |
helpLogger |
private java.util.List<java.lang.String> |
jythonArguments
Jython arguments, if any.
|
private java.lang.String |
jythonScript
Jython script to execute, or "<none>" if one was not given.
|
static java.lang.String |
NO_PYTHON_MODULE
"__name__" to use when no Jython/Python script has been
provided at startup.
|
private java.lang.String |
startupAction
Holds the ID of an action to automatically run after starting McV.
|
static java.lang.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, testMode
ARG_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_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_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(ucar.unidata.idv.IntegratedDataViewer idv,
java.lang.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 java.util.List<java.lang.String> |
extractJythonArgs(int index,
java.lang.String... args) |
java.util.List<ucar.unidata.util.PatternFileFilter> |
getBundleFileFilters() |
java.util.List<ucar.unidata.util.PatternFileFilter> |
getBundleFilters(boolean fromOpen)
Returns a list of
PatternFileFilter s that can be used to determine
if a file is a bundle. |
java.util.List<java.lang.String> |
getJythonArguments()
Returns Jython arguments.
|
java.lang.String |
getJythonScript()
Returns the name of the Jython script the user has provided.
|
private static javax.swing.JComponent |
getMessageComponent(java.lang.String msg,
boolean breakLines)
Get the
JComponent that displays the given message. |
protected java.lang.String |
getUsageMessage()
Append some McIDAS-V specific command line options to the default IDV
usage message.
|
ucar.unidata.util.PatternFileFilter |
getXidvFileFilter() |
ucar.unidata.util.PatternFileFilter |
getXidvZidvFileFilter() |
ucar.unidata.util.PatternFileFilter |
getZidvFileFilter() |
boolean |
hasJythonArguments()
Determine whether or not the user has provided any arguments for a
Jython script.
|
static boolean |
isBundle(java.lang.String name)
Tests
name to see if it has a known bundle extension. |
boolean |
isXidvFile(java.lang.String name) |
static boolean |
isXmlBundle(java.lang.String name)
Tests to see if
name has a known XML bundle extension. |
boolean |
isZidvFile(java.lang.String name) |
static boolean |
isZippedBundle(java.lang.String name)
Tests to see if
name has a known zipped bundle extension. |
protected java.lang.String |
msg(java.lang.String arg,
java.lang.String desc)
Format a line in the "usage message" output.
|
protected int |
parseArg(java.lang.String arg,
java.lang.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 |
runStartupAction()
Runs the action ID stored in
startupAction . |
void |
usage(java.lang.String err)
Print out the command line usage message and exit
|
static void |
userErrorMessage(java.lang.String msg,
boolean breakLines)
Show a dialog containing an error message.
|
static void |
userMessage(java.lang.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, setIsOffScreen
getArgsManager, 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, waitUntilDisplaysAreDone
private static final org.slf4j.Logger helpLogger
public static final java.lang.String ARG_JYTHONARGS
public static final java.lang.String ARG_LOGPATH
public static final java.lang.String ARG_DOACTION
public static final java.lang.String USAGE_MESSAGE
public static final java.lang.String NO_PYTHON_MODULE
private java.util.List<java.lang.String> jythonArguments
private java.lang.String jythonScript
private java.lang.String startupAction
java.lang.String defaultUserDirectory
public ArgumentManager(ucar.unidata.idv.IntegratedDataViewer idv, java.lang.String[] args)
idv
- The IDV instance.args
- The command line arguments that were given.private static java.util.List<java.lang.String> extractJythonArgs(int index, java.lang.String... args)
protected int parseArg(java.lang.String arg, java.lang.String[] args, int idx) throws java.lang.Exception
-forceaqua
flag so we can
mitigate some overlay issues we've been seeing on OS X Leopard.parseArg
in class ucar.unidata.idv.ArgsManager
arg
- The current argument we're examining.args
- The actual array of arguments.idx
- The index of arg
within args
.java.lang.Exception
- Throw bad things off to something that can handle 'em!public void runStartupAction()
startupAction
.
Calling this method will result in the contents of startupAction
being deleted.private static javax.swing.JComponent getMessageComponent(java.lang.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(java.lang.String msg, boolean breakLines)
msg
- Message to display.breakLines
- If true
, long lines are split.public static void userErrorMessage(java.lang.String msg, boolean breakLines)
msg
- Error message to display.breakLines
- If true
, long lines are split.public void usage(java.lang.String err)
usage
in class ucar.unidata.idv.ArgsManager
err
- The usage messageprotected java.lang.String msg(java.lang.String arg, java.lang.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 ucar.unidata.idv.ArgsManager
arg
- Commandline argument.desc
- Description of the argument.getUsageMessage()
.protected java.lang.String getUsageMessage()
getUsageMessage
in class ucar.unidata.idv.ArgsManager
public boolean hasJythonArguments()
true
if the user has provided Jython arguments,
false
otherwise.public java.util.List<java.lang.String> getJythonArguments()
List
of Strings
containing the
arguments or an empty List
if there were no arguments given.public java.lang.String getJythonScript()
protected void processInitialBundles() throws VisADException, java.rmi.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 ucar.unidata.idv.ArgsManager
VisADException
- When something untoward happensjava.rmi.RemoteException
- When something untoward happenspublic java.util.List<ucar.unidata.util.PatternFileFilter> getBundleFileFilters()
getBundleFileFilters
in class ucar.unidata.idv.ArgsManager
ArgsManager.getBundleFileFilters()
public java.util.List<ucar.unidata.util.PatternFileFilter> getBundleFilters(boolean fromOpen)
PatternFileFilter
s that can be used to determine
if a file is a bundle.
If fromOpen
is true
, the
returned list will contain PatternFileFilter
s for bundles as
well as 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 ucar.unidata.util.PatternFileFilter getXidvFileFilter()
getXidvFileFilter
in class ucar.unidata.idv.ArgsManager
ArgsManager.getXidvFileFilter()
public ucar.unidata.util.PatternFileFilter getZidvFileFilter()
getZidvFileFilter
in class ucar.unidata.idv.ArgsManager
ArgsManager.getZidvFileFilter()
public ucar.unidata.util.PatternFileFilter getXidvZidvFileFilter()
getXidvZidvFileFilter
in class ucar.unidata.idv.ArgsManager
ArgsManager.getXidvZidvFileFilter()
public boolean isZidvFile(java.lang.String name)
isZidvFile
in class ucar.unidata.idv.ArgsManager
public boolean isXidvFile(java.lang.String name)
isXidvFile
in class ucar.unidata.idv.ArgsManager
public static boolean isXmlBundle(java.lang.String name)
name
has a known XML bundle extension.name
- Name of the bundle.name
has an XML bundle suffix.public static boolean isZippedBundle(java.lang.String name)
name
has a known zipped bundle extension.name
- Name of the bundle.name
has zipped bundle suffix.public static boolean isBundle(java.lang.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()
.