Bug 1001002

Summary: Exception in UI when expanding tree items
Product: [Other] RHQ Project Reporter: Libor Zoubek <lzoubek>
Component: Core UIAssignee: Jay Shaughnessy <jshaughn>
Status: CLOSED CURRENTRELEASE QA Contact: Mike Foley <mfoley>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 4.9CC: hrupp, jkremser, jshaughn, theute
Target Milestone: ---   
Target Release: RHQ 4.9   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-03-26 08:31:09 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Stacktrace from GWT debug mode none

Description Libor Zoubek 2013-08-26 09:45:10 UTC
Description of problem: jkremser noticed be about a risk of regression of Bug 816086 after Jay's changes 4c959e42d. When trying to reproduce that bug, I discovered a new one.


Version-Release number of selected component (if applicable):
RHQ 4.9 master Build Number: c72a638

How reproducible: always


Steps to Reproduce:
1. Go to inventory of platform (selection in tree is on platform)
2. expand "RHQ Storage Nodes" (selection in tree is on platform)
3. expand storage node resource within "RHQ Storage Nodes" autogroup

Actual results: you get globally uncaught exception saying: 
	
com.google.gwt.event.shared.UmbrellaException:Exception caught: (TypeError) : Cannot call method 'getJsObj' of null
   com.google.gwt.core.client.JavaScriptException:(TypeError) : Cannot call method 'getJsObj' of null

Expected results:


Additional info:

Comment 1 Jirka Kremser 2013-08-26 10:34:51 UTC
Created attachment 790418 [details]
Stacktrace from GWT debug mode

com.google.gwt.core.client.JavaScriptException: (String) : Invoking an instance method on a null instance
...
...at org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.ResourceTreeDatasource$2.onResourceTypeLoaded(ResourceTreeDatasource.java:197)

Comment 2 Jay Shaughnessy 2013-08-26 20:27:04 UTC
master commit aa975ad4f5097c6d694e296a7a1c08168aa0e84b

fixed

Comment 3 Jay Shaughnessy 2013-08-29 12:46:18 UTC
More work has been done on the tree:

commit 7a9c4da30e17e217b8d2973a2261850b9b6ba6f9
    Merge of the live avail changes into the updated tree code.  Changes in
    avail status for the detail resource should also reflected in the tree.

commit b9eb4365e63a5ba896550ade0b8ee38bc31cdaa1
    UX action item (crobson) to have click on subcategory expand the node as
    opposed to just being ignored (note that a second click should not collapse 
    the node, it only expands, like other nodes.

commit 594696c8ecf0ffe2eda95aafd7b8c6d0247f2224
  - majority of the reworking


Test Notes:
This should be ready for retest. In addition to fixing this BZ, it should also have maintained the fix for Bug 816086, while also resolving  the regression introduced by that fix. Meaning, when performing context menu refresh the tree should not collapse such that the selected node becomes hidden, regardless of whether the refreshed node is the currently selected node, an ancestor, descendent or cousin.  Note that nodes outside of the current selection may get collapsed, we don't guarantee to maintain the exact expansion state prior to the refresh, only that we don't end up hiding the currently selected node.

Comment 4 Libor Zoubek 2013-08-30 10:13:04 UTC
Verified on Version: 4.9.0-SNAPSHOT Build Number: 87f33d5.

There is a tiny bug with updating resource's availability in tree:

Have as7 server imported
have 2 browsers

browser 1: navigate to platform resource, expand AS7 autogroup, you can see 1 server UP

browser 2: go to your AS7 resource (is UP in tree) shut it down. After few seconds, server resource is shown as down with all it's children

now go to browser 1: 
you should see server still up (that makes sense, we're on platform)
click on server resrouce:

now tree updates and server should be down with all it's children (as it is in browser 2) But, server's icon in tree indicates it to be still up.

same happens if you go from DOWN to UP.

Another tiny thing: I don't like that "Loading" stuff on top of tree. When I am expanding a resource the tree suddenly moves down (because "Loading.." appears) and then up again (when it hides). I think "Loading.." indicator should either overlay the tree or have a place which does not cause move of tree.

Comment 5 Heiko W. Rupp 2014-03-26 08:31:09 UTC
Bulk closing now that 4.10 is out.

If you think an issue is not resolved, please open a new BZ and link to the existing one.