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.

MleView

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:

MleHeaderEditingButtonPmo
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.

ClaimExpenditureRepository