JMap: Fully support SWT/RCP with minor enhancement to Java Swing Runtime

Idea created by schultjd on May 30, 2014
    • schultjd
    • basileChandesris
    • ruckc
    While the ESRI Java Runtime is a Swing-based runtime, it can be successfully used in a professional SWT/RCP GIS application. By using the SWT_AWT Bridge the JMap Swing-based mapping toolset can be used effectively in an RCP applcaition. Implementing it this way will make the maps instantiate and function correctly about 95 to 98 percent of the time. The remaining 2 to 5 percent of the time the same code produces a map that is instantiated but NOT PAINTED TO THE OUTPUT JMap Container. It appears that, as best as we can tell, that it is a timing issue between the two UI (Swing and SWT) threads. However minor this issue appears it becomes a major issue to an RCP developer if they cannot find a fix for this issue as users will simply not use a "great" mapping application that "works MOST of the time". Having used the ESRI Java Runtime in a fairly serious RCP application for over 2 years it appears that this is the only serious issue that is standing in the way of building robust RCP-based GIS mapping applications using ESRI's Java Swing-based API. I believe it would be beneficial to both ESRI and the RCP mapping community to have ESRI investigate and make the minor adjustments to the JMap code base.

    Once modified, ESRI could promote the Swing-based API as a valid API for use with RCP and provide a set of clear examples that show the API in use in a small RCP - HelloWorld-(with View) project that can be downloaded to get new RCP users up and running.