Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[20733] Fix support for @key annotation in Dynamic types #4694

Merged
merged 5 commits into from
Apr 30, 2024

Conversation

EduPonz
Copy link

@EduPonz EduPonz commented Apr 17, 2024

Description

This PR:

  • Fixes various things regarding the handling of @key annotation on dynamic types:
    • Copy the type annotations when creating MemberDescriptors
    • Fix AnnotationDescriptor::key_annotation() implementation
    • Fix population of is_key_defined_ in DynamicType::copy_from_builder()
    • Simplify DynamicType::key_annotation() implementation
  • On loading types from XML, add the @key annotation only to the member builder and not to the dynamic type, as @key only makes sense for members but not types.
  • Adds the key attribute to members in XSD

@Mergifyio backport 2.13.x 2.10.x 2.6.x

Contributor Checklist

  • Commit messages follow the project guidelines.
  • The code follows the style guidelines of this project.
  • Tests that thoroughly check the new feature have been added/Regression tests checking the bug and its fix have been added; the added tests pass locally
  • N/A: Any new/modified methods have been properly documented using Doxygen.
  • N/A: Any new configuration API has an equivalent XML API (with the corresponding XSD extension)
  • Changes are ABI compatible.
  • Changes are API compatible.
  • N/A: New feature has been added to the versions.md file (if applicable).
  • New feature has been documented/Current behavior is correctly described in the documentation.
  • Applicable backports have been included in the description.

Reviewer Checklist

  • The PR has a milestone assigned.
  • The title and description correctly express the PR's purpose.
  • Check contributor checklist is correct.
  • Check CI results: changes do not issue any warning.
  • Check CI results: failing tests are unrelated with the changes.

@EduPonz EduPonz added this to the v2.14.1 milestone Apr 17, 2024
@EduPonz EduPonz added to-do needs-review PR that is ready to be reviewed and removed to-do labels Apr 23, 2024
@EduPonz EduPonz marked this pull request as ready for review April 24, 2024 13:25
@EduPonz EduPonz force-pushed the hotfix/key_annotation_xml_types branch from ab60fe9 to 4e79d8b Compare April 24, 2024 13:27
pablogs9
pablogs9 previously approved these changes Apr 24, 2024
pablogs9
pablogs9 previously approved these changes Apr 24, 2024
MiguelCompany
MiguelCompany previously approved these changes Apr 24, 2024
@EduPonz EduPonz removed the needs-review PR that is ready to be reviewed label Apr 25, 2024
@github-actions github-actions bot added the ci-pending PR which CI is running label Apr 25, 2024
Signed-off-by: eduponz <eduardoponz@eprosima.com>
Signed-off-by: eduponz <eduardoponz@eprosima.com>
Signed-off-by: eduponz <eduardoponz@eprosima.com>
@EduPonz EduPonz dismissed stale reviews from MiguelCompany and pablogs9 via b955060 April 29, 2024 13:14
@EduPonz EduPonz force-pushed the hotfix/key_annotation_xml_types branch from b2bd867 to b955060 Compare April 29, 2024 13:14
Signed-off-by: eduponz <eduardoponz@eprosima.com>
@EduPonz EduPonz force-pushed the hotfix/key_annotation_xml_types branch from b955060 to b76cfdc Compare April 29, 2024 14:15
src/cpp/dynamic-types/AnnotationDescriptor.cpp Outdated Show resolved Hide resolved
src/cpp/dynamic-types/MemberDescriptor.cpp Outdated Show resolved Hide resolved
@MiguelCompany MiguelCompany self-requested a review April 29, 2024 14:53
@MiguelCompany
Copy link
Member

Note: both suggestions don't require CI to be launched again

Additionally, the PR description does not indicate the fixes performed in DynamicTypes regarding key annotations

@EduPonz EduPonz added skip-ci Automatically pass CI and removed ci-pending PR which CI is running labels Apr 30, 2024
@EduPonz EduPonz changed the title [20733] Fix support for @key annotation in XML types [20733] Fix support for @key annotation in Dynamic types Apr 30, 2024
@EduPonz EduPonz force-pushed the hotfix/key_annotation_xml_types branch from 92b62ee to 8c415ee Compare April 30, 2024 05:13
@EduPonz
Copy link
Author

EduPonz commented Apr 30, 2024

CI passed on b76cfdc, the changes in 2519f21 are merely cosmetic

@EduPonz EduPonz force-pushed the hotfix/key_annotation_xml_types branch from 8c415ee to 1380e97 Compare April 30, 2024 05:16
Signed-off-by: eduponz <eduardoponz@eprosima.com>
@EduPonz EduPonz force-pushed the hotfix/key_annotation_xml_types branch from 1380e97 to 2519f21 Compare April 30, 2024 05:17
@MiguelCompany MiguelCompany merged commit eaa23db into master Apr 30, 2024
3 checks passed
@MiguelCompany MiguelCompany deleted the hotfix/key_annotation_xml_types branch April 30, 2024 05:52
@MiguelCompany
Copy link
Member

@Mergifyio backport 2.13.x 2.10.x 2.6.x

Copy link
Contributor

mergify bot commented Apr 30, 2024

backport 2.13.x 2.10.x 2.6.x

✅ Backports have been created

mergify bot pushed a commit that referenced this pull request Apr 30, 2024
* Refs #20733: Fix support for key annotation in XML types

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Add test

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Move implementations to cpp

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Properly fix key annotation handling

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Apply Miguel's suggestions

Signed-off-by: eduponz <eduardoponz@eprosima.com>

---------

Signed-off-by: eduponz <eduardoponz@eprosima.com>
(cherry picked from commit eaa23db)
mergify bot pushed a commit that referenced this pull request Apr 30, 2024
* Refs #20733: Fix support for key annotation in XML types

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Add test

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Move implementations to cpp

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Properly fix key annotation handling

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Apply Miguel's suggestions

Signed-off-by: eduponz <eduardoponz@eprosima.com>

---------

Signed-off-by: eduponz <eduardoponz@eprosima.com>
(cherry picked from commit eaa23db)

# Conflicts:
#	resources/xsd/fastRTPS_profiles.xsd
#	test/system/tools/xmlvalidation/XMLTesterExample_profile.xml
#	test/system/tools/xmlvalidation/all_profile.xml
#	test/system/tools/xmlvalidation/types_profile.xml
mergify bot pushed a commit that referenced this pull request Apr 30, 2024
* Refs #20733: Fix support for key annotation in XML types

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Add test

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Move implementations to cpp

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Properly fix key annotation handling

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Apply Miguel's suggestions

Signed-off-by: eduponz <eduardoponz@eprosima.com>

---------

Signed-off-by: eduponz <eduardoponz@eprosima.com>
(cherry picked from commit eaa23db)
MiguelCompany pushed a commit that referenced this pull request May 6, 2024
* Refs #20733: Fix support for key annotation in XML types

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Add test

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Move implementations to cpp

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Properly fix key annotation handling

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Apply Miguel's suggestions

Signed-off-by: eduponz <eduardoponz@eprosima.com>

---------

Signed-off-by: eduponz <eduardoponz@eprosima.com>
(cherry picked from commit eaa23db)
MiguelCompany pushed a commit that referenced this pull request May 7, 2024
* Refs #20733: Fix support for key annotation in XML types

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Add test

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Move implementations to cpp

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Properly fix key annotation handling

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Apply Miguel's suggestions

Signed-off-by: eduponz <eduardoponz@eprosima.com>

---------

Signed-off-by: eduponz <eduardoponz@eprosima.com>
(cherry picked from commit eaa23db)

Co-authored-by: Eduardo Ponz Segrelles <eduardoponz@eprosima.com>
EduPonz added a commit that referenced this pull request May 9, 2024
* Refs #20733: Fix support for key annotation in XML types

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Add test

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Move implementations to cpp

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Properly fix key annotation handling

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Apply Miguel's suggestions

Signed-off-by: eduponz <eduardoponz@eprosima.com>

---------

Signed-off-by: eduponz <eduardoponz@eprosima.com>
(cherry picked from commit eaa23db)

Co-authored-by: Eduardo Ponz Segrelles <eduardoponz@eprosima.com>
EduPonz added a commit that referenced this pull request Jun 8, 2024
* Refs #20733: Fix support for key annotation in XML types

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Add test

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Move implementations to cpp

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Properly fix key annotation handling

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Apply Miguel's suggestions

Signed-off-by: eduponz <eduardoponz@eprosima.com>

---------

Signed-off-by: eduponz <eduardoponz@eprosima.com>
(cherry picked from commit eaa23db)
EduPonz added a commit that referenced this pull request Jun 8, 2024
* Refs #20733: Fix support for key annotation in XML types

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Add test

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Move implementations to cpp

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Properly fix key annotation handling

Signed-off-by: eduponz <eduardoponz@eprosima.com>

* Refs #20733: Apply Miguel's suggestions

Signed-off-by: eduponz <eduardoponz@eprosima.com>

---------

Signed-off-by: eduponz <eduardoponz@eprosima.com>
(cherry picked from commit eaa23db)

Co-authored-by: Eduardo Ponz Segrelles <eduardoponz@eprosima.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
skip-ci Automatically pass CI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants