Bug 415881 - [ui] Decorator must filter for objectClass IProject
Summary: [ui] Decorator must filter for objectClass IProject
Status: CLOSED FIXED
Alias: None
Product: M2T
Classification: Modeling
Component: Xpand (show other bugs)
Version: 1.3.0   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: M2   Edit
Assignee: Karsten Thoms CLA
QA Contact:
URL:
Whiteboard:
Keywords: performance
Depends on:
Blocks:
 
Reported: 2013-08-26 10:16 EDT by Karsten Thoms CLA
Modified: 2017-10-31 11:26 EDT (History)
0 users

See Also:
karsten.thoms: luna+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Karsten Thoms CLA 2013-08-26 10:16:53 EDT
The extension point org.eclipse.ui.decorators in plugin org.eclipse.xtend.shared.ui does only filter for the project nature. It is necessary to extend the enablement expression to apply only in IProject. Otherwise the expression will be evaluated on every object in the navigator view.

The issue came up in a customer project which has a very large tree (>100.000 items) in a custom navigator view. The items presented in this tree are EObjects, which adapt to org.eclipse.core.resources.mapping. On changes (filter) of the view all decorators for the elements were queried. This caused the decoration job running very long in the background (5 minutes with profiling).

The objectClass filtering helps the UI to complete much faster (1:19 with profiling).

Change enablement to:
         <enablement>
            <and>
              <objectClass
                  name="org.eclipse.core.resources.IProject"/>
              <objectState
                    name="nature"
                    value="org.eclipse.xtend.shared.ui.xtendXPandNature">
              </objectState>
            </and>
         </enablement>
Comment 1 Karsten Thoms CLA 2013-08-26 10:26:16 EDT
pushed to master
Comment 2 Eclipse Webmaster CLA 2017-10-31 11:26:58 EDT
Requested via bug 522520.

-M.