Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [hyades-dev] Question on id and ownerId in test execution events


There is an XML Schema for the execution history XML fragment structure posted on eclipse.org (under the Execution Environment component.)  As an aside, I just took a look at it, and it appears to be a bit out of date.  I have filed bugzilla 71466 and assigned it to myself to update this schema (I'm also getting content update from one of the developers who's been working in there.)  I will also add some much needed comments to the schema to answer questions like the ones you asked (there is a comment for ownerId, but it's not too clear, and no other comments at all.)

In answer to your first question, there are three IDs that can appear in an execution event's XML fragment.  id, ownerId and parentId.
  • id specifies the ID of the execution event itself.  The attribute is optional, but if it is not specified, then the execution event in question can not be referenced by any other execution event.  In particular, the execution event can not be a parent of any other execution events (because the way that child events specify their parent event is by passing the parent event's id in their parentId attribute.)
  • parentId specifies the parent execution event for this execution event.  This attribute is used to determine the container of the new execution event when it is added to the model.  If set to the literal "ROOT", then the event is added to the root of the topmost execution history.  Otherwise, the execution event specified by this GUID is located in the model, and this event is added as a child of that event.  This attribute is optional, because it was added in Hyades 1.2, and we needed to remain backward compatible with the previous XML Schema (in which the container could only be an execution history, and was specified as part of a concatenated string in the ownerId attribute.)  If the parentId is not specified (newly written  code should always specify it), then the model loader reverts to the previous model loading behavior (thus changing the semantic of the ownerId attribute.)
  • ownerId specifies the GUID of the *test* model element that this execution event references.  This allows the model loader to populate the interactionFragment reference in the model.  If specified, and if parentId is also specified, then we look up the test model InteractionFragment specified by this GUID, and we make a reference to that model element using the interactionFragment reference of the execution event.  As mentioned above, if the parentId is not specified, then the model loader reverts to the pre 1.2 schema semantic in which the ownerID contained the GUIDs of both its container and its interaction fragment.  This semantic was never documented, and since it exists only for backward compatibility, I don't plan to try to document it.

In answer to your second question, the semantics of the fields in the schema are much more than an implementation detail of the built-in test types, because the execution history model loader assumes the same semantics when processing the XML fragments.  The only time that a change has been made to the semantics of existing fields in the XML fragments was in the 1.2 release when support for arbitrary nesting of execution events was added.  This was not without notice, however, as we discussed this model change at length in the test model meetings, and as mentioned above, backward compatibility was provided for any existing producers of the old fragment structure.

I will certainly incorporate some of this discussion in the comments I'll be adding to the XML Schema.  Please let me know if any of this is unclear so I can make sure that the schema is a good place to send future questions like this.

Thanks,
--Joe

Joe Toomey
Senior Software Engineer
Rational Software
IBM Software Group
"Bonini, Gian Franco" <gian.franco.bonini@xxxxxxx>
Sent by: hyades-dev-admin@xxxxxxxxxxx

08/05/2004 05:48 AM

Please respond to
hyades-dev@xxxxxxxxxxx

To
"'hyades-dev@xxxxxxxxxxx'" <hyades-dev@xxxxxxxxxxx>
cc
"Schaffrath, Michael" <michael.schaffrath@xxxxxxx>
Subject
[hyades-dev] Question on id and ownerId in test execution events





Hi,
is there a document specifying exactly the meaning and use  of  the fields 'id' and 'ownerId' in the various test execution events? (I know that they relate to the corresponding elements in the behaviour model). How does e.g. our JUnit sample tool fill those fields? Is that an implementation detail that can vary without notice at each release?
Thanks for any input,
Gian Franco  
_______________________________________________
hyades-dev mailing list
hyades-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/hyades-dev

ForwardSourceID:NT0001897A    

Back to the top