Download Archie - Software Composition Group

Transcript
First, we define an abstract class AbstractDataSource that provides a first
entry-point for other plug-ins to extend and write their own statistics. This
AbstractDataSource extends the Elexis class BackgroundJob which is a subclass of Eclipse API class Job.
In Eclipse Jobs are tasks that can be scheduled and executed. During their
execution the API provides methods for monitoring, locking resources, or
cancelling currently running jobs. Eclipse Jobs also provide user feedback
during execution [Vale04]. These properties are perfectly suited for our data
providers. Data providers are gathering statistical data about Elexis. During
this process a visual feedback about the current progress is shown to the
user. This is the the same concept Elexis already uses to retrieve data from
the database – most parts of Elexis itself where data retrieval takes place,
particularly if the retrieval may take some time, use a BackgroundJob and
therefore the Eclipse Job API.
Figure 3.4: First, Conceptual UML Draft
Furthermore, we need two controllers for creating tables and charts. Tables
are used in the user interface (UI) to display the gathered data to the user.
Charts are used to build visualizations of data already displayed in the UI.
For this, we define two controller classes — a TableFactory for generating
tables and a ChartFactory for creating pie, line, or bar charts based on the
data in AbstractDataSource.
17