Bug 338738 - Add support for validation sets
Summary: Add support for validation sets
Status: CLOSED FIXED
Alias: None
Product: CBI
Classification: Technology
Component: CBI p2 Repository Aggregator (show other bugs)
Version: unspecified   Edit
Hardware: PC Mac OS X - Carbon (unsup.)
: P1 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Michal Ruzicka CLA
QA Contact:
URL:
Whiteboard: Debug - Conflicting IUs
Keywords: plan
: 314016 338409 (view as bug list)
Depends on:
Blocks: 338741
  Show dependency tree
 
Reported: 2011-03-02 16:39 EST by Kenn Hussey CLA
Modified: 2016-09-16 15:51 EDT (History)
4 users (show)

See Also:
Kenn.Hussey: indigo+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kenn Hussey CLA 2011-03-02 16:39:56 EST
Please add a new "composite" element which contains multiple aggregations.

This would involve:

- coming up with a decent name for the new top level element and possibly also for the old one which now can (and will) appear multiple times as a child node of the new top level element

- implementing a transformer of old models to the new format

- updating the editor to handle the new model (e.g., the code dealing with sending/handling notifications of changes in the editor expects the current structure of the model; when the structure is changed, the notifications may not propagate as expected or even result in hard errors)
Comment 1 Michal Ruzicka CLA 2011-03-31 09:01:10 EDT
The following was implemented in revision #1440:
 - updated the model
 - updated the editor

Note that the changes to the model are backwards compatible, so no explicit transformer is needed.
We may still want to change the name of the "Aggregation" node, so leaving the issue open.
Comment 2 Kenn Hussey CLA 2011-03-31 11:25:26 EDT
The aggregator engine also needs to be updated to make use of the new model structure. This was implicit in the intent of this enhancement but probably should have been called out explicitly.
Comment 3 Michal Ruzicka CLA 2011-04-12 09:04:52 EDT
The engine has been updated to run verification and metadata mirroring phases in a loop for each defined "aggregate" including the main/implicit one. The artifact mirroring is still run only once and it mirrors artifacts for all the defined aggregates.
Comment 4 Kenn Hussey CLA 2011-05-03 09:05:09 EDT
Isn't this enhancement now complete?
Comment 5 Thomas Hallgren CLA 2011-06-11 03:49:39 EDT
The way things are expressed in the new model right now is perceived as somewhat counter intuitive. We need to simplify the model to make it more clear what sets of IU's that are validated together. For lack of better term, let's call such a set a "Validation Set" (VS) for now.

Validation Set: A set of IU's that will be validated once for each configuration.

In many cases it will be desirable to "extend" a VS.

 VS B extends VS A

The meaning is that VS B now contains everything from VS A and then some. This declaration isn't very meaningful by itself but it makes a lot more sense when we also add:

 VS C extends VS A

B and C now shares everything in A but but different (and possibly conflicting) additions. With this construct it is often sensible to regard VS A as "abstract" in the sense that it should not be validated on its own.

I suggest that we change the current Aggregator model so that it contains the following:

Aggregator contains:
 
0..* validationSets (ValidationSet)
0..* configurations (Configuration)
0..* contacts (Contact)
0..* mavenMappings

ValidationSet contains:
0..* extends (non containing references to ValidationSet)
0..* contributions (Contribution)
0..* customCategories (CustomCategory)
0..* validationRepositories

The transformer for old models will simply create one VS and move all contributions, custom categories, and validationRepositories into it.

The VS is all about describing the aggregation input and how things are validated. It should not affect how the result is constituted. In particular, dividing things into different VSs doesn't mean that we create different repositories on output.
Comment 6 Miles Daffin CLA 2011-06-21 10:25:12 EDT
This seems like a good proposal to me. It addresses the primary requirements:

* to be able to have multiple versions of the same singleton IU in the same repo.
* to make the model structure more intuitive when doing the above.
Comment 7 Thomas Hallgren CLA 2011-07-08 10:23:49 EDT
Fixed in revision 1500.
Comment 8 Thomas Hallgren CLA 2011-07-08 10:26:05 EDT
*** Bug 338409 has been marked as a duplicate of this bug. ***
Comment 9 David Williams CLA 2011-07-08 11:59:52 EDT
I will confess I've only skim read this enhancement request, and understand basic idea ... but, not sure what it would look like in practice. Has the doc (manual) been updated? Are there examples given there? 

And ... if not ... I'm sure I'll see it "in use" eventually ... so not urgent.

I won't update the aggregator used for Simultaneous release right away (since, I am on vacation :) so feel free to remind me if/when someone starts using this and needs it updated. 

Thanks,
Comment 10 Thomas Hallgren CLA 2011-07-09 05:38:29 EDT
*** Bug 314016 has been marked as a duplicate of this bug. ***
Comment 11 Miles Daffin CLA 2011-07-25 08:21:26 EDT
Confirmed fixed.
Comment 12 Thomas Hallgren CLA 2011-07-25 09:45:17 EDT
.
Comment 13 David Williams CLA 2016-09-16 15:51:27 EDT
[Bookkeeping change only. Moving bugs to the new "home" of aggregator, CBI.
Made no changes to assignee's for closed bugs, even though some were old inbox.]