summaryrefslogtreecommitdiff
path: root/11-entwurfsheft-kolloquium/assets/diagrams/classdiagram.puml
diff options
context:
space:
mode:
Diffstat (limited to '11-entwurfsheft-kolloquium/assets/diagrams/classdiagram.puml')
-rw-r--r--11-entwurfsheft-kolloquium/assets/diagrams/classdiagram.puml68
1 files changed, 68 insertions, 0 deletions
diff --git a/11-entwurfsheft-kolloquium/assets/diagrams/classdiagram.puml b/11-entwurfsheft-kolloquium/assets/diagrams/classdiagram.puml
new file mode 100644
index 0000000..f833aa2
--- /dev/null
+++ b/11-entwurfsheft-kolloquium/assets/diagrams/classdiagram.puml
@@ -0,0 +1,68 @@
+@startuml
+' skinparam linetype ortho
+' skinparam groupInheritance 2
+allowmixing
+
+!include classdiagram-authentication.puml
+!include classdiagram-episode-actions.puml
+!include classdiagram-model.puml
+!include classdiagram-subscriptions.puml
+!include classdiagram-util.puml
+
+class SecurityConfigurationBasicAuth {
+ <<create>> SecurityConfigurationBasicAuth()
+ PasswordEncoder encoder()
+ UserDetailsManager userDetailsService()
+ SecuryFilterChain fiterChain(HTTPSecurity http) throws Excpetion
+}
+note top
+ Erstellt einen Servlet Filter (springSecurityFilterChain)
+ der für die gesamte Sicherheit zuständig ist (Schutz der URLs,
+ Validierung von Anmeldedaten, Weiterleitung zur Anmeldung, etc.).
+end note
+
+class PSEApplication {
+ <<create>> PSEApplication()
+ void main(String[] args)
+}
+
+database Datenbank
+Datenbank <-[hidden]d- subscriptionsAPI
+Datenbank <-[hidden]d- episodeActionsAPI
+Datenbank <-[hidden]d- authenticationAPI
+() SQL as SQLSub
+() SQL as SQLAuth
+() SQL as SQLEpisode
+
+Datenbank -- SQLSub
+Datenbank -- SQLAuth
+Datenbank -- SQLEpisode
+
+Subscription --o SubscriptionTitles
+EpisodeActionPost -o SubscriptionTitles
+UserDetailsManager <.. SecurityConfigurationBasicAuth: <<use>>
+
+SubscriptionController ..o PSEApplication
+AuthenticationController ..o PSEApplication
+EpisodeActionController ..o PSEApplication
+SecurityConfigurationBasicAuth ..o PSEApplication
+
+PSEApplication --() HTTP
+
+SQLSub )-- SubscriptionDataAccessService: JPA
+' SQLAuth )-- AuthenticationDataAccessService: JPA
+SQLAuth )-- JdbcUserDetailsManager: JDBC
+SQLEpisode )-- EpisodeActionDataAccessService: JPA
+
+RSSParser <. SubscriptionDataAccessService: <<use>>
+RSSParser <. EpisodeActionDataAccessService: <<use>>
+' JdbcUserDetailsManager <-- CleanCronJob
+
+model .o Datenbank: ORM (User, SubscriptionAction, Subscription, EpisodeAction, Episode)
+' Datenbank o.. Subscription: ORM
+' Datenbank o.. SubscriptionAction: ORM
+' Datenbank o.. Episode: ORM
+' Datenbank o.. EpisodeAction: ORM
+' Datenbank o.. User: ORM
+
+@enduml