There are a few corner cases we must pay attention to when searching for issues on the Issues search or drilldown pages:
- It can happen that some issues are related to modules or projects and not to files (like Clirr issues for instance). No source must be displayed but still we need to see the issue - and probably the tabs as well.
- Some issues can be "removed" or "fixed":
- "fixed" means that their line number goes not get updated anymore: we should probably do not show the source code - but displaying the header is OK.
- "removed" means that the component or the rule they are attached to has been deleted or deactivated: here too we should not show the source code, but displaying the header can also be difficult in the case of a deleted component. This case should be properly handled.
- the component viewer must be able to display non-yet-migrated Java projects that have package instead of directories and classes instead of files (which means that the format of their key is "xxx.yyy.zzz" and not "xxx/yyy/zzz.java").
The component viewer must handle those cases.