Repository navigation
fix(omvs): by-name wrappers accept a body-only call (ISSUE-135) - #445
Merged
Merged
Conversation
14 *_by_name wrappers required their first argument (`name` or `filter_string`) even though they accept `body`, so a body-only call raised TypeError (reported by Resource Explorer for get_actor_profiles_by_name). The first argument now defaults to None in both the async and sync versions, in actor_manager (2), asset_maker (2), connection_maker (3), data_designer (2), data_discovery, product_manager, schema_maker (2) and solution_architect. None already meant "match everything", like "*", so name-only and name+body calls are unchanged. _async_get_data_value_specifications_by_name also gets the classification_names=None default its sync version already had. 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
- ISSUE-121, 126, 127: released in 6.1.29. - ISSUE-117, 124, 125: reported to the Egeria team; their fix source (oak2026 fb3d6fce53) merged to Egeria main 2026-10-06 (odpi/egeria#9363), not yet re-tested. Same update note on 112 and 90 (fixed) and 102 and 108 (no fix made). - ISSUE-132: Egeria main checked 2026-10-10, no cascade change yet. - ISSUE-135 (new): 14 *_by_name wrappers required name despite accepting body; fixed in odpi#445. Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
- SolutionArchitect get_info_supply_chain/solution_blueprints/
solution_components/solution_roles_by_name did body["filter"] = name, which
overwrote the caller's filter with None on a body-only call and mutated the
caller's dict. They now copy the body and set filter only when a name is
given (a given name still wins, as before).
- The same four sent paging as URL query parameters, which Egeria's
SolutionArchitectResource/ActorManagerResource ignore (only
addImplementation is a query parameter, on information-supply-chains).
Paging now goes in the body, without overriding values the body sets.
- AutomatedCuration.get_engine_actions_by_name required a name even with a
body, contrary to its docstring ("the body supersedes the name"). It now
requires one only when no body is given. It also passed the type filter as
'metadata_element_type'; now the canonical key (the 6.2.1 helper fix
already accepted the old one).
Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
dwolfson
added a commit
that referenced
this pull request
Oct 11, 2026
…rename; .http files are a reference (#444) * docs(issues): ISSUE-131 and ISSUE-133 released in 6.2.1 Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com> * docs: http-clients folder rename; .http files are a reference, not ground truth - The .http collection folder is now pyegeria/http-clients (was "http clients"). Updated every doc reference, and made scripts/omvs_audit.py and test_metadata_expert_endpoint_contract.py look for the new name first (they pointed at a folder that no longer exists), falling back to the old one. - CLAUDE.md: the .http files are hand-maintained and can be wrong; confirm decision-critical details against Egeria's Java source (Resource class + DTO Jackson names). Corrected the ISSUE-62 note, which called cascadeDelete Egeria's real field name; it is cascadedDelete (ISSUE-132). Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com> * docs(issues): bring statuses up to date; log ISSUE-135 - ISSUE-121, 126, 127: released in 6.1.29. - ISSUE-117, 124, 125: reported to the Egeria team; their fix source (oak2026 fb3d6fce53) merged to Egeria main 2026-10-06 (odpi/egeria#9363), not yet re-tested. Same update note on 112 and 90 (fixed) and 102 and 108 (no fix made). - ISSUE-132: Egeria main checked 2026-10-10, no cascade change yet. - ISSUE-135 (new): 14 *_by_name wrappers required name despite accepting body; fixed in #445. Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com> * docs(issues): ISSUE-135's remaining body-only gaps are fixed in #445 too Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com> --------- Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes ISSUE-135: 14
*_by_namewrappers required their first argument even though they acceptbody, so a body-only call raisedTypeError. The Resource Explorer project reported it forget_actor_profiles_by_name.Change
nameorfilter_string) now defaults toNone, in both the async and sync versions of each method:actor_manager: actor profiles, actor rolesasset_maker: assets, software capabilitiesconnection_maker: connections, connector types, endpointsdata_designer: data fields, data value specificationsdata_discovery: analysis reportsproduct_manager: governance action processesschema_maker: schema types, schema attributessolution_architect: concept model elementsNonealready meant "match everything", like"*", so name-only and name+body calls send exactly the same request as before._async_get_data_value_specifications_by_namealso gets theclassification_names=Nonedefault that its sync version already had. Without it, the new default would have been a syntax error.Tests
tests/micro-tests/test_issue_135_by_name_body_only.pyhas 42 tests. For each wrapper they check that both signatures default the argument, that a body-only call sends the body, and that a name-only call is unchanged.pytest tests/micro-testspasses (exit code 0).Not changed (logged in ISSUE-135): five other
*_by_namewrappers still mishandle a body-only call. FourSolutionArchitectwrappers overwrite the caller'sfilterwithname, andAutomatedCuration.get_engine_actions_by_namerejects a missing name.🤖 Generated with Claude Code