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 classprivate static classprivate static classprivate static classstatic classprivate static classstatic class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate JPanelPanel containing the startup options.private JPanelPanel to use for all other preference panels while running startup manager.private JPanelContains the various buttons (Apply, Ok, Help, Cancel).private static final StringPath to the McIDAS-V help set within mcv_userguide.jar.private static final StringID of the startup prefs help page.static final RenderingHintsCached copy of the application rendering hints.private static StartupManagerprivate final JListContains the list of the different preference panels.private final PlatformThe type of platform as reported bydeterminePlatform().static final String[][]static final Object[][]static final Stringusage 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_RELATIVE_TIME_BUNDLE, 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_URLFields 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 voidApplies the command line arguments to the startup preferences.private JPanelCreates and returns the advanced preferences panel.private JPanelBuilds and returns aJPanelcontaining the various buttons that control the startup manager.private JPanelCreates and returns a dummy panel.voidCopies a file.protected voidBuild and display the startup manager window.private PlatformFigures out the type of platform.getAdvancedPanel(boolean forceBuild) Returns the advanced preferences panel.static PropertiesgetArgs(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 Propertiesstatic StartupManagerstatic intstatic RenderingHintsCreates and returns the rendering hints for the GUI.private ContainerReturns the preferences panel that corresponds with the user'sJListselection.Extracts all startup preferences and returns them in a convenientMap.protected static StringReturn the command line usage message.voidSaves the changes to the preferences and quits.protected voidSimply quits the program.protected voidShows the startup preferences help page.protected voidhandleOk()Saves the preference changes.static voidprivate static voidPrint 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'sJListselection.In the context of the startup manager, this means that any
JListselection 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 aJPanelcontaining 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
JPanelcontaining 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, unlessforceBuildistrue.- 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
ignoreUnknownparameter).NOTE:
nullis 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 arbitraryargsarray, link inMcIDASV.main(String[]).- Parameters:
ignoreUnknown- Iftrueignore 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- ifargsis null.IllegalArgumentException- See Also:
-
getStartupPrefs
Extracts all startup preferences and returns them in a convenientMap.- Returns:
- Either a
HashMapmapping "preference ID" to its corresponding value, or an empty map.
-
main
-