diff --git a/core/src/main/java/hudson/model/AbstractProject.java b/core/src/main/java/hudson/model/AbstractProject.java index c3dad5d065f1..7f0c8607a4ba 100644 --- a/core/src/main/java/hudson/model/AbstractProject.java +++ b/core/src/main/java/hudson/model/AbstractProject.java @@ -1913,7 +1913,7 @@ public FormValidation doCheckAssignedLabelString(@AncestorInPath AbstractProject public FormValidation doCheckLabel(@AncestorInPath AbstractProject project, @QueryParameter String value) { - return validateLabelExpression(value, project); + return LabelExpression.validate(value, project); } /** @@ -1921,39 +1921,11 @@ public FormValidation doCheckLabel(@AncestorInPath AbstractProject project, * * @param project May be specified to perform project specific validation. * @since 1.590 + * @deprecated Use {@link LabelExpression#validate(String, Item)} instead. */ + @Deprecated public static @NonNull FormValidation validateLabelExpression(String value, @CheckForNull AbstractProject project) { - if (Util.fixEmpty(value)==null) - return FormValidation.ok(); // nothing typed yet - try { - Label.parseExpression(value); - } catch (ANTLRException e) { - return FormValidation.error(e, - Messages.AbstractProject_AssignedLabelString_InvalidBooleanExpression(e.getMessage())); - } - Jenkins j = Jenkins.get(); - Label l = j.getLabel(value); - if (l.isEmpty()) { - for (LabelAtom a : l.listAtoms()) { - if (a.isEmpty()) { - LabelAtom nearest = LabelAtom.findNearest(a.getName()); - return FormValidation.warning(Messages.AbstractProject_AssignedLabelString_NoMatch_DidYouMean(a.getName(),nearest.getDisplayName())); - } - } - return FormValidation.warning(Messages.AbstractProject_AssignedLabelString_NoMatch()); - } - if (project != null) { - for (AbstractProject.LabelValidator v : j - .getExtensionList(AbstractProject.LabelValidator.class)) { - FormValidation result = v.check(project, l); - if (!FormValidation.Kind.OK.equals(result.kind)) { - return result; - } - } - } - return FormValidation.okWithMarkup(Messages.AbstractProject_LabelLink( - j.getRootUrl(), Util.escape(l.getName()), l.getUrl(), l.getNodes().size(), l.getClouds().size()) - ); + return LabelExpression.validate(value, project); } public FormValidation doCheckCustomWorkspace(@QueryParameter String customWorkspace){ @@ -1985,64 +1957,12 @@ public AutoCompletionCandidates doAutoCompleteAssignedLabelString(@QueryParamete } public AutoCompletionCandidates doAutoCompleteLabel(@QueryParameter String value) { - AutoCompletionCandidates c = new AutoCompletionCandidates(); - Set