[JENKINS-64445] - Fix null safety for plugin categories (#5121)

* [JENKINS-64445] - Fix null safety for plugin categories

* Update core/src/main/java/hudson/model/UpdateSite.java

Co-authored-by: Ramon Leon <manuelramonleonjimenez@gmail.com>

* Update core/src/main/java/hudson/model/UpdateSite.java

Co-authored-by: Ramon Leon <manuelramonleonjimenez@gmail.com>
This commit is contained in:
Oleg NenashevandRamon Leon authored and GitHub committed 2020-12-19 20:50:14 +01:00
1 parent 9a8588951b
commit 9f50735a8b
2 files changed
+32 -19

No files matched your search

+5 -13
View File
@@ -1363,8 +1363,8 @@ public abstract class PluginManager extends AbstractModelObject implements OnMas
return StringUtils.containsIgnoreCase(plugin.name, query) ||
StringUtils.containsIgnoreCase(plugin.title, query) ||
StringUtils.containsIgnoreCase(plugin.excerpt, query) ||
Arrays.asList(plugin.categories).contains(query) ||
Arrays.stream(plugin.categories)
plugin.hasCategory(query) ||
plugin.getCategoriesStream()
.map(UpdateCenter::getCategoryDisplayName)
.anyMatch(category -> StringUtils.containsIgnoreCase(category, query)) ||
plugin.hasWarnings() && query.equalsIgnoreCase("warning:");
@@ -1396,7 +1396,7 @@ public abstract class PluginManager extends AbstractModelObject implements OnMas
jsonObject.put("title", plugin.title);
jsonObject.put("displayName", plugin.getDisplayName());
jsonObject.put("wiki", plugin.wiki);
jsonObject.put("categories", Arrays.stream(plugin.categories)
jsonObject.put("categories", plugin.getCategoriesStream()
.filter(PluginManager::isNonMetaLabel)
.map(UpdateCenter::getCategoryDisplayName)
.collect(toList())
@@ -2406,11 +2406,7 @@ public abstract class PluginManager extends AbstractModelObject implements OnMas
@Restricted(DoNotUse.class) // Used from table.jelly
public boolean hasAdoptThisPluginLabel(UpdateSite.Plugin plugin) {
final String[] categories = plugin.categories;
if (categories == null) {
return false;
}
return Arrays.asList(categories).contains("adopt-this-plugin");
return plugin.hasCategory("adopt-this-plugin");
}
@Restricted(DoNotUse.class) // Used from table.jelly
@@ -2427,11 +2423,7 @@ public abstract class PluginManager extends AbstractModelObject implements OnMas
if (pluginMeta == null) {
return false;
}
final String[] categories = pluginMeta.categories;
if (categories == null) {
return false;
}
return Arrays.asList(categories).contains("adopt-this-plugin");
return pluginMeta.hasCategory("adopt-this-plugin");
}
/**