Newer
Older

Jonas Blatt
committed
package de.unikoblenz.fgbks.api;

Jonas Blatt
committed
import de.unikoblenz.fgbks.base.wordnet.WordnetService;

Jonas Blatt
committed
import de.unikoblenz.fgbks.core.dmn.verification.DmnVerificationService;
import de.unikoblenz.fgbks.core.dmn.verification.result.actions.FixActionService;

Jonas Blatt
committed
import io.quarkus.runtime.ShutdownEvent;
import io.quarkus.runtime.StartupEvent;
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.event.Observes;
import javax.inject.Inject;

Jonas Blatt
committed
import org.eclipse.microprofile.config.inject.ConfigProperty;

Jonas Blatt
committed
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ApplicationScoped
public class AppLifecycleBean {
@Inject
DmnVerificationService dmnVerificationService;

Jonas Blatt
committed

Jonas Blatt
committed
private static final Logger LOGGER = LoggerFactory.getLogger("AppLifecycle");

Jonas Blatt
committed
@ConfigProperty(name = "wordnet.path")
private String wordnetPath;
@ConfigProperty(name = "verifier.fixes.active", defaultValue = "true")
private String activeFixes;

Jonas Blatt
committed
void onStart(@Observes StartupEvent ev) {
LOGGER.info("The dmn verification application is starting...");

Jonas Blatt
committed
// Init wordnet
LOGGER.info("Starting initialization of wordnet...");
WordnetService.getInstance(true, wordnetPath);
LOGGER.info("Generating fix values at init: ..");
fixActionService.setGlobalActive(Boolean.parseBoolean(activeFixes));
LOGGER.info("... " + fixActionService.isGlobalActive());

Jonas Blatt
committed
LOGGER.info("Starting initialization of verifier...");

Jonas Blatt
committed
dmnVerificationService.initVerifier();
}
void onStop(@Observes ShutdownEvent ev) {
LOGGER.info("The dmn verification application is stopping...");
}
}