in src/main/java/org/apache/fineract/cn/lang/ApplicationName.java [46:67]
static ApplicationName parse(final String springApplicationNameString) {
if (springApplicationNameString.length() > 64) {
throw new IllegalArgumentException("Spring application name strings for Apache Fineract CN applications should be 64 characters or less.");
}
final Pattern applicationNamePattern = Pattern.compile(
"^(/??(?<name>\\p{Lower}[\\p{Lower}_]+)(?:-v(?<version>\\d[\\d\\._]*))?)$");
final Matcher applicationNameMatcher = applicationNamePattern.matcher(springApplicationNameString);
if (!applicationNameMatcher.matches()) {
throw new IllegalArgumentException(
"This is not a spring application name string for an Apache Fineract CN application: "
+ springApplicationNameString);
}
String versionString = applicationNameMatcher.group("version");
if (versionString == null) {
throw new IllegalArgumentException("Application name: '" + springApplicationNameString + "' requires a version. For example 'amit/v1'.");
}
final String serviceName = applicationNameMatcher.group("name");
return new ApplicationName(serviceName, versionString);
}