Hi,
for reporting, we will need some common grounds in the model classes.
We already had the @Label annotation, but that was removed.
Here's my suggestion:
@Title String - Title of the reported item. Not Name, that is overused
(e.g. all the EE resources will have names).
@Description String / class - longer description.
@Icon("resource/path.png") class - Graphical symbol to make the reports
more appealing.
@FoundBy List<Rule> - rules which found the item.
@Solutions List<Solution> - links to a solutions for given problem -
knowledge base?
@References List<Reference> - links to references for given problem.
URLs to docs.
@Properties Properties / Map<String, String>:
Many resources will have lists of information, e.g. generic
properties, like datasources.
These properties are not known in advance - they are DB specific,
JDBC driver specific, AS specific.
So instead of having a java property for each, it's way better to
have Properties or Map.
Properties won't be present in all models, but will be quite common,
so it should have support in core.
JIRA:
https://issues.jboss.org/browse/WINDUP-120
There are few related:
WINDUP-103 Create report data model
WINDUP-109 Refactor model classes to support an abstract project model
WINDUP-117 Update reporting to use the new project meta-model for
producing reports (including blacklist reports)
WINDUP-114 Replace ArchiveModelPointer with a
@ArchiveType(value=".war") annotation on the model classes themselves
Ondra