in maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/MojoExtension.java [534:564]
private XmlNode finalizeConfig(XmlNode config, MojoDescriptor mojoDescriptor) {
List<XmlNode> children = new ArrayList<>();
if (mojoDescriptor != null && mojoDescriptor.getParameters() != null) {
XmlNode defaultConfiguration;
defaultConfiguration = MojoDescriptorCreator.convert(mojoDescriptor);
for (Parameter parameter : mojoDescriptor.getParameters()) {
XmlNode parameterConfiguration = config.getChild(parameter.getName());
if (parameterConfiguration == null) {
parameterConfiguration = config.getChild(parameter.getAlias());
}
XmlNode parameterDefaults = defaultConfiguration.getChild(parameter.getName());
parameterConfiguration = XmlNode.merge(parameterConfiguration, parameterDefaults, Boolean.TRUE);
if (parameterConfiguration != null) {
Map<String, String> attributes = new HashMap<>(parameterConfiguration.getAttributes());
// if (isEmpty(parameterConfiguration.getAttribute("implementation"))
// && !isEmpty(parameter.getImplementation())) {
// attributes.put("implementation", parameter.getImplementation());
// }
parameterConfiguration = new XmlNodeImpl(
parameter.getName(),
parameterConfiguration.getValue(),
attributes,
parameterConfiguration.getChildren(),
parameterConfiguration.getInputLocation());
children.add(parameterConfiguration);
}
}
}
return new XmlNodeImpl("configuration", null, null, children, null);
}