Thread-topic: Annotations and routers: how does it work?
Title: Annotations and routers: how does it work?Hi Andrey, Yuri,
I’m testing the integration of Tigerstripe with the TAF, and finding some problems around the “routing” mechanism for storage.
As mentioned before, in the Tigerstripe case, routing of all “tigerstripe://...” annotations will be done to .ann files in the local project. (see code in org.eclipse.tigerstripe.annotation.ts2project.router).
What we do there is basically route based on the nsURI of the target annotation, so that all “DesignNotes” will go into a single file, all “HibernateHints” will go into another single file, etc...
That way we can choose to include a .ann file or not to provide the corresponding annotations.
Now, when creating annotations, the routing logic works fine. It routes Anntations properly.
But when I stop and restart Eclipse (with projects that contain multiple .ann files), I don’t get the annotations... The files are there but the corresponding annotations don’t appear in the Annotations Views.
I’ve set a break point in the routing logic expecting that the TAF would use that logic to figure what .ann files to read and load annotations but nothing.
So, this is letting me believe that there is something missing here. At start-up how does the TAF know what to load?
The weird thing is that, if I add new annotations on top of the existing ones, they get routed properly and added to the right .ann files, I see them in the UI but still can’t see the ones created in the previous session.
Now, our routing requirements make it very dynamic. So you can’t expect the TAF to “remember” the files. It needs to get the URIs on-demand when an object is selected for all potential targets.
This may require a change in the API.