f844809e9139f5f639ead2d1fa1afff522afbc94
[policy/parent.git] / docs / architecture / plantuml / PolicyDesign.puml
1 @startuml
2
3 title Policy Design
4
5 participant API_User
6 box "PolicyDesign" #LightBlue
7   participant PolicyDesign
8   database PolicyDB
9 end box
10
11 autonumber
12
13 API_User --> PolicyDesign : Get Policy Type Reference
14 PolicyDesign --> PolicyDB : Get Policy Type Artifact and Metadata
15 PolicyDesign --> API_User : Return Policy Type Reference and Metadata
16 API_User --> PolicyDesign : Get Policy Reference and Metadata
17 PolicyDesign --> PolicyDB : Get Policy Metadata
18
19 alt Policy Artifact exists
20   PolicyDesign --> API_User : Return Policy Reference and Metadata
21 else Policy Artifact does not exist
22   PolicyDesign --> API_User : Return New Policy Reference and Empty Metadata
23 end
24
25 API_User --> API_User : Policy Editing and Generation Session\nto get Policy Parameters from user
26
27 activate API_User
28 deactivate API_User
29
30 loop
31   API_User --> PolicyDesign : Use Policy Type specification
32   API_User --> PolicyDesign : Create Policy PolicyDesign --> PolicyDesign : Create Policy
33   activate PolicyDesign
34   deactivate PolicyDesign
35   PolicyDesign --> PolicyDB : Save Policy Artifact and Metadata
36   PolicyDesign --> API_User : Policy Creation Result
37 end
38
39 @enduml