aboutsummaryrefslogtreecommitdiffstats
path: root/integration
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-02-13 17:23:35 +0100
committerJon Bratseth <bratseth@gmail.com>2022-02-13 17:23:35 +0100
commit3f0f376e90a45c987200fb0ba78451cf1cc976e3 (patch)
tree8ddaa3ebfaf7845fd3c352b003226179fc0b50d5 /integration
parent038ec741a8390ab866d9771418bf11388aefa1c6 (diff)
Pass RankProfile
Diffstat (limited to 'integration')
-rw-r--r--integration/intellij/src/main/java/ai/vespa/intellij/schema/hierarchy/SdCalleeTreeStructure.java3
-rw-r--r--integration/intellij/src/main/java/ai/vespa/intellij/schema/hierarchy/SdHierarchyUtil.java13
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) {