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

hierarchies: Support fully merged iModel hierarchy providers #844

Open
grigasp opened this issue Jan 20, 2025 · 0 comments
Open

hierarchies: Support fully merged iModel hierarchy providers #844

grigasp opened this issue Jan 20, 2025 · 0 comments
Labels
enhancement New feature or request presentation

Comments

@grigasp
Copy link
Member

grigasp commented Jan 20, 2025

At the moment we support merged hierarchy providers, but iModel-based providers won't merge with each other, e.g. see the following:

// provider 1 returns:
- A
  - A1
- B

// provider 2 returns:
- A
  - A2
- C

// merged hierarchy:
- A
  - A1
- A
  - A2
- B
- C

Instead, we'd like to see this:

- A
  - A1
  - A2
- B
- C

This kind of merged hierarchy could only be built under assumption that given iModels are related and their schema items match if their names match.

Issues:

  • Hierarchy level filtering.

    At the moment, the filter is passed in the form of GenericInstanceFilter, which has no notion of an iModel, but it uses schema items. Even if the iModels are related (e.g. different versions of the same iModel), there could be new schema items added to newer versions of the iModel, so we may receive schema items that are supported in one of the merged iModels, but not the other. What do we do with that?

    Several ideas:

    • In the merged hierarchy provider, accept multiple filters for each iModel separately. It would then know which iModel to forward each filter to. This wouldn't be compatibly with the HierarchyProvider interface.
    • In GenericInstanceFilter API, add a way to tell which iModel(s) filter rules apply to.
    • When converting GenericInstanceFilter to ECSQL, check each given filter rule against the target iModel and ❓skip it❓ if the schema item used in that rule doesn't exist.
@grigasp grigasp added the enhancement New feature or request label Jan 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request presentation
Projects
None yet
Development

No branches or pull requests

1 participant