package de.unikoblenz.fgbks.api; import de.unikoblenz.fgbks.base.wordnet.WordnetService; import de.unikoblenz.fgbks.core.dmn.verification.DmnVerificationService; import de.unikoblenz.fgbks.core.dmn.verification.result.actions.FixActionService; import io.quarkus.runtime.ShutdownEvent; import io.quarkus.runtime.StartupEvent; import javax.enterprise.context.ApplicationScoped; import javax.enterprise.event.Observes; import javax.inject.Inject; import org.eclipse.microprofile.config.inject.ConfigProperty; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @ApplicationScoped public class AppLifecycleBean { @Inject DmnVerificationService dmnVerificationService; @Inject FixActionService fixActionService; private static final Logger LOGGER = LoggerFactory.getLogger("AppLifecycle"); @ConfigProperty(name = "wordnet.path") private String wordnetPath; @ConfigProperty(name = "verifier.fixes.active", defaultValue = "true") private String activeFixes; void onStart(@Observes StartupEvent ev) { LOGGER.info("The dmn verification application is starting..."); // 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()); LOGGER.info("Starting initialization of verifier..."); dmnVerificationService.initVerifier(); } void onStop(@Observes ShutdownEvent ev) { LOGGER.info("The dmn verification application is stopping..."); } }