|
|
### Overview into the project folder structure of ATHEN
|
|
|
# Overview into the project folder structure of ATHEN
|
|
|
|
|
|
ATHEN is an application based on eclipse 4 RCP, which means every a couple of things:
|
|
|
|
... | ... | @@ -29,7 +29,7 @@ It merely contains the GAV attributes, every maven project requires, as well as |
|
|
|
|
|
All the user created code (aka the plugin projects) are stored in a folder *bundles* right below the root of ATHEN (which is the project *de.uniwue.mk.athen*). Besides this folder, there are two further folder, one is called *features* and the other one is called **releng**.
|
|
|
|
|
|
# The folder **features**
|
|
|
## The folder **features**
|
|
|
Inside this folder is a single project that wraps the ATHEN feature. If you dont know what a feature is, you can think of it as one of the two explanations:
|
|
|
|
|
|
* A feature is a collection of plugin projects
|
... | ... | @@ -39,7 +39,7 @@ In its current state, ATHEN only deploys a single feature with all projects stor |
|
|
|
|
|
The feature itself is a neat thing, since eclipse 4 rcp applications come with a possibility to update themselfes from an online repository. Since ATHEN is a desktop application, having an update site eases up the process of getting access to a new version.
|
|
|
|
|
|
# The folder **releng** (Release Engineering)
|
|
|
## The folder **releng** (Release Engineering)
|
|
|
|
|
|
The projects located in this folder are responsible for a couple of things:
|
|
|
|
... | ... | @@ -53,7 +53,7 @@ The following picture shows the current situation of this folder: |
|
|
|
|
|
<img src="/uploads/6878b791f8fb432e1ac9f1169620d518/relengFolderStructure.PNG" alt="RelEng Folder strcture" style="width: 640px;" style="height: 480px;"/>
|
|
|
|
|
|
### ATHENs layout
|
|
|
# ATHENs layout
|
|
|
|
|
|
If you want to work on ATHEN you should understand the terminology that is introduced with ATHEN. Below there is a picure of the layout which appears after you start ATHEN:
|
|
|
|
... | ... | @@ -75,11 +75,11 @@ Every different implementation of an editor, a view or an anayzer is inherently |
|
|
Parts can communicate using the eclipse 4 RCP bus, which is called the EventBroker. Using this bus system, parts can communicate and notify other parts whenever necessary. The broker can be considered a global variable which exists once for the whole application. Every class which has access to the broker can send events using its *send* method and can register for events using the *subscribe()* und *unsubscribe()* methods.
|
|
|
|
|
|
|
|
|
## Parts in ATHEN
|
|
|
# Parts in ATHEN
|
|
|
|
|
|
If you start ATHEN, you usually end up in the annotation perspective. In this perspective you will always see the previously shown layout of the parts, with only the project explorer being visible. Now it is time to further address the purpose of those parts.
|
|
|
|
|
|
# The Project Explorer
|
|
|
## The Project Explorer
|
|
|
|
|
|
In the beginning, the project explorer shows which projects are available in the workspace. This is its main purpose. Its other main feature is to listen to the filesystem for changes and immediately reflect them in the explorer (which means you can just change the filesystem and the application remains up-to-date)
|
|
|
|
... | ... | @@ -88,11 +88,11 @@ Currently the project explorer allows the user to perform **delete**, **copy** a |
|
|
The Project Explorer allows to open a document, which is caused by either double clicking or pressing Enter on a single document.
|
|
|
This causes an event to be fired which notifiys the current editor, that a document should be opened. A fitting reader is searched and the final document (in the form of a CAS) is handed over to the editor (by the use of the EventBroker)
|
|
|
|
|
|
# The Editor
|
|
|
## The Editor
|
|
|
|
|
|
The Editor is the heart of ATHENs Userinterface. After the project explorer requested that a document should be opened, the editor starts to display the document. From now on, the editors main purpose is to keep its listening Views and Analyzer parts up to date. Which means, that after the editor performed internal initializations, it immediately notifies all listening parts for a document change, this cause a change in the corresponding parts.
|
|
|
|
|
|
# The Views
|
|
|
## The Views
|
|
|
|
|
|
The views, which is every part which is located to the right of the editor
|
|
|
|
... | ... | |