Skip to content
Snippets Groups Projects
Commit 6f036cad authored by Jonas Blatt's avatar Jonas Blatt :ant:
Browse files

Use Annotation for config

parent 157acdb9
No related branches found
No related tags found
No related merge requests found
......@@ -20,18 +20,19 @@ import java.util.concurrent.Future;
import javax.inject.Inject;
import javax.inject.Singleton;
import org.apache.commons.lang3.Validate;
import org.eclipse.microprofile.config.Config;
import org.eclipse.microprofile.config.ConfigProvider;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.reflections.Reflections;
@Singleton
public class VerificationService {
private static final String CONF_VERIFIER_THREADS = "verifier.threads";
private static final String CONF_PACKAGE_PATH = "verifier.package";
private static final Integer DEFAULT_MAX_THREADS = 1;
private static final String DEFAULT_PACKAGE =
"de.unikoblenz.fgbks.core.dmn.verification.verifier";
@ConfigProperty(name = "verifier.threads", defaultValue = "2")
Integer maxThreads;
@ConfigProperty(
name = "verifier.package",
defaultValue = "de.unikoblenz.fgbks.core.dmn.verification.verifier")
String packagePath;
private ExecutorService executor;
private Set<Class<?>> verifierClasses;
......@@ -39,22 +40,20 @@ public class VerificationService {
@Inject private DmnService dmnService;
protected VerificationService() {
initVerifier();
super();
}
private void initVerifier() {
Config config = ConfigProvider.getConfig();
int maxThreads =
config.getOptionalValue(CONF_VERIFIER_THREADS, Integer.class).orElse(DEFAULT_MAX_THREADS);
executor = Executors.newFixedThreadPool(maxThreads);
System.out.println("Creating thread pool with " + maxThreads + " threads!");
String packagePath =
config.getOptionalValue(CONF_PACKAGE_PATH, String.class).orElse(DEFAULT_PACKAGE);
Reflections reflections = new Reflections(packagePath);
verifierClasses = reflections.getTypesAnnotatedWith(DmnVerifier.class);
}
public VerifierResultSet generate(String dmnXml) {
if (executor == null) {
initVerifier();
}
Validate.notNull(dmnXml);
Map<Class<? extends AbstractDmnVerifierConfig>, AbstractDmnVerifierConfig> configs =
getConfigs(dmnXml);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment