Skip to content

Commit 9732719

Browse files
committed
Extract method for running the content generators from extensions #2193
1 parent d0b5059 commit 9732719

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/ContentGeneratorDescriptor.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -106,24 +106,24 @@ public boolean allTypesSelected(Collection<MarkerType> selectedTypes) {
106106
public MarkerField[] getAllFields() {
107107
List<MarkerField> allFieldsList = new ArrayList<>(Arrays.asList(allFieldsWithoutExtensions));
108108

109-
Iterator<IConfigurationElement> extensions = generatorExtensions.iterator();
110-
while (extensions.hasNext()) {
111-
addMarkerFieldsFrom(extensions.next(), allFieldsList);
112-
}
109+
getExtensionsDescriptorsStream().flatMap(descriptor -> Arrays.stream(descriptor.getAllFields()))
110+
.forEach(field -> allFieldsList.add(field));
113111

114112
return allFieldsList.toArray(new MarkerField[allFieldsList.size()]);
115113
}
116114

117-
private void addMarkerFieldsFrom(IConfigurationElement extensionElement, List<MarkerField> markerFields) {
118-
String extendingMarkerContentGeneratorId = extensionElement
119-
.getAttribute(MarkerSupportInternalUtilities.ATTRIBUTE_ID);
120-
if (extendingMarkerContentGeneratorId != null && !extendingMarkerContentGeneratorId.isBlank()) {
121-
ContentGeneratorDescriptor descriptor = MarkerSupportRegistry.getInstance()
122-
.getContentGenDescriptor(extendingMarkerContentGeneratorId);
123-
if (descriptor != null) {
124-
Arrays.stream(descriptor.getAllFields()).forEach(field -> markerFields.add(field));
125-
}
115+
private Stream<ContentGeneratorDescriptor> getExtensionsDescriptorsStream() {
116+
if (generatorExtensions != null) {
117+
final MarkerSupportRegistry registry = MarkerSupportRegistry.getInstance();
118+
119+
return generatorExtensions.stream()
120+
.map(extensionConfigElem -> extensionConfigElem
121+
.getAttribute(MarkerSupportInternalUtilities.ATTRIBUTE_ID))
122+
.filter(id -> id != null && !id.isBlank())
123+
.map(contentGeneratorId -> registry.getContentGenDescriptor(contentGeneratorId))
124+
.filter(generator -> generator != null);
126125
}
126+
return Stream.empty();
127127
}
128128

129129
/**

0 commit comments

Comments
 (0)