diff options
author | Jon Bratseth <bratseth@gmail.com> | 2022-02-13 17:23:35 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2022-02-13 17:23:35 +0100 |
commit | 3f0f376e90a45c987200fb0ba78451cf1cc976e3 (patch) | |
tree | 8ddaa3ebfaf7845fd3c352b003226179fc0b50d5 /integration | |
parent | 038ec741a8390ab866d9771418bf11388aefa1c6 (diff) |
Pass RankProfile
Diffstat (limited to 'integration')
2 files changed, 9 insertions, 7 deletions
diff --git a/integration/intellij/src/main/java/ai/vespa/intellij/schema/hierarchy/SdCalleeTreeStructure.java b/integration/intellij/src/main/java/ai/vespa/intellij/schema/hierarchy/SdCalleeTreeStructure.java index de286f6612f..cd5cfea8de2 100644 --- a/integration/intellij/src/main/java/ai/vespa/intellij/schema/hierarchy/SdCalleeTreeStructure.java +++ b/integration/intellij/src/main/java/ai/vespa/intellij/schema/hierarchy/SdCalleeTreeStructure.java @@ -2,6 +2,7 @@ package ai.vespa.intellij.schema.hierarchy; import ai.vespa.intellij.schema.model.Function; +import ai.vespa.intellij.schema.model.RankProfile; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiNamedElement; @@ -55,7 +56,7 @@ public class SdCalleeTreeStructure extends SdCallTreeStructure { } String rankProfileName = rankProfile.getName(); if (!ranksHeritageMap.containsKey(rankProfileName)) { - ranksHeritageMap.put(rankProfileName, SdHierarchyUtil.getRankProfileChildren(myFile, rankProfile)); + ranksHeritageMap.put(rankProfileName, SdHierarchyUtil.getRankProfileChildren(myFile, new RankProfile(rankProfile, null))); } Set<SdRankProfileDefinition> inheritedRanks = ranksHeritageMap.get(rankProfileName); diff --git a/integration/intellij/src/main/java/ai/vespa/intellij/schema/hierarchy/SdHierarchyUtil.java b/integration/intellij/src/main/java/ai/vespa/intellij/schema/hierarchy/SdHierarchyUtil.java index 3410fa76482..bc4d48bf93b 100644 --- a/integration/intellij/src/main/java/ai/vespa/intellij/schema/hierarchy/SdHierarchyUtil.java +++ b/integration/intellij/src/main/java/ai/vespa/intellij/schema/hierarchy/SdHierarchyUtil.java @@ -35,18 +35,19 @@ public class SdHierarchyUtil { return component instanceof SdFunctionDefinition; } - public static Set<SdRankProfileDefinition> getRankProfileChildren(SdFile file, SdRankProfileDefinition targetProfile) { + public static Set<SdRankProfileDefinition> getRankProfileChildren(SdFile file, RankProfile targetProfile) { return PsiTreeUtil.collectElementsOfType(file, SdRankProfileDefinition.class) .stream() - .filter(profile -> isChildOf(targetProfile, profile)) + .filter(profile -> isChildOf(targetProfile, new RankProfile(profile, null))) .collect(Collectors.toSet()); } - private static boolean isChildOf(SdRankProfileDefinition targetProfile, SdRankProfileDefinition thisProfile) { - if (Objects.equals(thisProfile.getName(), targetProfile.getName())) return true; - return new RankProfile(thisProfile, null).inherited().values() + private static boolean isChildOf(RankProfile targetProfile, RankProfile thisProfile) { + + if (Objects.equals(thisProfile.name(), targetProfile.name())) return true; + return thisProfile.inherited().values() .stream() - .anyMatch(parent -> isChildOf(targetProfile, parent.definition())); + .anyMatch(parent -> isChildOf(targetProfile, parent)); } public static Comparator<NodeDescriptor<?>> getComparator(Project project) { |