summaryrefslogtreecommitdiff
path: root/doc/diagrams/main.plant
diff options
context:
space:
mode:
Diffstat (limited to 'doc/diagrams/main.plant')
-rw-r--r--doc/diagrams/main.plant48
1 files changed, 48 insertions, 0 deletions
diff --git a/doc/diagrams/main.plant b/doc/diagrams/main.plant
new file mode 100644
index 0000000..4429300
--- /dev/null
+++ b/doc/diagrams/main.plant
@@ -0,0 +1,48 @@
+@startuml
+class SSSync {
++void main(String[] args)
+}
+
+class SSSyncConfParser {
++loadMainConfig(String mainConfigFile)
++loadConnConfig(String connConfigFile)
+}
+
+class SSSyncConnectionsFactory {
++setupConnections(ConfigConnectionsBean confConn)
+}
+
+class SSSyncTasksFactory {
++setupTasks(ConnectionsHolder connections, ConfigRootBean confMain)
+}
+
+abstract class AbstractSyncTask {
+ #String taskName
+ #boolean dryRun
+ +Boolean call()
+}
+
+interface "Callable<Boolean>" as Callable_Boolean_ {
+}
+Callable_Boolean_ <|.. AbstractSyncTask
+
+class ExecutorService {
++invokeAll(Callable tasks...)
+}
+
+SSSync *-- "1" ConfigRootBean
+SSSync *-- "1" ConfigConnectionsBean
+SSSync *-- "1" ConnectionsHolder
+SSSync *-- "*" AbstractSyncTask
+
+SSSync "(1)" -up-> SSSyncConfParser
+SSSync "(2)" -up-> SSSyncConnectionsFactory
+SSSync "(3)" -up-> SSSyncTasksFactory
+SSSync "(4)" -> ExecutorService
+
+ConfigRootBean *-- "1" ConfigGlobalsBean
+ConfigRootBean *-- "*" ConfigTaskBean
+
+ConnectionsHolder *-- "*" LDAPConnectionWrapper
+ConnectionsHolder *-- "*" SQLConnectionWrapper
+@enduml