You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pivot.apache.org by "Ronald Thomas (JIRA)" <ji...@apache.org> on 2012/10/15 05:21:03 UTC

[jira] [Created] (PIVOT-878) Show FileBrowserSheet while Initializing

Ronald Thomas created PIVOT-878:
-----------------------------------

             Summary: Show FileBrowserSheet while Initializing
                 Key: PIVOT-878
                 URL: https://issues.apache.org/jira/browse/PIVOT-878
             Project: Pivot
          Issue Type: Improvement
          Components: wtk-terra
    Affects Versions: 2.0.2
         Environment: All (Mostly Windows)
            Reporter: Ronald Thomas
            Priority: Minor


If the list of file roots returned by http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listRoots() includes more than a few network drives (primarily on windows where each mapped drive is its own "file system root"), or if the initial path on the FileBrowserSheet maps to a device that takes a while to "spin up", the FileBrowserSheet may not appear on the screen for several seconds making the Pivot app appear unresponsive.  It would help if there were some indication of activity immediately after the call to the FileBrowserSheet.open() method.  The FileBrowserSheet could be displayed in a "loading" mode and then switched to its normal display mode once the potentially long-running initialization has completed.

I this case, the long running code is around line 936-947 of the 2.0.2 release source file at wtk-terra\src\org\apache\pivot\wtk\skin\terra\TerraFileBrowserSkin.java

Steps to reproduce:
# Create a Pivot application that opens a FileBrowserSheet using a button.
# Map about 6 network drives or connect external hard drives to drive letters on a machine running windows
# Wait enough time for the power-management "spin down" on some or all of the mapped or connected drives
# Run the Pivot application and click the button that opens the FileBrowserSheet
# *Nothing appears to be happening for several seconds* (far too long) while the JVM collects the results of File.listRoots() to populate the "driveListButton" listData.
# Finally after several seconds, the FileBrowserSheet appears.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (PIVOT-878) Show FileBrowserSheet while Initializing

Posted by "Ronald Thomas (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIVOT-878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13475942#comment-13475942 ] 

Ronald Thomas commented on PIVOT-878:
-------------------------------------

Related to PIVOT-857
                
> Show FileBrowserSheet while Initializing
> ----------------------------------------
>
>                 Key: PIVOT-878
>                 URL: https://issues.apache.org/jira/browse/PIVOT-878
>             Project: Pivot
>          Issue Type: Improvement
>          Components: wtk-terra
>    Affects Versions: 2.0.2
>         Environment: All (Mostly Windows)
>            Reporter: Ronald Thomas
>            Priority: Minor
>              Labels: Browsing, File, FileBrowserSheet, performance, responsiveness, wtk, wtk-terra
>
> If the list of file roots returned by http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listRoots() includes more than a few network drives (primarily on windows where each mapped drive is its own "file system root"), or if the initial path on the FileBrowserSheet maps to a device that takes a while to "spin up", the FileBrowserSheet may not appear on the screen for several seconds making the Pivot app appear unresponsive.  It would help if there were some indication of activity immediately after the call to the FileBrowserSheet.open() method.  The FileBrowserSheet could be displayed in a "loading" mode and then switched to its normal display mode once the potentially long-running initialization has completed.
> I this case, the long running code is around line 936-947 of the 2.0.2 release source file at wtk-terra\src\org\apache\pivot\wtk\skin\terra\TerraFileBrowserSkin.java
> Steps to reproduce:
> # Create a Pivot application that opens a FileBrowserSheet using a button.
> # Map about 6 network drives or connect external hard drives to drive letters on a machine running windows
> # Wait enough time for the power-management "spin down" on some or all of the mapped or connected drives
> # Run the Pivot application and click the button that opens the FileBrowserSheet
> # *Nothing appears to be happening for several seconds* (far too long) while the JVM collects the results of File.listRoots() to populate the "driveListButton" listData.
> # Finally after several seconds, the FileBrowserSheet appears.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (PIVOT-878) Show FileBrowserSheet while Initializing

Posted by "Ronald Thomas (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIVOT-878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13476224#comment-13476224 ] 

Ronald Thomas commented on PIVOT-878:
-------------------------------------

Another option might be to defer loading the file roots until the first time the "driveListButton" is expanded.  However, I'm not familiar enough with the event model to know if there is an opportunity to fill-in or replace the listData when the drop-down arrow on a ListButton is first clicked, but before the list actually expands and appears.  That "just in time" list item population strategy seems to be how most native windows apps have addressed the same issue.  In other words, it appears that in the native windows file browser dialogs, at least the ones which are similar to FileBrowserSheet, only the file-root (drive) for the current context directory is initially populated in the "Look in:" dropdown (ListButton).  

Note: More recent native windows apps just display a special case of WindowsExplorer with Open, and Cancel buttons, but it is understood that it wouldn't be practical or even desirable to go back to the AWT strategy of implementing wrappers for each platform's native components (like a file browser dialog) in a cross-platform Java2D-based UI framework like Pivot.

@Sandro Martini - Do you happen to know if there is a duplication of this particular issue in a Jira issue assigned to v2.1?  If not, this could be reassigned so that it is addressed along with the "related improvements" you mentioned.
                
> Show FileBrowserSheet while Initializing
> ----------------------------------------
>
>                 Key: PIVOT-878
>                 URL: https://issues.apache.org/jira/browse/PIVOT-878
>             Project: Pivot
>          Issue Type: Improvement
>          Components: wtk-terra
>    Affects Versions: 2.0.2
>         Environment: All (Mostly Windows)
>            Reporter: Ronald Thomas
>            Assignee: Roger Whitcomb
>            Priority: Minor
>              Labels: Browsing, File, FileBrowserSheet, performance, responsiveness, wtk, wtk-terra
>             Fix For: 2.1
>
>
> If the list of file roots returned by http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listRoots() includes more than a few network drives (primarily on windows where each mapped drive is its own "file system root"), or if the initial path on the FileBrowserSheet maps to a device that takes a while to "spin up", the FileBrowserSheet may not appear on the screen for several seconds making the Pivot app appear unresponsive.  It would help if there were some indication of activity immediately after the call to the FileBrowserSheet.open() method.  The FileBrowserSheet could be displayed in a "loading" mode and then switched to its normal display mode once the potentially long-running initialization has completed.
> In this case, the long running code is around line 936-947 of the 2.0.2 release source file at wtk-terra\src\org\apache\pivot\wtk\skin\terra\TerraFileBrowserSkin.java
> Steps to reproduce:
> # Create a Pivot application that opens a FileBrowserSheet using a button.
> # Map about 6 network drives or connect external hard drives to drive letters on a machine running windows
> # Wait enough time for the power-management "spin down" on some or all of the mapped or connected drives
> # Run the Pivot application and click the button that opens the FileBrowserSheet
> # *Nothing appears to be happening for several seconds* (far too long) while the JVM collects the results of File.listRoots() to populate the "driveListButton" listData.
> # Finally after several seconds, the FileBrowserSheet appears.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (PIVOT-878) Show FileBrowserSheet while Initializing

Posted by "Sandro Martini (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIVOT-878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13483072#comment-13483072 ] 

Sandro Martini commented on PIVOT-878:
--------------------------------------

so is it ok for you to link this issue with PIVOT-796, and move even this to 2.1 ?

                
> Show FileBrowserSheet while Initializing
> ----------------------------------------
>
>                 Key: PIVOT-878
>                 URL: https://issues.apache.org/jira/browse/PIVOT-878
>             Project: Pivot
>          Issue Type: Improvement
>          Components: wtk-terra
>    Affects Versions: 2.0.2
>         Environment: All (Mostly Windows)
>            Reporter: Ronald Thomas
>            Assignee: Roger Whitcomb
>            Priority: Minor
>              Labels: Browsing, File, FileBrowserSheet, performance, responsiveness, wtk, wtk-terra
>             Fix For: 2.1, 2.0.3
>
>         Attachments: PIVOT-878_example_src.zip, tptp_profiler_exec_call_tree_screenshot.png
>
>
> If the list of file roots returned by http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listRoots() includes more than a few network drives (primarily on windows where each mapped drive is its own "file system root"), or if the initial path on the FileBrowserSheet maps to a device that takes a while to "spin up", the FileBrowserSheet may not appear on the screen for several seconds making the Pivot app appear unresponsive.  It would help if there were some indication of activity immediately after the call to the FileBrowserSheet.open() method.  The FileBrowserSheet could be displayed in a "loading" mode and then switched to its normal display mode once the potentially long-running initialization has completed.
> In this case, the long running code is around line 936-947 of the 2.0.2 release source file at wtk-terra\src\org\apache\pivot\wtk\skin\terra\TerraFileBrowserSkin.java
> Steps to reproduce:
> # Create a Pivot application that opens a FileBrowserSheet using a button.
> # Map about 6 network drives or connect external hard drives to drive letters on a machine running windows
> # Wait enough time for the power-management "spin down" on some or all of the mapped or connected drives
> # Run the Pivot application and click the button that opens the FileBrowserSheet
> # *Nothing appears to be happening for several seconds* (far too long) while the JVM collects the results of File.listRoots() to populate the "driveListButton" listData.
> # Finally after several seconds, the FileBrowserSheet appears.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (PIVOT-878) Show FileBrowserSheet while Initializing

Posted by "Ronald Thomas (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIVOT-878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13478379#comment-13478379 ] 

Ronald Thomas commented on PIVOT-878:
-------------------------------------

[~rwhitcomb] - I couldn't find where to get the pre-release of 2.0.3 or an SVN branch labeled as such, but grabbed the trunk from SVN, built the jars from that (which named the jars 2.1.0), and tested this with some isolated test case code.  The bulk of the time is being spent in org.apache.pivot.wtk.FileBrowser.rootDirectoryChanged() called within the constructor of FileBrowserSheet.  I'll try to attach a TPTP profiler screen shot showing the full stack and timing as well as the source for the test-app.
                
> Show FileBrowserSheet while Initializing
> ----------------------------------------
>
>                 Key: PIVOT-878
>                 URL: https://issues.apache.org/jira/browse/PIVOT-878
>             Project: Pivot
>          Issue Type: Improvement
>          Components: wtk-terra
>    Affects Versions: 2.0.2
>         Environment: All (Mostly Windows)
>            Reporter: Ronald Thomas
>            Assignee: Roger Whitcomb
>            Priority: Minor
>              Labels: Browsing, File, FileBrowserSheet, performance, responsiveness, wtk, wtk-terra
>             Fix For: 2.1
>
>         Attachments: tptp_profiler_exec_call_tree_screenshot.png
>
>
> If the list of file roots returned by http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listRoots() includes more than a few network drives (primarily on windows where each mapped drive is its own "file system root"), or if the initial path on the FileBrowserSheet maps to a device that takes a while to "spin up", the FileBrowserSheet may not appear on the screen for several seconds making the Pivot app appear unresponsive.  It would help if there were some indication of activity immediately after the call to the FileBrowserSheet.open() method.  The FileBrowserSheet could be displayed in a "loading" mode and then switched to its normal display mode once the potentially long-running initialization has completed.
> In this case, the long running code is around line 936-947 of the 2.0.2 release source file at wtk-terra\src\org\apache\pivot\wtk\skin\terra\TerraFileBrowserSkin.java
> Steps to reproduce:
> # Create a Pivot application that opens a FileBrowserSheet using a button.
> # Map about 6 network drives or connect external hard drives to drive letters on a machine running windows
> # Wait enough time for the power-management "spin down" on some or all of the mapped or connected drives
> # Run the Pivot application and click the button that opens the FileBrowserSheet
> # *Nothing appears to be happening for several seconds* (far too long) while the JVM collects the results of File.listRoots() to populate the "driveListButton" listData.
> # Finally after several seconds, the FileBrowserSheet appears.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (PIVOT-878) Show FileBrowserSheet while Initializing

Posted by "Roger Whitcomb (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIVOT-878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13483400#comment-13483400 ] 

Roger Whitcomb commented on PIVOT-878:
--------------------------------------

Yes, I would say these are really the same issue.  I worked on integrating the code in PIVOT-796 with current head revs and it was a bit tricky because a lot of the functionality I already had done another way.  So, I will go at it again in the next couple of days to add the caching of file information and loading the drive list in the background (which is the heart of the speedup).
                
> Show FileBrowserSheet while Initializing
> ----------------------------------------
>
>                 Key: PIVOT-878
>                 URL: https://issues.apache.org/jira/browse/PIVOT-878
>             Project: Pivot
>          Issue Type: Improvement
>          Components: wtk-terra
>    Affects Versions: 2.0.2
>         Environment: All (Mostly Windows)
>            Reporter: Ronald Thomas
>            Assignee: Roger Whitcomb
>            Priority: Minor
>              Labels: Browsing, File, FileBrowserSheet, performance, responsiveness, wtk, wtk-terra
>             Fix For: 2.1, 2.0.3
>
>         Attachments: PIVOT-878_example_src.zip, tptp_profiler_exec_call_tree_screenshot.png
>
>
> If the list of file roots returned by http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listRoots() includes more than a few network drives (primarily on windows where each mapped drive is its own "file system root"), or if the initial path on the FileBrowserSheet maps to a device that takes a while to "spin up", the FileBrowserSheet may not appear on the screen for several seconds making the Pivot app appear unresponsive.  It would help if there were some indication of activity immediately after the call to the FileBrowserSheet.open() method.  The FileBrowserSheet could be displayed in a "loading" mode and then switched to its normal display mode once the potentially long-running initialization has completed.
> In this case, the long running code is around line 936-947 of the 2.0.2 release source file at wtk-terra\src\org\apache\pivot\wtk\skin\terra\TerraFileBrowserSkin.java
> Steps to reproduce:
> # Create a Pivot application that opens a FileBrowserSheet using a button.
> # Map about 6 network drives or connect external hard drives to drive letters on a machine running windows
> # Wait enough time for the power-management "spin down" on some or all of the mapped or connected drives
> # Run the Pivot application and click the button that opens the FileBrowserSheet
> # *Nothing appears to be happening for several seconds* (far too long) while the JVM collects the results of File.listRoots() to populate the "driveListButton" listData.
> # Finally after several seconds, the FileBrowserSheet appears.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (PIVOT-878) Show FileBrowserSheet while Initializing

Posted by "Sandro Martini (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIVOT-878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13478804#comment-13478804 ] 

Sandro Martini commented on PIVOT-878:
--------------------------------------

Assigned to 2.0.3 to not forget it ... anyway, Roger, if you don't have time to fix it now, be free to move to 2.0.4 or 2.1 ...

Ronald, if useful, this is the url for our 2.0.x maintenance branch (but note that currenlty 2.0.x and trunk are near identical):
http://svn.apache.org/repos/asf/pivot/branches/2.0.x/
and thank you very much for your help on this issue ...

                
> Show FileBrowserSheet while Initializing
> ----------------------------------------
>
>                 Key: PIVOT-878
>                 URL: https://issues.apache.org/jira/browse/PIVOT-878
>             Project: Pivot
>          Issue Type: Improvement
>          Components: wtk-terra
>    Affects Versions: 2.0.2
>         Environment: All (Mostly Windows)
>            Reporter: Ronald Thomas
>            Assignee: Roger Whitcomb
>            Priority: Minor
>              Labels: Browsing, File, FileBrowserSheet, performance, responsiveness, wtk, wtk-terra
>             Fix For: 2.1, 2.0.3
>
>         Attachments: PIVOT-878_example_src.zip, tptp_profiler_exec_call_tree_screenshot.png
>
>
> If the list of file roots returned by http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listRoots() includes more than a few network drives (primarily on windows where each mapped drive is its own "file system root"), or if the initial path on the FileBrowserSheet maps to a device that takes a while to "spin up", the FileBrowserSheet may not appear on the screen for several seconds making the Pivot app appear unresponsive.  It would help if there were some indication of activity immediately after the call to the FileBrowserSheet.open() method.  The FileBrowserSheet could be displayed in a "loading" mode and then switched to its normal display mode once the potentially long-running initialization has completed.
> In this case, the long running code is around line 936-947 of the 2.0.2 release source file at wtk-terra\src\org\apache\pivot\wtk\skin\terra\TerraFileBrowserSkin.java
> Steps to reproduce:
> # Create a Pivot application that opens a FileBrowserSheet using a button.
> # Map about 6 network drives or connect external hard drives to drive letters on a machine running windows
> # Wait enough time for the power-management "spin down" on some or all of the mapped or connected drives
> # Run the Pivot application and click the button that opens the FileBrowserSheet
> # *Nothing appears to be happening for several seconds* (far too long) while the JVM collects the results of File.listRoots() to populate the "driveListButton" listData.
> # Finally after several seconds, the FileBrowserSheet appears.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (PIVOT-878) Show FileBrowserSheet while Initializing

Posted by "Roger Whitcomb (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIVOT-878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13478683#comment-13478683 ] 

Roger Whitcomb commented on PIVOT-878:
--------------------------------------

@ronald: I believe your thought that the bulk of time is spent in the "rootDirectoryChanged()" method is correct.  That would end up calling TerraFileBrowserSkin.rootDirectoryChanged() method (from the listener list in FileBrowser) which in turn would (the first time) do a File.getRoots() call, which would end up connecting to each network drive in turn.  I will look at your profiler screen shot.  There were some improvements suggested on another issue with sample code (for 2.0, which I would have to update for 2.0.3 now) that perhaps could speed this up.  I just haven't had time to go through the patch code yet.

Thank you very much for the analysis and the test case.  I will commit the example code to the appropriate section of the source and see what we can do to speed this up.
                
> Show FileBrowserSheet while Initializing
> ----------------------------------------
>
>                 Key: PIVOT-878
>                 URL: https://issues.apache.org/jira/browse/PIVOT-878
>             Project: Pivot
>          Issue Type: Improvement
>          Components: wtk-terra
>    Affects Versions: 2.0.2
>         Environment: All (Mostly Windows)
>            Reporter: Ronald Thomas
>            Assignee: Roger Whitcomb
>            Priority: Minor
>              Labels: Browsing, File, FileBrowserSheet, performance, responsiveness, wtk, wtk-terra
>             Fix For: 2.1
>
>         Attachments: PIVOT-878_example_src.zip, tptp_profiler_exec_call_tree_screenshot.png
>
>
> If the list of file roots returned by http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listRoots() includes more than a few network drives (primarily on windows where each mapped drive is its own "file system root"), or if the initial path on the FileBrowserSheet maps to a device that takes a while to "spin up", the FileBrowserSheet may not appear on the screen for several seconds making the Pivot app appear unresponsive.  It would help if there were some indication of activity immediately after the call to the FileBrowserSheet.open() method.  The FileBrowserSheet could be displayed in a "loading" mode and then switched to its normal display mode once the potentially long-running initialization has completed.
> In this case, the long running code is around line 936-947 of the 2.0.2 release source file at wtk-terra\src\org\apache\pivot\wtk\skin\terra\TerraFileBrowserSkin.java
> Steps to reproduce:
> # Create a Pivot application that opens a FileBrowserSheet using a button.
> # Map about 6 network drives or connect external hard drives to drive letters on a machine running windows
> # Wait enough time for the power-management "spin down" on some or all of the mapped or connected drives
> # Run the Pivot application and click the button that opens the FileBrowserSheet
> # *Nothing appears to be happening for several seconds* (far too long) while the JVM collects the results of File.listRoots() to populate the "driveListButton" listData.
> # Finally after several seconds, the FileBrowserSheet appears.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (PIVOT-878) Show FileBrowserSheet while Initializing

Posted by "Ronald Thomas (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/PIVOT-878?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ronald Thomas updated PIVOT-878:
--------------------------------

    Description: 
If the list of file roots returned by http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listRoots() includes more than a few network drives (primarily on windows where each mapped drive is its own "file system root"), or if the initial path on the FileBrowserSheet maps to a device that takes a while to "spin up", the FileBrowserSheet may not appear on the screen for several seconds making the Pivot app appear unresponsive.  It would help if there were some indication of activity immediately after the call to the FileBrowserSheet.open() method.  The FileBrowserSheet could be displayed in a "loading" mode and then switched to its normal display mode once the potentially long-running initialization has completed.

In this case, the long running code is around line 936-947 of the 2.0.2 release source file at wtk-terra\src\org\apache\pivot\wtk\skin\terra\TerraFileBrowserSkin.java

Steps to reproduce:
# Create a Pivot application that opens a FileBrowserSheet using a button.
# Map about 6 network drives or connect external hard drives to drive letters on a machine running windows
# Wait enough time for the power-management "spin down" on some or all of the mapped or connected drives
# Run the Pivot application and click the button that opens the FileBrowserSheet
# *Nothing appears to be happening for several seconds* (far too long) while the JVM collects the results of File.listRoots() to populate the "driveListButton" listData.
# Finally after several seconds, the FileBrowserSheet appears.

  was:
If the list of file roots returned by http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listRoots() includes more than a few network drives (primarily on windows where each mapped drive is its own "file system root"), or if the initial path on the FileBrowserSheet maps to a device that takes a while to "spin up", the FileBrowserSheet may not appear on the screen for several seconds making the Pivot app appear unresponsive.  It would help if there were some indication of activity immediately after the call to the FileBrowserSheet.open() method.  The FileBrowserSheet could be displayed in a "loading" mode and then switched to its normal display mode once the potentially long-running initialization has completed.

I this case, the long running code is around line 936-947 of the 2.0.2 release source file at wtk-terra\src\org\apache\pivot\wtk\skin\terra\TerraFileBrowserSkin.java

Steps to reproduce:
# Create a Pivot application that opens a FileBrowserSheet using a button.
# Map about 6 network drives or connect external hard drives to drive letters on a machine running windows
# Wait enough time for the power-management "spin down" on some or all of the mapped or connected drives
# Run the Pivot application and click the button that opens the FileBrowserSheet
# *Nothing appears to be happening for several seconds* (far too long) while the JVM collects the results of File.listRoots() to populate the "driveListButton" listData.
# Finally after several seconds, the FileBrowserSheet appears.

    
> Show FileBrowserSheet while Initializing
> ----------------------------------------
>
>                 Key: PIVOT-878
>                 URL: https://issues.apache.org/jira/browse/PIVOT-878
>             Project: Pivot
>          Issue Type: Improvement
>          Components: wtk-terra
>    Affects Versions: 2.0.2
>         Environment: All (Mostly Windows)
>            Reporter: Ronald Thomas
>            Priority: Minor
>              Labels: Browsing, File, FileBrowserSheet, performance, responsiveness, wtk, wtk-terra
>
> If the list of file roots returned by http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listRoots() includes more than a few network drives (primarily on windows where each mapped drive is its own "file system root"), or if the initial path on the FileBrowserSheet maps to a device that takes a while to "spin up", the FileBrowserSheet may not appear on the screen for several seconds making the Pivot app appear unresponsive.  It would help if there were some indication of activity immediately after the call to the FileBrowserSheet.open() method.  The FileBrowserSheet could be displayed in a "loading" mode and then switched to its normal display mode once the potentially long-running initialization has completed.
> In this case, the long running code is around line 936-947 of the 2.0.2 release source file at wtk-terra\src\org\apache\pivot\wtk\skin\terra\TerraFileBrowserSkin.java
> Steps to reproduce:
> # Create a Pivot application that opens a FileBrowserSheet using a button.
> # Map about 6 network drives or connect external hard drives to drive letters on a machine running windows
> # Wait enough time for the power-management "spin down" on some or all of the mapped or connected drives
> # Run the Pivot application and click the button that opens the FileBrowserSheet
> # *Nothing appears to be happening for several seconds* (far too long) while the JVM collects the results of File.listRoots() to populate the "driveListButton" listData.
> # Finally after several seconds, the FileBrowserSheet appears.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (PIVOT-878) Show FileBrowserSheet while Initializing

Posted by "Ronald Thomas (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIVOT-878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13484662#comment-13484662 ] 

Ronald Thomas commented on PIVOT-878:
-------------------------------------

To work around this until the release with the fix is available, I created a wrapper class that holds a reference to the FileBrowserSheet instance and initializes it (calls the constructor) in a separate thread.  Any attempt to call open() via the wrapper joins the initialization thread if it is still active.  However, one side-effect of holding onto a pre-initialized instance of FileBrowserSheet is that if any drives (file-roots) are added or removed after constructing the FileBrowserSheet object, the drive (file-root) list never updates to reflect the change.  I can probably work around that too for now but it would be better if the FileBrowserSheet itself had a background/daemon thread to monitor (i.e. poll) for changes in the drive (file-root) list.  That might need to be another Jira ticket, but based on the last comment about "loading the drive list in the background" it might need to be considered in the final solution of this issue too.  If it is to be the Pivot idiom to always construct a brand new FileBrowserSheet whenever one is needed (instead of retaining a reference to a FileBrowserSheet instance that could be displayed more than once), that should probably be made clearer in the tutorial/demo code.
                
> Show FileBrowserSheet while Initializing
> ----------------------------------------
>
>                 Key: PIVOT-878
>                 URL: https://issues.apache.org/jira/browse/PIVOT-878
>             Project: Pivot
>          Issue Type: Improvement
>          Components: wtk-terra
>    Affects Versions: 2.0.2
>         Environment: All (Mostly Windows)
>            Reporter: Ronald Thomas
>            Assignee: Roger Whitcomb
>            Priority: Minor
>              Labels: Browsing, File, FileBrowserSheet, performance, responsiveness, wtk, wtk-terra
>             Fix For: 2.1, 2.0.3
>
>         Attachments: PIVOT-878_example_src.zip, tptp_profiler_exec_call_tree_screenshot.png
>
>
> If the list of file roots returned by http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listRoots() includes more than a few network drives (primarily on windows where each mapped drive is its own "file system root"), or if the initial path on the FileBrowserSheet maps to a device that takes a while to "spin up", the FileBrowserSheet may not appear on the screen for several seconds making the Pivot app appear unresponsive.  It would help if there were some indication of activity immediately after the call to the FileBrowserSheet.open() method.  The FileBrowserSheet could be displayed in a "loading" mode and then switched to its normal display mode once the potentially long-running initialization has completed.
> In this case, the long running code is around line 936-947 of the 2.0.2 release source file at wtk-terra\src\org\apache\pivot\wtk\skin\terra\TerraFileBrowserSkin.java
> Steps to reproduce:
> # Create a Pivot application that opens a FileBrowserSheet using a button.
> # Map about 6 network drives or connect external hard drives to drive letters on a machine running windows
> # Wait enough time for the power-management "spin down" on some or all of the mapped or connected drives
> # Run the Pivot application and click the button that opens the FileBrowserSheet
> # *Nothing appears to be happening for several seconds* (far too long) while the JVM collects the results of File.listRoots() to populate the "driveListButton" listData.
> # Finally after several seconds, the FileBrowserSheet appears.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (PIVOT-878) Show FileBrowserSheet while Initializing

Posted by "Roger Whitcomb (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIVOT-878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13482576#comment-13482576 ] 

Roger Whitcomb commented on PIVOT-878:
--------------------------------------

Actually this is pretty much the same issue as Pivot-796.  There is code there that I will try to implement in the current trunk to improve the user experience.
                
> Show FileBrowserSheet while Initializing
> ----------------------------------------
>
>                 Key: PIVOT-878
>                 URL: https://issues.apache.org/jira/browse/PIVOT-878
>             Project: Pivot
>          Issue Type: Improvement
>          Components: wtk-terra
>    Affects Versions: 2.0.2
>         Environment: All (Mostly Windows)
>            Reporter: Ronald Thomas
>            Assignee: Roger Whitcomb
>            Priority: Minor
>              Labels: Browsing, File, FileBrowserSheet, performance, responsiveness, wtk, wtk-terra
>             Fix For: 2.1, 2.0.3
>
>         Attachments: PIVOT-878_example_src.zip, tptp_profiler_exec_call_tree_screenshot.png
>
>
> If the list of file roots returned by http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listRoots() includes more than a few network drives (primarily on windows where each mapped drive is its own "file system root"), or if the initial path on the FileBrowserSheet maps to a device that takes a while to "spin up", the FileBrowserSheet may not appear on the screen for several seconds making the Pivot app appear unresponsive.  It would help if there were some indication of activity immediately after the call to the FileBrowserSheet.open() method.  The FileBrowserSheet could be displayed in a "loading" mode and then switched to its normal display mode once the potentially long-running initialization has completed.
> In this case, the long running code is around line 936-947 of the 2.0.2 release source file at wtk-terra\src\org\apache\pivot\wtk\skin\terra\TerraFileBrowserSkin.java
> Steps to reproduce:
> # Create a Pivot application that opens a FileBrowserSheet using a button.
> # Map about 6 network drives or connect external hard drives to drive letters on a machine running windows
> # Wait enough time for the power-management "spin down" on some or all of the mapped or connected drives
> # Run the Pivot application and click the button that opens the FileBrowserSheet
> # *Nothing appears to be happening for several seconds* (far too long) while the JVM collects the results of File.listRoots() to populate the "driveListButton" listData.
> # Finally after several seconds, the FileBrowserSheet appears.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (PIVOT-878) Show FileBrowserSheet while Initializing

Posted by "Sandro Martini (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/PIVOT-878?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sandro Martini updated PIVOT-878:
---------------------------------

    Fix Version/s:     (was: 2.0.3)
    
> Show FileBrowserSheet while Initializing
> ----------------------------------------
>
>                 Key: PIVOT-878
>                 URL: https://issues.apache.org/jira/browse/PIVOT-878
>             Project: Pivot
>          Issue Type: Improvement
>          Components: wtk-terra
>    Affects Versions: 2.0.2
>         Environment: All (Mostly Windows)
>            Reporter: Ronald Thomas
>            Assignee: Roger Whitcomb
>            Priority: Minor
>              Labels: Browsing, File, FileBrowserSheet, performance, responsiveness, wtk, wtk-terra
>             Fix For: 2.1
>
>         Attachments: PIVOT-878_example_src.zip, tptp_profiler_exec_call_tree_screenshot.png
>
>
> If the list of file roots returned by http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listRoots() includes more than a few network drives (primarily on windows where each mapped drive is its own "file system root"), or if the initial path on the FileBrowserSheet maps to a device that takes a while to "spin up", the FileBrowserSheet may not appear on the screen for several seconds making the Pivot app appear unresponsive.  It would help if there were some indication of activity immediately after the call to the FileBrowserSheet.open() method.  The FileBrowserSheet could be displayed in a "loading" mode and then switched to its normal display mode once the potentially long-running initialization has completed.
> In this case, the long running code is around line 936-947 of the 2.0.2 release source file at wtk-terra\src\org\apache\pivot\wtk\skin\terra\TerraFileBrowserSkin.java
> Steps to reproduce:
> # Create a Pivot application that opens a FileBrowserSheet using a button.
> # Map about 6 network drives or connect external hard drives to drive letters on a machine running windows
> # Wait enough time for the power-management "spin down" on some or all of the mapped or connected drives
> # Run the Pivot application and click the button that opens the FileBrowserSheet
> # *Nothing appears to be happening for several seconds* (far too long) while the JVM collects the results of File.listRoots() to populate the "driveListButton" listData.
> # Finally after several seconds, the FileBrowserSheet appears.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (PIVOT-878) Show FileBrowserSheet while Initializing

Posted by "Sandro Martini (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/PIVOT-878?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sandro Martini updated PIVOT-878:
---------------------------------

    Fix Version/s: 2.0.3
    
> Show FileBrowserSheet while Initializing
> ----------------------------------------
>
>                 Key: PIVOT-878
>                 URL: https://issues.apache.org/jira/browse/PIVOT-878
>             Project: Pivot
>          Issue Type: Improvement
>          Components: wtk-terra
>    Affects Versions: 2.0.2
>         Environment: All (Mostly Windows)
>            Reporter: Ronald Thomas
>            Assignee: Roger Whitcomb
>            Priority: Minor
>              Labels: Browsing, File, FileBrowserSheet, performance, responsiveness, wtk, wtk-terra
>             Fix For: 2.1, 2.0.3
>
>         Attachments: PIVOT-878_example_src.zip, tptp_profiler_exec_call_tree_screenshot.png
>
>
> If the list of file roots returned by http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listRoots() includes more than a few network drives (primarily on windows where each mapped drive is its own "file system root"), or if the initial path on the FileBrowserSheet maps to a device that takes a while to "spin up", the FileBrowserSheet may not appear on the screen for several seconds making the Pivot app appear unresponsive.  It would help if there were some indication of activity immediately after the call to the FileBrowserSheet.open() method.  The FileBrowserSheet could be displayed in a "loading" mode and then switched to its normal display mode once the potentially long-running initialization has completed.
> In this case, the long running code is around line 936-947 of the 2.0.2 release source file at wtk-terra\src\org\apache\pivot\wtk\skin\terra\TerraFileBrowserSkin.java
> Steps to reproduce:
> # Create a Pivot application that opens a FileBrowserSheet using a button.
> # Map about 6 network drives or connect external hard drives to drive letters on a machine running windows
> # Wait enough time for the power-management "spin down" on some or all of the mapped or connected drives
> # Run the Pivot application and click the button that opens the FileBrowserSheet
> # *Nothing appears to be happening for several seconds* (far too long) while the JVM collects the results of File.listRoots() to populate the "driveListButton" listData.
> # Finally after several seconds, the FileBrowserSheet appears.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (PIVOT-878) Show FileBrowserSheet while Initializing

Posted by "Ronald Thomas (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/PIVOT-878?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ronald Thomas updated PIVOT-878:
--------------------------------

    Attachment: PIVOT-878_example_src.zip

Source files to reproduce the issue described in the Jira item.
                
> Show FileBrowserSheet while Initializing
> ----------------------------------------
>
>                 Key: PIVOT-878
>                 URL: https://issues.apache.org/jira/browse/PIVOT-878
>             Project: Pivot
>          Issue Type: Improvement
>          Components: wtk-terra
>    Affects Versions: 2.0.2
>         Environment: All (Mostly Windows)
>            Reporter: Ronald Thomas
>            Assignee: Roger Whitcomb
>            Priority: Minor
>              Labels: Browsing, File, FileBrowserSheet, performance, responsiveness, wtk, wtk-terra
>             Fix For: 2.1
>
>         Attachments: PIVOT-878_example_src.zip, tptp_profiler_exec_call_tree_screenshot.png
>
>
> If the list of file roots returned by http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listRoots() includes more than a few network drives (primarily on windows where each mapped drive is its own "file system root"), or if the initial path on the FileBrowserSheet maps to a device that takes a while to "spin up", the FileBrowserSheet may not appear on the screen for several seconds making the Pivot app appear unresponsive.  It would help if there were some indication of activity immediately after the call to the FileBrowserSheet.open() method.  The FileBrowserSheet could be displayed in a "loading" mode and then switched to its normal display mode once the potentially long-running initialization has completed.
> In this case, the long running code is around line 936-947 of the 2.0.2 release source file at wtk-terra\src\org\apache\pivot\wtk\skin\terra\TerraFileBrowserSkin.java
> Steps to reproduce:
> # Create a Pivot application that opens a FileBrowserSheet using a button.
> # Map about 6 network drives or connect external hard drives to drive letters on a machine running windows
> # Wait enough time for the power-management "spin down" on some or all of the mapped or connected drives
> # Run the Pivot application and click the button that opens the FileBrowserSheet
> # *Nothing appears to be happening for several seconds* (far too long) while the JVM collects the results of File.listRoots() to populate the "driveListButton" listData.
> # Finally after several seconds, the FileBrowserSheet appears.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Comment Edited] (PIVOT-878) Show FileBrowserSheet while Initializing

Posted by "Ronald Thomas (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIVOT-878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13478382#comment-13478382 ] 

Ronald Thomas edited comment on PIVOT-878 at 10/17/12 9:14 PM:
---------------------------------------------------------------

Attached - profiler screen shot
                
      was (Author: rthomas67):
    profiler screen shot
                  
> Show FileBrowserSheet while Initializing
> ----------------------------------------
>
>                 Key: PIVOT-878
>                 URL: https://issues.apache.org/jira/browse/PIVOT-878
>             Project: Pivot
>          Issue Type: Improvement
>          Components: wtk-terra
>    Affects Versions: 2.0.2
>         Environment: All (Mostly Windows)
>            Reporter: Ronald Thomas
>            Assignee: Roger Whitcomb
>            Priority: Minor
>              Labels: Browsing, File, FileBrowserSheet, performance, responsiveness, wtk, wtk-terra
>             Fix For: 2.1
>
>         Attachments: PIVOT-878_example_src.zip, tptp_profiler_exec_call_tree_screenshot.png
>
>
> If the list of file roots returned by http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listRoots() includes more than a few network drives (primarily on windows where each mapped drive is its own "file system root"), or if the initial path on the FileBrowserSheet maps to a device that takes a while to "spin up", the FileBrowserSheet may not appear on the screen for several seconds making the Pivot app appear unresponsive.  It would help if there were some indication of activity immediately after the call to the FileBrowserSheet.open() method.  The FileBrowserSheet could be displayed in a "loading" mode and then switched to its normal display mode once the potentially long-running initialization has completed.
> In this case, the long running code is around line 936-947 of the 2.0.2 release source file at wtk-terra\src\org\apache\pivot\wtk\skin\terra\TerraFileBrowserSkin.java
> Steps to reproduce:
> # Create a Pivot application that opens a FileBrowserSheet using a button.
> # Map about 6 network drives or connect external hard drives to drive letters on a machine running windows
> # Wait enough time for the power-management "spin down" on some or all of the mapped or connected drives
> # Run the Pivot application and click the button that opens the FileBrowserSheet
> # *Nothing appears to be happening for several seconds* (far too long) while the JVM collects the results of File.listRoots() to populate the "driveListButton" listData.
> # Finally after several seconds, the FileBrowserSheet appears.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (PIVOT-878) Show FileBrowserSheet while Initializing

Posted by "Ronald Thomas (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/PIVOT-878?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ronald Thomas updated PIVOT-878:
--------------------------------

    Attachment: tptp_profiler_exec_call_tree_screenshot.png

profiler screen shot
                
> Show FileBrowserSheet while Initializing
> ----------------------------------------
>
>                 Key: PIVOT-878
>                 URL: https://issues.apache.org/jira/browse/PIVOT-878
>             Project: Pivot
>          Issue Type: Improvement
>          Components: wtk-terra
>    Affects Versions: 2.0.2
>         Environment: All (Mostly Windows)
>            Reporter: Ronald Thomas
>            Assignee: Roger Whitcomb
>            Priority: Minor
>              Labels: Browsing, File, FileBrowserSheet, performance, responsiveness, wtk, wtk-terra
>             Fix For: 2.1
>
>         Attachments: tptp_profiler_exec_call_tree_screenshot.png
>
>
> If the list of file roots returned by http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listRoots() includes more than a few network drives (primarily on windows where each mapped drive is its own "file system root"), or if the initial path on the FileBrowserSheet maps to a device that takes a while to "spin up", the FileBrowserSheet may not appear on the screen for several seconds making the Pivot app appear unresponsive.  It would help if there were some indication of activity immediately after the call to the FileBrowserSheet.open() method.  The FileBrowserSheet could be displayed in a "loading" mode and then switched to its normal display mode once the potentially long-running initialization has completed.
> In this case, the long running code is around line 936-947 of the 2.0.2 release source file at wtk-terra\src\org\apache\pivot\wtk\skin\terra\TerraFileBrowserSkin.java
> Steps to reproduce:
> # Create a Pivot application that opens a FileBrowserSheet using a button.
> # Map about 6 network drives or connect external hard drives to drive letters on a machine running windows
> # Wait enough time for the power-management "spin down" on some or all of the mapped or connected drives
> # Run the Pivot application and click the button that opens the FileBrowserSheet
> # *Nothing appears to be happening for several seconds* (far too long) while the JVM collects the results of File.listRoots() to populate the "driveListButton" listData.
> # Finally after several seconds, the FileBrowserSheet appears.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (PIVOT-878) Show FileBrowserSheet while Initializing

Posted by "Roger Whitcomb (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIVOT-878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13476232#comment-13476232 ] 

Roger Whitcomb commented on PIVOT-878:
--------------------------------------

@Ronald -- can you test this with the current (pre-release) 2.0.3 code?  I made some changes in this area, but I don't remember if the work was done before 2.0.2 or after.  Thanks.
                
> Show FileBrowserSheet while Initializing
> ----------------------------------------
>
>                 Key: PIVOT-878
>                 URL: https://issues.apache.org/jira/browse/PIVOT-878
>             Project: Pivot
>          Issue Type: Improvement
>          Components: wtk-terra
>    Affects Versions: 2.0.2
>         Environment: All (Mostly Windows)
>            Reporter: Ronald Thomas
>            Assignee: Roger Whitcomb
>            Priority: Minor
>              Labels: Browsing, File, FileBrowserSheet, performance, responsiveness, wtk, wtk-terra
>             Fix For: 2.1
>
>
> If the list of file roots returned by http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listRoots() includes more than a few network drives (primarily on windows where each mapped drive is its own "file system root"), or if the initial path on the FileBrowserSheet maps to a device that takes a while to "spin up", the FileBrowserSheet may not appear on the screen for several seconds making the Pivot app appear unresponsive.  It would help if there were some indication of activity immediately after the call to the FileBrowserSheet.open() method.  The FileBrowserSheet could be displayed in a "loading" mode and then switched to its normal display mode once the potentially long-running initialization has completed.
> In this case, the long running code is around line 936-947 of the 2.0.2 release source file at wtk-terra\src\org\apache\pivot\wtk\skin\terra\TerraFileBrowserSkin.java
> Steps to reproduce:
> # Create a Pivot application that opens a FileBrowserSheet using a button.
> # Map about 6 network drives or connect external hard drives to drive letters on a machine running windows
> # Wait enough time for the power-management "spin down" on some or all of the mapped or connected drives
> # Run the Pivot application and click the button that opens the FileBrowserSheet
> # *Nothing appears to be happening for several seconds* (far too long) while the JVM collects the results of File.listRoots() to populate the "driveListButton" listData.
> # Finally after several seconds, the FileBrowserSheet appears.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (PIVOT-878) Show FileBrowserSheet while Initializing

Posted by "Sandro Martini (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/PIVOT-878?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sandro Martini updated PIVOT-878:
---------------------------------

    Fix Version/s: 2.1
         Assignee: Roger Whitcomb

Hi, if I remember well there are others related improvements for FileBrowser/Sheet but for Pivot 2.1 .
But I'm not against to solve it before (2.0.x) if someone has enough time/intersts on it ...

Thanks for now.

                
> Show FileBrowserSheet while Initializing
> ----------------------------------------
>
>                 Key: PIVOT-878
>                 URL: https://issues.apache.org/jira/browse/PIVOT-878
>             Project: Pivot
>          Issue Type: Improvement
>          Components: wtk-terra
>    Affects Versions: 2.0.2
>         Environment: All (Mostly Windows)
>            Reporter: Ronald Thomas
>            Assignee: Roger Whitcomb
>            Priority: Minor
>              Labels: Browsing, File, FileBrowserSheet, performance, responsiveness, wtk, wtk-terra
>             Fix For: 2.1
>
>
> If the list of file roots returned by http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listRoots() includes more than a few network drives (primarily on windows where each mapped drive is its own "file system root"), or if the initial path on the FileBrowserSheet maps to a device that takes a while to "spin up", the FileBrowserSheet may not appear on the screen for several seconds making the Pivot app appear unresponsive.  It would help if there were some indication of activity immediately after the call to the FileBrowserSheet.open() method.  The FileBrowserSheet could be displayed in a "loading" mode and then switched to its normal display mode once the potentially long-running initialization has completed.
> In this case, the long running code is around line 936-947 of the 2.0.2 release source file at wtk-terra\src\org\apache\pivot\wtk\skin\terra\TerraFileBrowserSkin.java
> Steps to reproduce:
> # Create a Pivot application that opens a FileBrowserSheet using a button.
> # Map about 6 network drives or connect external hard drives to drive letters on a machine running windows
> # Wait enough time for the power-management "spin down" on some or all of the mapped or connected drives
> # Run the Pivot application and click the button that opens the FileBrowserSheet
> # *Nothing appears to be happening for several seconds* (far too long) while the JVM collects the results of File.listRoots() to populate the "driveListButton" listData.
> # Finally after several seconds, the FileBrowserSheet appears.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Comment Edited] (PIVOT-878) Show FileBrowserSheet while Initializing

Posted by "Ronald Thomas (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIVOT-878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13478389#comment-13478389 ] 

Ronald Thomas edited comment on PIVOT-878 at 10/17/12 9:14 PM:
---------------------------------------------------------------

Attached - Source files to reproduce the issue described in the Jira item.
                
      was (Author: rthomas67):
    Source files to reproduce the issue described in the Jira item.
                  
> Show FileBrowserSheet while Initializing
> ----------------------------------------
>
>                 Key: PIVOT-878
>                 URL: https://issues.apache.org/jira/browse/PIVOT-878
>             Project: Pivot
>          Issue Type: Improvement
>          Components: wtk-terra
>    Affects Versions: 2.0.2
>         Environment: All (Mostly Windows)
>            Reporter: Ronald Thomas
>            Assignee: Roger Whitcomb
>            Priority: Minor
>              Labels: Browsing, File, FileBrowserSheet, performance, responsiveness, wtk, wtk-terra
>             Fix For: 2.1
>
>         Attachments: PIVOT-878_example_src.zip, tptp_profiler_exec_call_tree_screenshot.png
>
>
> If the list of file roots returned by http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listRoots() includes more than a few network drives (primarily on windows where each mapped drive is its own "file system root"), or if the initial path on the FileBrowserSheet maps to a device that takes a while to "spin up", the FileBrowserSheet may not appear on the screen for several seconds making the Pivot app appear unresponsive.  It would help if there were some indication of activity immediately after the call to the FileBrowserSheet.open() method.  The FileBrowserSheet could be displayed in a "loading" mode and then switched to its normal display mode once the potentially long-running initialization has completed.
> In this case, the long running code is around line 936-947 of the 2.0.2 release source file at wtk-terra\src\org\apache\pivot\wtk\skin\terra\TerraFileBrowserSkin.java
> Steps to reproduce:
> # Create a Pivot application that opens a FileBrowserSheet using a button.
> # Map about 6 network drives or connect external hard drives to drive letters on a machine running windows
> # Wait enough time for the power-management "spin down" on some or all of the mapped or connected drives
> # Run the Pivot application and click the button that opens the FileBrowserSheet
> # *Nothing appears to be happening for several seconds* (far too long) while the JVM collects the results of File.listRoots() to populate the "driveListButton" listData.
> # Finally after several seconds, the FileBrowserSheet appears.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (PIVOT-878) Show FileBrowserSheet while Initializing

Posted by "Sandro Martini (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/PIVOT-878?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sandro Martini updated PIVOT-878:
---------------------------------

    Fix Version/s: 2.0.3
    
> Show FileBrowserSheet while Initializing
> ----------------------------------------
>
>                 Key: PIVOT-878
>                 URL: https://issues.apache.org/jira/browse/PIVOT-878
>             Project: Pivot
>          Issue Type: Improvement
>          Components: wtk-terra
>    Affects Versions: 2.0.2
>         Environment: All (Mostly Windows)
>            Reporter: Ronald Thomas
>            Assignee: Roger Whitcomb
>            Priority: Minor
>              Labels: Browsing, File, FileBrowserSheet, performance, responsiveness, wtk, wtk-terra
>             Fix For: 2.1, 2.0.3
>
>         Attachments: PIVOT-878_example_src.zip, tptp_profiler_exec_call_tree_screenshot.png
>
>
> If the list of file roots returned by http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listRoots() includes more than a few network drives (primarily on windows where each mapped drive is its own "file system root"), or if the initial path on the FileBrowserSheet maps to a device that takes a while to "spin up", the FileBrowserSheet may not appear on the screen for several seconds making the Pivot app appear unresponsive.  It would help if there were some indication of activity immediately after the call to the FileBrowserSheet.open() method.  The FileBrowserSheet could be displayed in a "loading" mode and then switched to its normal display mode once the potentially long-running initialization has completed.
> In this case, the long running code is around line 936-947 of the 2.0.2 release source file at wtk-terra\src\org\apache\pivot\wtk\skin\terra\TerraFileBrowserSkin.java
> Steps to reproduce:
> # Create a Pivot application that opens a FileBrowserSheet using a button.
> # Map about 6 network drives or connect external hard drives to drive letters on a machine running windows
> # Wait enough time for the power-management "spin down" on some or all of the mapped or connected drives
> # Run the Pivot application and click the button that opens the FileBrowserSheet
> # *Nothing appears to be happening for several seconds* (far too long) while the JVM collects the results of File.listRoots() to populate the "driveListButton" listData.
> # Finally after several seconds, the FileBrowserSheet appears.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Comment Edited] (PIVOT-878) Show FileBrowserSheet while Initializing

Posted by "Roger Whitcomb (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIVOT-878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13482576#comment-13482576 ] 

Roger Whitcomb edited comment on PIVOT-878 at 10/23/12 7:05 PM:
----------------------------------------------------------------

Actually this is pretty much the same issue as PIVOT-796.  There is code there that I will try to implement in the current trunk to improve the user experience.
                
      was (Author: rwhitcomb):
    Actually this is pretty much the same issue as Pivot-796.  There is code there that I will try to implement in the current trunk to improve the user experience.
                  
> Show FileBrowserSheet while Initializing
> ----------------------------------------
>
>                 Key: PIVOT-878
>                 URL: https://issues.apache.org/jira/browse/PIVOT-878
>             Project: Pivot
>          Issue Type: Improvement
>          Components: wtk-terra
>    Affects Versions: 2.0.2
>         Environment: All (Mostly Windows)
>            Reporter: Ronald Thomas
>            Assignee: Roger Whitcomb
>            Priority: Minor
>              Labels: Browsing, File, FileBrowserSheet, performance, responsiveness, wtk, wtk-terra
>             Fix For: 2.1, 2.0.3
>
>         Attachments: PIVOT-878_example_src.zip, tptp_profiler_exec_call_tree_screenshot.png
>
>
> If the list of file roots returned by http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listRoots() includes more than a few network drives (primarily on windows where each mapped drive is its own "file system root"), or if the initial path on the FileBrowserSheet maps to a device that takes a while to "spin up", the FileBrowserSheet may not appear on the screen for several seconds making the Pivot app appear unresponsive.  It would help if there were some indication of activity immediately after the call to the FileBrowserSheet.open() method.  The FileBrowserSheet could be displayed in a "loading" mode and then switched to its normal display mode once the potentially long-running initialization has completed.
> In this case, the long running code is around line 936-947 of the 2.0.2 release source file at wtk-terra\src\org\apache\pivot\wtk\skin\terra\TerraFileBrowserSkin.java
> Steps to reproduce:
> # Create a Pivot application that opens a FileBrowserSheet using a button.
> # Map about 6 network drives or connect external hard drives to drive letters on a machine running windows
> # Wait enough time for the power-management "spin down" on some or all of the mapped or connected drives
> # Run the Pivot application and click the button that opens the FileBrowserSheet
> # *Nothing appears to be happening for several seconds* (far too long) while the JVM collects the results of File.listRoots() to populate the "driveListButton" listData.
> # Finally after several seconds, the FileBrowserSheet appears.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (PIVOT-878) Show FileBrowserSheet while Initializing

Posted by "Ronald Thomas (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIVOT-878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13478409#comment-13478409 ] 

Ronald Thomas commented on PIVOT-878:
-------------------------------------

Just repeating that the major delay wasn't within FileBrowserSheet.open() as originally reported.  The bigger chunk of time is consumed within the FileBrowserSheet() constructor.  Following the example at: http://pivot.apache.org/tutorials/file-browsing.html (line 37 of the FileBrowsing.java class), the constructor and open() are both called within the same event handler.  I had originally made a wrong guess about where the "drive spin-up/reconnect" delay was actually happening.
                
> Show FileBrowserSheet while Initializing
> ----------------------------------------
>
>                 Key: PIVOT-878
>                 URL: https://issues.apache.org/jira/browse/PIVOT-878
>             Project: Pivot
>          Issue Type: Improvement
>          Components: wtk-terra
>    Affects Versions: 2.0.2
>         Environment: All (Mostly Windows)
>            Reporter: Ronald Thomas
>            Assignee: Roger Whitcomb
>            Priority: Minor
>              Labels: Browsing, File, FileBrowserSheet, performance, responsiveness, wtk, wtk-terra
>             Fix For: 2.1
>
>         Attachments: PIVOT-878_example_src.zip, tptp_profiler_exec_call_tree_screenshot.png
>
>
> If the list of file roots returned by http://docs.oracle.com/javase/1.4.2/docs/api/java/io/File.html#listRoots() includes more than a few network drives (primarily on windows where each mapped drive is its own "file system root"), or if the initial path on the FileBrowserSheet maps to a device that takes a while to "spin up", the FileBrowserSheet may not appear on the screen for several seconds making the Pivot app appear unresponsive.  It would help if there were some indication of activity immediately after the call to the FileBrowserSheet.open() method.  The FileBrowserSheet could be displayed in a "loading" mode and then switched to its normal display mode once the potentially long-running initialization has completed.
> In this case, the long running code is around line 936-947 of the 2.0.2 release source file at wtk-terra\src\org\apache\pivot\wtk\skin\terra\TerraFileBrowserSkin.java
> Steps to reproduce:
> # Create a Pivot application that opens a FileBrowserSheet using a button.
> # Map about 6 network drives or connect external hard drives to drive letters on a machine running windows
> # Wait enough time for the power-management "spin down" on some or all of the mapped or connected drives
> # Run the Pivot application and click the button that opens the FileBrowserSheet
> # *Nothing appears to be happening for several seconds* (far too long) while the JVM collects the results of File.listRoots() to populate the "driveListButton" listData.
> # Finally after several seconds, the FileBrowserSheet appears.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira