in log4j-audit/log4j-audit-maven-plugin/src/main/java/org/apache/logging/log4j/audit/plugin/AuditMojo.java [75:127]
public void execute() throws MojoExecutionException {
if (maxKeyLength <= 0) {
maxKeyLength = MAX_KEY_LENGTH;
}
if (enterpriseId <= 0) {
enterpriseId = DEFAULT_ENTERPRISE_ID;
}
CatalogReader catalogReader = null;
try {
File basedir = project.getBasedir();
Class<?> clazz = LoaderUtil.loadClass(catalogReaderClassName);
Constructor<CatalogReader>[] constructors = (Constructor<CatalogReader>[]) clazz.getConstructors();
for (Constructor<CatalogReader> constructor : constructors) {
if (constructor.getParameterCount() == 1 && constructor.getParameterTypes()[0].isAssignableFrom(Map.class)) {
if (catalogReaderAttributes == null) {
catalogReaderAttributes = new HashMap<>();
}
if (!catalogReaderAttributes.containsKey(BASEDIR)) {
catalogReaderAttributes.put(BASEDIR, project.getBasedir().getAbsolutePath());
}
if (!catalogReaderAttributes.containsKey(BUILDDIR)) {
catalogReaderAttributes.put(BUILDDIR, project.getBuild().getDirectory());
}
catalogReader = constructor.newInstance(catalogReaderAttributes);
break;
}
}
if (catalogReader == null) {
catalogReader = LoaderUtil.newInstanceOf(catalogReaderClassName);
}
} catch (Exception ex) {
getLog().error("Unable to load catalog reader " + catalogReaderClassName, ex);
return;
}
InterfacesGenerator generator = new InterfacesGenerator();
JsonCatalogReader jsonCatalogReader = new JsonCatalogReader();
jsonCatalogReader.setCatalogReader(catalogReader);
jsonCatalogReader.init();
generator.setCatalogReader(jsonCatalogReader);
generator.setOutputDirectory(outputDirectory.getAbsolutePath());
generator.setPackageName(packageName);
generator.setMaxKeyLength(maxKeyLength);
generator.setEnterpriseId(enterpriseId);
generator.setVerbose(verbose);
try {
generator.generateSource();
project.addCompileSourceRoot(outputDirectory.getAbsolutePath());
} catch (Exception ex) {
throw new MojoExecutionException("Error generating Audit interfaces", ex);
}
}