19 package org.sleuthkit.autopsy.core;
22 import java.util.ArrayList;
23 import java.util.List;
24 import java.util.logging.Handler;
25 import java.util.logging.Level;
26 import javafx.application.Platform;
27 import javafx.embed.swing.JFXPanel;
28 import org.openide.modules.ModuleInstall;
29 import org.openide.util.NbBundle;
30 import org.openide.windows.WindowManager;
67 System.loadLibrary(
"msvcr100");
68 System.loadLibrary(
"msvcp100");
70 logger.log(Level.INFO,
"MSVCR100 and MSVCP100 libraries loaded");
71 }
catch (UnsatisfiedLinkError e) {
72 logger.log(Level.SEVERE,
"Error loading MSVCR100 and MSVCP100 libraries, ", e);
76 System.loadLibrary(
"zlib");
77 logger.log(Level.INFO,
"ZLIB library loaded loaded");
78 }
catch (UnsatisfiedLinkError e) {
79 logger.log(Level.SEVERE,
"Error loading ZLIB library, ", e);
83 System.loadLibrary(
"libewf");
84 logger.log(Level.INFO,
"EWF library loaded");
85 }
catch (UnsatisfiedLinkError e) {
86 logger.log(Level.SEVERE,
"Error loading EWF library, ", e);
90 System.loadLibrary(
"libvmdk");
91 logger.log(Level.INFO,
"VMDK library loaded");
92 }
catch (UnsatisfiedLinkError e) {
93 logger.log(Level.SEVERE,
"Error loading VMDK library, ", e);
97 System.loadLibrary(
"libvhdi");
98 logger.log(Level.INFO,
"VHDI library loaded");
99 }
catch (UnsatisfiedLinkError e) {
100 logger.log(Level.SEVERE,
"Error loading VHDI library, ", e);
105 System.loadLibrary(
"msvcr120");
106 logger.log(Level.INFO,
"MSVCR 120 library loaded");
107 }
catch (UnsatisfiedLinkError e) {
108 logger.log(Level.SEVERE,
"Error loading MSVCR120 library, ", e);
112 System.loadLibrary(
"libeay32");
113 logger.log(Level.INFO,
"LIBEAY32 library loaded");
114 }
catch (UnsatisfiedLinkError e) {
115 logger.log(Level.SEVERE,
"Error loading LIBEAY32 library, ", e);
119 System.loadLibrary(
"ssleay32");
120 logger.log(Level.INFO,
"SSLEAY32 library loaded");
121 }
catch (UnsatisfiedLinkError e) {
122 logger.log(Level.SEVERE,
"Error loading SSLEAY32 library, ", e);
126 System.loadLibrary(
"libiconv-2");
127 logger.log(Level.INFO,
"libiconv-2 library loaded");
128 }
catch (UnsatisfiedLinkError e) {
129 logger.log(Level.SEVERE,
"Error loading libiconv-2 library, ", e);
133 System.loadLibrary(
"libintl-8");
134 logger.log(Level.INFO,
"libintl-8 library loaded");
135 }
catch (UnsatisfiedLinkError e) {
136 logger.log(Level.SEVERE,
"Error loading libintl-8 library, ", e);
140 System.loadLibrary(
"libpq");
141 logger.log(Level.INFO,
"LIBPQ library loaded");
142 }
catch (UnsatisfiedLinkError e) {
143 logger.log(Level.SEVERE,
"Error loading LIBPQ library, ", e);
149 logger.log(Level.INFO,
"core installer created");
151 packageInstallers =
new ArrayList<>();
170 System.setProperty(
"javafx.macosx.embedded",
"true");
174 Platform.setImplicitExit(
false);
176 }
catch (UnsatisfiedLinkError | NoClassDefFoundError | Exception e) {
178 final String msg = NbBundle.getMessage(
Installer.class,
"Installer.errorInitJavafx.msg");
179 final String details = NbBundle.getMessage(
Installer.class,
"Installer.errorInitJavafx.details");
180 logger.log(Level.SEVERE, msg
183 WindowManager.getDefault().invokeWhenUIReady(
new Runnable() {
194 pythonModulesDir.mkdir();
202 for (ModuleInstall mi : packageInstallers) {
205 logger.log(Level.INFO,
"{0} restore succeeded", mi.getClass().getName());
206 }
catch (Exception e) {
207 String msg = mi.getClass().getName() +
" restore failed";
208 logger.log(Level.WARNING, msg, e);
211 logger.log(Level.INFO,
"Autopsy Core restore completed");
215 public void validate() throws IllegalStateException {
218 logger.log(Level.INFO,
"validate()");
219 for (ModuleInstall mi : packageInstallers) {
220 logger.log(Level.INFO,
"{0} validate()", mi.getClass().getName());
223 }
catch (Exception e) {
224 logger.log(Level.WARNING,
"", e);
233 logger.log(Level.INFO,
"uninstalled()");
235 for (ModuleInstall mi : packageInstallers) {
236 logger.log(Level.INFO,
"{0} uninstalled()", mi.getClass().getName());
239 }
catch (Exception e) {
240 logger.log(Level.WARNING,
"", e);
249 logger.log(Level.INFO,
"close()");
256 for (ModuleInstall mi : packageInstallers) {
257 logger.log(Level.INFO,
"{0} close()", mi.getClass().getName());
260 }
catch (Exception e) {
261 logger.log(Level.WARNING,
"", e);
264 for (Handler h : logger.getHandlers()) {
static void loadDynLibraries()
static boolean isJavaFxInited()
static final Logger logger
static synchronized Installer getDefault()
static volatile boolean javaFxInit
static synchronized Installer getDefault()
static void ensurePythonModulesFolderExists()
static synchronized Installer getDefault()
static void error(String title, String message)
synchronized static Logger getLogger(String name)
final List< ModuleInstall > packageInstallers
static synchronized Installer getDefault()