diff --git a/simpleexample2/fxui/src/main/java/simpleex/ui/README.md b/simpleexample2/fxui/src/main/java/simpleex/ui/README.md index 1a1e4a8df0b202d7de91f45aff732b0ece8a6163..608c4d3a2f3ceddf30fdc7d0b04cd2e754483bd7 100644 --- a/simpleexample2/fxui/src/main/java/simpleex/ui/README.md +++ b/simpleexample2/fxui/src/main/java/simpleex/ui/README.md @@ -4,7 +4,7 @@ Brukergrensesnittet er laget med JavaFX og FXML. Brukergrensesnittet er enkelt og består av en liste og et kart. Lista viser innholdet i et **LatLongs**-objekt, altså en samling **LatLong**-objekter. Når man velger et element, så vises det elementet som et punkt på kartet. En kan flytte punktet, forskyve kartet, zoome inn og ut og opprette nye **LatLong**-objekter. -Kartet implementeres av ([FxMapControl](https://github.com/ClemensFischer/FX-Map-Control), og siden biblioteket ikke er tilgjengelig i et sentral repository, så har vi bygget og lagt ved jar-filen. +Kartet implementeres av [FxMapControl](https://github.com/ClemensFischer/FX-Map-Control), og siden biblioteket ikke er tilgjengelig i et sentral repository, så har vi bygget og lagt ved jar-filen. ## Arkitektur @@ -36,3 +36,22 @@ FxAppUsingRestController --|> AbstractFxAppController LocalLatLongsDataAccess ..|> LatLongsDataAccess RestLatLongsDataAccess ..|> LatLongsDataAccess ``` + +Følgende sekvensdiagram illustrerer samspillet mellom kontrolleren, datatilgangsobjektet, REST-tjenesten og diverse hjelpeobjekter: + +```plantuml +User -> FxAppUsingRestController: Press Add location button\n -> handleAddLocation +FxAppUsingRestController -> MapView: getCenter +MapView --> FxAppUsingRestController: a Location +FxAppUsingRestController -> RestLatLongsDataAccess: addLatLong +RestLatLongsDataAccess -> ObjectMapper: writeValueAsString +ObjectMapper --> RestLatLongsDataAccess: a JSON string + +RestLatLongsDataAccess -> LatLongsService: HTTP POST "/"\n -> addLatLongs +LatLongsService --> RestLatLongsDataAccess: a JSON number +RestLatLongsDataAccess -> ObjectMapper: readValue +ObjectMapper --> RestLatLongsDataAccess: an int +RestLatLongsDataAccess --> FxAppUsingRestController: an int +FxAppUsingRestController -> FxAppUsingRestController: updateLocationViewList +FxAppUsingRestController --> User: New location appears +``` diff --git a/simpleexample2/fxui/src/main/java/simpleex/ui/RestLatLongsDataAccess.java b/simpleexample2/fxui/src/main/java/simpleex/ui/RestLatLongsDataAccess.java index 1c31607bc5ee28d7cc91e713afa503b5e4f39058..38de7e67cf9b99574ff4c8b2c5baca82d1500cb4 100644 --- a/simpleexample2/fxui/src/main/java/simpleex/ui/RestLatLongsDataAccess.java +++ b/simpleexample2/fxui/src/main/java/simpleex/ui/RestLatLongsDataAccess.java @@ -137,11 +137,11 @@ public class RestLatLongsDataAccess implements LatLongsDataAccess { if (realIndex < 0) { throw new IndexOutOfBoundsException(realIndex); } + return realIndex; } catch (final JsonProcessingException e) { throw new RuntimeException(e); } catch (IOException | InterruptedException e) { throw new RuntimeException(e); } - return 0; } }