private Element toElement(final SimpleStringPattern sp) { final Element elem = getDocument().createElement("simple-pattern"); elem.setAttribute("name", sp.getName()); if (!Strings.isNullOrEmpty(sp.getDescription())) { elem.setAttribute("description", sp.getDescription()); } appendElement(elem, "expression", sp.getExpression()); return elem; }
@Override public boolean matches(final String string) { return SimpleStringPattern.this.matches(string); }
private Tokenizer getTokenizer() { if (_tokenizer == null) { _tokenizer = new DefaultTokenizer(getConfiguration()); } return _tokenizer; }
public SimpleStringPatternDialog(final SimpleStringPattern stringPattern, final MutableReferenceDataCatalog catalog, final WindowContext windowContext) { this(stringPattern.getName(), stringPattern.getExpression(), catalog, windowContext); }
public boolean matches(final String string) { final List<Token> tokens = getTokenizer().tokenize(string); return getTokenPattern().match(tokens); }
private void checkInputField(final int index) { final String text = _inputFields.get(index).getText(); final JLabel label = _statusLabels.get(index); if ("".equals(text)) { label.setIcon(null); } else { final SimpleStringPattern simpleStringPattern = new SimpleStringPattern(_expressionNameField.getText(), _expressionField.getText()); if (simpleStringPattern.matches(text)) { label.setIcon(ICON_SUCCESS); } else { label.setIcon(ICON_ERROR); } } }
return; final SimpleStringPattern simpleStringPattern = new SimpleStringPattern(expressionName, expression); if (_simpleStringPattern != null && _catalog.containsStringPattern(_simpleStringPattern.getName())) { _catalog.changeStringPattern(_simpleStringPattern, simpleStringPattern); } else {
@Override public String toString() { return "SimpleStringPattern[name=" + getName() + ", expression=" + _expression + "]"; } }
final SimpleStringPattern sp = new SimpleStringPattern(name, expression); sp.setDescription(simplePatternType.getDescription()); stringPatterns.add(sp);
button.setToolTipText("Save as string pattern"); button.addActionListener(e -> { _catalog.addStringPattern(new SimpleStringPattern(stringPatternName, expression)); button.setEnabled(false); });
private TokenPattern getTokenPattern() { if (_tokenPattern == null) { final String expression; if (LabelUtils.NULL_LABEL.equals(_expression)) { expression = null; } else if (LabelUtils.BLANK_LABEL.equals(_expression)) { expression = ""; } else { expression = _expression; } final List<Token> tokens = getTokenizer().tokenize(expression); _tokenPattern = new TokenPatternImpl(expression, tokens, getConfiguration()); } return _tokenPattern; }
private static String getDescription(final StringPattern stringPattern) { if (stringPattern.getDescription() != null) { return stringPattern.getDescription(); } final String description; if (stringPattern instanceof RegexSwapStringPattern) { description = ((RegexSwapStringPattern) stringPattern).getRegex().getExpression(); } else if (stringPattern instanceof RegexStringPattern) { description = ((RegexStringPattern) stringPattern).getExpression(); } else if (stringPattern instanceof SimpleStringPattern) { description = ((SimpleStringPattern) stringPattern).getExpression(); } else { description = ""; } if (description == null) { return ""; } if (description.length() > 30) { return description.substring(0, 27) + "..."; } return description; }
public int getMatchCount(final String pattern) { final Crosstab<?> crosstab = getSingleCrosstab(); final CrosstabDimension patternDimension = crosstab.getDimension(PatternFinderAnalyzer.DIMENSION_NAME_PATTERN); final List<String> categories = patternDimension.getCategories(); for (final String category : categories) { final SimpleStringPattern stringPattern = new SimpleStringPattern(category, category, _tokenizerConfiguration); if (stringPattern.matches(pattern)) { final Object value = crosstab.where(patternDimension, category) .where(PatternFinderAnalyzer.DIMENSION_NAME_MEASURES, PatternFinderAnalyzer.MEASURE_MATCH_COUNT) .get(); if (value instanceof Number) { return ((Number) value).intValue(); } } } return 0; }