edu.wisc.ssec.mcidasv
Class StateManager

java.lang.Object
  extended by ucar.unidata.ui.WindowHolder
      extended by ucar.unidata.idv.IdvManager
          extended by ucar.unidata.idv.StateManager
              extended by edu.wisc.ssec.mcidasv.StateManager
All Implemented Interfaces:
Constants, ActionListener, EventListener, HyperlinkListener, IdvConstants

public class StateManager
extends StateManager
implements Constants, HyperlinkListener


Field Summary
private  String version
           
private  String versionAbout
           
private  String visadDate
          Lazily-loaded VisAD build date.
private  String visadVersion
          Lazily-loaded VisAD SVN revision number.
 
Fields inherited from class ucar.unidata.idv.StateManager
PREF_SunAwtDisableMixing, showControlsInTree, userName
 
Fields inherited from class ucar.unidata.ui.WindowHolder
contents, dialog, frame, window
 
Fields inherited from interface edu.wisc.ssec.mcidasv.Constants
BLANK_COMP_GROUP, COMP_MONITORPANEL, DATASELECTOR_NAME, DEFAULT_DOCPATH, DEFAULT_SERVERSTATE, DISPLAY_NAME, DISPLAYCONTROLLER_NAME, ELEMENT_DOUBLE_WIDTH, ELEMENT_DOUBLEDOUBLE_WIDTH, ELEMENT_HALF_WIDTH, ELEMENT_ONEHALF_WIDTH, ELEMENT_WIDTH, 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_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, LOCAL_ADDE_PORT, MACRO_BUILDDATE, MACRO_COPYRIGHT_YEAR, 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_OPEN_LIMIT_WIN, PREF_PRERELEASE_CHECK, PREF_SAVE_DASHBOARD_VIZ, PREF_SERVERSTATE, 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_HOMEPAGE, 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, 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_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_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, PROP_SHOWDASHBOARD, PROP_SHOWDATATREE, PROP_SHOWFORMULAS, PROP_SHOWSPLASH, PROP_SPLASHICON, PROP_UI_DESKTOP, 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
StateManager(IntegratedDataViewer idv)
           
 
Method Summary
 void checkForNewerVersion(boolean notifyDialog)
           
 void checkForNewerVersionPrerelease(boolean notifyDialog)
           
 void checkForNewerVersionStable(boolean notifyDialog)
           
 void checkForNotice(boolean notifyDialog)
           
 void click(String url)
          Handle a click on a link
private  int compareVersions(String thisVersion, String thatVersion)
          Compare version strings 0: equal <0: this version is greater >0: that version is greater
protected  IdvObjectStore doMakeObjectStore()
          Override to set the right user directory
 String getIdvVersion()
           
 boolean getIsPrerelease()
           
 String getJythonVersion()
          Returns the current Jython version.
 String getMcIdasVersion()
           
 String getMcIdasVersionAbout()
           
 String getMcIdasVersionPrerelease()
          Connect to McIDAS website and look for latest prerelease version
 String getMcIdasVersionStable()
          Connect to McIDAS website and look for latest stable version
private  String getNoticeCached()
           
 String getNoticeLatest()
          Connect to McIDAS website and look for latest notice
private  String getNoticePath()
           
 String getOSName()
           
 Object getProperty(String name)
          Get a property
 String getStoreName()
          Overridden to get dir of the unnecessary second level directory.
 String getStoreSystemName()
          Overridden to set default of McIDAS-V
 Hashtable<String,String> getVersionInfo()
          Returns information about the current version of McIDAS-V and the IDV, along with their respective build dates.
 String getVisadDate()
          Return the timestamp from visad.jar was created.
 String getVisadVersion()
          Return the "version" of VisAD.
 void hyperlinkUpdate(HyperlinkEvent e)
          Handle a change to a link
private  void setNoticeCached(String notice)
           
private  int versionToInteger(String version)
          Turn version strings of the form #.
 
Methods inherited from class ucar.unidata.idv.StateManager
applyMacros, applyPreferences, fixIds, getBuildDate, getColorProperty, getDefaultHelpTarget, getDefaultHelpUrl, getHelpRoot, getNumberVersion, getPreference, getPreference, getPreferenceOrProperty, getPreferenceOrProperty, getPreferenceOrProperty, getPreferenceOrProperty, getPreferencePaths, getProperties, getProperty, getProperty, getProperty, getProperty, getRunningIsl, getShouldLoadBundlesSynchronously, getShowControlsInTree, getShowDashboardOnStart, getStore, getTitle, getUserName, getVersion, getVersionAbout, getVersionMajor, getVersionMinor, getVersionRevision, getViewSize, initNewUserDirectory, initObjectStore, initState, initUserDirectory, isLoadingXml, loadProperties, processPropertyTable, putPreference, putProperty, putProperty, setAlwaysLoadBundlesSynchronously, setRunningIsl, setViewSize, writePreference, writePreferences
 
Methods inherited from class ucar.unidata.idv.IdvManager
getArgsManager, getCollabManager, getColorTableManager, getDataManager, getIdv, getIdvChooserManager, getIdvClass, getIdvProjectionManager, getIdvUIManager, getImageGenerator, getInstallManager, getJythonManager, getPersistenceManager, getPreferenceManager, getPublishManager, getResourceManager, getStateManager, getStationModelManager, getVMManager, logException, showNormalCursor, showWaitCursor, waitUntilDisplaysAreDone, waitUntilDisplaysAreDone
 
Methods inherited from class ucar.unidata.ui.WindowHolder
actionPerformed, close, doMakeContents, getContents, getDialog, getFrame, getWindow, getWindowTitle, isShowing, removeAll, setMenuBar, setWindowTitle, shouldMakeDialog, show, show, showModal, toFront, windowIsClosing
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

visadDate

private String visadDate
Lazily-loaded VisAD build date.


visadVersion

private String visadVersion
Lazily-loaded VisAD SVN revision number.


version

private String version

versionAbout

private String versionAbout
Constructor Detail

StateManager

public StateManager(IntegratedDataViewer idv)
Method Detail

doMakeObjectStore

protected IdvObjectStore doMakeObjectStore()
Override to set the right user directory

Overrides:
doMakeObjectStore in class StateManager

hyperlinkUpdate

public void hyperlinkUpdate(HyperlinkEvent e)
Handle a change to a link

Specified by:
hyperlinkUpdate in interface HyperlinkListener
Parameters:
e - the link's event

click

public void click(String url)
Handle a click on a link

Parameters:
url - the link definition

getOSName

public String getOSName()

getMcIdasVersionAbout

public String getMcIdasVersionAbout()

getMcIdasVersion

public String getMcIdasVersion()

getJythonVersion

public String getJythonVersion()
Returns the current Jython version.

Overrides:
getJythonVersion in class StateManager
Returns:
Jython's version information.

getProperty

public Object getProperty(String name)
Get a property

Overrides:
getProperty in class StateManager
Parameters:
name - name of the property
Returns:
the property or null

getVersionInfo

public Hashtable<String,String> getVersionInfo()
Returns information about the current version of McIDAS-V and the IDV, along with their respective build dates.

Returns:
Hashtable containing versioning information.

getVisadDate

public String getVisadDate()
Return the timestamp from visad.jar was created.

Returns:
String representation of the creation timestamp. Likely to change formatting over time.

getVisadVersion

public String getVisadVersion()
Return the "version" of VisAD.

Returns:
Currently returns whatever the SVN revision number was when visad.jar was built.

getIdvVersion

public String getIdvVersion()

getStoreSystemName

public String getStoreSystemName()
Overridden to set default of McIDAS-V

Overrides:
getStoreSystemName in class StateManager

getStoreName

public String getStoreName()
Overridden to get dir of the unnecessary second level directory.

Overrides:
getStoreName in class StateManager
See Also:
StateManager.getStoreName()

getMcIdasVersionStable

public String getMcIdasVersionStable()
Connect to McIDAS website and look for latest stable version


getMcIdasVersionPrerelease

public String getMcIdasVersionPrerelease()
Connect to McIDAS website and look for latest prerelease version


getNoticeLatest

public String getNoticeLatest()
Connect to McIDAS website and look for latest notice


compareVersions

private int compareVersions(String thisVersion,
                            String thatVersion)
Compare version strings 0: equal <0: this version is greater >0: that version is greater


versionToInteger

private int versionToInteger(String version)
Turn version strings of the form #.#(a#) where # is one or two digits, a is one of alpha or beta, and () is optional Into an integer... (empty) > beta > alpha


getIsPrerelease

public boolean getIsPrerelease()

checkForNewerVersion

public void checkForNewerVersion(boolean notifyDialog)

checkForNewerVersionStable

public void checkForNewerVersionStable(boolean notifyDialog)

checkForNewerVersionPrerelease

public void checkForNewerVersionPrerelease(boolean notifyDialog)

checkForNotice

public void checkForNotice(boolean notifyDialog)

getNoticePath

private String getNoticePath()

getNoticeCached

private String getNoticeCached()

setNoticeCached

private void setNoticeCached(String notice)