19 package org.sleuthkit.autopsy.datasourceprocessors;
22 import java.nio.file.Path;
23 import java.util.ArrayList;
24 import java.util.Calendar;
25 import java.util.List;
26 import java.util.UUID;
27 import javax.swing.JPanel;
28 import javax.swing.filechooser.FileFilter;
29 import org.openide.util.NbBundle.Messages;
30 import org.openide.util.lookup.ServiceProvider;
31 import org.openide.util.lookup.ServiceProviders;
43 @ServiceProviders(value={
44 @ServiceProvider(service=DataSourceProcessor.class),
45 @ServiceProvider(service=AutoIngestDataSourceProcessor.class)}
53 private static final List<FileFilter> filtersList =
new ArrayList<>();
55 filtersList.add(rawFilter);
56 filtersList.add(encaseFilter);
60 private static final long DEFAULT_CHUNK_SIZE = 2000000000L;
69 configPanel = RawDSInputPanel.createInstance(
RawDSProcessor.class.getName());
79 @Messages({
"RawDSProcessor.dataSourceType=Unallocated Space Image File"})
81 return Bundle.RawDSProcessor_dataSourceType();
93 return Bundle.RawDSProcessor_dataSourceType();
106 configPanel.readSettings();
107 configPanel.select();
120 return configPanel.validatePanel();
139 configPanel.storeSettings();
140 run(UUID.randomUUID().toString(), configPanel.getImageFilePath(), configPanel.getTimeZone(), configPanel.getChunkSize(), progressMonitor, callback);
166 addImageTask =
new AddRawImageTask(deviceId, imageFilePath, timeZone, chunkSize, progressMonitor, callback);
167 new Thread(addImageTask).start();
184 for (FileFilter filter : filters) {
185 if (filter.accept(file)) {
196 if (!
new File(dataSourcePath.toString()).isFile()) {
201 if (!isAcceptedByFiler(dataSourcePath.toFile(), filtersList)) {
210 run(deviceId, dataSourcePath.toString(), Calendar.getInstance().getTimeZone().getID(), DEFAULT_CHUNK_SIZE, progressMonitor, callBack);
int canProcess(Path dataSourcePath)
AddRawImageTask addImageTask
void process(String deviceId, Path dataSourcePath, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callBack)
void run(String deviceId, String imageFilePath, String timeZone, long chunkSize, DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callback)
static final String RAW_IMAGE_DESC
String getDataSourceType()
final RawDSInputPanel configPanel
static final String ENCASE_IMAGE_DESC
static final List< String > ENCASE_IMAGE_EXTS
static boolean isAcceptedByFiler(File file, List< FileFilter > filters)
static final List< String > RAW_IMAGE_EXTS
void run(DataSourceProcessorProgressMonitor progressMonitor, DataSourceProcessorCallback callback)