publisherVersion.save.add.puml
3.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
@startuml
actor Contributor
participant publisherVersion.xhtml
participant PublisherVersionView
participant PublisherServiceDefault as PublisherServiceDefault << PublisherService >>
participant SharedServiceDefault as SharedServiceDefault << SharedService >>
participant publisher
participant publisherVersions as publisherVersions << Set<PublisherVersion> >>
participant publisherVersion
participant PublisherVersionRepository
participant PublisherRepository
Contributor -> publisherVersion.xhtml : Save
activate publisherVersion.xhtml
publisherVersion.xhtml -> PublisherVersionView: save()
activate PublisherVersionView
alt newPublisher
PublisherVersionView -> PublisherVersionView: add()
activate PublisherVersionView
PublisherVersionView -> PublisherVersionView: getNewPublisherVersion()
activate PublisherVersionView
create publisherVersion
PublisherVersionView -> publisherVersion: new
PublisherVersionView -> publisherVersion: setValues(publisherAddressCountry, addressLocality, addressRegion, email, publisherHistory, publisherName, postalCode, postOfficeBoxNumber, ...)
activate publisherVersion
publisherVersion -> PublisherVersionView
deactivate publisherVersion
PublisherVersionView -> PublisherVersionView: publisherVersion
deactivate PublisherVersionView
PublisherVersionView -> PublisherServiceDefault: addNewPublisher(publisherVersion)
activate PublisherServiceDefault
create publisher
PublisherServiceDefault -> publisher: new
create publisherVersions
PublisherServiceDefault -> publisherVersions: new
PublisherServiceDefault -> publisherVersions: add(publisherVersion)
activate publisherVersions
publisherVersions -> PublisherServiceDefault
deactivate publisherVersions
PublisherServiceDefault -> publisher: setVersions(publisherVersions)
activate publisher
publisher -> PublisherServiceDefault
deactivate publisher
PublisherServiceDefault -> publisherVersion: setPublisher(publisher)
activate publisherVersion
publisherVersion -> PublisherServiceDefault
deactivate publisherVersion
PublisherServiceDefault -> SharedServiceDefault: getCurrentUser()
activate SharedServiceDefault
SharedServiceDefault -> PublisherServiceDefault: currentUser
deactivate SharedServiceDefault
PublisherServiceDefault -> publisherVersion:setPublisherVersionCreator(currentUser)
activate publisherVersion
publisherVersion -> PublisherServiceDefault
deactivate publisherVersion
PublisherServiceDefault -> publisherVersion:setPublisherVersionDatetime(currentDatetime)
activate publisherVersion
publisherVersion -> PublisherServiceDefault
deactivate publisherVersion
PublisherServiceDefault -> PublisherServiceDefault:savePublisherVersion(publisherVersion)
activate PublisherServiceDefault
PublisherServiceDefault -> PublisherVersionRepository:save(publisherVersion)
activate PublisherVersionRepository
PublisherVersionRepository -> PublisherServiceDefault
deactivate PublisherVersionRepository
PublisherServiceDefault -> PublisherServiceDefault
deactivate PublisherServiceDefault
PublisherServiceDefault -> PublisherServiceDefault:savePublisher(publisher)
activate PublisherServiceDefault
PublisherServiceDefault -> PublisherRepository:save(publisher)
activate PublisherRepository
PublisherRepository -> PublisherServiceDefault
deactivate PublisherRepository
PublisherServiceDefault -> PublisherServiceDefault
deactivate PublisherServiceDefault
PublisherServiceDefault -> PublisherVersionView: publisherVersion
deactivate PublisherServiceDefault
PublisherVersionView -> PublisherVersionView
deactivate PublisherVersionView
else
PublisherVersionView -> PublisherVersionView: update()
activate PublisherVersionView
PublisherVersionView -> PublisherVersionView
deactivate PublisherVersionView
end
PublisherVersionView -> publisherVersion.xhtml
deactivate PublisherVersionView
publisherVersion.xhtml -> Contributor
deactivate publisherVersion.xhtml
@enduml