I'm looking for a way to display two modules in different projects in the same module. |
Re: Overlay Display? |
Re: Overlay Display? SystemAdmin - Mon Aug 20 15:31:13 EDT 2012 Mathias Mamsch, IT-QBase GmbH, Consultant for Requirement Engineering and D00RS |
Re: Overlay Display?
So if I read this right the Original has lots of objects and is "complete", and the Delta module has all the Headings, but only text Objects when there is a difference from the Original; and all such Delta objects are linked to the Original. oOriginal = obj if (oOriginal is a Heading) then result = some clever number+Heading display with suitable bolding elseif(there is an incoming link from the Delta I care about) // then Result = clever "diff" of the Original text compared to the Delta text else Result = oOriginal text obj.attrDXLName = Result
Put that attr alone in its own view in mOriginal, and output it.
mOriginal = read(Original, false, true) // Standard view Required for both modules
mDelta = read(Delta, false, true)
oOriginal = first(mOriginal)
oDelta = first(mOriginal)
while (!null oOrginal and !null oDelta)
{ if (oDelta and oOriginal are the exact same Heading)
{ report oDelta as Heading
oOriginal = next(oOriginal)
oDelta = next(oDelta)
}
elseif (oDelta links directly to oOriginal)
{ // report paired objects
report Text Difference
oOriginal = next(oOriginal)
oDelta = next(oDelta)
}
elseif (oDelta has no Original link)
{ // report newly inserted Delta object
Report oDelta highlighted (compare it to an empty "from" buffer)
oDelta = next(oDelta)
}
elseif (oDelta has indeed an Original link)
{ // report ignored Original object
Report oOriginal
oOriginal = next(oOriginal)
}
else Report Louie made a mistake
}
// at bottom of one or both modules. Clean up:
if ( null oOriginal and !null oDelta) then report the rest of mDelta
elseif( null oOriginal and null oDelta) then nothing to do
elseif(!null oOriginal and !null oDelta) then you made a mistake
elseif(!null oOriginal and null oDelta) then report the rest of oOriginal
else report Louie made a mistake
You could use a version of the [2] algorithm in the Attr-DXL solution [1], but it will display rather clumsily.
|