' SPDX-License-Identifier: AGPL-3.0-or-later ' SPDX-FileCopyrightText: 2023 swt23w23 @startuml ' participant Administrator participant User participant Catalog participant Inventory participant Salespoint participant Spring == List Products for events of type == User -> Catalog : catalog(type) activate User activate Catalog Catalog -> Catalog : type == 'EVENTCATERING' ? rentableCatalog.findByType(type) Catalog -> Catalog : type != 'RENT_A_COOK' ? consumableCatalog.findByType(type) Catalog -> Spring : type == 'EVENTCATERING' ? addAttribute(rentables_of_type) activate Spring Catalog <-- Spring deactivate Spring Catalog -> Spring : type != 'RENT_A_COOK' ? model.addAttribute(consumables_of_type) activate Spring Catalog <-- Spring deactivate Spring Catalog -> Spring : model.addAttribute(type) activate Spring Catalog <-- Spring deactivate Spring User <-- Catalog : catalog.html deactivate Catalog == Show product details == User -> Catalog : detail(id) activate Catalog Catalog -> Inventory : inventory.findByProductIdentifier(id) activate Inventory Catalog <-- Inventory : inventoryItem deactivate Inventory Catalog -> Salespoint : inventoryItem.getQuantity() activate Salespoint Catalog <-- Salespoint : quantity deactivate Salespoint Catalog -> Spring : model.addAttribute(inventoryItem) activate Spring Catalog <-- Spring deactivate Spring Catalog -> Spring : model.addAttribute(quantity) activate Spring Catalog <-- Spring deactivate Spring User <-- Catalog : detail.html deactivate Catalog ' deactivate User @enduml