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

[BUG] LineageIntegratorContext call getSchemaTypeForElement ends up calling a non-existent server end point #7136

Closed
1 task done
davidradl opened this issue Nov 25, 2022 · 0 comments
Assignees
Labels
bug Something isn't working triage New bug/issue which needs checking & assigning

Comments

@davidradl
Copy link
Member

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

I am writing a integration connector in repository .

I am cataloging assets then their schema types. I want to check whether the schema type exists under the asset, so I issue

myContext.getSchemaTypeForElement(
assetGUID,
typename,
new Date());

This fails.

Expected Behavior

Expect ```
myContext.getSchemaTypeForElement(
assetGUID,
typename,
new Date());

to complete successfully either indicating that there is no schema type or returning the schema type it has found

### Steps To Reproduce

see the Egeria  lineage sample 

### Environment

```markdown
- Egeria:
- OS:
- Java:
- Browser (for UI issues):
- Additional connectors and integration:

Any Further Information?

I have the assets cataloging in my integration connector . It fails at the start of trying to work with the schema types. I issue a call

myContext.getSchemaTypeForElement(
        assetGUID,
        assetFromJSON.getTypeName(),
        new Date());

to see if there are any existing schema types associated with my asset, but this fails. The reason it fails is that SchemaExchangeClientBase line 574 does this
final String urlTemplate = serverPlatformURLRoot + urlTemplatePrefix + "/parents/{2}/schema-types/retrieve?forLineage={3}&forDuplicateProcessing={4}";


SchemaTypeElementResponse restResult = restClient.callSchemaTypePostRESTCall(methodName,
                                                                             urlTemplate,
                                                                             getEffectiveTimeQueryRequestBody(assetManagerGUID, assetManagerName, effectiveTime),
                                                                             serverName,
                                                                             userId,
                                                                             parentElementGUID,
                                                                             forLineage,
                                                                             forDuplicateProcessing);

but the server side wants another segment in the url @PostMapping(path = "/parents/{parentElementTypeName}/{parentElementGUID}/schema-types/retrieve") it looks like the parentElementTypeName needs to be supplied. I tried adding this in postman - it now seems to recognise the rest call but says it is a bad request.

@davidradl davidradl added bug Something isn't working triage New bug/issue which needs checking & assigning labels Nov 25, 2022
@davidradl davidradl changed the title [BUG] Using the Lineage [BUG] LineageIntegratorContext call getSchemaTypeForElement ends up calling a non-existent server end point Nov 25, 2022
@davidradl davidradl self-assigned this Nov 25, 2022
davidradl added a commit that referenced this issue Nov 27, 2022
#7136 amend getSchemaTypeElement client call
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working triage New bug/issue which needs checking & assigning
Projects
None yet
Development

No branches or pull requests

1 participant