package nl.fontys.sofa.limo.view; import java.util.logging.Logger; import nl.fontys.sofa.limo.view.action.ClearDatabaseAction; import nl.fontys.sofa.limo.view.status.ExceptionHandler; import org.openide.DialogDisplayer; import org.openide.NotifyDescriptor; import org.openide.modules.ModuleInstall; import org.openide.util.RequestProcessor; import org.openide.windows.Mode; import org.openide.windows.TopComponent; import org.openide.windows.WindowManager; /** * The installer disables the exceptions NetBeans. Instead we use the StatusBar * class. * * @author Pascal Lindner */ public class Installer extends ModuleInstall { @Override public void restored() { System.setProperty("netbeans.exception.report.min.level", "999999"); System.setProperty("netbeans.exception.alert.min.level", "999999"); Logger.getLogger("").addHandler(new ExceptionHandler()); super.restored(); //Show Edit properties window at startup WindowManager.getDefault().invokeWhenUIReady(() -> { TopComponent propertyTopComponent = WindowManager.getDefault().findTopComponent("properties"); Mode mode = WindowManager.getDefault().findMode("properties"); if (mode != null) { mode.dockInto(propertyTopComponent); propertyTopComponent.open(); } }); } @Override public boolean closing() { RequestProcessor.Task task = ClearDatabaseAction.task; if (task != null && !task.isFinished()) { NotifyDescriptor d = new NotifyDescriptor.Message("Application could not been closed, because the database is removing isn't finished!", NotifyDescriptor.INFORMATION_MESSAGE); DialogDisplayer.getDefault().notify(d); return false; } else { return true; } } }