package org.jenkinsci.plugins.p4.filters; import hudson.Extension; import org.jenkinsci.Symbol; import org.kohsuke.stapler.DataBoundConstructor; import java.io.Serializable; import java.util.ArrayList; import java.util.logging.Logger; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; public class FilterPatternListImpl extends Filter implements Serializable { private static Logger logger = Logger.getLogger(FilterPatternListImpl.class.getName()); private static final long serialVersionUID = 1L; private final String patternText; private final boolean caseSensitive; @DataBoundConstructor public FilterPatternListImpl(String patternText, boolean caseSensitive) { this.patternText = patternText; this.caseSensitive = caseSensitive; } public boolean isCaseSensitive() { return caseSensitive; } public String getRawPatternString() { return patternText; } public ArrayList<Pattern> getPatternList() { ArrayList<Pattern> patternList = new ArrayList<Pattern>(); int caseFlag = 0; if (!caseSensitive) { caseFlag = Pattern.CASE_INSENSITIVE; } for (String line : patternText.split("\n")) { // Try compiling each line into patterns. If we can't compile a line, skip it and log. try { patternList.add(Pattern.compile(line, caseFlag)); } catch(PatternSyntaxException e) { logger.severe("Error processing supposed pattern \"" + line + "\", ignoring:\n" + e); } } return patternList; } @Extension @Symbol("viewFilter") public static final class DescriptorImpl extends FilterDescriptor { @Override public String getDisplayName() { return "Exclude changes outside Java pattern"; } } }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#4 | 28002 | Paul Allen |
Merge pull request #131 from jorgenpt/support-windows-linebreaks Add support for Windows linebreaks in filters |
||
#3 | 23850 | Paul Allen |
Change Java Pattern polling filter name. The @Symbol name for the Java Pattern filter clashed with the View Mask filter. (minor) Renamed help file to match argument name. JENKINS-50027 |
||
#2 | 23536 | Paul Allen |
Merge pull request #67 from jromigh/master Adding UI alerts for Pattern Filter errors |
||
#1 | 23533 | Paul Allen |
Merge pull request #66 from jromigh/master. Implementing a Java Pattern filter for polling. JENKINS-41217 |