-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
Description
Lines 75 to 130 in c94722e
.Створення форми/бізнес-процесу. Захист від перезапису змін | |
[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 |
Lines 133 to 190 in c94722e
.Оновлення форми/бізнес-процесу. Захист від перезапису змін | |
[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 | |
---- |
Lines 192 to 249 in c94722e
.Видалення форми/бізнес-процесу. Захист від перезапису змін | |
[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 | |
---- |