Skip to content
Snippets Groups Projects
Commit dfa0fce6 authored by Daniel Hornung's avatar Daniel Hornung
Browse files

DOC: Plantuml diagrams

parent a46a795b
No related branches found
No related tags found
2 merge requests!21Release v0.4.0,!15Document server code structure
Pipeline #8120 passed
......@@ -47,6 +47,7 @@ extensions = [
"recommonmark", # For markdown files.
"sphinx.ext.autosectionlabel", # Allow reference sections using its title
"sphinx_rtd_theme",
"sphinxcontrib.plantuml", # PlantUML diagrams
]
# Add any paths that contain templates here, relative to this directory.
......
......@@ -30,8 +30,12 @@ Transactions are explained in detail in the :ref:`Transactions and Schedules<tra
.. uml::
@startuml
abstract AbstractCaosDBServerResource
class RetrieveEntityResource
abstract AbstractCaosDBServerResource {
{abstract} httpGetInChildClass()
{abstract} httpPostInChildClass()
{abstract} ...InChildClass()
}
abstract RetrieveEntityResource
class EntityResource
AbstractCaosDBServerResource <|-- RetrieveEntityResource
RetrieveEntityResource <|-- EntityResource
......@@ -60,6 +64,43 @@ main packages which handle the backend:
method. These classes may use specific backend implementations (like for example the MySQL
implementations) to interact with the backend database.
.. uml::
@startuml
together {
abstract BackendTransaction {
HashMap impl // stores all implementations
abstract execute()
}
note left of BackendTransaction::impl
Stores the
implementation
for each
interface."
end note
package ...backend.interfaces {
interface GetIDByNameImpl {
abstract execute(String name, String role, String limit)
}
}
}
together {
package ...backend.transaction {
class GetIDByName extends BackendTransaction {
execute()
}
}
package ...backend.implementation.MySQL {
class MySQLGetIDByName implements GetIDByNameImpl {
execute(String name, String role, String limit)
}
}
}
GetIDByName::execute --r-> MySQLGetIDByName
@enduml
.. _transactions:
Transactions and Schedules
......
......@@ -2,10 +2,11 @@ FROM debian:buster
RUN apt-get update && \
apt-get install -y \
git make mariadb-server maven openjdk-11-jdk-headless \
plantuml \
python3-pip screen libpam0g-dev unzip curl shunit2 \
python3-sphinx \
&& \
pip3 install javasphinx recommonmark sphinx-rtd-theme
pip3 install javasphinx recommonmark sphinx-rtd-theme sphinxcontrib-plantuml
# Alternative, if javasphinx fails because python3-sphinx is too recent:
# (`_l` not found):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment