Skip to content

fix(omvs): by-name type filter reaches Egeria; read nestedSolutionComponents (ISSUE-131, ISSUE-133) - #439

Merged
dwolfson merged 2 commits into
odpi:mainfrom
dwolfson:fix/issue-131-133
Oct 11, 2026
Merged

dwolfson merged 2 commits into
odpi:mainfrom
dwolfson:fix/issue-131-133

Conversation

@dwolfson

Copy link
Copy Markdown
Member

Fixes ISSUE-131 and ISSUE-133 (logged in #438).

ISSUE-131: by-name searches ignored the type filter
13 *_by_name wrappers passed the type to _async_get_name_request as metadata_element_type, which is how _async_find_request spells it. _async_get_name_request reads metadata_element_type_name, so the value fell into **kwargs, FilterRequestBody dropped it, and the search ran unfiltered by type.

  • _async_get_name_request now accepts both spellings. If both are given, metadata_element_type_name wins.
  • The 13 wrappers now use metadata_element_type_name: seven in actor_manager, and one each in collection_manager, digital_business, location_arena, runtime_manager, subject_area and time_keeper.
  • The 14 find_* wrappers with the same line are correct for _async_find_request and are unchanged.

ISSUE-133: child solution components
Egeria returns a solution component's children as nestedSolutionComponents. Verified in Egeria source (AttributedMetadataElement.java): no REST response has a subComponents field.

  • GovernanceOfficer._extract_solution_components_properties read only subComponents. It now reads nestedSolutionComponents. The method has no callers today.
  • Removed the subComponents fallbacks that could never match: two in pyegeria/omvs/solution_architect.py and one in md_processing/v2/solution_architect.py. Both files already read nestedSolutionComponents.

Tests

  • New tests/micro-tests/test_issue_131_133.py has 17 tests. They capture the request body for each of the 13 wrappers, check both spellings in the helper, and check both component readers.
  • Without the fix, 15 of the 17 fail.
  • pytest tests/micro-tests passes: 958 tests, exit code 0.
  • Not live-tested against a server.

🤖 Generated with Claude Code

…ponents (ISSUE-131, ISSUE-133)

ISSUE-131: 13 *_by_name wrappers passed the type filter to
_async_get_name_request as `metadata_element_type` (the _async_find_request
spelling). The helper reads `metadata_element_type_name`, so the value fell
into **kwargs, FilterRequestBody dropped it, and the search ran unfiltered by
type. The helper now accepts both spellings (the canonical one wins), and the
13 wrappers use the canonical key. The 14 find_* wrappers were already correct
and are unchanged.

ISSUE-133: Egeria returns a solution component's children as
nestedSolutionComponents; no REST response has subComponents.
GovernanceOfficer._extract_solution_components_properties read only
subComponents (it currently has no callers). Removed the never-matching
subComponents fallbacks in solution_architect.py (two) and
md_processing/v2/solution_architect.py.

Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
dwolfson added a commit to dwolfson/egeria-python that referenced this pull request Oct 11, 2026
…s impact

The governance_officer formatter ISSUE-133 named as the real bug has no callers, so no live output was affected.

Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
dwolfson added a commit that referenced this pull request Oct 11, 2026
…ource (#438)

* docs(issues): log ISSUE-128..134, verify 127/129/131 against Egeria source

- ISSUE-128, 130: Egeria server bugs (Retention subtype typo; YAML secrets
  store caches users forever), logged by the Resource Explorer session.
- ISSUE-129: get_related_metadata_elements and two linked-by-* siblings drop
  paging/lineage arguments. Contract checked against MetadataExpertResource.java:
  startingAtEnd is a current query parameter on related-elements only.
- ISSUE-131: 13 (not 27) *_by_name wrappers drop the type filter; the 14
  find_* grep hits are correct.
- ISSUE-132: DeleteElementRequestBody sends cascadeDelete, Egeria reads
  cascadedDelete and ignores unknown fields. On hold for an Egeria fix.
- ISSUE-133: governance_officer reads subComponents; Egeria 6.2 returns
  nestedSolutionComponents.
- ISSUE-134: PYEGERIA_ENABLE_LOGGER_CATCH makes @dynamic_catch return None
  on any failure.
- ISSUE-126/127: marked merged in #429; 127 is only partly fixed (ISSUE-132).

Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>

* docs(issues): ISSUE-131 and ISSUE-133 fixed in #439; correct 133's impact

The governance_officer formatter ISSUE-133 named as the real bug has no callers, so no live output was affected.

Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>

---------

Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
@dwolfson
dwolfson merged commit dbdea2b into odpi:main Oct 11, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant