@Initialize public void init() { if (stringPatterns == null) { stringPatterns = new String[0]; } namedPatterns = new ArrayList<>(); for (final String stringPattern : stringPatterns) { namedPatterns.add(new NamedPattern<>(stringPattern, NamePart.class)); } }
public String[] transform(final String value) { String username = null; String domain = null; if (value != null) { final NamedPatternMatch<EmailPart> match = EMAIL_PATTERN.match(value); if (match != null) { username = match.get(EmailPart.USERNAME); domain = match.get(EmailPart.DOMAIN); } } return new String[] { username, domain }; }
final String groupToken = getGroupToken(group); Integer groupIndex = getIndexOfHighest(groupNameStringIndexOfs); while (groupIndex != null) { pattern = pattern.replace(getGroupToken(group), getGroupLiteral(group)); groupIndex = getIndexOfHighest(groupNameStringIndexOfs);
private EnumSet<UrlPart> getUrlParts() { // build a set of all URL parts in all templates. final EnumSet<UrlPart> urlParts = EnumSet.noneOf(UrlPart.class); for (final NamedPattern<UrlPart> urlTemplate : _urlTemplates) { urlParts.addAll(urlTemplate.getUsedGroups()); } return urlParts; }
@Override protected boolean initializeFromMatch(final JdbcDatastore datastore, final NamedPattern<UrlPart> namedPattern, final NamedPatternMatch<UrlPart> match) { final String pattern = namedPattern.toString(); switch (pattern) { case URL_SID_BASED: _radioSid.doClick(); break; case URL_FALLBACK: case URL_SERVICE_NAME_BASED: default: _radioServiceName.doClick(); break; } return super.initializeFromMatch(datastore, namedPattern, match); }
@Override public boolean initialize(final JdbcDatastore datastore) { super.initialize(datastore); final String url = datastore.getJdbcUrl(); NamedPatternMatch<UrlPart> match = null; NamedPattern<UrlPart> matchingUrlTemplate = null; for (final NamedPattern<UrlPart> urlTemplate : _urlTemplates) { matchingUrlTemplate = urlTemplate; match = urlTemplate.match(url); if (match != null) { logger.info("URL '{}' matched with template: {}", url, urlTemplate); break; } } if (match == null) { logger.info("Cannot handle jdbc url '{}', expected something to match: {}", url, _urlTemplates); return false; } return initializeFromMatch(datastore, matchingUrlTemplate, match); }
/** * Constructs a {@link DatabaseConnectionPresenter} based on URL templates. * * @param urlTemplates */ public UrlTemplateDatabaseConnectionPresenter(final String... urlTemplates) { super(); if (urlTemplates == null || urlTemplates.length == 0) { throw new IllegalArgumentException("URL templates cannot be null or empty"); } _urlTemplates = new ArrayList<>(urlTemplates.length); for (final String urlTemplate : urlTemplates) { final NamedPattern<UrlPart> template = new NamedPattern<>(urlTemplate, UrlPart.class); _urlTemplates.add(template); } _hostnameTextField = createTextField("Hostname"); _hostnameTextField.setText("localhost"); _portTextField = createTextField("Port"); _portTextField.setDocument(new NumberDocument(false)); _portTextField.setText("" + getDefaultPort()); _databaseTextField = createTextField(getLabelForDatabase()); _param1TextField = createTextField(getLabelForParam1()); _param2TextField = createTextField(getLabelForParam2()); _param3TextField = createTextField(getLabelForParam3()); _param4TextField = createTextField(getLabelForParam4()); }
public String[] transform(final String value) { String firstName = null; String lastName = null; String middleName = null; String titulation = null; if (value != null) { for (final NamedPattern<NamePart> namedPattern : namedPatterns) { final NamedPatternMatch<NamePart> match = namedPattern.match(value); if (match != null) { firstName = match.get(NamePart.FIRSTNAME); lastName = match.get(NamePart.LASTNAME); middleName = match.get(NamePart.MIDDLENAME); titulation = match.get(NamePart.TITULATION); break; } } } return new String[] { firstName, lastName, middleName, titulation }; }