sverweij/mscgen_js

View on GitHub
src/samples/3rdparty/basicconcept-syncall.msc

Summary

Maintainability
Test Coverage
# found on
# http://leon.work.billydev.com/projects/billypds.core/tools/doc/sequence/
msc {
   hscale="1.9",  arcgradient="8";
   # The entities
   BILLY,YOU;


   # Small gap before the boxes
   |||;

   # some arrows
   YOU=>BILLY     [ label = "call changes.xml?time=2012-01-01+12:01:01", linecolor="green"  ];
   YOU<=BILLY     [ label = "give back type(s) and id's (22,33,44,55,66) of changed entities", linecolor="gray"  ];
   |||;
   YOU rbox YOU   [ linecolor="gray", textcolor="#555555", label = "if type='details' and amount > 0 in response" ];
   YOU>>BILLY     [ label = " then call details.xml?id=22,33", linecolor="green"  ];
   YOU<<BILLY     [ label = "give back detailed propertie(s)", linecolor="gray" ];
   YOU<=YOU       [ label = "if property's status='live' then make property bookable", linecolor="green"  ];
   YOU<=YOU       [ label = "if property's status='ready' or 'inactive' then make property not bookable", linecolor="green"  ];
   YOU<=YOU       [ label = "update (or add new) properties in local db", linecolor="green"  ];
   YOU rbox YOU   [ linecolor="gray", textcolor="#555555",  label = "if type='availability' and amount > 0 in response" ];
   YOU>>BILLY     [ label = "then call availability.xml?id=22,33", linecolor="green"  ];
   YOU<<BILLY     [ label = "give back detailed availability of propertie(s)", linecolor="gray" ];
   YOU<=YOU       [ label = "update (or add new) availability in local db", linecolor="green"  ];
   YOU rbox YOU   [ linecolor="gray", textcolor="#555555",  label = "if type='rates' and amount > 0 in response" ];
   YOU>>BILLY     [ label = "1) then call rates.xml?id=44", linecolor="green"  ];
   YOU>>BILLY     [ label = "2) then call rate_anomaly.xml?id=44", linecolor="green"  ];
   YOU>>BILLY     [ label = "3) then call rate_longstay.xml?id=44", linecolor="green"  ];
   YOU<<BILLY     [ label = "response(s) of rates(1), markups/markdowns(2), longstay discount(3) of propertie(s)", linecolor="gray" ];
   YOU<=YOU       [ label = "update (or add new) in local db", linecolor="green"  ];
   YOU rbox YOU   [ linecolor="gray", textcolor="#555555",  label = "if type='provider' and amount > 0 in response" ];
   YOU>>BILLY     [ label = "1) then call providers.xml?id=66", linecolor="green"  ];
   YOU>>BILLY     [ label = "2) then call details.xml?provider_id=66", linecolor="green"  ];
   YOU<<BILLY     [ label = "response(s) with provider and details", linecolor="gray" ];
   YOU<=YOU       [ label = "update (or add new) provider(details) in local db", linecolor="green"  ];
   YOU rbox YOU   [ linecolor="gray", textcolor="#555555",  label = "if type='stay-minimum' and amount > 0 in response" ];
   YOU>>BILLY     [ label = "then call stay_minimum.xml?id=77", linecolor="green"  ];
   YOU<<BILLY     [ label = "give back minimum stay of propertie(s)", linecolor="gray" ];
   YOU<=YOU       [ label = "update (or add new) propertie(s) in local db", linecolor="green"  ];
   YOU rbox YOU   [ linecolor="gray", textcolor="#555555",  label = "if type='booking' and amount > 0 in response" ];
   YOU>>BILLY     [ label = "then call booking_view.xml?id=77", linecolor="green"  ];
   YOU<<BILLY     [ label = "give back detailed booking(s)", linecolor="gray" ];
   YOU<=YOU       [ label = "update (or add new) booking(s) in local db", linecolor="green"  ];
   |||;
   BILLY rbox YOU [ label="You are synchronized! Repeat every 15 minutes", textbgcolour="#7fff7f" ];
   YOU=>>YOU      [ label = "lean back, drink coffee" ];
   
}

# ** = status 'live'     = boekbaar, alle content aviable
#             'ready'    = niet boekbaar,content maar nog niet avaiable / boekbaar
#             'inactive' = niet boekbaar, 
#