in camel-upgrade-recipes/src/main/java/org/apache/camel/upgrade/camel40/java/CamelBeanRecipe.java [123:158]
private String updateMethodArgument(String argument) {
Pattern identifierPattern = Pattern.compile("^[a-zA-Z_$][a-zA-Z0-9_$]*$");
Pattern fullyQualifiedPattern = Pattern
.compile("^([a-zA-Z_$][a-zA-Z0-9_$]*\\.)*[a-zA-Z_$][a-zA-Z0-9_$]*$");
String updatedArgs = Arrays.asList(argument.split(",")).stream().map(arg -> {
if (arg.endsWith(".class")) {
return arg;
}
if (Arrays.asList(primitive).contains(arg.trim())) {
return arg + ".class";
}
Matcher fullyQualifiedMatcher = fullyQualifiedPattern.matcher(arg);
if (!fullyQualifiedMatcher.matches()) {
return arg;
}
String[] parts = arg.split("\\.");
for (String part : parts) {
Matcher identifierMatcher = identifierPattern.matcher(part);
if (!identifierMatcher.matches()) {
return arg;
}
}
return arg + ".class";
}).collect(Collectors.joining(","));
return updatedArgs;
}