
Design
MleView und MleHeader
Die Klasse MleView
erlaubt das Anlegen, Bearbeiten und Betrachten eines einzelnen Großschadenereignisses, sowie die Analyse der Fallkosten aus dem Schadenmeldesystem in Bezug auf das aktuelle Großschadenereignis. Mittels eines LinkkiTabLayout
können TabSheets
angelegt werden, die dann wiederum aus zwei Teilen bestehen, dem MleHeader
und der AbstractPage
, welche durch die UiFactory
erzeugt werden.

Die Klasse MleHeader
besteht nur aus zwei Pmos. Das erste Pmo wird im Kopfbereich der Seite links für den Titel, das zweite Pmo wird auf der rechten Seite vorwiegend als Button-Bar für die Aktionen verwendet. Wichtig für das erste Pmo ist, dass zumindest die Methode mit der Signatur getHeaderTitle(): String
vorhanden ist. Eine zusätzliche @UILabel
-Annotation ist nicht notwendig. Um das Ändern der Titelgenerierung zu vereinfachen wird der Standardimplementierung MleHeaderTitlePmo
ein MleHeaderTitleRenderer
mit übergeben. Dieses Interface ermöglicht das Generieren eines Titels anhand einer Instanz des Großschadenereignisses und kann beliebig ausgetauscht werden. Bei dem zweiten Pmo ist sehr zu empfehlen, dass ein @UIHorizontalLayout
verwendet wird.
MleHeaderEditingButtonPmo
Das MleHeaderEditingButtonPmo
definiert die drei Buttons Bearbeiten, Speicher und Abbrechen, wobei der Bearbeiten-Button nur im Lesemodus (siehe PropertyBehavior
) zu sehen ist und die Buttons Speicher und Abbrechen nur im Bearbeiten-Modus. Alle drei Buttons delegieren ihre Aktion an einen MleHeaderEditingUiController
. Somit kann im Kundenprojekt entschieden werden, was die Buttons letzten endes tun.
Folgendes Klassendiagramm verdeutlicht den Aufbau des Pmos:

Fallkostenanalyse und Anbindung von ICS
Die Klasse MleAnalysisService
und dessen Standard-Implementierung DefaultMleAnalysisService
definieren eine Methode getExpenditures(MajorLossEvent): Result<List<? extends ClaimExpenditure>>
, welche an eine Implementierung des ClaimExpenditureRepository
delegiert.
Das Modul ics-claim-repository
deklariert bereits eine Bean für das ClaimExpenditureRepository
, welches die Schnittstelle entsprechende REST Schnittstelle aus Faktor-ICS aufruft. Um sie zu verwenden, muss die Maven-Abhängigkeit der Anwendung hinzugefügt werden. Der FeignClient
mit dem Namen ClaimClient
muss an der Spring-Anwendung aktiviert und der Pfad oder die Klasse muss im Component-Scan inkludiert werden.
Eine Beispiel-Konfiguration von OpenFeign und Faktor-ICS befindet sich in application.yml
.
