Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 2
Allow specifying depth of ITopicRepository.Load() #120
Copy link
Copy link
Closed
Labels
Area: RepositoriesRelates to the `ITopicRepository` interface or one of its implementations.Relates to the `ITopicRepository` interface or one of its implementations.Priority: 2Severity 2: MajorStatus 5: CompleteTask is considered complete, and ready for deployment.Task is considered complete, and ready for deployment.Type: BugBehavior that is inconsistent with documented or expected behavior.Behavior that is inconsistent with documented or expected behavior.Type: ImprovementImproves the functionality or interface of an existing feature.Improves the functionality or interface of an existing feature.
Milestone
Description
Metadata
Metadata
Assignees
Labels
Area: RepositoriesRelates to the `ITopicRepository` interface or one of its implementations.Relates to the `ITopicRepository` interface or one of its implementations.Priority: 2Severity 2: MajorStatus 5: CompleteTask is considered complete, and ready for deployment.Task is considered complete, and ready for deployment.Type: BugBehavior that is inconsistent with documented or expected behavior.Behavior that is inconsistent with documented or expected behavior.Type: ImprovementImproves the functionality or interface of an existing feature.Improves the functionality or interface of an existing feature.
Replace the
isRecursive: boolparameter onITopicRepository.Load()withdepth: int, because hierarchical navigation (e.g., rendering a navigation menu from a root several tiers deep) needs precise control over how much of the tree to pull. A full recursive load of the root would force the whole graph to load, defeating the purpose of lazy loading, so the goal is load exactly the region of the graph needed.Tasks
depthreplacesisRecursiveacrossLoad()andIsLoaded()stub modeling, tests)@Depthparameter onLoadTopicsstored procedure w/ recursive CTE@LoadDescendantsand@LoadChildrenparametersCachedTopicRepository's existing "sufficiency gate" (i.e.,ConvergeLoadState()to be depth-awareHierarchicalTopicMappingServicechild crawlIsVisible()'sIsHiddenandIsDisabledchecks non-autoloadingExtendedAttributesand references tree traversal