Class StartupManager
java.lang.Object
edu.wisc.ssec.mcidasv.startupmanager.StartupManager
- All Implemented Interfaces:
Constants
,IdvConstants
Manages the McIDAS-V startup options in a context that is completely free
from the traditional IDV/McIDAS-V overhead.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static class
private static class
private static class
private static class
static class
private static class
static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate JPanel
Panel containing the startup options.private JPanel
Panel to use for all other preference panels while running startup manager.private JPanel
Contains the various buttons (Apply, Ok, Help, Cancel).private static final String
Path to the McIDAS-V help set within mcv_userguide.jar.private static final String
ID of the startup prefs help page.static final RenderingHints
Cached copy of the application rendering hints.private static StartupManager
private final JList
Contains the list of the different preference panels.private final Platform
The type of platform as reported bydeterminePlatform()
.static final String[][]
static final Object[][]
static final String
usage messageFields inherited from interface edu.wisc.ssec.mcidasv.Constants
BLANK_COMP_GROUP, COMP_MONITORPANEL, DATASELECTOR_NAME, DEFAULT_COLOR_PICKER_SIZE, DEFAULT_DOCPATH, DEFAULT_MAP_Z_LEVEL, DEFAULT_SERVERSTATE, DISPLAY_NAME, DISPLAYCONTROLLER_NAME, ELEMENT_DOUBLE_WIDTH, ELEMENT_DOUBLEDOUBLE_WIDTH, ELEMENT_HALF_WIDTH, ELEMENT_ONEHALF_WIDTH, ELEMENT_WIDTH, EVENT_FILECHOOSER_START, EVENT_FILECHOOSER_STOP, FILTER_MCV, FILTER_MCVMCVZ, FILTER_MCVZ, GAP_RELATED, GAP_UNRELATED, HOMEPAGE_URL, ICON_ACCEPT_SMALL, ICON_ADD_SMALL, ICON_APPLY_SMALL, ICON_BACKGROUND_SMALL, ICON_CANCEL, ICON_CANCEL_SMALL, ICON_CHECKVERSION_SMALL, ICON_COLORTABLE_SMALL, ICON_CONNECT_SMALL, ICON_CONSOLE_SMALL, ICON_DATAEXPLORER_SMALL, ICON_DEFAULTLAYOUT_SMALL, ICON_DEFAULTLAYOUTADD_SMALL, ICON_DEFAULTLAYOUTDELETE_SMALL, ICON_DELETE_SMALL, ICON_DISCONNECT_SMALL, ICON_ERROR_SMALL, ICON_EXCLAMATION_SMALL, ICON_FAVORITE_SMALL, ICON_FAVORITEMANAGE_SMALL, ICON_FAVORITESAVE_SMALL, ICON_FORUMS_SMALL, ICON_GETTINGSTARTED_SMALL, ICON_HELP, ICON_HELP_SMALL, ICON_HELPTIPS_SMALL, ICON_INFORMATION_SMALL, ICON_LAYOUTEDIT_SMALL, ICON_LOCALDATA_SMALL, ICON_LOCATION_SMALL, ICON_MCIDASV_DEFAULT, ICON_MCIDASV_SMALL, ICON_NEWTAB_SMALL, ICON_NEWWINDOW_SMALL, ICON_NEXT_SMALL, ICON_NOTE_SMALL, ICON_OPEN, ICON_OPEN_SMALL, ICON_PREFERENCES_SMALL, ICON_PREVIOUS_SMALL, ICON_RANDOM_SMALL, ICON_RANGEANDBEARING_SMALL, ICON_REDO_SMALL, ICON_REFRESH, ICON_REFRESH_SMALL, ICON_REMOVE_SMALL, ICON_REMOVEDATA_SMALL, ICON_REMOVELAYERS_SMALL, ICON_REMOVELAYERSDATA_SMALL, ICON_SAVE, ICON_SAVE_SMALL, ICON_SAVEAS_SMALL, ICON_SUPPORT_SMALL, ICON_UNDO_SMALL, ICON_UPDATE, ICON_USERSGUIDE_SMALL, lineStyles, LOCAL_ADDE_PORT, MACRO_BUILDDATE, MACRO_COPYRIGHT_YEAR, MACRO_GRANULE_COUNT, MACRO_IDV_VERSION, MACRO_VERSION, MACRO_VISAD_VERSION, MAX_MEMORY_32BIT, MCV_BLUE, MCV_BLUE_DARK, NOTICE_URL, OS_OSX, PANEL_NAME, PREF_AUTO_SAVE_DEFAULT_LAYOUT, PREF_CONFIRM_REMOVE_BOTH, PREF_CONFIRM_REMOVE_DATA, PREF_CONFIRM_REMOVE_LAYERS, PREF_IMAGE_PREVIEW, PREF_LIST_ADDE_SERVERS, PREF_LIST_ADVANCED, PREF_LIST_AVAILABLE_DISPLAYS, PREF_LIST_DATA_CHOOSERS, PREF_LIST_FORMATS_DATA, PREF_LIST_GENERAL, PREF_LIST_LOCAL_ADDE, PREF_LIST_NAV_CONTROLS, PREF_LIST_TOOLBAR, PREF_LIST_VIEW, PREF_MODIFY_DEFAULT_COLOR_TABLE, PREF_NUM_IMAGE_PRESET_IMGCHOOSER, PREF_NUM_IMAGE_PRESET_RADARCHOOSER, PREF_OPEN_LIMIT_WIN, PREF_PRERELEASE_CHECK, PREF_SAVE_DASHBOARD_VIZ, PREF_SERVERSTATE, PREF_SHOW_SYSTEM_BUNDLES, PREF_SYSTEMSERVERSIMG, PREF_TBM_SIZE, PREF_VERSION_CHECK, PRERELEASE_URL, PROP_ABOUTTEXT, PROP_APP_ICON, PROP_BUILD_DATE, PROP_CHAN, PROP_COPYRIGHT_YEAR, PROP_DASHBOARD_BOUNDS, PROP_GRANULE_COUNT, PROP_HOMEPAGE, PROP_HYDRA_360, PROP_RECENT_COLORS, PROP_SERVERS, PROP_SERVERS_ALL, PROP_SYSMEM, PROP_TABBED_UI, PROP_VERSION_MAJOR, PROP_VERSION_MINOR, PROP_VERSION_RELEASE, PROP_VERSIONFILE, PROP_VISAD_DATE, PROP_VISAD_ORIGINAL, PROP_VISAD_PARSE_FAIL, PROP_VISAD_REVISION, PROP_VP_CATOPEN, PROP_VP_SHOWCATS, PROP_VP_SHOWPOPUP, PROPERTIES_FILE, SCRUB_STRINGS_FILE, SUFFIX_MCV, SUFFIX_MCVZ, TOOLTIP_PROGRESSIVE_RESOLUTION, USER_DIRECTORY_NAME, VERSION_HANDLER_URL, VERSION_URL
Fields inherited from interface ucar.unidata.idv.IdvConstants
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_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_APPEARANCEMODE, 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_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_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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic void
Applies the command line arguments to the startup preferences.private JPanel
Creates and returns the advanced preferences panel.private JPanel
Builds and returns aJPanel
containing the various buttons that control the startup manager.private JPanel
Creates and returns a dummy panel.void
Copies a file.protected void
Build and display the startup manager window.private Platform
Figures out the type of platform.getAdvancedPanel
(boolean forceBuild) Returns the advanced preferences panel.static Properties
getArgs
(boolean ignoreUnknown, boolean fromStartupManager, String[] args, Properties defaults) Extract any command-line properties and their corresponding values.Returns a panel containing the Apply/Ok/Help/Cancel buttons.static Properties
static StartupManager
static int
static RenderingHints
Creates and returns the rendering hints for the GUI.private Container
Returns the preferences panel that corresponds with the user'sJList
selection.Extracts all startup preferences and returns them in a convenientMap
.protected static String
Return the command line usage message.void
Saves the changes to the preferences and quits.protected void
Simply quits the program.protected void
Shows the startup preferences help page.protected void
handleOk()
Saves the preference changes.static void
private static void
Print out the command line usage message and exit.
-
Field Details
-
PREF_PANELS
-
RENDER_HINTS
-
USAGE_MESSAGE
usage message- See Also:
-
HELP_PATH
Path to the McIDAS-V help set within mcv_userguide.jar.- See Also:
-
HELP_TARGET
ID of the startup prefs help page.- See Also:
-
platform
The type of platform as reported bydeterminePlatform()
. -
HINTS
Cached copy of the application rendering hints. -
panelList
Contains the list of the different preference panels. -
ADVANCED_PANEL
Panel containing the startup options. -
BAD_CHOICE_PANEL
Panel to use for all other preference panels while running startup manager. -
COMMAND_ROW_PANEL
Contains the various buttons (Apply, Ok, Help, Cancel). -
instance
-
-
Constructor Details
-
StartupManager
private StartupManager()
-
-
Method Details
-
getInstance
-
getRenderingHints
Creates and returns the rendering hints for the GUI. Built fromRENDER_HINTS
- Returns:
- Hints to use when displaying the GUI.
-
determinePlatform
Figures out the type of platform. Queries the "os.name" system property to determine the platform type.- Returns:
Platform.UNIXLIKE
,Platform.WINDOWS
, orPlatform.MAC
.
-
getPlatform
- Returns:
- The platform as determined by
determinePlatform()
.
-
handleApply
Saves the changes to the preferences and quits. Unlike the other button handling methods, this one is public. This was done so that the advanced preferences (within McIDAS-V) can force an update to the startup prefs. -
handleOk
Saves the preference changes. -
handleHelp
Shows the startup preferences help page. -
handleCancel
Simply quits the program. -
getSelectedPanel
Returns the preferences panel that corresponds with the user'sJList
selection.In the context of the startup manager, this means that any
JList
selection other than "Advanced" will return the results ofgetUnavailablePanel()
. Otherwise the results ofgetAdvancedPanel(boolean)
will be returned.- Returns:
- Either the advanced preferences panel or an "unavailable", depending upon the user's selection.
-
buildAdvancedPanel
Creates and returns the advanced preferences panel.- Returns:
- Panel with all the various startup options.
-
buildCommandRow
Builds and returns aJPanel
containing the various buttons that control the startup manager. These buttons offer identical functionality to those built by the IDV's preference manager code.- Returns:
- A
JPanel
containing the following types of buttons:StartupManager.ApplyButton
,StartupManager.OkButton
,StartupManager.HelpButton
, andStartupManager.CancelButton
. - See Also:
-
getAdvancedPanel
Returns the advanced preferences panel. Differs from thebuildAdvancedPanel()
in that a panel isn't created, unlessforceBuild
istrue
.- Parameters:
forceBuild
- Always rebuilds the advanced panel iftrue
.- Returns:
- Panel containing the startup options.
-
getCommandRow
Returns a panel containing the Apply/Ok/Help/Cancel buttons.- Returns:
- Panel containing the command row.
-
createDisplay
Build and display the startup manager window. -
copy
Copies a file.- Parameters:
src
- The file to copy.dst
- The path to the copy ofsrc
.- Throws:
IOException
- If there was a problem while attempting to copy.
-
getDefaultProperties
-
getArgs
public static Properties getArgs(boolean ignoreUnknown, boolean fromStartupManager, String[] args, Properties defaults) Extract any command-line properties and their corresponding values.May print out usage information if a badly formatted "property=value" pair is encountered, or when an unknown argument is found (depending on value of the
ignoreUnknown
parameter).NOTE:
null
is not a permitted value for any parameter.- Parameters:
ignoreUnknown
- Whether or not to handle unknown arguments.fromStartupManager
- Whether or not this call originated fromstartupmanager.jar
.args
- Array containing command-line arguments.defaults
- Default parameter values.- Returns:
- Command-line arguments as a collection of property identifiers and values.
-
getMaximumHeapSize
-
usage
Print out the command line usage message and exit. Taken entirely fromArgsManager
.- Parameters:
err
- The usage message
-
getUsageMessage
Return the command line usage message.- Returns:
- The usage message
-
applyArgs
public static void applyArgs(boolean ignoreUnknown, boolean fromStartupManager, String[] args) throws IllegalArgumentException Applies the command line arguments to the startup preferences. This method is mostly useful because it allows us to supply an arbitraryargs
array, link inMcIDASV.main(String[])
.- Parameters:
ignoreUnknown
- Iftrue
ignore any parameters that do not apply to the startup manager. Iffalse
, the non-applicable parameters should signify an error.fromStartupManager
- Whether or not this call originated from the startup manager (rather than preferences).args
- Incoming command line arguments. Cannot benull
.- Throws:
NullPointerException
- ifargs
is null.IllegalArgumentException
- See Also:
-
getStartupPrefs
Extracts all startup preferences and returns them in a convenientMap
.- Returns:
- Either a
HashMap
mapping "preference ID" to its corresponding value, or an empty map.
-
main
-