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 String libintlName =
"libintl-8";
128 libintlName =
"intl";
131 System.loadLibrary(libintlName);
132 logger.log(Level.INFO, libintlName +
" library loaded");
133 }
catch (UnsatisfiedLinkError e) {
134 logger.log(Level.SEVERE,
"Error loading " + libintlName +
" library, ", e);
138 System.loadLibrary(
"libpq");
139 logger.log(Level.INFO,
"LIBPQ library loaded");
140 }
catch (UnsatisfiedLinkError e) {
141 logger.log(Level.SEVERE,
"Error loading LIBPQ library, ", e);
147 logger.log(Level.INFO,
"core installer created");
149 packageInstallers =
new ArrayList<>();
168 System.setProperty(
"javafx.macosx.embedded",
"true");
172 Platform.setImplicitExit(
false);
174 }
catch (UnsatisfiedLinkError | NoClassDefFoundError | Exception e) {
176 final String msg = NbBundle.getMessage(
Installer.class,
"Installer.errorInitJavafx.msg");
177 final String details = NbBundle.getMessage(
Installer.class,
"Installer.errorInitJavafx.details");
178 logger.log(Level.SEVERE, msg
181 WindowManager.getDefault().invokeWhenUIReady(
new Runnable() {
192 pythonModulesDir.mkdir();
200 for (ModuleInstall mi : packageInstallers) {
203 logger.log(Level.INFO,
"{0} restore succeeded", mi.getClass().getName());
204 }
catch (Exception e) {
205 String msg = mi.getClass().getName() +
" restore failed";
206 logger.log(Level.WARNING, msg, e);
209 logger.log(Level.INFO,
"Autopsy Core restore completed");
213 public void validate() throws IllegalStateException {
216 logger.log(Level.INFO,
"validate()");
217 for (ModuleInstall mi : packageInstallers) {
218 logger.log(Level.INFO,
"{0} validate()", mi.getClass().getName());
221 }
catch (Exception e) {
222 logger.log(Level.WARNING,
"", e);
231 logger.log(Level.INFO,
"uninstalled()");
233 for (ModuleInstall mi : packageInstallers) {
234 logger.log(Level.INFO,
"{0} uninstalled()", mi.getClass().getName());
237 }
catch (Exception e) {
238 logger.log(Level.WARNING,
"", e);
247 logger.log(Level.INFO,
"close()");
254 for (ModuleInstall mi : packageInstallers) {
255 logger.log(Level.INFO,
"{0} close()", mi.getClass().getName());
258 }
catch (Exception e) {
259 logger.log(Level.WARNING,
"", e);
262 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()