Skip to content

Error and warning icon decorations in AADL Navigator are not updated #1824

Closed

Description

@lwrage

Summary

The error decorations in the navigator should reflect error markers on the resource.

Expected and Current Behavior

When an error is fixed in an aadl file the error decoration in the navigator should be updated, but this does not happen.

Steps to Reproduce

  1. Introduce and fix errors in an aadl file
  2. Observe decorations in the navigator
  3. Navigator is refreshed on selecting the file of refreshing the navigator via F5.

Environment

  • OSATE Version: 2.5.0
  • Operating System: Ubuntu 19.04

Activity

  1. added this to the 2.5.1 milestone on May 30, 2019
  2. changed the title [-]Error markers in AADL Navigator are not updated[/-] [+]Error and warning icon decorations in AADL Navigator are not updated[/+] on Jun 3, 2019
  3. AaronGreenhouse commented on Jun 19, 2019

    @AaronGreenhouse
    Contributor

    Need to figure out how to trigger a refresh in the common navigator.

    I see an odd thing in the plugin.xml for org.osate.ui. Note the viewerRefresher in the definition of the AadlNavigator:

    	<extension
             point="org.eclipse.ui.navigator.viewer">
    		<viewerContentBinding 
                viewerId="org.osate.ui.navigator.AadlNavigator">
    			<includes>
       				<contentExtension pattern="org.eclipse.ui.navigator.resources.workingSets" />
    				<contentExtension pattern="org.eclipse.ui.navigator.resourceContent" />     	      
    				<contentExtension pattern="org.eclipse.ui.navigator.resources.filters.*"/>
        			<contentExtension pattern="org.osate.ui.navigator.contributedAadl" />
    			    <contentExtension pattern="org.osate.ui.navigator.aadlProjectDependencies" />
        			<contentExtension pattern="org.osate.ui.navigator.aadlFileContent" />
    			    <contentExtension pattern="org.osate.ui.navigator.menuActions" />
    				<contentExtension pattern="org.osate.ui.navigator.AadlNavigatorLinkHelper" />
        <contentExtension
              pattern="org.osate.ui.navigator.viewerRefresher">
        </contentExtension>
    			</includes>
    		</viewerContentBinding>
      		<viewerActionBinding
            	viewerId="org.osate.ui.navigator.AadlNavigator">
         		<includes>
         			<actionExtension pattern="org.eclipse.ui.navigator.resources.*" />
         			<actionExtension pattern="org.osate.ui.navigator.*" />
         		</includes>
    	  </viewerActionBinding>
       </extension>
    

    The problem is there is no mention of this any where else. The name doesn't seem to be bound to anything.

  4. AaronGreenhouse commented on Jun 19, 2019

    @AaronGreenhouse
    Contributor

    The Eclipse forum here may be useful, but the original question seems to be imcompletely answered: https://www.eclipse.org/forums/index.php/t/154948/

  5. AaronGreenhouse commented on Jun 20, 2019

    @AaronGreenhouse
    Contributor

    Made AadlElementContentProvider an IResourceChangeListener. It forces a refresh of the associated viewer when a change event comes through.

    I tried to make the refresh "smart" and only update the viewer when .aadl files are changed, but that didn't work because all the events that came thorugh just indicated that the workspace root had changed. So it didn't make sense to do any fancy checking.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions