19 package org.sleuthkit.autopsy.casemodule;
21 import java.util.ArrayList;
22 import java.util.Calendar;
23 import java.util.List;
24 import java.util.UUID;
25 import java.util.logging.Level;
26 import javax.swing.JPanel;
27 import org.openide.util.NbBundle;
28 import org.openide.util.lookup.ServiceProvider;
44 @ServiceProvider(service = DataSourceProcessor.class)
48 private static final String DATA_SOURCE_TYPE = NbBundle.getMessage(
LocalDiskDSProcessor.class,
"LocalDiskDSProcessor.dsType.text");
70 configPanel = LocalDiskPanel.getDefault();
81 return DATA_SOURCE_TYPE;
93 return DATA_SOURCE_TYPE;
106 configPanel.resetLocalDiskSelection();
119 return configPanel.validatePanel();
138 if (!setDataSourceOptionsCalled) {
139 deviceId = UUID.randomUUID().toString();
140 drivePath = configPanel.getContentPath();
141 sectorSize = configPanel.getSectorSize();
142 timeZone = configPanel.getTimeZone();
143 ignoreFatOrphanFiles = configPanel.getNoFatOrphans();
144 if (configPanel.getImageWriterEnabled()) {
145 imageWriterSettings = configPanel.getImageWriterSettings();
147 imageWriterSettings = null;
154 new String[]{drivePath}, sectorSize,
155 timeZone, null, null, null, deviceId);
156 }
catch (TskCoreException ex) {
157 logger.log(Level.SEVERE,
"Error adding local disk with path " + drivePath +
" to database", ex);
158 final List<String> errors =
new ArrayList<>();
159 errors.add(ex.getMessage());
164 addDiskTask =
new AddImageTask(
165 new AddImageTask.ImageDetails(deviceId, image, sectorSize, timeZone, ignoreFatOrphanFiles, null, null, null, imageWriterSettings),
167 new StreamingAddDataSourceCallbacks(
new DefaultIngestStream()),
168 new StreamingAddImageTaskCallback(
new DefaultIngestStream(), callback));
169 new Thread(addDiskTask).start();
194 run(deviceId, drivePath, 0, timeZone, ignoreFatOrphanFiles, progressMonitor, callback);
223 new String[]{drivePath}, sectorSize,
224 timeZone, null, null, null, deviceId);
225 }
catch (TskCoreException ex) {
226 logger.log(Level.SEVERE,
"Error adding local disk with path " + drivePath +
" to database", ex);
227 final List<String> errors =
new ArrayList<>();
228 errors.add(ex.getMessage());
233 addDiskTask =
new AddImageTask(
new AddImageTask.ImageDetails(deviceId, image, sectorSize, timeZone, ignoreFatOrphanFiles, null, null, null, imageWriterSettings),
235 new StreamingAddDataSourceCallbacks(
new DefaultIngestStream()),
236 new StreamingAddImageTaskCallback(
new DefaultIngestStream(), callback));
237 new Thread(addDiskTask).start();
249 if (null != addDiskTask) {
250 addDiskTask.cancelTask();
263 ignoreFatOrphanFiles =
false;
264 setDataSourceOptionsCalled =
false;
282 this.deviceId = UUID.randomUUID().toString();
283 this.drivePath = drivePath;
285 this.timeZone = Calendar.getInstance().getTimeZone().getID();
286 this.ignoreFatOrphanFiles = ignoreFatOrphanFiles;
287 setDataSourceOptionsCalled =
true;
final LocalDiskPanel configPanel
boolean ignoreFatOrphanFiles
ImageWriterSettings imageWriterSettings
boolean setDataSourceOptionsCalled
void done(DataSourceProcessorResult result, List< String > errList, List< Content > newDataSources)
void run(DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callback)
String getDataSourceType()
void run(String deviceId, String drivePath, int sectorSize, String timeZone, boolean ignoreFatOrphanFiles, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callback)
SleuthkitCase getSleuthkitCase()
void run(String deviceId, String drivePath, String timeZone, boolean ignoreFatOrphanFiles, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callback)
static Case getCurrentCase()
synchronized static Logger getLogger(String name)
void setDataSourceOptions(String drivePath, String timeZone, boolean ignoreFatOrphanFiles)