From 3396b5beb6127098c6c9cac5fd3102efd208bbd3 Mon Sep 17 00:00:00 2001 From: Ludovic Pouzenc Date: Sun, 30 Nov 2014 17:20:49 +0100 Subject: Tuning of existing diagrams, adding an activity diagram to show the global dataflow --- doc/diagrams/config.plant | 2 +- doc/diagrams/config.svg | 2 +- doc/diagrams/dataflow.plant | 31 ++++++++++++++++++ doc/diagrams/dataflow.svg | 1 + doc/diagrams/example1_flow.dia | Bin 1568 -> 0 bytes doc/diagrams/example1_flow.svg | 69 ----------------------------------------- doc/diagrams/main.plant | 27 ++++++++++++---- doc/diagrams/main.svg | 2 +- 8 files changed, 56 insertions(+), 78 deletions(-) create mode 100644 doc/diagrams/dataflow.plant create mode 100644 doc/diagrams/dataflow.svg delete mode 100644 doc/diagrams/example1_flow.dia delete mode 100644 doc/diagrams/example1_flow.svg diff --git a/doc/diagrams/config.plant b/doc/diagrams/config.plant index 24bd135..2c2b569 100644 --- a/doc/diagrams/config.plant +++ b/doc/diagrams/config.plant @@ -80,7 +80,7 @@ SSSync *-- "confConn (1)" ConfigConnectionsBean ConfigRootBean *-- "globals (1)" ConfigGlobalsBean ConfigRootBean *-- "tasks (*)" ConfigTaskBean -ConfigConnectionsBean *-- "connections (1)" ConfigConnectionBean +ConfigConnectionsBean *-- "connections (*)" ConfigConnectionBean ConfigConnectionBean *-- "dbms (1)" DBMSType ConfigConnectionBean *-- "type (1)" ConnectionType diff --git a/doc/diagrams/config.svg b/doc/diagrams/config.svg index 7554a89..e60912f 100644 --- a/doc/diagrams/config.svg +++ b/doc/diagrams/config.svg @@ -1 +1 @@ -DBMSTypeoraclemysql/*derby*/ConnectionTypejdbcldapConfigConnectionBeanString idString ressString hostint portString userString bindString passString dbConfigGlobalsBeanint maxExecTimeConfigTaskBeanString nameboolean skipReadErrorsboolean skipEntryDeleteConfigOpLimitsBeanint insertint updateint deleteSourceKindcsvldapsorted_csvsqlMVDataCombineModePRIMARY_SOURCEMERGE_APPENDMERGE_REPLACEOVERRIDEConfigSrcOrDestBeanString nameString connString queryString pathString attrString baseSSSyncConfigRootBeanConfigConnectionsBeanconfMain (1)confConn (1)globals (1)tasks (*)connections (1)dbms (1)type (1)opLimits (1)sources (*)destination (1)kind (1)mode (1) \ No newline at end of file +DBMSTypeORACLEMYSQLConnectionTypeJDBCLDAPConfigConnectionBeanString idString ressString hostint portString userString bindString passString dbConfigGlobalsBeanint maxExecTimeConfigTaskBeanString nameboolean skipReadErrorsboolean skipEntryDeleteConfigOpLimitsBeanint insertint updateint deleteSourceKindFIXED_CSVFIXED_CSV_SORTEDLDAPSQLDestKindLDAPMVDataCombineModePRIMARY_SOURCEMERGE_APPENDMERGE_REPLACEOVERRIDEConfigSourceBeanString nameString connString queryString pathString attrString baseint lookaheadConfigDestBeanString nameString connString attrString baseint lookaheadSSSyncConfigRootBeanConfigConnectionsBeanconfMain (1)confConn (1)globals (1)tasks (*)connections (*)dbms (1)type (1)opLimits (1)sources (*)destination (1)kind (1)mode (1)kind (1) \ No newline at end of file diff --git a/doc/diagrams/dataflow.plant b/doc/diagrams/dataflow.plant new file mode 100644 index 0000000..2b67219 --- /dev/null +++ b/doc/diagrams/dataflow.plant @@ -0,0 +1,31 @@ +@startuml + +database "DB\nserver" as db +node "CSV file" as csv +database "LDAP\nserver" as ldap +[SQLDataReader] as rdr_a +[CSVDataReader] as rdr_b + +() MVDataReader as src_a +() MVDataReader as src_b +() MVDataReader as src +() MVDataReadWriterPair as dst + +db --> [rdr_a] +csv --> [rdr_b] +[rdr_a] --> src_a +[rdr_b] --> src_b + +src_a --> [MVDataCombiner] +src_b --> [MVDataCombiner] +[MVDataCombiner] --> src + +src --> [BasicSyncTask] : source +[BasicSyncTask] <--> dst : destination + +dst <--> [LDAPFlatDataWriter] +[LDAPFlatDataWriter] <--> ldap + +@enduml + + diff --git a/doc/diagrams/dataflow.svg b/doc/diagrams/dataflow.svg new file mode 100644 index 0000000..f9d7762 --- /dev/null +++ b/doc/diagrams/dataflow.svg @@ -0,0 +1 @@ +DBserverCSV fileLDAPserverSQLDataReaderCSVDataReaderMVDataReaderMVDataReaderMVDataReaderMVDataReadWriterPairMVDataCombinerBasicSyncTaskLDAPFlatDataWritersourcedestination \ No newline at end of file diff --git a/doc/diagrams/example1_flow.dia b/doc/diagrams/example1_flow.dia deleted file mode 100644 index 66e01f7..0000000 Binary files a/doc/diagrams/example1_flow.dia and /dev/null differ diff --git a/doc/diagrams/example1_flow.svg b/doc/diagrams/example1_flow.svg deleted file mode 100644 index 3613ef5..0000000 --- a/doc/diagrams/example1_flow.svg +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - Oracle - - - - - - - - -  CSV1 - - - - - - - - - -  CSV2 - - - - - - - - SSSync - - - - - - - - slapd - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/diagrams/main.plant b/doc/diagrams/main.plant index 4429300..8104e48 100644 --- a/doc/diagrams/main.plant +++ b/doc/diagrams/main.plant @@ -1,19 +1,24 @@ @startuml class SSSync { +void main(String[] args) +\t } class SSSyncConfParser { +loadMainConfig(String mainConfigFile) +loadConnConfig(String connConfigFile) +\t } class SSSyncConnectionsFactory { +setupConnections(ConfigConnectionsBean confConn) +\t +\t } class SSSyncTasksFactory { -+setupTasks(ConnectionsHolder connections, ConfigRootBean confMain) ++setupTasks(ConnectionsHolder connections,\n\t\t\tConfigRootBean confMain) +\t } abstract class AbstractSyncTask { @@ -24,21 +29,31 @@ abstract class AbstractSyncTask { interface "Callable" as Callable_Boolean_ { } -Callable_Boolean_ <|.. AbstractSyncTask + +class BasicSyncTask { + -MVDataReader srcReader + -MVDataReader dstReader + -MVDataWriter dstWriter +} class ExecutorService { +invokeAll(Callable tasks...) +\t } + 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 +Callable_Boolean_ <|.. AbstractSyncTask +BasicSyncTask -|> AbstractSyncTask + +SSSync "(#3)" -up-> SSSyncTasksFactory +SSSync "(#2)" -up-> SSSyncConnectionsFactory +SSSync "(#1)" -up-> SSSyncConfParser +SSSync "(#4)" -> ExecutorService ConfigRootBean *-- "1" ConfigGlobalsBean ConfigRootBean *-- "*" ConfigTaskBean diff --git a/doc/diagrams/main.svg b/doc/diagrams/main.svg index a1f032b..095b97d 100644 --- a/doc/diagrams/main.svg +++ b/doc/diagrams/main.svg @@ -1 +1 @@ -SSSyncvoid main(String[] args)SSSyncConfParserloadMainConfig(String mainConfigFile)loadConnConfig(String connConfigFile)SSSyncConnectionsFactorysetupConnections(ConfigConnectionsBean confConn)SSSyncTasksFactorysetupTasks(ConnectionsHolder connections, ConfigRootBean confMain)AbstractSyncTaskString taskNameboolean dryRunBoolean call()Callable<Boolean>ExecutorServiceinvokeAll(Callable tasks...)ConfigRootBeanConfigConnectionsBeanConnectionsHolderConfigGlobalsBeanConfigTaskBeanLDAPConnectionWrapperSQLConnectionWrapper111*(1)(2)(3)(4)1*** \ No newline at end of file +SSSyncvoid main(String[] args)SSSyncConfParserloadMainConfig(String mainConfigFile)loadConnConfig(String connConfigFile)SSSyncConnectionsFactorysetupConnections(ConfigConnectionsBean confConn)SSSyncTasksFactorysetupTasks(ConnectionsHolder connections,ConfigRootBean confMain)AbstractSyncTaskString taskNameboolean dryRunBoolean call()Callable<Boolean>BasicSyncTaskMVDataReader srcReaderMVDataReader dstReaderMVDataWriter dstWriterExecutorServiceinvokeAll(Callable tasks...)ConfigRootBeanConfigConnectionsBeanConnectionsHolderConfigGlobalsBeanConfigTaskBeanLDAPConnectionWrapperSQLConnectionWrapper111*(#3)(#2)(#1)(#4)1*** \ No newline at end of file -- cgit v1.2.3