osate / osate2

Open Source AADL2 Tool Environment
http://osate.org
Eclipse Public License 2.0
39 stars 8 forks source link

AADL Navigator: New AADL package is not inserted in correct order #1622

Closed lwrage closed 5 years ago

lwrage commented 6 years ago

Summary

Creating a new AADL package inserts it as the first element in the project.

Expected and Current Behavior

The common navigator framework tries to insert the new package in the correct location but our sorters seem to be wrong. We currently refresh the navigator (see #1608) to force sorting but this is not the correct solution.

Environment

lwrage commented 5 years ago

Check if setting parent fixes the issue.

lwrage commented 5 years ago

Setting parent has nothing to do with this.

lwrage commented 5 years ago

(@philip-alldredge FYI) The real issue is that org.osate.ge registers a label provider for IResource with highest priority (navigatorContent org.osate.ge.navigatorContent) but without a sorter. As a result, new folders and files are contributed by this navigatorContent and sorted by priority order, so they are added at the top. The label provider only considers *.aadl_diagram files, so we need to add that to the enablement of the navigatorContent.

philip-alldredge commented 5 years ago

On a related note. What is the policy for removing deprecated functionality? Is there a recommended time limit? That label provider is used for legacy diagrams which use UUIDs as the file names. Once such a diagram is opened, it is converted and renamed. At some point it will be removed. Do we have a best practice/recommendation for how many versions to wait before removing such functionality?

lwrage commented 5 years ago

@philip-alldredge Does this really do anything for UUID file names? The check isApplicable() matches *.aadl_diagram. Also, is the innerLabelProvider ever set?

Do you remember which version of OSATE introduced the new file name convention for diagrams?

philip-alldredge commented 5 years ago

@lwrage Yes, it does convert UUID file names as long as they have the .aadl_diagram extension. It doesn't appear that innerLabelProvider is ever used. How the GE actually determines the name based on the UUID is in the DefaultDiagramService. If the filename isn't a UUID then it just returns the filename.

According to the release notes version 2.2.3 (August 21th, 2017) was when stopped using UUIDs for new diagrams. The file format changed and the user is prompted to rename if opening older diagrams.

lwrage commented 5 years ago

@philip-alldredge Ah, ok, somehow I thought you meant file names consisting of just a UUID without extension.