Opened 2 months ago

Last modified 13 days ago

#1399 new enhancement

The Release importer should handle null values for annotations

Reported by: Nicklas Nordborg Owned by:
Priority: major Milestone: Relax v1.7
Component: net.sf.basedb.relax Keywords:
Cc:

Description (last modified by Nicklas Nordborg)

The issue we need to solve is a case where INCA annotations have had a value in one release but it has been removed in an update. In the current situation it means that the original value may exists on Relax as a default value and it will be used also for the new release.

This change also need a corresponding change in the Release exporter in the Reggie plugin. See ticket #1398. When a null value is present in the JSON, the importer may need to take some actions:

  • If the current item has a default value for the annotation, the default value should be removed.
  • The default value should be copied to project-specific annotations. One for each release that the item (and annotation type) is part of.
  • If the item doesn't have a default value, nothing should be done.
  • Already existing project-specific values should not be modified.

For example:

  • Item A is part of release 1.0, 1.1 and 2.0.
  • It has a default annotation value: foo=bar
  • In release 3.0 the value has been removed.
  • The default value is removed and three new project-specific values for 1.0, 1.1 and 2.0 is created: foo=bar.
  • Item B is part of release 1.0, 1.1 and 2.0
  • It has a default value: foo=bar and a project-specific values for 1.1 and 2.0: foo=bar2.
  • In release 3.0 the value has been removed.
  • The default value is removed and one new project-specific value for 1.0 is created: foo=bar. The project-specific values for 1.1 and 2.0 are not modified.

Change History (3)

comment:1 Changed 2 months ago by Nicklas Nordborg

Description: modified (diff)

comment:2 Changed 2 months ago by Nicklas Nordborg

Milestone: Relax v1.xRelax v1.7

comment:3 Changed 13 days ago by Nicklas Nordborg

In 6784:

References #1399: The Release importer should handle null values for annotations

I think this should work now.

Note: See TracTickets for help on using tickets.