GenNode: investigate Problem with non-unique attribute IDs
this is not a problem, strictly sepaking, locally. But it becomes a problem once the GUI uses those attribute IDs as Element-IDs for tangible UI entities, which need to be uniquely addressable via the UI-Bus. An obvious solution is to inject randomness into the Attribute ID hash
This commit is contained in:
parent
20451c958a
commit
83394a6f01
3 changed files with 193 additions and 16 deletions
|
|
@ -52,6 +52,16 @@
|
|||
** addressable by-name and an (ordered) collection of elements treated
|
||||
** as children within the scope of the given record.
|
||||
**
|
||||
** ## The GenNode ID
|
||||
**
|
||||
** Each GenNode holds an ID tag, allowing to establish _identical_ and _distinct_
|
||||
** elements within a scope. This ID is based on lib::idi::BareEntryID, thereby
|
||||
** providing a human readable symbolic part, and a hash value. By default, these
|
||||
** GenNode IDs are fabricated such as to hold a non-reproducible, random hash
|
||||
** value -- however, there are construction flavours allowing to pass in an
|
||||
** pre-existing distinct Entry-ID.
|
||||
**
|
||||
**
|
||||
** # Requirements
|
||||
**
|
||||
** GenNode elements are to be used in the diff detection and implementation.
|
||||
|
|
@ -66,7 +76,7 @@
|
|||
** typed context, either based on some kind of embedded type tag, or
|
||||
** alternatively by visitation and matching
|
||||
** - finally, the handling of changes prompts us to support installation
|
||||
** of a specifically typed <i>change handling closure</i>.
|
||||
** of a specifically typed _change handling closure_.
|
||||
**
|
||||
** ## monadic nature?
|
||||
**
|
||||
|
|
@ -223,6 +233,10 @@ namespace diff{
|
|||
idi::getTypeHash<X>())
|
||||
{ }
|
||||
|
||||
ID (string const& symbolicID, HashVal seed)
|
||||
: idi::BareEntryID (symbolicID, seed)
|
||||
{ }
|
||||
|
||||
public:
|
||||
explicit
|
||||
ID (GenNode const& node)
|
||||
|
|
@ -433,7 +447,15 @@ namespace diff{
|
|||
}
|
||||
};
|
||||
|
||||
|
||||
template<typename X>
|
||||
static GenNode
|
||||
forAttribute (string const& key, X&& payload)
|
||||
{
|
||||
return GenNode{ID(key, std::rand()) // NOTE: random hash seed
|
||||
,DataCap(forward<X> (payload))};
|
||||
}
|
||||
|
||||
|
||||
protected:
|
||||
/** @internal for dedicated builder subclasses */
|
||||
GenNode (ID&& id, DataCap&& d)
|
||||
|
|
@ -845,7 +867,7 @@ namespace diff{
|
|||
inline GenNode
|
||||
Rec::buildAttribute (string const& key, X&& payload)
|
||||
{
|
||||
return GenNode(key, std::forward<X>(payload));
|
||||
return GenNode::forAttribute (key, forward<X>(payload));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -25,17 +25,22 @@
|
|||
** Special collection to represent object-like data.
|
||||
** To be used in a context where introspection, open, extensible definitions
|
||||
** and loose coupling of data representation matters. Typically, structures
|
||||
** defined in terms of Record elements are linked to the actual \em core
|
||||
** defined in terms of Record elements are linked to the _actual core_
|
||||
** representation of the same entities relying on [diff messages](\ref diff-language.hpp).
|
||||
** Record is one of the supported flavours within the DataCap of GenNode elements,
|
||||
** which in turn serve as the standard handle to refer to other elements, entities,
|
||||
** attributes or references within the "backbone" of the Lumiera GUI.
|
||||
**
|
||||
** A Record holds
|
||||
** - (optionally) a type-ID string
|
||||
** - a collection of _named attributes_ (key-value data)
|
||||
** - a list of _enclosed children_ (contents within the "scope" of this Record)
|
||||
**
|
||||
** ## design decisions
|
||||
** The Record type is shaped from its intended use: It serves to symbolically represent
|
||||
** _objects_ in the "external tree description". Here, "objects" means objects _for real_,
|
||||
** i.e. with types, fields and an enclosed scope. But \em external means that we do not work
|
||||
** on these objects right here, we only represent them, for later referral, _symbolically_.
|
||||
** *objects* in the "external tree description". Here, "objects" means objects _for real_,
|
||||
** i.e. with types, fields and an enclosed scope. Yet the term *external* means that we do not
|
||||
** work on these objects right here, we only represent them, for later referral, _symbolically_.
|
||||
**
|
||||
** \par rationale
|
||||
** The underlying theme and motivation of this design is negative: we do not want
|
||||
|
|
|
|||
|
|
@ -6671,11 +6671,11 @@
|
|||
<node CREATED="1487034180712" ID="ID_1371598611" MODIFIED="1518487921063" TEXT="und jedes genau weiß, was die andern können"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#fefc4e" COLOR="#351d75" CREATED="1504393149140" FOLDED="true" HGAP="38" ID="ID_48107354" MODIFIED="1538942531699" TEXT="Addressierung" VSHIFT="55">
|
||||
<node BACKGROUND_COLOR="#fefc4e" COLOR="#351d75" CREATED="1504393149140" FOLDED="true" HGAP="38" ID="ID_48107354" MODIFIED="1541547323971" TEXT="Addressierung" VSHIFT="55">
|
||||
<arrowlink COLOR="#4f5d91" DESTINATION="ID_974158229" ENDARROW="Default" ENDINCLINATION="383;-2505;" ID="Arrow_ID_1832380552" STARTARROW="None" STARTINCLINATION="-597;127;"/>
|
||||
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node CREATED="1504393160466" ID="ID_450547493" MODIFIED="1518487921063" TEXT="globales ID-Schema">
|
||||
<node CREATED="1504393160466" ID="ID_450547493" MODIFIED="1541547317746" TEXT="globales Addreß-Schema">
|
||||
<node CREATED="1504393168946" ID="ID_390425361" MODIFIED="1518487921063" TEXT="Model-Typen"/>
|
||||
<node CREATED="1504393177712" ID="ID_1686403667" MODIFIED="1518487921063" TEXT="View-Deskriptor">
|
||||
<node CREATED="1504393184608" ID="ID_792210197" MODIFIED="1518487921063" TEXT="Strategy"/>
|
||||
|
|
@ -6703,7 +6703,9 @@
|
|||
<node CREATED="1519356887367" ID="ID_1139603062" MODIFIED="1519356897033" TEXT="wie findet man den Ort einer Komponente?"/>
|
||||
<node CREATED="1519356901933" ID="ID_596521684" MODIFIED="1519356913407" TEXT="Verhältnis ID / Ort">
|
||||
<node CREATED="1519356920083" ID="ID_723456910" MODIFIED="1519356926342" TEXT="sind orthogonale Schemata">
|
||||
<node CREATED="1519357047993" ID="ID_1706134856" MODIFIED="1519357059979" TEXT="ID = globale Identität"/>
|
||||
<node CREATED="1519357047993" ID="ID_1706134856" MODIFIED="1541547248389" TEXT="ID = globale Identität">
|
||||
<arrowlink COLOR="#6b83a8" DESTINATION="ID_1585676322" ENDARROW="Default" ENDINCLINATION="738;0;" ID="Arrow_ID_174361092" STARTARROW="None" STARTINCLINATION="1067;-74;"/>
|
||||
</node>
|
||||
<node CREATED="1519357060599" ID="ID_975802429" MODIFIED="1519357070810" TEXT="Ort = Topologie + Typ">
|
||||
<node CREATED="1519357081868" ID="ID_1484266304" MODIFIED="1519357090975" TEXT="Ortsnamen sind generisch"/>
|
||||
<node CREATED="1519357091795" ID="ID_68008128" MODIFIED="1519357096374" TEXT="sie werden lokal verstanden"/>
|
||||
|
|
@ -20098,7 +20100,7 @@
|
|||
<node CREATED="1533400281627" ID="ID_1248361340" MODIFIED="1533400375591" TEXT="geht noch nicht -- logging-Strategy fehlt">
|
||||
<icon BUILTIN="stop-sign"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1533400377118" ID="ID_1072134705" MODIFIED="1539388435770" TEXT="#211 handling pattern for dispatch">
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1533400377118" ID="ID_1072134705" MODIFIED="1541547696433" TEXT="#211 handling pattern for dispatch">
|
||||
<arrowlink COLOR="#ca91c2" DESTINATION="ID_1192893155" ENDARROW="Default" ENDINCLINATION="1415;0;" ID="Arrow_ID_207842771" STARTARROW="None" STARTINCLINATION="2581;0;"/>
|
||||
<icon BUILTIN="hourglass"/>
|
||||
</node>
|
||||
|
|
@ -20979,6 +20981,10 @@
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1541547600640" ID="ID_787025622" MODIFIED="1541547663157" TEXT="Element-IDs müssen eindeutig sein">
|
||||
<arrowlink COLOR="#c9876a" DESTINATION="ID_1850412206" ENDARROW="Default" ENDINCLINATION="49;-155;" ID="Arrow_ID_1571993328" STARTARROW="None" STARTINCLINATION="-11;173;"/>
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -21033,6 +21039,128 @@
|
|||
<font ITALIC="true" NAME="SansSerif" SIZE="12"/>
|
||||
<icon BUILTIN="info"/>
|
||||
</node>
|
||||
<node CREATED="1541545653978" ID="ID_1534432315" MODIFIED="1541545660929" TEXT="UI-Element - Identität">
|
||||
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1541545674669" ID="ID_1585676322" MODIFIED="1541547248389" TEXT="UI-Elemente sind global eindeutig">
|
||||
<arrowlink COLOR="#7894b4" DESTINATION="ID_189279804" ENDARROW="Default" ENDINCLINATION="272;-358;" ID="Arrow_ID_540125984" STARTARROW="None" STARTINCLINATION="-618;10;"/>
|
||||
<linktarget COLOR="#6b83a8" DESTINATION="ID_1585676322" ENDARROW="Default" ENDINCLINATION="738;0;" ID="Arrow_ID_174361092" SOURCE="ID_1706134856" STARTARROW="None" STARTINCLINATION="1067;-74;"/>
|
||||
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
<node CREATED="1541545696185" ID="ID_1907010009" MODIFIED="1541545798109" TEXT="Grund: UI-Bus - Routing">
|
||||
<icon BUILTIN="info"/>
|
||||
</node>
|
||||
<node CREATED="1541545933006" ID="ID_1850412206" MODIFIED="1541547731516" TEXT="tückisches Problem">
|
||||
<linktarget COLOR="#c9876a" DESTINATION="ID_1850412206" ENDARROW="Default" ENDINCLINATION="49;-155;" ID="Arrow_ID_1571993328" SOURCE="ID_787025622" STARTARROW="None" STARTINCLINATION="-11;173;"/>
|
||||
<linktarget COLOR="#c9876a" DESTINATION="ID_1850412206" ENDARROW="Default" ENDINCLINATION="369;179;" ID="Arrow_ID_1229280605" SOURCE="ID_659707505" STARTARROW="None" STARTINCLINATION="586;-203;"/>
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node CREATED="1541545944079" ID="ID_1737663580" MODIFIED="1541545963000" TEXT="ein Duplikat ersetzt stillschweigend die Registrierung"/>
|
||||
<node CREATED="1541545963822" ID="ID_1562348206" MODIFIED="1541546016778" TEXT="Identität beruht auf EntryID (Hash)"/>
|
||||
<node CREATED="1541545975779" ID="ID_1748214927" MODIFIED="1541546024401" TEXT="diese(r) wird aber systematisch gebildet"/>
|
||||
<node CREATED="1541546204541" ID="ID_1625379453" MODIFIED="1541546208976" TEXT="speziell...">
|
||||
<node CREATED="1541546209896" ID="ID_1049660229" MODIFIED="1541546245931" TEXT="Kind: _CHILD_<typ>.<cnt>">
|
||||
<node CREATED="1541546489419" ID="ID_282481336" MODIFIED="1541546548022" TEXT="automatisch global eindeutig">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
weil wir einen Mechanismus haben, die <cnt>-Dekoration pro Typ global hochzuzählen (treadsafe)
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1541546556994" ID="ID_35993355" MODIFIED="1541546573135" TEXT="hash-seed: der <typ>-Hash"/>
|
||||
</node>
|
||||
<node CREATED="1541546415736" ID="ID_1483102981" MODIFIED="1541546432862" TEXT="Attribut: key">
|
||||
<node CREATED="1541546579096" ID="ID_728290559" MODIFIED="1541546602798">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
Problem: key nur <i>innerhalb</i> des Objektes eindeutig
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<icon BUILTIN="broken-line"/>
|
||||
</node>
|
||||
<node CREATED="1541547820403" ID="ID_1229228521" MODIFIED="1541775004416" TEXT="Lösung: Hash-Chaining">
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
<node CREATED="1541547837646" ID="ID_508395323" MODIFIED="1541547854627" TEXT="ähnlich wie im Merkle-Tree">
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
<node CREATED="1541547855766" ID="ID_1691211097" MODIFIED="1541547867017" TEXT="Hash des Vaters als seed">
|
||||
<node CREATED="1541552824556" ID="ID_42859602" MODIFIED="1541552831542" TEXT="geht nicht">
|
||||
<icon BUILTIN="stop-sign"/>
|
||||
</node>
|
||||
<node CREATED="1541552832731" ID="ID_346770424" MODIFIED="1541552877349" TEXT="bricht die Subsidiarität">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
...denn dann müßte das Attribut
|
||||
</p>
|
||||
<p>
|
||||
von dem Container (GenNode) wissen, der es zwei Ebenen höher enthält und umschließt
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<icon BUILTIN="broken-line"/>
|
||||
</node>
|
||||
<node CREATED="1541774981285" ID="ID_1038144488" MODIFIED="1541774996472" TEXT="ist letzten Endes auch bloß random()"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1541775187418" ID="ID_1058458763" MODIFIED="1541789739897" TEXT="Frage: Reproduzierbarkeit irrelevant?">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
...es kommt (vielleicht) überhaupt nicht darauf an,
|
||||
</p>
|
||||
<p>
|
||||
daß der Hash einer Attribut-ID <i>reproduzierbar</i> ist (auf Basis der symbilschen ID).
|
||||
</p>
|
||||
<p>
|
||||
Der Hash kann genausogut eine Zufallszahl sein
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<icon BUILTIN="help"/>
|
||||
<node CREATED="1541775381760" ID="ID_681940327" MODIFIED="1541775392922" TEXT="denn: get sucht per Symbol"/>
|
||||
<node CREATED="1541775428125" ID="ID_1569956089" MODIFIED="1541775485774" TEXT="und: einige Attribute haben notwendig eine extern definierte ID">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
...nämlich diejenigen, die <i>selber </i>Modell-Elemente sind.
|
||||
</p>
|
||||
<p>
|
||||
Und genau diese speziellen Objekt-Attribute sind der Anlaß,
|
||||
</p>
|
||||
<p>
|
||||
sich über dieses Problem Gedanken zu machen
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1523021670034" ID="ID_1102842396" MODIFIED="1523021676897" TEXT="Einstiegspunkte">
|
||||
<icon BUILTIN="idea"/>
|
||||
<node CREATED="1523021679960" ID="ID_1386792927" MODIFIED="1523021704154">
|
||||
|
|
@ -21253,7 +21381,7 @@
|
|||
<node CREATED="1448070559466" ID="ID_182430638" MODIFIED="1518487921085" TEXT="Controller"/>
|
||||
</node>
|
||||
<node CREATED="1448070583679" HGAP="69" ID="ID_1248152908" MODIFIED="1538871387818" TEXT="Protokoll" VSHIFT="-1">
|
||||
<node CREATED="1448078263344" FOLDED="true" ID="ID_1136748666" MODIFIED="1535638754133" TEXT="Verhaltensweisen">
|
||||
<node CREATED="1448078263344" FOLDED="true" ID="ID_1136748666" MODIFIED="1541546653282" TEXT="Verhaltensweisen">
|
||||
<cloud COLOR="#e0d6ba"/>
|
||||
<icon BUILTIN="info"/>
|
||||
<node CREATED="1448078268223" ID="ID_1027574047" MODIFIED="1518487921085" TEXT="Lebenszyklus">
|
||||
|
|
@ -21414,7 +21542,7 @@
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1448658633478" FOLDED="true" HGAP="99" ID="ID_314439240" MODIFIED="1538871380938" TEXT="Design" VSHIFT="13">
|
||||
<node CREATED="1448658633478" FOLDED="true" HGAP="99" ID="ID_314439240" MODIFIED="1541547787225" TEXT="Design" VSHIFT="13">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1448658692023" ID="ID_339186676" MODIFIED="1518487921085">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
|
|
@ -21528,6 +21656,22 @@
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1541546692289" ID="ID_189279804" MODIFIED="1541546864673">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
<b>Identität</b> == Bus-ID
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
<linktarget COLOR="#7894b4" DESTINATION="ID_189279804" ENDARROW="Default" ENDINCLINATION="272;-358;" ID="Arrow_ID_540125984" SOURCE="ID_1585676322" STARTARROW="None" STARTINCLINATION="-618;10;"/>
|
||||
<node CREATED="1541546715849" ID="ID_503690063" MODIFIED="1541546722489" TEXT="sollte global eindeutig sein"/>
|
||||
<node CREATED="1541546733765" ID="ID_1010323480" MODIFIED="1541546741208" TEXT="wird per Diff übermittelt"/>
|
||||
</node>
|
||||
<node CREATED="1448658696638" ID="ID_1235910089" MODIFIED="1518487921086" TEXT="slots">
|
||||
<node CREATED="1451177440022" ID="ID_1603816152" MODIFIED="1518487921086" TEXT="expand">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
|
|
@ -21615,7 +21759,7 @@
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1535639028984" FOLDED="true" ID="ID_316446199" MODIFIED="1538871369730" TEXT="hilfs-Abstraktionen">
|
||||
<node CREATED="1535639028984" FOLDED="true" ID="ID_316446199" MODIFIED="1541545385363" TEXT="hilfs-Abstraktionen">
|
||||
<linktarget COLOR="#709eaf" DESTINATION="ID_316446199" ENDARROW="Default" ENDINCLINATION="-354;-490;" ID="Arrow_ID_1105268233" SOURCE="ID_447101734" STARTARROW="None" STARTINCLINATION="-3385;0;"/>
|
||||
<node CREATED="1535639151330" ID="ID_301022990" MODIFIED="1535639159958" TEXT="mix-in">
|
||||
<icon BUILTIN="yes"/>
|
||||
|
|
@ -39273,7 +39417,7 @@
|
|||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1539270417847" ID="ID_1555798999" MODIFIED="1539388406968" TEXT="korrekte Diff-Struktur">
|
||||
<node CREATED="1539270417847" ID="ID_1555798999" MODIFIED="1541547682934" TEXT="korrekte Diff-Struktur">
|
||||
<linktarget COLOR="#cbada9" DESTINATION="ID_1555798999" ENDARROW="Default" ENDINCLINATION="1069;-129;" ID="Arrow_ID_46239762" SOURCE="ID_1136748343" STARTARROW="None" STARTINCLINATION="-474;40;"/>
|
||||
<linktarget COLOR="#d47366" DESTINATION="ID_1555798999" ENDARROW="Default" ENDINCLINATION="713;-263;" ID="Arrow_ID_971172326" SOURCE="ID_1387553695" STARTARROW="None" STARTINCLINATION="-1999;120;"/>
|
||||
<linktarget COLOR="#d47366" DESTINATION="ID_1555798999" ENDARROW="Default" ENDINCLINATION="590;-127;" ID="Arrow_ID_308349501" SOURCE="ID_1435731309" STARTARROW="None" STARTINCLINATION="915;0;"/>
|
||||
|
|
@ -39304,6 +39448,12 @@
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1541547600640" HGAP="79" ID="ID_659707505" MODIFIED="1541547731516" TEXT="Element-IDs müssen eindeutig sein" VSHIFT="10">
|
||||
<arrowlink COLOR="#c9876a" DESTINATION="ID_1850412206" ENDARROW="Default" ENDINCLINATION="369;179;" ID="Arrow_ID_1229280605" STARTARROW="None" STARTINCLINATION="586;-203;"/>
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node CREATED="1541547743885" ID="ID_1112550435" MODIFIED="1541547750312" TEXT="wegen UI-Bus-Routing"/>
|
||||
<node CREATED="1541547751020" ID="ID_566590492" MODIFIED="1541547764950" TEXT="Aber: Attribute werden lokal erzeugt"/>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1539270417847" ID="ID_946219609" MODIFIED="1539388465978" TEXT="Reaktion auf Diff-Fehler">
|
||||
<linktarget COLOR="#d47366" DESTINATION="ID_946219609" ENDARROW="Default" ENDINCLINATION="713;-263;" ID="Arrow_ID_1085344706" SOURCE="ID_19523487" STARTARROW="Default" STARTINCLINATION="-1999;120;"/>
|
||||
|
|
@ -39319,7 +39469,7 @@
|
|||
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1533400707072" ID="ID_1192893155" MODIFIED="1539388435770" TEXT="#211 handling pattern for dispatch">
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1533400707072" ID="ID_1192893155" MODIFIED="1541547696433" TEXT="#211 handling pattern for dispatch">
|
||||
<linktarget COLOR="#ca91c2" DESTINATION="ID_1192893155" ENDARROW="Default" ENDINCLINATION="1415;0;" ID="Arrow_ID_207842771" SOURCE="ID_1072134705" STARTARROW="None" STARTINCLINATION="2581;0;"/>
|
||||
<icon BUILTIN="hourglass"/>
|
||||
</node>
|
||||
|
|
|
|||
Loading…
Reference in a new issue