private String fetchDBName(String property) { // internally spring use eureka VIP as service id (instead appName), so potentially we can have problems with invalid hostnames String dbname = StringUtils.before(property, '.'); Assert.isTrue(dbname != null, MYSQL_SERVICE_ID + "property doesn't match pattern dbname.dbserver, property is '" + property + "'"); // many db does not allow '-', but allow '_' which is forbidden in hostnames dbname = dbname.replace('-', '_'); return dbname; }
private String[] filterEnv(Collection<String> env) { log.info("All env {}", env); Set<String> filter = new HashSet<>(); String[] constraints = env.stream() .filter(e -> e.contains("=")) .filter(e -> { String before = before(e, '='); return before.contains("constraint") || filter.add(before(e, '=')); }).toArray(String[]::new); log.info("Filtered env {}", Arrays.toString(constraints)); return constraints; }
public LabelFilter(String expr) { this.expr = PROTO + ":" + expr; Assert.notNull(expr, "criteriaLabelsMap must not be null"); this.criteriaLabels = SPLITTER.splitToList(expr).stream().collect(Collectors.toMap( s -> StringUtils.before(s, '='), s -> StringUtils.after(s, '='))); }
public Filter createFilter(String expr) { String proto = StringUtils.before(expr, ':'); Factory ff = factories.get(proto); Assert.notNull(ff, "can not find factory for: " + expr); return ff.create(expr.substring(proto.length() + 1)); }
@Override public MailTemplate getTemplate(String uri) { String proto = StringUtils.before(uri, ':'); MailTemplateProvider provider = this.providers.get(proto); if(provider == null) { throw new MailTemplateException("Can not find provider for protocol = " + proto); } return provider.getTemplate(uri); } }