19 package org.sleuthkit.autopsy.casemodule;
22 import java.nio.file.Path;
23 import java.util.Calendar;
24 import java.util.UUID;
25 import javax.swing.JPanel;
26 import org.openide.util.NbBundle;
27 import org.openide.util.lookup.ServiceProvider;
28 import org.openide.util.lookup.ServiceProviders;
42 @ServiceProviders(value = {
43 @ServiceProvider(service = DataSourceProcessor.class),
44 @ServiceProvider(service = AutoIngestDataSourceProcessor.class)}
48 private static final String DATA_SOURCE_TYPE = NbBundle.getMessage(
LocalDiskDSProcessor.class,
"LocalDiskDSProcessor.dsType.text");
69 configPanel = LocalDiskPanel.getDefault();
80 return DATA_SOURCE_TYPE;
92 return DATA_SOURCE_TYPE;
105 configPanel.refreshTable();
118 return configPanel.validatePanel();
137 if (!setDataSourceOptionsCalled) {
138 deviceId = UUID.randomUUID().toString();
139 drivePath = configPanel.getContentPaths();
140 timeZone = configPanel.getTimeZone();
141 ignoreFatOrphanFiles = configPanel.getNoFatOrphans();
142 if (configPanel.getImageWriterEnabled()) {
143 imageWriterSettings = configPanel.getImageWriterSettings();
145 imageWriterSettings = null;
148 addDiskTask =
new AddImageTask(deviceId, drivePath, timeZone, ignoreFatOrphanFiles, imageWriterSettings, progressMonitor, callback);
149 new Thread(addDiskTask).start();
174 addDiskTask =
new AddImageTask(deviceId, drivePath, timeZone, ignoreFatOrphanFiles, imageWriterSettings, progressMonitor, callback);
175 new Thread(addDiskTask).start();
187 if (null != addDiskTask) {
188 addDiskTask.cancelTask();
201 ignoreFatOrphanFiles =
false;
202 setDataSourceOptionsCalled =
false;
209 File file = dataSourcePath.toFile();
211 if (file.isFile() || file.isDirectory()) {
218 String path = dataSourcePath.toString();
228 this.deviceId = deviceId;
229 this.drivePath = dataSourcePath.toString();
230 this.timeZone = Calendar.getInstance().getTimeZone().getID();
231 this.ignoreFatOrphanFiles =
false;
232 setDataSourceOptionsCalled =
true;
233 run(deviceId, drivePath, timeZone, ignoreFatOrphanFiles, progressMonitor, callBack);
251 this.deviceId = UUID.randomUUID().toString();
252 this.drivePath = drivePath;
253 this.timeZone = Calendar.getInstance().getTimeZone().getID();
254 this.ignoreFatOrphanFiles = ignoreFatOrphanFiles;
255 setDataSourceOptionsCalled =
true;
static boolean isPhysicalDrive(String path)
final LocalDiskPanel configPanel
boolean ignoreFatOrphanFiles
static boolean driveExists(String path)
ImageWriterSettings imageWriterSettings
boolean setDataSourceOptionsCalled
void run(DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callback)
String getDataSourceType()
void run(String deviceId, String drivePath, String timeZone, boolean ignoreFatOrphanFiles, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callback)
int canProcess(Path dataSourcePath)
static boolean isPartition(String path)
void process(String deviceId, Path dataSourcePath, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack)
void setDataSourceOptions(String drivePath, String timeZone, boolean ignoreFatOrphanFiles)