19package org.sleuthkit.autopsy.datasourcesummary.datamodel;
21import java.sql.SQLException;
22import java.util.ArrayList;
23import java.util.Arrays;
24import java.util.Collections;
26import org.sleuthkit.autopsy.datasourcesummary.datamodel.SleuthkitCaseProvider.SleuthkitCaseProviderException;
27import org.sleuthkit.datamodel.BlackboardArtifact;
28import org.sleuthkit.datamodel.BlackboardAttribute;
29import org.sleuthkit.datamodel.DataSource;
30import org.sleuthkit.datamodel.Image;
31import org.sleuthkit.datamodel.TskCoreException;
32import org.sleuthkit.datamodel.TskData;
70 if (currentDataSource ==
null) {
74 final String valueParam =
"value";
75 final String countParam =
"count";
76 String query =
"SELECT SUM(size) AS " + valueParam +
", COUNT(*) AS " + countParam
79 +
" AND type<>" + TskData.TSK_DB_FILES_TYPE_ENUM.SLACK.getFileType()
80 +
" AND type<>" + TskData.TSK_DB_FILES_TYPE_ENUM.VIRTUAL_DIR.getFileType()
81 +
" AND dir_type<>" + TskData.TSK_FS_NAME_TYPE_ENUM.VIRT_DIR.getValue()
83 +
" AND data_source_obj_id=" + currentDataSource.getId();
86 if (resultSet.next()) {
88 long resultCount = resultSet.getLong(valueParam);
89 return (resultCount > 0) ? resultSet.getLong(valueParam) :
null;
114 if (dataSource ==
null) {
119 BlackboardArtifact.ARTIFACT_TYPE.TSK_OS_INFO.getTypeID(),
120 BlackboardAttribute.ATTRIBUTE_TYPE.TSK_PROG_NAME.getTypeID());
139 if (dataSource ==
null) {
144 BlackboardArtifact.ARTIFACT_TYPE.TSK_DATA_SOURCE_USAGE.getTypeID(),
145 BlackboardAttribute.ATTRIBUTE_TYPE.TSK_DESCRIPTION.getTypeID());
168 boolean first =
true;
169 while (resultSet.next()) {
175 toRet += resultSet.getString(valueParam);
202 final String valueParam =
"concatted_attribute_value";
203 String query =
"SELECT attr.value_text AS " + valueParam
204 +
" FROM blackboard_artifacts bba "
205 +
" INNER JOIN blackboard_attributes attr ON bba.artifact_id = attr.artifact_id "
206 +
" WHERE bba.data_source_obj_id = " + dataSourceId
207 +
" AND bba.artifact_type_id = " + artifactTypeId
208 +
" AND attr.attribute_type_id = " + attributeTypeId;
210 String separator =
", ";
217 public static class ImageDetails {
253 this.paths =
paths ==
null ? Collections.emptyList() :
new ArrayList<>(
paths);
299 return Collections.unmodifiableList(
paths);
327 public static class ContainerDetails {
410 ds.getAcquisitionDetails(),
428 String imageType = image.getType().getName();
429 long size = image.getSize();
430 long sectorSize = image.getSsize();
431 String timeZone = image.getTimeZone();
432 List<String> paths = image.getPaths() ==
null ? Collections.emptyList() : Arrays.asList(image.getPaths());
433 String md5 = image.getMd5();
434 String sha1 = image.getSha1();
435 String sha256 = image.getSha256();
437 return new ImageDetails(unallocSize, size, sectorSize, timeZone, imageType, paths, md5, sha1, sha256);
ImageDetails getImageDetails()
final String originalName
final ImageDetails imageDetails
String getAcquisitionDetails()
final String deviceIdValue
final String acquisitionDetails
List< String > getPaths()
Long getUnallocatedSize()
final Long unallocatedSize
final List< String > paths
String getConcattedAttrValue(long dataSourceId, int artifactTypeId, int attributeTypeId)
Long getSizeOfUnallocatedFiles(DataSource currentDataSource)
ContainerSummary(SleuthkitCaseProvider provider)
final SleuthkitCaseProvider provider
String getDataSourceType(DataSource dataSource)
ContainerDetails getContainerDetails(DataSource ds)
String getConcattedStringsResult(String query, String valueParam, String separator)
ImageDetails getImageDetails(Image image)
String getOperatingSystems(DataSource dataSource)
static String getMetaFlagsContainsStatement(TSK_FS_META_FLAG_ENUM flag)
SleuthkitCaseProvider DEFAULT