19 package org.sleuthkit.autopsy.keywordsearch;
21 import java.util.logging.Level;
22 import org.openide.modules.ModuleInstall;
23 import org.openide.util.NbBundle;
24 import org.openide.windows.WindowManager;
38 class Installer
extends ModuleInstall {
40 private static final Logger logger = Logger.getLogger(Installer.class.getName());
41 private static final long serialVersionUID = 1L;
44 public void restored() {
46 KeywordSearchSettings.setDefaults();
48 Case.addEventSubscriber(Case.Events.CURRENT_CASE.toString(),
new KeywordSearch.CaseChangeListener());
50 final Server server = KeywordSearch.getServer();
53 }
catch (SolrServerNoPortException ex) {
54 logger.log(Level.SEVERE,
"Failed to start Keyword Search server: ", ex);
55 if (ex.getPortNumber() == server.getCurrentSolrServerPort()) {
56 reportPortError(ex.getPortNumber());
58 reportStopPortError(ex.getPortNumber());
60 }
catch (KeywordSearchModuleException ex) {
61 logger.log(Level.SEVERE,
"Failed to start Keyword Search server: ", ex);
62 reportInitError(ex.getMessage());
67 public boolean closing() {
70 KeywordSearch.getServer().stop();
76 public void uninstalled() {
78 KeywordSearch.getServer().stop();
82 private void reportPortError(
final int curFailPort) {
83 WindowManager.getDefault().invokeWhenUIReady(
new Runnable() {
86 final String msg = NbBundle.getMessage(this.getClass(),
"Installer.reportPortError", curFailPort, Version.getName(), Server.PROPERTIES_CURRENT_SERVER_PORT, Server.PROPERTIES_FILE);
87 MessageNotifyUtil.Notify.error(NbBundle.getMessage(
this.getClass(),
"Installer.errorInitKsmMsg"), msg);
92 private void reportStopPortError(
final int curFailPort) {
93 WindowManager.getDefault().invokeWhenUIReady(
new Runnable() {
96 final String msg = NbBundle.getMessage(this.getClass(),
"Installer.reportStopPortError", curFailPort, Server.PROPERTIES_CURRENT_STOP_PORT, Server.PROPERTIES_FILE);
97 MessageNotifyUtil.Notify.error(NbBundle.getMessage(
this.getClass(),
"Installer.errorInitKsmMsg"), msg);
102 private void reportInitError(
final String msg) {
103 WindowManager.getDefault().invokeWhenUIReady(
new Runnable() {
106 MessageNotifyUtil.Notify.error(NbBundle.getMessage(
this.getClass(),
"Installer.errorInitKsmMsg"), msg);