Skip to content

Діаграми англійською в українській версії #15

@scorpio-84

Description

@scorpio-84

.Створення форми/бізнес-процесу. Захист від перезапису змін
[plantuml, req1, svg]
----
@startuml
actor User as user
participant rrm as "RRM"
participant git as "Local Git repo"
participant gerrit as "Origin Gerrit"
actor counterpart as "Counterpart"
user -> rrm: creates form/bp
activate rrm
group Concurrent validation
rrm -> git: file exists?
git --> rrm: response
end
alt file already exists
rrm --> user: HTTP 412 Precondition Failed
end
alt concurrent work in Admin Portal
counterpart -> git: creates form/bp with the same name
else concurrent work in Gerrit
counterpart -> gerrit: creates form/bp\nwith the same name
end
rrm -> rrm: do some side stuff
rrm -> rrm: acquire lock
activate rrm #DarkSalmon
group Concurrent validation
rrm -> git: file exists?
git --> rrm: response
end
alt file already exists
rrm --> user: HTTP 412 Precondition Failed
end
rrm -> git: write file content
rrm -> git: git add\ngit commit\ngit push
git -> gerrit: push changes
alt merge conflict
gerrit --> git: merge conflicts
git --> rrm: merge conflicts
rrm -> git: git fetch
git -> gerrit: git fetch
rrm -> git: hard reset on origin head branch
rrm --> user: HTTP 412 Precondition Failed
end
rrm -> rrm: release lock
deactivate rrm
rrm --> user: ok
deactivate rrm
@enduml

.Оновлення форми/бізнес-процесу. Захист від перезапису змін
[plantuml, req2, svg]
----
@startuml
actor User as user
participant rrm as "RRM"
participant git as "Local Git repo"
participant gerrit as "Origin Gerrit"
actor counterpart as "Counterpart"
user -> rrm: update form/bp
activate rrm
group Concurrent validation
rrm -> git: get file content
git --> rrm: file content
rrm -> rrm: compare etags
end
alt etags are different
rrm --> user: HTTP 412 Precondition Failed
end
alt concurrent work in Admin Portal
counterpart -> git: updates form/bp
else concurrent work in Gerrit
counterpart -> gerrit: updates form/bp
end
rrm -> rrm: do some side stuff
rrm -> rrm: acquire lock
activate rrm #DarkSalmon
group Concurrent validation
rrm -> git: get file content
git --> rrm: file content
rrm -> rrm: compare etags
end
alt etags are different
rrm --> user: HTTP 412 Precondition Failed
end
rrm -> git: write file content
rrm -> git: git add\ngit commit\ngit push
git -> gerrit: push changes
alt merge conflict
gerrit --> git: merge conflicts
git --> rrm: merge conflicts
rrm -> git: git fetch
git -> gerrit: git fetch
rrm -> git: hard reset on origin head branch
rrm --> user: HTTP 412 Precondition Failed
end
rrm -> rrm: release lock
deactivate rrm
rrm --> user: ok
deactivate rrm
@enduml
----

.Видалення форми/бізнес-процесу. Захист від перезапису змін
[plantuml, req3, svg]
----
@startuml
actor User as user
participant rrm as "RRM"
participant git as "Local Git repo"
participant gerrit as "Origin Gerrit"
actor counterpart as "Counterpart"
user -> rrm: deletes form/bp
activate rrm
group Concurrent validation
rrm -> git: get file content
git --> rrm: file content
rrm -> rrm: compare etags
end
alt etags are different
rrm --> user: HTTP 412 Precondition Failed
end
alt concurrent work in Admin Portal
counterpart -> git: updates form/bp
else concurrent work in Gerrit
counterpart -> gerrit: updates form/bp
end
rrm -> rrm: do some side stuff
rrm -> rrm: acquire lock
activate rrm #DarkSalmon
group Concurrent validation
rrm -> git: get file content
git --> rrm: file content
rrm -> rrm: compare etags
end
alt etags are different
rrm --> user: HTTP 412 Precondition Failed
end
rrm -> git: deletes content
rrm -> git: git add\ngit commit\ngit push
git -> gerrit: push changes
alt merge conflict
gerrit --> git: merge conflicts
git --> rrm: merge conflicts
rrm -> git: git fetch
git -> gerrit: git fetch
rrm -> git: hard reset on origin head branch
rrm --> user: HTTP 412 Precondition Failed
end
rrm -> rrm: release lock
deactivate rrm
rrm --> user: ok
deactivate rrm
@enduml
----

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions