Skip to content

Commit 81daf09

Browse files
committed
abbreviate type labels (using the main package name)
1 parent 1fe205f commit 81daf09

File tree

1 file changed

+16
-3
lines changed
  • headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/commands

1 file changed

+16
-3
lines changed

headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/commands/SpringIndexCommands.java

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import java.util.stream.Collectors;
1919

2020
import org.jmolecules.stereotype.tooling.HierarchicalNodeHandler;
21+
import org.jmolecules.stereotype.tooling.LabelUtils;
2122
import org.jmolecules.stereotype.tooling.ProjectTree;
2223
import org.jmolecules.stereotype.tooling.SimpleLabelProvider;
2324
import org.jmolecules.stereotype.tooling.StructureProvider.SimpleStructureProvider;
@@ -51,8 +52,11 @@ private Node nodeFrom(StereotypeCatalogRegistry stereotypeCatalogRegistry, Sprin
5152
var factory = new IndexBasedStereotypeFactory(catalog, springIndex);
5253
factory.registerStereotypeDefinitions();
5354

54-
var labels = SimpleLabelProvider.forPackage(StereotypePackageElement::getPackageName, StereotypeClassElement::getType,
55-
(StereotypeMethodElement m, StereotypeClassElement __) -> m.getMethodName(), Object::toString);
55+
StereotypePackageElement mainApplicationPackage = identifyMainApplicationPackage(project, springIndex);
56+
57+
var labels = new SimpleLabelProvider<>(StereotypePackageElement::getPackageName, StereotypePackageElement::getPackageName, StereotypeClassElement::getType,
58+
(StereotypeMethodElement m, StereotypeClassElement __) -> m.getMethodName(), Object::toString)
59+
.withTypeLabel(it -> abbreviate(mainApplicationPackage, it));
5660

5761
SimpleStructureProvider<StereotypePackageElement, StereotypePackageElement, StereotypeClassElement, StereotypeMethodElement> structureProvider =
5862
new SimpleStructureProvider<StereotypePackageElement, StereotypePackageElement, StereotypeClassElement, StereotypeMethodElement>() {
@@ -88,10 +92,19 @@ public Collection<StereotypeClassElement> extractTypes(StereotypePackageElement
8892
.withGrouper("org.jmolecules.architecture")
8993
.withGrouper("org.jmolecules.ddd", "org.jmolecules.event", "spring", "jpa", "java");
9094

91-
jsonTree.process(identifyMainApplicationPackage(project, springIndex));
95+
jsonTree.process(mainApplicationPackage);
9296

9397
return jsonHandler.getRoot();
9498
}
99+
100+
private String abbreviate(StereotypePackageElement mainApplicationPackage, StereotypeClassElement it) {
101+
if (mainApplicationPackage == null || mainApplicationPackage.getPackageName() == null || mainApplicationPackage.getPackageName().isBlank()) {
102+
return it.getType();
103+
}
104+
else {
105+
return LabelUtils.abbreviate(it.getType(), mainApplicationPackage.getPackageName());
106+
}
107+
}
95108

96109
public StereotypePackageElement identifyMainApplicationPackage(IJavaProject project, SpringMetamodelIndex springIndex) {
97110
List<StereotypeClassElement> classNodes = springIndex.getNodesOfType(project.getElementName(), StereotypeClassElement.class);

0 commit comments

Comments
 (0)