mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-14 17:06:16 +00:00
6714 merge in latest 6713
This commit is contained in:
commit
cbc3c52bee
@ -46,6 +46,9 @@
|
||||
<!-- map support for geolocation -->
|
||||
<dependency conf="core->default" org="org.jxmapviewer" name="jxmapviewer2" rev="2.4"/>
|
||||
|
||||
<!-- For Discovery testing -->
|
||||
<dependency conf="core->default" org="org.mockito" name="mockito-core" rev="3.5.7"/>
|
||||
|
||||
<!-- https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api -->
|
||||
<dependency conf="core->default" org="javax.ws.rs" name="javax.ws.rs-api" rev="2.0"/>
|
||||
<override org="jakarta.ws.rs" module="jakarta.ws.rs-api" rev="2.1.5"/>
|
||||
|
@ -1,118 +1,141 @@
|
||||
file.reference.activemq-all-5.11.1.jar=release\\modules\\ext\\activemq-all-5.11.1.jar
|
||||
file.reference.animal-sniffer-annotations-1.17.jar=release\\modules\\ext\\animal-sniffer-annotations-1.17.jar
|
||||
file.reference.api-common-1.7.0.jar=release\\modules\\ext\\api-common-1.7.0.jar
|
||||
file.reference.batik-awt-util-1.6.jar=release\\modules\\ext\\batik-awt-util-1.6.jar
|
||||
file.reference.batik-dom-1.6.jar=release\\modules\\ext\\batik-dom-1.6.jar
|
||||
file.reference.batik-svg-dom-1.6.jar=release\\modules\\ext\\batik-svg-dom-1.6.jar
|
||||
file.reference.batik-svggen-1.6.jar=release\\modules\\ext\\batik-svggen-1.6.jar
|
||||
file.reference.batik-util-1.6.jar=release\\modules\\ext\\batik-util-1.6.jar
|
||||
file.reference.batik-xml-1.6.jar=release\\modules\\ext\\batik-xml-1.6.jar
|
||||
file.reference.bcpkix-jdk15on-1.54.jar=release\\modules\\ext\\bcpkix-jdk15on-1.54.jar
|
||||
file.reference.bcprov-ext-jdk15on-1.54.jar=release\\modules\\ext\\bcprov-ext-jdk15on-1.54.jar
|
||||
file.reference.bcprov-jdk15on-1.52.jar=release\\modules\\ext\\bcprov-jdk15on-1.52.jar
|
||||
file.reference.bcprov-jdk15on-1.54.jar=release\\modules\\ext\\bcprov-jdk15on-1.54.jar
|
||||
file.reference.c3p0-0.9.5.jar=release\\modules\\ext\\c3p0-0.9.5.jar
|
||||
file.reference.checker-compat-qual-2.5.3.jar=release\\modules\\ext\\checker-compat-qual-2.5.3.jar
|
||||
file.reference.commons-beanutils-1.9.2.jar=release\\modules\\ext\\commons-beanutils-1.9.2.jar
|
||||
file.reference.activemq-all-5.11.1.jar=release/modules/ext/activemq-all-5.11.1.jar
|
||||
file.reference.apache-mime4j-core-0.8.2.jar=release\\modules\\ext\\apache-mime4j-core-0.8.2.jar
|
||||
file.reference.apache-mime4j-dom-0.8.2.jar=release\\modules\\ext\\apache-mime4j-dom-0.8.2.jar
|
||||
file.reference.asm-7.0.jar=release\\modules\\ext\\asm-7.0.jar
|
||||
file.reference.batik-awt-util-1.6.jar=release/modules/ext/batik-awt-util-1.6.jar
|
||||
file.reference.batik-dom-1.6.jar=release/modules/ext/batik-dom-1.6.jar
|
||||
file.reference.batik-svg-dom-1.6.jar=release/modules/ext/batik-svg-dom-1.6.jar
|
||||
file.reference.batik-svggen-1.6.jar=release/modules/ext/batik-svggen-1.6.jar
|
||||
file.reference.batik-util-1.6.jar=release/modules/ext/batik-util-1.6.jar
|
||||
file.reference.batik-xml-1.6.jar=release/modules/ext/batik-xml-1.6.jar
|
||||
file.reference.bcmail-jdk15on-1.60.jar=release\\modules\\ext\\bcmail-jdk15on-1.60.jar
|
||||
file.reference.bcpkix-jdk15on-1.60.jar=release\\modules\\ext\\bcpkix-jdk15on-1.60.jar
|
||||
file.reference.bcprov-ext-jdk15on-1.54.jar=release/modules/ext/bcprov-ext-jdk15on-1.54.jar
|
||||
file.reference.bcprov-jdk15on-1.60.jar=release\\modules\\ext\\bcprov-jdk15on-1.60.jar
|
||||
file.reference.boilerpipe-1.1.0.jar=release\\modules\\ext\\boilerpipe-1.1.0.jar
|
||||
file.reference.byte-buddy-1.10.13.jar=release\\modules\\ext\\byte-buddy-1.10.13.jar
|
||||
file.reference.byte-buddy-agent-1.10.13.jar=release\\modules\\ext\\byte-buddy-agent-1.10.13.jar
|
||||
file.reference.c3p0-0.9.5.jar=release/modules/ext/c3p0-0.9.5.jar
|
||||
file.reference.cdm-4.5.5.jar=release\\modules\\ext\\cdm-4.5.5.jar
|
||||
file.reference.commons-codec-1.11.jar=release\\modules\\ext\\commons-codec-1.11.jar
|
||||
file.reference.commons-collections-3.2.2.jar=release\\modules\\ext\\commons-collections-3.2.2.jar
|
||||
file.reference.commons-dbcp2-2.1.1.jar=release\\modules\\ext\\commons-dbcp2-2.1.1.jar
|
||||
file.reference.commons-digester-1.8.1.jar=release\\modules\\ext\\commons-digester-1.8.1.jar
|
||||
file.reference.commons-lang-2.6.jar=release\\modules\\ext\\commons-lang-2.6.jar
|
||||
file.reference.commons-lang3-3.5.jar=release\\modules\\ext\\commons-lang3-3.5.jar
|
||||
file.reference.commons-logging-1.2.jar=release\\modules\\ext\\commons-logging-1.2.jar
|
||||
file.reference.commons-pool2-2.4.2.jar=release\\modules\\ext\\commons-pool2-2.4.2.jar
|
||||
file.reference.commons-validator-1.6.jar=release\\modules\\ext\\commons-validator-1.6.jar
|
||||
file.reference.curator-client-2.8.0.jar=release\\modules\\ext\\curator-client-2.8.0.jar
|
||||
file.reference.curator-framework-2.8.0.jar=release\\modules\\ext\\curator-framework-2.8.0.jar
|
||||
file.reference.curator-recipes-2.8.0.jar=release\\modules\\ext\\curator-recipes-2.8.0.jar
|
||||
file.reference.DatCon.jar=release\\modules\\ext\\DatCon.jar
|
||||
file.reference.decodetect-core-0.3.jar=release\\modules\\ext\\decodetect-core-0.3.jar
|
||||
file.reference.error_prone_annotations-2.3.2.jar=release\\modules\\ext\\error_prone_annotations-2.3.2.jar
|
||||
file.reference.failureaccess-1.0.1.jar=release\\modules\\ext\\failureaccess-1.0.1.jar
|
||||
file.reference.gax-1.44.0.jar=release\\modules\\ext\\gax-1.44.0.jar
|
||||
file.reference.gax-grpc-1.44.0.jar=release\\modules\\ext\\gax-grpc-1.44.0.jar
|
||||
file.reference.gax-httpjson-0.61.0.jar=release\\modules\\ext\\gax-httpjson-0.61.0.jar
|
||||
file.reference.google-api-client-1.27.0.jar=release\\modules\\ext\\google-api-client-1.27.0.jar
|
||||
file.reference.google-api-services-translate-v2-rev20170525-1.27.0.jar=release\\modules\\ext\\google-api-services-translate-v2-rev20170525-1.27.0.jar
|
||||
file.reference.google-auth-library-credentials-0.15.0.jar=release\\modules\\ext\\google-auth-library-credentials-0.15.0.jar
|
||||
file.reference.google-auth-library-oauth2-http-0.15.0.jar=release\\modules\\ext\\google-auth-library-oauth2-http-0.15.0.jar
|
||||
file.reference.google-cloud-core-1.70.0.jar=release\\modules\\ext\\google-cloud-core-1.70.0.jar
|
||||
file.reference.google-cloud-core-grpc-1.70.0.jar=release\\modules\\ext\\google-cloud-core-grpc-1.70.0.jar
|
||||
file.reference.google-cloud-core-http-1.70.0.jar=release\\modules\\ext\\google-cloud-core-http-1.70.0.jar
|
||||
file.reference.google-cloud-translate-1.70.0.jar=release\\modules\\ext\\google-cloud-translate-1.70.0.jar
|
||||
file.reference.google-http-client-1.29.0.jar=release\\modules\\ext\\google-http-client-1.29.0.jar
|
||||
file.reference.google-http-client-appengine-1.29.0.jar=release\\modules\\ext\\google-http-client-appengine-1.29.0.jar
|
||||
file.reference.google-http-client-jackson2-1.29.0.jar=release\\modules\\ext\\google-http-client-jackson2-1.29.0.jar
|
||||
file.reference.google-oauth-client-1.28.0.jar=release\\modules\\ext\\google-oauth-client-1.28.0.jar
|
||||
file.reference.grpc-alts-1.19.0.jar=release\\modules\\ext\\grpc-alts-1.19.0.jar
|
||||
file.reference.grpc-auth-1.19.0.jar=release\\modules\\ext\\grpc-auth-1.19.0.jar
|
||||
file.reference.grpc-context-1.19.0.jar=release\\modules\\ext\\grpc-context-1.19.0.jar
|
||||
file.reference.grpc-core-1.19.0.jar=release\\modules\\ext\\grpc-core-1.19.0.jar
|
||||
file.reference.grpc-grpclb-1.19.0.jar=release\\modules\\ext\\grpc-grpclb-1.19.0.jar
|
||||
file.reference.grpc-netty-shaded-1.19.0.jar=release\\modules\\ext\\grpc-netty-shaded-1.19.0.jar
|
||||
file.reference.grpc-protobuf-1.19.0.jar=release\\modules\\ext\\grpc-protobuf-1.19.0.jar
|
||||
file.reference.grpc-protobuf-lite-1.19.0.jar=release\\modules\\ext\\grpc-protobuf-lite-1.19.0.jar
|
||||
file.reference.grpc-stub-1.19.0.jar=release\\modules\\ext\\grpc-stub-1.19.0.jar
|
||||
file.reference.gson-2.7.jar=release\\modules\\ext\\gson-2.7.jar
|
||||
file.reference.guava-27.1-android.jar=release\\modules\\ext\\guava-27.1-android.jar
|
||||
file.reference.httpclient-4.5.5.jar=release\\modules\\ext\\httpclient-4.5.5.jar
|
||||
file.reference.httpcore-4.4.9.jar=release\\modules\\ext\\httpcore-4.4.9.jar
|
||||
file.reference.icepdf-core-6.2.2.jar=release\\modules\\ext\\icepdf-core-6.2.2.jar
|
||||
file.reference.icepdf-viewer-6.2.2.jar=release\\modules\\ext\\icepdf-viewer-6.2.2.jar
|
||||
file.reference.j2objc-annotations-1.1.jar=release\\modules\\ext\\j2objc-annotations-1.1.jar
|
||||
file.reference.commons-collections4-4.2.jar=release\\modules\\ext\\commons-collections4-4.2.jar
|
||||
file.reference.commons-csv-1.6.jar=release\\modules\\ext\\commons-csv-1.6.jar
|
||||
file.reference.commons-dbcp2-2.1.1.jar=release/modules/ext/commons-dbcp2-2.1.1.jar
|
||||
file.reference.commons-exec-1.3.jar=release\\modules\\ext\\commons-exec-1.3.jar
|
||||
file.reference.commons-io-2.6.jar=release\\modules\\ext\\commons-io-2.6.jar
|
||||
file.reference.commons-lang3-3.8.1.jar=release\\modules\\ext\\commons-lang3-3.8.1.jar
|
||||
file.reference.commons-pool2-2.4.2.jar=release/modules/ext/commons-pool2-2.4.2.jar
|
||||
file.reference.cxf-rt-rs-client-3.3.0.jar=release\\modules\\ext\\cxf-rt-rs-client-3.3.0.jar
|
||||
file.reference.DatCon.jar=release/modules/ext/DatCon.jar
|
||||
file.reference.dec-0.1.2.jar=release\\modules\\ext\\dec-0.1.2.jar
|
||||
file.reference.decodetect-core-0.3.jar=release/modules/ext/decodetect-core-0.3.jar
|
||||
file.reference.fontbox-2.0.13.jar=release\\modules\\ext\\fontbox-2.0.13.jar
|
||||
file.reference.geoapi-3.0.1.jar=release\\modules\\ext\\geoapi-3.0.1.jar
|
||||
file.reference.grib-4.5.5.jar=release\\modules\\ext\\grib-4.5.5.jar
|
||||
file.reference.httpclient-4.5.6.jar=release\\modules\\ext\\httpclient-4.5.6.jar
|
||||
file.reference.httpmime-4.5.6.jar=release\\modules\\ext\\httpmime-4.5.6.jar
|
||||
file.reference.httpservices-4.5.5.jar=release\\modules\\ext\\httpservices-4.5.5.jar
|
||||
file.reference.icepdf-core-6.2.2.jar=release/modules/ext/icepdf-core-6.2.2.jar
|
||||
file.reference.icepdf-viewer-6.2.2.jar=release/modules/ext/icepdf-viewer-6.2.2.jar
|
||||
file.reference.isoparser-1.1.22.jar=release\\modules\\ext\\isoparser-1.1.22.jar
|
||||
file.reference.jackcess-2.2.0.jar=release\\modules\\ext\\jackcess-2.2.0.jar
|
||||
file.reference.jackcess-encrypt-2.1.4.jar=release\\modules\\ext\\jackcess-encrypt-2.1.4.jar
|
||||
file.reference.jackson-annotations-2.9.0.jar=release\\modules\\ext\\jackson-annotations-2.9.0.jar
|
||||
file.reference.jackson-annotations-2.9.7.jar=release\\modules\\ext\\jackson-annotations-2.9.7.jar
|
||||
file.reference.jackson-core-2.9.7.jar=release\\modules\\ext\\jackson-core-2.9.7.jar
|
||||
file.reference.jackson-databind-2.9.7.jar=release\\modules\\ext\\jackson-databind-2.9.7.jar
|
||||
file.reference.jai_core-1.1.3.jar=release\\modules\\ext\\jai_core-1.1.3.jar
|
||||
file.reference.jai_imageio-1.1.jar=release\\modules\\ext\\jai_imageio-1.1.jar
|
||||
file.reference.jai-imageio-core-1.4.0.jar=release\\modules\\ext\\jai-imageio-core-1.4.0.jar
|
||||
file.reference.jai_core-1.1.3.jar=release/modules/ext/jai_core-1.1.3.jar
|
||||
file.reference.jai_imageio-1.1.jar=release/modules/ext/jai_imageio-1.1.jar
|
||||
file.reference.java-libpst-0.8.1.jar=release\\modules\\ext\\java-libpst-0.8.1.jar
|
||||
file.reference.javax.activation-1.2.0.jar=release\\modules\\ext\\javax.activation-1.2.0.jar
|
||||
file.reference.javax.annotation-api-1.3.2.jar=release\\modules\\ext\\javax.annotation-api-1.3.2.jar
|
||||
file.reference.javax.ws.rs-api-2.0.jar=release\\modules\\ext\\javax.ws.rs-api-2.0.jar
|
||||
file.reference.jdom-2.0.5-contrib.jar=release\\modules\\ext\\jdom-2.0.5-contrib.jar
|
||||
file.reference.jdom-2.0.5.jar=release\\modules\\ext\\jdom-2.0.5.jar
|
||||
file.reference.jericho-html-3.3.jar=release\\modules\\ext\\jericho-html-3.3.jar
|
||||
file.reference.jgraphx-4.1.0.jar=release\\modules\\ext\\jgraphx-4.1.0.jar
|
||||
file.reference.jline-0.9.94.jar=release\\modules\\ext\\jline-0.9.94.jar
|
||||
file.reference.jsoup-1.10.3.jar=release\\modules\\ext\\jsoup-1.10.3.jar
|
||||
file.reference.jsr305-3.0.2.jar=release\\modules\\ext\\jsr305-3.0.2.jar
|
||||
file.reference.junit-3.8.1.jar=release\\modules\\ext\\junit-3.8.1.jar
|
||||
file.reference.jutf7-1.0.0.jar=release\\modules\\ext\\jutf7-1.0.0.jar
|
||||
file.reference.jxmapviewer2-2.4.jar=release\\modules\\ext\\jxmapviewer2-2.4.jar
|
||||
file.reference.jython-standalone-2.7.0.jar=release\\modules\\ext\\jython-standalone-2.7.0.jar
|
||||
file.reference.libphonenumber-3.5.jar=release\\modules\\ext\\libphonenumber-3.5.jar
|
||||
file.reference.listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar=release\\modules\\ext\\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
|
||||
file.reference.log4j-1.2.16.jar=release\\modules\\ext\\log4j-1.2.16.jar
|
||||
file.reference.mchange-commons-java-0.2.9.jar=release\\modules\\ext\\mchange-commons-java-0.2.9.jar
|
||||
file.reference.jbig2-imageio-3.0.2.jar=release\\modules\\ext\\jbig2-imageio-3.0.2.jar
|
||||
file.reference.jcl-over-slf4j-1.7.25.jar=release\\modules\\ext\\jcl-over-slf4j-1.7.25.jar
|
||||
file.reference.jdom-2.0.5-contrib.jar=release/modules/ext/jdom-2.0.5-contrib.jar
|
||||
file.reference.jdom-2.0.5.jar=release/modules/ext/jdom-2.0.5.jar
|
||||
file.reference.jdom2-2.0.6.jar=release\\modules\\ext\\jdom2-2.0.6.jar
|
||||
file.reference.jempbox-1.8.16.jar=release\\modules\\ext\\jempbox-1.8.16.jar
|
||||
file.reference.jericho-html-3.3.jar=release/modules/ext/jericho-html-3.3.jar
|
||||
file.reference.jgraphx-4.1.0.jar=release/modules/ext/jgraphx-4.1.0.jar
|
||||
file.reference.jhighlight-1.0.3.jar=release\\modules\\ext\\jhighlight-1.0.3.jar
|
||||
file.reference.jmatio-1.5.jar=release\\modules\\ext\\jmatio-1.5.jar
|
||||
file.reference.json-simple-1.1.1.jar=release\\modules\\ext\\json-simple-1.1.1.jar
|
||||
file.reference.jsoup-1.11.3.jar=release\\modules\\ext\\jsoup-1.11.3.jar
|
||||
file.reference.jul-to-slf4j-1.7.25.jar=release\\modules\\ext\\jul-to-slf4j-1.7.25.jar
|
||||
file.reference.juniversalchardet-1.0.3.jar=release\\modules\\ext\\juniversalchardet-1.0.3.jar
|
||||
file.reference.junrar-2.0.0.jar=release\\modules\\ext\\junrar-2.0.0.jar
|
||||
file.reference.jutf7-1.0.0.jar=release/modules/ext/jutf7-1.0.0.jar
|
||||
file.reference.jxmapviewer2-2.4.jar=release/modules/ext/jxmapviewer2-2.4.jar
|
||||
file.reference.jython-standalone-2.7.0.jar=release/modules/ext/jython-standalone-2.7.0.jar
|
||||
file.reference.libphonenumber-3.5.jar=release/modules/ext/libphonenumber-3.5.jar
|
||||
file.reference.mchange-commons-java-0.2.9.jar=release/modules/ext/mchange-commons-java-0.2.9.jar
|
||||
file.reference.metadata-extractor-2.11.0.jar=release\\modules\\ext\\metadata-extractor-2.11.0.jar
|
||||
file.reference.netty-3.7.0.Final.jar=release\\modules\\ext\\netty-3.7.0.Final.jar
|
||||
file.reference.okhttp-2.7.5.jar=release\\modules\\ext\\okhttp-2.7.5.jar
|
||||
file.reference.okio-1.6.0.jar=release\\modules\\ext\\okio-1.6.0.jar
|
||||
file.reference.opencensus-api-0.19.2.jar=release\\modules\\ext\\opencensus-api-0.19.2.jar
|
||||
file.reference.opencensus-contrib-grpc-metrics-0.19.2.jar=release\\modules\\ext\\opencensus-contrib-grpc-metrics-0.19.2.jar
|
||||
file.reference.opencensus-contrib-http-util-0.19.2.jar=release\\modules\\ext\\opencensus-contrib-http-util-0.19.2.jar
|
||||
file.reference.mockito-core-3.5.7.jar=release\\modules\\ext\\mockito-core-3.5.7.jar
|
||||
file.reference.netcdf4-4.5.5.jar=release\\modules\\ext\\netcdf4-4.5.5.jar
|
||||
file.reference.objenesis-3.1.jar=release\\modules\\ext\\objenesis-3.1.jar
|
||||
file.reference.openjson-1.0.10.jar=release\\modules\\ext\\openjson-1.0.10.jar
|
||||
file.reference.opennlp-tools-1.9.1.jar=release\\modules\\ext\\opennlp-tools-1.9.1.jar
|
||||
file.reference.postgresql-9.4.1211.jre7.jar=release\\modules\\ext\\postgresql-9.4.1211.jre7.jar
|
||||
file.reference.proto-google-cloud-translate-v3beta1-0.53.0.jar=release\\modules\\ext\\proto-google-cloud-translate-v3beta1-0.53.0.jar
|
||||
file.reference.proto-google-common-protos-1.15.0.jar=release\\modules\\ext\\proto-google-common-protos-1.15.0.jar
|
||||
file.reference.proto-google-iam-v1-0.12.0.jar=release\\modules\\ext\\proto-google-iam-v1-0.12.0.jar
|
||||
file.reference.protobuf-java-3.7.0.jar=release\\modules\\ext\\protobuf-java-3.7.0.jar
|
||||
file.reference.protobuf-java-util-3.7.0.jar=release\\modules\\ext\\protobuf-java-util-3.7.0.jar
|
||||
file.reference.Rejistry-1.1-SNAPSHOT.jar=release\\modules\\ext\\Rejistry-1.1-SNAPSHOT.jar
|
||||
file.reference.sevenzipjbinding-AllPlatforms.jar=release\\modules\\ext\\sevenzipjbinding-AllPlatforms.jar
|
||||
file.reference.sevenzipjbinding.jar=release\\modules\\ext\\sevenzipjbinding.jar
|
||||
file.reference.sleuthkit-4.10.0.jar=release\\modules\\ext\\sleuthkit-4.10.0.jar
|
||||
file.reference.sleuthkit-caseuco-4.10.0.jar=release\\modules\\ext\\sleuthkit-caseuco-4.10.0.jar
|
||||
file.reference.slf4j-api-1.7.6.jar=release\\modules\\ext\\slf4j-api-1.7.6.jar
|
||||
file.reference.slf4j-log4j12-1.7.6.jar=release\\modules\\ext\\slf4j-log4j12-1.7.6.jar
|
||||
file.reference.SparseBitSet-1.1.jar=release\\modules\\ext\\SparseBitSet-1.1.jar
|
||||
file.reference.sqlite-jdbc-3.25.2.jar=release\\modules\\ext\\sqlite-jdbc-3.25.2.jar
|
||||
file.reference.StixLib.jar=release\\modules\\ext\\StixLib.jar
|
||||
file.reference.threetenbp-1.3.3.jar=release\\modules\\ext\\threetenbp-1.3.3.jar
|
||||
file.reference.webp-imageio-sejda-0.1.0.jar=release\\modules\\ext\\webp-imageio-sejda-0.1.0.jar
|
||||
file.reference.xmpcore-5.1.3.jar=release\\modules\\ext\\xmpcore-5.1.3.jar
|
||||
file.reference.zookeeper-3.4.6.jar=release\\modules\\ext\\zookeeper-3.4.6.jar
|
||||
file.reference.parso-2.0.10.jar=release\\modules\\ext\\parso-2.0.10.jar
|
||||
file.reference.pdfbox-2.0.13.jar=release\\modules\\ext\\pdfbox-2.0.13.jar
|
||||
file.reference.pdfbox-tools-2.0.13.jar=release\\modules\\ext\\pdfbox-tools-2.0.13.jar
|
||||
file.reference.postgresql-9.4.1211.jre7.jar=release/modules/ext/postgresql-9.4.1211.jre7.jar
|
||||
file.reference.Rejistry-1.1-SNAPSHOT.jar=release/modules/ext/Rejistry-1.1-SNAPSHOT.jar
|
||||
file.reference.rome-1.12.0.jar=release\\modules\\ext\\rome-1.12.0.jar
|
||||
file.reference.sentiment-analysis-parser-0.1.jar=release\\modules\\ext\\sentiment-analysis-parser-0.1.jar
|
||||
file.reference.sevenzipjbinding-AllPlatforms.jar=release/modules/ext/sevenzipjbinding-AllPlatforms.jar
|
||||
file.reference.sevenzipjbinding.jar=release/modules/ext/sevenzipjbinding.jar
|
||||
file.reference.sis-metadata-0.8.jar=release\\modules\\ext\\sis-metadata-0.8.jar
|
||||
file.reference.sis-netcdf-0.8.jar=release\\modules\\ext\\sis-netcdf-0.8.jar
|
||||
file.reference.sis-utility-0.8.jar=release\\modules\\ext\\sis-utility-0.8.jar
|
||||
file.reference.sleuthkit-caseuco-4.10.0.jar=release/modules/ext/sleuthkit-caseuco-4.10.0.jar
|
||||
file.reference.slf4j-api-1.7.25.jar=release\\modules\\ext\\slf4j-api-1.7.25.jar
|
||||
file.reference.sqlite-jdbc-3.25.2.jar=release/modules/ext/sqlite-jdbc-3.25.2.jar
|
||||
file.reference.StixLib.jar=release/modules/ext/StixLib.jar
|
||||
file.reference.javax.ws.rs-api-2.0.1.jar=release/modules/ext/javax.ws.rs-api-2.0.1.jar
|
||||
file.reference.cxf-core-3.0.16.jar=release/modules/ext/cxf-core-3.0.16.jar
|
||||
file.reference.cxf-rt-frontend-jaxrs-3.0.16.jar=release/modules/ext/cxf-rt-frontend-jaxrs-3.0.16.jar
|
||||
file.reference.cxf-rt-transports-http-3.0.16.jar=release/modules/ext/cxf-rt-transports-http-3.0.16.jar
|
||||
file.reference.sleuthkit-4.10.0.jar=release/modules/ext/sleuthkit-4.10.0.jar
|
||||
file.reference.curator-client-2.8.0.jar=release/modules/ext/curator-client-2.8.0.jar
|
||||
file.reference.curator-framework-2.8.0.jar=release/modules/ext/curator-framework-2.8.0.jar
|
||||
file.reference.curator-recipes-2.8.0.jar=release/modules/ext/curator-recipes-2.8.0.jar
|
||||
file.reference.tagsoup-1.2.1.jar=release\\modules\\ext\\tagsoup-1.2.1.jar
|
||||
file.reference.tika-core-1.20.jar=release\\modules\\ext\\tika-core-1.20.jar
|
||||
file.reference.tika-parsers-1.20.jar=release\\modules\\ext\\tika-parsers-1.20.jar
|
||||
file.reference.uimafit-core-2.4.0.jar=release\\modules\\ext\\uimafit-core-2.4.0.jar
|
||||
file.reference.uimaj-core-3.0.1.jar=release\\modules\\ext\\uimaj-core-3.0.1.jar
|
||||
file.reference.vorbis-java-core-0.8.jar=release\\modules\\ext\\vorbis-java-core-0.8.jar
|
||||
file.reference.vorbis-java-tika-0.8.jar=release\\modules\\ext\\vorbis-java-tika-0.8.jar
|
||||
file.reference.webp-imageio-sejda-0.1.0.jar=release/modules/ext/webp-imageio-sejda-0.1.0.jar
|
||||
file.reference.xmlbeans-3.0.2.jar=release\\modules\\ext\\xmlbeans-3.0.2.jar
|
||||
file.reference.xmpcore-5.1.3.jar=release/modules/ext/xmpcore-5.1.3.jar
|
||||
file.reference.xz-1.8.jar=release\\modules\\ext\\xz-1.8.jar
|
||||
file.reference.zookeeper-3.4.6.jar=release/modules/ext/zookeeper-3.4.6.jar
|
||||
file.reference.SparseBitSet-1.1.jar=release/modules/ext/SparseBitSet-1.1.jar
|
||||
file.reference.commons-validator-1.6.jar=release/modules/ext/commons-validator-1.6.jar
|
||||
file.reference.api-common-1.7.0.jar=release/modules/ext/api-common-1.7.0.jar
|
||||
file.reference.gax-1.44.0.jar=release/modules/ext/gax-1.44.0.jar
|
||||
file.reference.gax-grpc-1.44.0.jar=release/modules/ext/gax-grpc-1.44.0.jar
|
||||
file.reference.gax-httpjson-0.61.0.jar=release/modules/ext/gax-httpjson-0.61.0.jar
|
||||
file.reference.google-api-client-1.27.0.jar=release/modules/ext/google-api-client-1.27.0.jar
|
||||
file.reference.google-api-services-translate-v2-rev20170525-1.27.0.jar=release/modules/ext/google-api-services-translate-v2-rev20170525-1.27.0.jar
|
||||
file.reference.google-auth-library-credentials-0.15.0.jar=release/modules/ext/google-auth-library-credentials-0.15.0.jar
|
||||
file.reference.google-auth-library-oauth2-http-0.15.0.jar=release/modules/ext/google-auth-library-oauth2-http-0.15.0.jar
|
||||
file.reference.google-cloud-core-1.70.0.jar=release/modules/ext/google-cloud-core-1.70.0.jar
|
||||
file.reference.google-cloud-core-http-1.70.0.jar=release/modules/ext/google-cloud-core-http-1.70.0.jar
|
||||
file.reference.google-cloud-translate-1.70.0.jar=release/modules/ext/google-cloud-translate-1.70.0.jar
|
||||
file.reference.google-http-client-1.29.0.jar=release/modules/ext/google-http-client-1.29.0.jar
|
||||
file.reference.google-http-client-appengine-1.29.0.jar=release/modules/ext/google-http-client-appengine-1.29.0.jar
|
||||
file.reference.google-http-client-jackson2-1.29.0.jar=release/modules/ext/google-http-client-jackson2-1.29.0.jar
|
||||
file.reference.grpc-context-1.19.0.jar=release/modules/ext/grpc-context-1.19.0.jar
|
||||
file.reference.opencensus-api-0.19.2.jar=release/modules/ext/opencensus-api-0.19.2.jar
|
||||
file.reference.opencensus-contrib-http-util-0.19.2.jar=release/modules/ext/opencensus-contrib-http-util-0.19.2.jar
|
||||
file.reference.threetenbp-1.3.3.jar=release/modules/ext/threetenbp-1.3.3.jar
|
||||
file.reference.okhttp-2.7.5-javadoc.jar=release/modules/ext/okhttp-2.7.5-javadoc.jar
|
||||
file.reference.okhttp-2.7.5-sources.jar=release/modules/ext/okhttp-2.7.5-sources.jar
|
||||
file.reference.okhttp-2.7.5.jar=release/modules/ext/okhttp-2.7.5.jar
|
||||
file.reference.okio-1.6.0.jar=release/modules/ext/okio-1.6.0.jar
|
||||
file.reference.datcon.jar=release/modules/ext/DatCon.jar
|
||||
javac.source=1.8
|
||||
javac.compilerargs=-Xlint -Xlint:-serial
|
||||
license.file=../LICENSE-2.0.txt
|
||||
@ -120,5 +143,5 @@ nbm.homepage=http://www.sleuthkit.org/
|
||||
nbm.module.author=Brian Carrier
|
||||
nbm.needs.restart=true
|
||||
source.reference.curator-recipes-2.8.0.jar=release/modules/ext/curator-recipes-2.8.0-sources.jar
|
||||
spec.version.base=10.21
|
||||
spec.version.base=10.20
|
||||
|
||||
|
@ -6,6 +6,24 @@
|
||||
<code-name-base>org.sleuthkit.autopsy.core</code-name-base>
|
||||
<suite-component/>
|
||||
<module-dependencies>
|
||||
<dependency>
|
||||
<code-name-base>org.jdesktop.beansbinding</code-name-base>
|
||||
<build-prerequisite/>
|
||||
<compile-dependency/>
|
||||
<run-dependency>
|
||||
<release-version>1</release-version>
|
||||
<specification-version>1.27.1.121</specification-version>
|
||||
</run-dependency>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<code-name-base>org.jdesktop.layout</code-name-base>
|
||||
<build-prerequisite/>
|
||||
<compile-dependency/>
|
||||
<run-dependency>
|
||||
<release-version>1</release-version>
|
||||
<specification-version>1.33.1</specification-version>
|
||||
</run-dependency>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<code-name-base>org.netbeans.api.progress</code-name-base>
|
||||
<build-prerequisite/>
|
||||
@ -227,14 +245,6 @@
|
||||
<specification-version>6.55.1</specification-version>
|
||||
</run-dependency>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<code-name-base>org.sleuthkit.autopsy.Tika</code-name-base>
|
||||
<build-prerequisite/>
|
||||
<compile-dependency/>
|
||||
<run-dependency>
|
||||
<specification-version>1.0</specification-version>
|
||||
</run-dependency>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<code-name-base>org.sleuthkit.autopsy.corelibs</code-name-base>
|
||||
<build-prerequisite/>
|
||||
@ -299,6 +309,8 @@
|
||||
<package>net.sf.sevenzipjbinding.impl</package>
|
||||
<package>net.sf.sevenzipjbinding.simple</package>
|
||||
<package>net.sf.sevenzipjbinding.simple.impl</package>
|
||||
<package>org.apache.tika</package>
|
||||
<package>org.apache.tika.io</package>
|
||||
<package>org.sleuthkit.autopsy.actions</package>
|
||||
<package>org.sleuthkit.autopsy.appservices</package>
|
||||
<package>org.sleuthkit.autopsy.casemodule</package>
|
||||
@ -340,88 +352,104 @@
|
||||
<package>org.sleuthkit.datamodel.blackboardutils.attributes</package>
|
||||
</public-packages>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/batik-xml-1.6.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\batik-xml-1.6.jar</binary-origin>
|
||||
<runtime-relative-path>ext/commons-lang3-3.8.1.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\commons-lang3-3.8.1.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/commons-digester-1.8.1.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\commons-digester-1.8.1.jar</binary-origin>
|
||||
<runtime-relative-path>ext/batik-xml-1.6.jar</runtime-relative-path>
|
||||
<binary-origin>release/modules/ext/batik-xml-1.6.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jai_core-1.1.3.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jai_core-1.1.3.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/jai_core-1.1.3.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/gax-grpc-1.44.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\gax-grpc-1.44.0.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/gax-grpc-1.44.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/failureaccess-1.0.1.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\failureaccess-1.0.1.jar</binary-origin>
|
||||
<runtime-relative-path>ext/cdm-4.5.5.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\cdm-4.5.5.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/grpc-protobuf-1.19.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\grpc-protobuf-1.19.0.jar</binary-origin>
|
||||
<runtime-relative-path>ext/sis-utility-0.8.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\sis-utility-0.8.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/opencensus-api-0.19.2.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\opencensus-api-0.19.2.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/opencensus-api-0.19.2.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/batik-svg-dom-1.6.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\batik-svg-dom-1.6.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/batik-svg-dom-1.6.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/gax-httpjson-0.61.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\gax-httpjson-0.61.0.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/gax-httpjson-0.61.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/boilerpipe-1.1.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\boilerpipe-1.1.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jsoup-1.11.3.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jsoup-1.11.3.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/sevenzipjbinding.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\sevenzipjbinding.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/sevenzipjbinding.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/mchange-commons-java-0.2.9.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\mchange-commons-java-0.2.9.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/api-common-1.7.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\api-common-1.7.0.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/mchange-commons-java-0.2.9.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jackson-databind-2.9.7.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jackson-databind-2.9.7.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jai-imageio-core-1.4.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jai-imageio-core-1.4.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/api-common-1.7.0.jar</runtime-relative-path>
|
||||
<binary-origin>release/modules/ext/api-common-1.7.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jcl-over-slf4j-1.7.25.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jcl-over-slf4j-1.7.25.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/okhttp-2.7.5.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\okhttp-2.7.5.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/okhttp-2.7.5.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/proto-google-cloud-translate-v3beta1-0.53.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\proto-google-cloud-translate-v3beta1-0.53.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/error_prone_annotations-2.3.2.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\error_prone_annotations-2.3.2.jar</binary-origin>
|
||||
<runtime-relative-path>ext/byte-buddy-1.10.13.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\byte-buddy-1.10.13.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/libphonenumber-3.5.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\libphonenumber-3.5.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/libphonenumber-3.5.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/tika-core-1.20.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\tika-core-1.20.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/StixLib.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\StixLib.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/StixLib.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/bcprov-jdk15on-1.60.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\bcprov-jdk15on-1.60.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/google-auth-library-credentials-0.15.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\google-auth-library-credentials-0.15.0.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/google-auth-library-credentials-0.15.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/grpc-auth-1.19.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\grpc-auth-1.19.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/j2objc-annotations-1.1.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\j2objc-annotations-1.1.jar</binary-origin>
|
||||
<runtime-relative-path>ext/json-simple-1.1.1.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\json-simple-1.1.1.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/metadata-extractor-2.11.0.jar</runtime-relative-path>
|
||||
@ -431,137 +459,157 @@
|
||||
<runtime-relative-path>ext/commons-codec-1.11.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\commons-codec-1.11.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jmatio-1.5.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jmatio-1.5.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/tika-parsers-1.20.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\tika-parsers-1.20.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/asm-7.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\asm-7.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/commons-pool2-2.4.2.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\commons-pool2-2.4.2.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/commons-pool2-2.4.2.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jxmapviewer2-2.4.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jxmapviewer2-2.4.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jfreechart-1.0.19.jar</runtime-relative-path>
|
||||
<binary-origin>release/modules/ext/jfreechart-1.0.19.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jcommon-1.0.23.jar</runtime-relative-path>
|
||||
<binary-origin>release/modules/ext/jcommon-1.0.23.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/jxmapviewer2-2.4.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jdom-2.0.5-contrib.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jdom-2.0.5-contrib.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/jdom-2.0.5-contrib.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/openjson-1.0.10.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\openjson-1.0.10.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/isoparser-1.1.22.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\isoparser-1.1.22.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/xmpcore-5.1.3.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\xmpcore-5.1.3.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/xmpcore-5.1.3.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/batik-util-1.6.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\batik-util-1.6.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/batik-util-1.6.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/javax.activation-1.2.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\javax.activation-1.2.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/rome-1.12.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\rome-1.12.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/javax.annotation-api-1.3.2.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\javax.annotation-api-1.3.2.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jgraphx-4.1.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jgraphx-4.1.0.jar</binary-origin>
|
||||
<runtime-relative-path>ext/vorbis-java-core-0.8.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\vorbis-java-core-0.8.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jline-0.9.94.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jline-0.9.94.jar</binary-origin>
|
||||
<runtime-relative-path>ext/jgraphx-4.1.0.jar</runtime-relative-path>
|
||||
<binary-origin>release/modules/ext/jgraphx-4.1.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/DatCon.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\DatCon.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/DatCon.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/java-libpst-0.8.1.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\java-libpst-0.8.1.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/okio-1.6.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\okio-1.6.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/bcprov-jdk15on-1.54.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\bcprov-jdk15on-1.54.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/okio-1.6.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/curator-framework-2.8.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\curator-framework-2.8.0.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/curator-framework-2.8.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/commons-dbcp2-2.1.1.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\commons-dbcp2-2.1.1.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/commons-dbcp2-2.1.1.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/google-http-client-appengine-1.29.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\google-http-client-appengine-1.29.0.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/google-http-client-appengine-1.29.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/proto-google-iam-v1-0.12.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\proto-google-iam-v1-0.12.0.jar</binary-origin>
|
||||
<runtime-relative-path>ext/uimafit-core-2.4.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\uimafit-core-2.4.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jackcess-encrypt-2.1.4.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jackcess-encrypt-2.1.4.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/junrar-2.0.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\junrar-2.0.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/google-http-client-1.29.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\google-http-client-1.29.0.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/google-http-client-1.29.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/bcpkix-jdk15on-1.60.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\bcpkix-jdk15on-1.60.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/opennlp-tools-1.9.1.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\opennlp-tools-1.9.1.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/slf4j-api-1.7.25.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\slf4j-api-1.7.25.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/bcprov-ext-jdk15on-1.54.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\bcprov-ext-jdk15on-1.54.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/bcprov-ext-jdk15on-1.54.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/google-cloud-core-1.70.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\google-cloud-core-1.70.0.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/google-cloud-core-1.70.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/protobuf-java-3.7.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\protobuf-java-3.7.0.jar</binary-origin>
|
||||
<runtime-relative-path>ext/geoapi-3.0.1.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\geoapi-3.0.1.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/bcpkix-jdk15on-1.54.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\bcpkix-jdk15on-1.54.jar</binary-origin>
|
||||
<runtime-relative-path>ext/httpmime-4.5.6.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\httpmime-4.5.6.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jdom2-2.0.6.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jdom2-2.0.6.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/uimaj-core-3.0.1.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\uimaj-core-3.0.1.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/sqlite-jdbc-3.25.2.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\sqlite-jdbc-3.25.2.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/sqlite-jdbc-3.25.2.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/grpc-protobuf-lite-1.19.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\grpc-protobuf-lite-1.19.0.jar</binary-origin>
|
||||
<runtime-relative-path>ext/cxf-rt-rs-client-3.3.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\cxf-rt-rs-client-3.3.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/httpcore-4.4.9.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\httpcore-4.4.9.jar</binary-origin>
|
||||
<runtime-relative-path>ext/pdfbox-tools-2.0.13.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\pdfbox-tools-2.0.13.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/guava-27.1-android.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\guava-27.1-android.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/bcprov-jdk15on-1.52.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\bcprov-jdk15on-1.52.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/checker-compat-qual-2.5.3.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\checker-compat-qual-2.5.3.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/sleuthkit-4.10.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\sleuthkit-4.10.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/animal-sniffer-annotations-1.17.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\animal-sniffer-annotations-1.17.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/sleuthkit-caseuco-4.10.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\sleuthkit-caseuco-4.10.0.jar</binary-origin>
|
||||
<runtime-relative-path>ext/grib-4.5.5.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\grib-4.5.5.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/sleuthkit-4.10.0.jar</runtime-relative-path>
|
||||
@ -573,247 +621,255 @@
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/gax-1.44.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\gax-1.44.0.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/gax-1.44.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jsoup-1.10.3.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jsoup-1.10.3.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/grpc-context-1.19.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\grpc-context-1.19.0.jar</binary-origin>
|
||||
<runtime-relative-path>ext/jempbox-1.8.16.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jempbox-1.8.16.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jackcess-2.2.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jackcess-2.2.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/slf4j-log4j12-1.7.6.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\slf4j-log4j12-1.7.6.jar</binary-origin>
|
||||
<runtime-relative-path>ext/grpc-context-1.19.0.jar</runtime-relative-path>
|
||||
<binary-origin>release/modules/ext/grpc-context-1.19.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jericho-html-3.3.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jericho-html-3.3.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/jericho-html-3.3.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/google-cloud-core-grpc-1.70.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\google-cloud-core-grpc-1.70.0.jar</binary-origin>
|
||||
<runtime-relative-path>ext/httpservices-4.5.5.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\httpservices-4.5.5.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/xz-1.8.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\xz-1.8.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/commons-validator-1.6.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\commons-validator-1.6.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/slf4j-api-1.7.6.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\slf4j-api-1.7.6.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/commons-validator-1.6.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/decodetect-core-0.3.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\decodetect-core-0.3.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/decodetect-core-0.3.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/httpclient-4.5.5.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\httpclient-4.5.5.jar</binary-origin>
|
||||
<runtime-relative-path>ext/mockito-core-3.5.7.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\mockito-core-3.5.7.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jbig2-imageio-3.0.2.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jbig2-imageio-3.0.2.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/apache-mime4j-dom-0.8.2.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\apache-mime4j-dom-0.8.2.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/pdfbox-2.0.13.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\pdfbox-2.0.13.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/xmlbeans-3.0.2.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\xmlbeans-3.0.2.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/curator-recipes-2.8.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\curator-recipes-2.8.0.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/curator-recipes-2.8.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jackson-annotations-2.9.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jackson-annotations-2.9.0.jar</binary-origin>
|
||||
<runtime-relative-path>ext/objenesis-3.1.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\objenesis-3.1.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/tagsoup-1.2.1.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\tagsoup-1.2.1.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jackson-core-2.9.7.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jackson-core-2.9.7.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/commons-lang3-3.5.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\commons-lang3-3.5.jar</binary-origin>
|
||||
<runtime-relative-path>ext/sis-metadata-0.8.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\sis-metadata-0.8.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/log4j-1.2.16.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\log4j-1.2.16.jar</binary-origin>
|
||||
<runtime-relative-path>ext/parso-2.0.10.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\parso-2.0.10.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/commons-logging-1.2.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\commons-logging-1.2.jar</binary-origin>
|
||||
<runtime-relative-path>ext/apache-mime4j-core-0.8.2.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\apache-mime4j-core-0.8.2.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/protobuf-java-util-3.7.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\protobuf-java-util-3.7.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/commons-collections-3.2.2.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\commons-collections-3.2.2.jar</binary-origin>
|
||||
<runtime-relative-path>ext/commons-io-2.6.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\commons-io-2.6.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/SparseBitSet-1.1.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\SparseBitSet-1.1.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/grpc-grpclb-1.19.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\grpc-grpclb-1.19.0.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/SparseBitSet-1.1.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/batik-svggen-1.6.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\batik-svggen-1.6.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/batik-svggen-1.6.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/c3p0-0.9.5.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\c3p0-0.9.5.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/c3p0-0.9.5.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/zookeeper-3.4.6.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\zookeeper-3.4.6.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/zookeeper-3.4.6.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/grpc-alts-1.19.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\grpc-alts-1.19.0.jar</binary-origin>
|
||||
<runtime-relative-path>ext/commons-csv-1.6.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\commons-csv-1.6.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jdom-2.0.5.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jdom-2.0.5.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/jdom-2.0.5.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/gson-2.7.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\gson-2.7.jar</binary-origin>
|
||||
<runtime-relative-path>ext/jackson-annotations-2.9.7.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jackson-annotations-2.9.7.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/google-api-client-1.27.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\google-api-client-1.27.0.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/google-api-client-1.27.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/netcdf4-4.5.5.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\netcdf4-4.5.5.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/sis-netcdf-0.8.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\sis-netcdf-0.8.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/sentiment-analysis-parser-0.1.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\sentiment-analysis-parser-0.1.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/commons-collections4-4.2.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\commons-collections4-4.2.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/opencensus-contrib-http-util-0.19.2.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\opencensus-contrib-http-util-0.19.2.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/opencensus-contrib-http-util-0.19.2.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/google-auth-library-oauth2-http-0.15.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\google-auth-library-oauth2-http-0.15.0.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/google-auth-library-oauth2-http-0.15.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/juniversalchardet-1.0.3.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\juniversalchardet-1.0.3.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jython-standalone-2.7.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jython-standalone-2.7.0.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/jython-standalone-2.7.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/commons-lang-2.6.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\commons-lang-2.6.jar</binary-origin>
|
||||
<runtime-relative-path>ext/jhighlight-1.0.3.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jhighlight-1.0.3.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jsr305-3.0.2.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jsr305-3.0.2.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/proto-google-common-protos-1.15.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\proto-google-common-protos-1.15.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/netty-3.7.0.Final.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\netty-3.7.0.Final.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/opencensus-contrib-grpc-metrics-0.19.2.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\opencensus-contrib-grpc-metrics-0.19.2.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jai_imageio-1.1.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jai_imageio-1.1.jar</binary-origin>
|
||||
<runtime-relative-path>ext/jul-to-slf4j-1.7.25.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jul-to-slf4j-1.7.25.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/postgresql-9.4.1211.jre7.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\postgresql-9.4.1211.jre7.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/postgresql-9.4.1211.jre7.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/junit-3.8.1.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\junit-3.8.1.jar</binary-origin>
|
||||
<runtime-relative-path>ext/jai_imageio-1.1.jar</runtime-relative-path>
|
||||
<binary-origin>release/modules/ext/jai_imageio-1.1.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/httpclient-4.5.6.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\httpclient-4.5.6.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/curator-client-2.8.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\curator-client-2.8.0.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/curator-client-2.8.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/grpc-core-1.19.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\grpc-core-1.19.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/javax.ws.rs-api-2.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\javax.ws.rs-api-2.0.jar</binary-origin>
|
||||
<runtime-relative-path>ext/fontbox-2.0.13.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\fontbox-2.0.13.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/icepdf-core-6.2.2.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\icepdf-core-6.2.2.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/icepdf-core-6.2.2.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/activemq-all-5.11.1.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\activemq-all-5.11.1.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/activemq-all-5.11.1.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/google-cloud-core-http-1.70.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\google-cloud-core-http-1.70.0.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/google-cloud-core-http-1.70.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/Rejistry-1.1-SNAPSHOT.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\Rejistry-1.1-SNAPSHOT.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/Rejistry-1.1-SNAPSHOT.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/commons-beanutils-1.9.2.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\commons-beanutils-1.9.2.jar</binary-origin>
|
||||
<runtime-relative-path>ext/dec-0.1.2.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\dec-0.1.2.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/batik-dom-1.6.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\batik-dom-1.6.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/batik-dom-1.6.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/google-http-client-jackson2-1.29.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\google-http-client-jackson2-1.29.0.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/google-http-client-jackson2-1.29.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/threetenbp-1.3.3.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\threetenbp-1.3.3.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/threetenbp-1.3.3.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/google-cloud-translate-1.70.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\google-cloud-translate-1.70.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/grpc-stub-1.19.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\grpc-stub-1.19.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/google-oauth-client-1.28.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\google-oauth-client-1.28.0.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/google-cloud-translate-1.70.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/sevenzipjbinding-AllPlatforms.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\sevenzipjbinding-AllPlatforms.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/sevenzipjbinding-AllPlatforms.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/jutf7-1.0.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\jutf7-1.0.0.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/jutf7-1.0.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/byte-buddy-agent-1.10.13.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\byte-buddy-agent-1.10.13.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/batik-awt-util-1.6.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\batik-awt-util-1.6.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/batik-awt-util-1.6.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/google-api-services-translate-v2-rev20170525-1.27.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\google-api-services-translate-v2-rev20170525-1.27.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/icepdf-viewer-6.2.2.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\icepdf-viewer-6.2.2.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/google-api-services-translate-v2-rev20170525-1.27.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/webp-imageio-sejda-0.1.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\webp-imageio-sejda-0.1.0.jar</binary-origin>
|
||||
<binary-origin>release/modules/ext/webp-imageio-sejda-0.1.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/grpc-netty-shaded-1.19.0.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\grpc-netty-shaded-1.19.0.jar</binary-origin>
|
||||
<runtime-relative-path>ext/icepdf-viewer-6.2.2.jar</runtime-relative-path>
|
||||
<binary-origin>release/modules/ext/icepdf-viewer-6.2.2.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/bcmail-jdk15on-1.60.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\bcmail-jdk15on-1.60.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/vorbis-java-tika-0.8.jar</runtime-relative-path>
|
||||
<binary-origin>release\modules\ext\vorbis-java-tika-0.8.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
</data>
|
||||
</configuration>
|
||||
|
@ -44,6 +44,8 @@ import org.sleuthkit.datamodel.ContentTag;
|
||||
import org.sleuthkit.datamodel.SleuthkitCase;
|
||||
import org.sleuthkit.datamodel.TskCoreException;
|
||||
import org.sleuthkit.datamodel.TskData;
|
||||
import java.util.StringJoiner;
|
||||
import org.sleuthkit.autopsy.centralrepository.datamodel.CorrelationAttributeNormalizer;
|
||||
|
||||
/**
|
||||
* Class which contains the search attributes which can be specified for
|
||||
@ -220,6 +222,8 @@ public class DiscoveryAttributes {
|
||||
static class FrequencyAttribute extends AttributeType {
|
||||
|
||||
static final int BATCH_SIZE = 50; // Number of hashes to look up at one time
|
||||
|
||||
static final int DOMAIN_BATCH_SIZE = 500; // Number of domains to look up at one time
|
||||
|
||||
@Override
|
||||
public DiscoveryKeyUtils.GroupKey getGroupKey(Result file) {
|
||||
@ -251,12 +255,13 @@ public class DiscoveryAttributes {
|
||||
private void processResultFilesForCR(List<Result> results,
|
||||
CentralRepository centralRepoDb) throws DiscoveryException {
|
||||
List<ResultFile> currentFiles = new ArrayList<>();
|
||||
Set<String> hashesToLookUp = new HashSet<>();
|
||||
|
||||
Set<String> hashesToLookUp = new HashSet<>();
|
||||
List<ResultDomain> domainsToQuery = new ArrayList<>();
|
||||
for (Result result : results) {
|
||||
if (result.getKnown() == TskData.FileKnown.KNOWN) {
|
||||
result.setFrequency(SearchData.Frequency.KNOWN);
|
||||
}
|
||||
|
||||
if (result.getType() != SearchData.Type.DOMAIN) {
|
||||
ResultFile file = (ResultFile) result;
|
||||
if (file.getFrequency() == SearchData.Frequency.UNKNOWN
|
||||
@ -265,6 +270,13 @@ public class DiscoveryAttributes {
|
||||
hashesToLookUp.add(file.getFirstInstance().getMd5Hash());
|
||||
currentFiles.add(file);
|
||||
}
|
||||
|
||||
if (hashesToLookUp.size() >= BATCH_SIZE) {
|
||||
computeFrequency(hashesToLookUp, currentFiles, centralRepoDb);
|
||||
|
||||
hashesToLookUp.clear();
|
||||
currentFiles.clear();
|
||||
}
|
||||
} else {
|
||||
ResultDomain domain = (ResultDomain) result;
|
||||
try {
|
||||
@ -281,14 +293,92 @@ public class DiscoveryAttributes {
|
||||
|
||||
if (hashesToLookUp.size() >= BATCH_SIZE) {
|
||||
computeFrequency(hashesToLookUp, currentFiles, centralRepoDb);
|
||||
|
||||
hashesToLookUp.clear();
|
||||
currentFiles.clear();
|
||||
ResultDomain domainInstance = (ResultDomain) result;
|
||||
domainsToQuery.add(domainInstance);
|
||||
|
||||
if (domainsToQuery.size() == DOMAIN_BATCH_SIZE) {
|
||||
queryDomainFrequency(domainsToQuery, centralRepoDb);
|
||||
|
||||
domainsToQuery.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
queryDomainFrequency(domainsToQuery, centralRepoDb);
|
||||
computeFrequency(hashesToLookUp, currentFiles, centralRepoDb);
|
||||
}
|
||||
}
|
||||
|
||||
private static void queryDomainFrequency(List<ResultDomain> domainsToQuery, CentralRepository centralRepository) throws DiscoveryException {
|
||||
if (domainsToQuery.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
final Map<String, List<ResultDomain>> resultDomainTable = new HashMap<>();
|
||||
final StringJoiner joiner = new StringJoiner(", ");
|
||||
|
||||
final CorrelationAttributeInstance.Type attributeType = centralRepository.getCorrelationTypeById(CorrelationAttributeInstance.DOMAIN_TYPE_ID);
|
||||
for(ResultDomain domainInstance : domainsToQuery) {
|
||||
try {
|
||||
final String domainValue = domainInstance.getDomain();
|
||||
final String normalizedDomain = CorrelationAttributeNormalizer.normalize(attributeType, domainValue);
|
||||
final List<ResultDomain> bucket = resultDomainTable.getOrDefault(normalizedDomain, new ArrayList<>());
|
||||
bucket.add(domainInstance);
|
||||
resultDomainTable.put(normalizedDomain, bucket);
|
||||
joiner.add("'" + normalizedDomain + "'");
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
logger.log(Level.INFO, String.format("Domain [%s] failed normalization, skipping...", domainInstance.getDomain()));
|
||||
}
|
||||
}
|
||||
|
||||
final String tableName = CentralRepoDbUtil.correlationTypeToInstanceTableName(attributeType);
|
||||
final String domainFrequencyQuery = " value AS domain_name, COUNT(*) AS frequency " +
|
||||
"FROM " + tableName + " " +
|
||||
"WHERE value IN (" + joiner + ") " +
|
||||
"GROUP BY value";
|
||||
|
||||
final DomainFrequencyCallback frequencyCallback = new DomainFrequencyCallback(resultDomainTable);
|
||||
centralRepository.processSelectClause(domainFrequencyQuery, frequencyCallback);
|
||||
|
||||
if (frequencyCallback.getCause() != null) {
|
||||
throw frequencyCallback.getCause();
|
||||
}
|
||||
} catch (CentralRepoException | SQLException ex) {
|
||||
throw new DiscoveryException("Fatal exception encountered querying the CR.", ex);
|
||||
}
|
||||
}
|
||||
|
||||
private static class DomainFrequencyCallback implements InstanceTableCallback {
|
||||
|
||||
private final Map<String, List<ResultDomain>> domainLookup;
|
||||
private SQLException sqlCause;
|
||||
|
||||
private DomainFrequencyCallback(Map<String, List<ResultDomain>> domainLookup) {
|
||||
this.domainLookup = domainLookup;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(ResultSet resultSet) {
|
||||
try {
|
||||
while (resultSet.next()) {
|
||||
String domain = resultSet.getString("domain_name");
|
||||
Long frequency = resultSet.getLong("frequency");
|
||||
|
||||
List<ResultDomain> domainInstances = domainLookup.get(domain);
|
||||
for(ResultDomain domainInstance : domainInstances) {
|
||||
domainInstance.setFrequency(SearchData.Frequency.fromCount(frequency));
|
||||
}
|
||||
}
|
||||
} catch (SQLException ex) {
|
||||
this.sqlCause = ex;
|
||||
}
|
||||
}
|
||||
|
||||
SQLException getCause() {
|
||||
return this.sqlCause;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback to use with findInterCaseValuesByCount which generates a list of
|
||||
@ -681,7 +771,7 @@ public class DiscoveryAttributes {
|
||||
return Arrays.asList(FREQUENCY, MOST_RECENT_DATE, FIRST_DATE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Computes the CR frequency of all the given hashes and updates the list of
|
||||
* files.
|
||||
|
@ -129,24 +129,45 @@ public class DiscoveryKeyUtils {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the keyString
|
||||
* Get the String representation of this key.
|
||||
*
|
||||
* @return The String representation of this key.
|
||||
*/
|
||||
String getKeyString() {
|
||||
return keyString;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the list of filters associated with this key.
|
||||
*
|
||||
* @return The list of filters associated with this key.
|
||||
*/
|
||||
List<AbstractFilter> getFilters() {
|
||||
return Collections.unmodifiableList(this.filters);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the group sorting type for this key.
|
||||
*
|
||||
* @return The group sorting type for this key.
|
||||
*/
|
||||
Group.GroupSortingAlgorithm getGroupSortingType() {
|
||||
return groupSortingType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the grouping attribute for this key.
|
||||
*
|
||||
* @return The grouping attribute for this key.
|
||||
*/
|
||||
DiscoveryAttributes.AttributeType getGroupAttributeType() {
|
||||
return groupAttributeType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the fileSorting
|
||||
* @return
|
||||
*/
|
||||
ResultsSorter.SortingMethod getFileSortingMethod() {
|
||||
return fileSortingMethod;
|
||||
}
|
||||
|
@ -36,17 +36,10 @@ import org.sleuthkit.datamodel.SleuthkitCase;
|
||||
class DomainSearchCache {
|
||||
|
||||
private static final int MAXIMUM_CACHE_SIZE = 10;
|
||||
private final LoadingCache<SearchKey, Map<GroupKey, List<Result>>> cache;
|
||||
|
||||
DomainSearchCache() {
|
||||
this(new DomainSearchCacheLoader());
|
||||
}
|
||||
|
||||
DomainSearchCache(DomainSearchCacheLoader cacheLoader) {
|
||||
this.cache = CacheBuilder.newBuilder()
|
||||
private static final LoadingCache<SearchKey, Map<GroupKey, List<Result>>> cache =
|
||||
CacheBuilder.newBuilder()
|
||||
.maximumSize(MAXIMUM_CACHE_SIZE)
|
||||
.build(cacheLoader);
|
||||
}
|
||||
.build(new DomainSearchCacheLoader());
|
||||
|
||||
/**
|
||||
* Get domain search results matching the given parameters. If no results
|
||||
|
@ -95,7 +95,7 @@ class DomainSearchCacheLoader extends CacheLoader<SearchKey, Map<GroupKey, List<
|
||||
// table in hand, we can simply group by domain and apply aggregate functions
|
||||
// to get, for example, # of downloads, # of visits in last 60, etc.
|
||||
final String domainsTable =
|
||||
"SELECT MAX(value_text) AS domain," +
|
||||
"SELECT LOWER(MAX(value_text)) AS domain," +
|
||||
" MAX(value_int64) AS date," +
|
||||
" artifact_id AS parent_artifact_id," +
|
||||
" MAX(artifact_type_id) AS parent_artifact_type_id " +
|
||||
@ -227,7 +227,7 @@ class DomainSearchCacheLoader extends CacheLoader<SearchKey, Map<GroupKey, List<
|
||||
private SQLException sqlCause;
|
||||
private TskCoreException coreCause;
|
||||
|
||||
public DomainCallback(SleuthkitCase skc) {
|
||||
private DomainCallback(SleuthkitCase skc) {
|
||||
this.resultDomains = new ArrayList<>();
|
||||
this.skc = skc;
|
||||
}
|
||||
@ -235,6 +235,8 @@ class DomainSearchCacheLoader extends CacheLoader<SearchKey, Map<GroupKey, List<
|
||||
@Override
|
||||
public void process(ResultSet resultSet) {
|
||||
try {
|
||||
resultSet.setFetchSize(500);
|
||||
|
||||
while (resultSet.next()) {
|
||||
String domain = resultSet.getString("domain");
|
||||
Long activityStart = resultSet.getLong("activity_start");
|
||||
@ -271,11 +273,11 @@ class DomainSearchCacheLoader extends CacheLoader<SearchKey, Map<GroupKey, List<
|
||||
return Collections.unmodifiableList(this.resultDomains);
|
||||
}
|
||||
|
||||
public SQLException getSQLException() {
|
||||
private SQLException getSQLException() {
|
||||
return this.sqlCause;
|
||||
}
|
||||
|
||||
public TskCoreException getTskCoreException() {
|
||||
private TskCoreException getTskCoreException() {
|
||||
return this.coreCause;
|
||||
}
|
||||
}
|
||||
|
@ -85,7 +85,7 @@ public class ResultDomain extends Result {
|
||||
|
||||
@Override
|
||||
public TskData.FileKnown getKnown() {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
return TskData.FileKnown.UNKNOWN;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -95,9 +95,9 @@ public class ResultDomain extends Result {
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "[" + this.domain + ", " + this.dataSourceId + ", "
|
||||
+ this.activityStart + ", " + this.activityEnd + ", "
|
||||
+ this.visitsInLast60 + ", " + this.filesDownloaded + ", "
|
||||
return "[domain=" + this.domain + ", data_source=" + this.dataSourceId + ", start="
|
||||
+ this.activityStart + ", end=" + this.activityEnd + ", visitsLast60="
|
||||
+ this.visitsInLast60 + ", downloads=" + this.filesDownloaded + ", frequency="
|
||||
+ this.getFrequency() + "]";
|
||||
}
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class ResultsSorter implements Comparator<Result> {
|
||||
private static Comparator<Result> getTypeComparator() {
|
||||
return (Result result1, Result result2) -> Integer.compare(result1.getType().getRanking(), result2.getType().getRanking());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Compare files using a concatenated version of keyword list names.
|
||||
* Alphabetical by the list names with files with no keyword list hits going
|
||||
@ -244,6 +244,21 @@ public class ResultsSorter implements Comparator<Result> {
|
||||
return compareStrings(first.getDomain().toLowerCase(), second.getDomain().toLowerCase());
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Sorts results by most recent date time
|
||||
*/
|
||||
private static Comparator<Result> getMostRecentDateTimeComparator() {
|
||||
return (Result result1, Result result2) -> {
|
||||
if(result1.getType() != SearchData.Type.DOMAIN) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
ResultDomain first = (ResultDomain) result1;
|
||||
ResultDomain second = (ResultDomain) result2;
|
||||
return Long.compare(second.getActivityEnd(), first.getActivityEnd());
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* A final default comparison between two ResultFile objects. Currently this
|
||||
|
@ -0,0 +1,157 @@
|
||||
/*
|
||||
* Autopsy Forensic Browser
|
||||
*
|
||||
* Copyright 2020 Basis Technology Corp.
|
||||
* Contact: carrier <at> sleuthkit <dot> org
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.sleuthkit.autopsy.discovery.search;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import static org.mockito.Mockito.*;
|
||||
import static org.junit.Assert.*;
|
||||
import org.junit.Test;
|
||||
import org.sleuthkit.autopsy.discovery.search.DiscoveryKeyUtils.GroupKey;
|
||||
import org.sleuthkit.autopsy.discovery.search.DiscoveryKeyUtils.SearchKey;
|
||||
import org.sleuthkit.datamodel.TskCoreException;
|
||||
|
||||
public class DomainSearchCacheLoaderTest {
|
||||
|
||||
@Test
|
||||
public void load_GroupByDataSourceSortByGroupNameAndDomain() throws DiscoveryException, TskCoreException, SQLException {
|
||||
DomainSearchCacheLoader loader = mock(DomainSearchCacheLoader.class);
|
||||
List<Result> domains = Arrays.asList(
|
||||
DomainSearchTestUtils.mockDomainResult("google.com", 10, 100, 5, 4, 110),
|
||||
DomainSearchTestUtils.mockDomainResult("yahoo.com", 1, 5, 7, 20, 100),
|
||||
DomainSearchTestUtils.mockDomainResult("google.com", 5, 20, 1, 4, 105),
|
||||
DomainSearchTestUtils.mockDomainResult("facebook.com", 2, 2, 1, 3, 110),
|
||||
DomainSearchTestUtils.mockDomainResult("abc.com", 1, 2, 3, 4, 100),
|
||||
DomainSearchTestUtils.mockDomainResult("xyz.com", 1, 2, 3, 4, 20)
|
||||
);
|
||||
|
||||
SearchKey key = new SearchKey(null, new ArrayList<>(),
|
||||
new DiscoveryAttributes.DataSourceAttribute(),
|
||||
Group.GroupSortingAlgorithm.BY_GROUP_NAME,
|
||||
ResultsSorter.SortingMethod.BY_DOMAIN_NAME);
|
||||
|
||||
when(loader.getResultDomainsFromDatabase(key)).thenReturn(domains);
|
||||
when(loader.load(key)).thenCallRealMethod();
|
||||
Map<GroupKey, List<Result>> results = loader.load(key);
|
||||
assertEquals(4, results.size());
|
||||
for(List<Result> group : results.values()) {
|
||||
ResultDomain previous = null;
|
||||
for(Result result : group) {
|
||||
ResultDomain current = (ResultDomain) result;
|
||||
if (previous != null) {
|
||||
assertTrue(previous.getDomain().compareTo(current.getDomain()) < 0);
|
||||
}
|
||||
previous = current;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void load_GroupByNothingByGroupNameAndDomain() throws DiscoveryException, TskCoreException, SQLException {
|
||||
DomainSearchCacheLoader loader = mock(DomainSearchCacheLoader.class);
|
||||
List<Result> domains = Arrays.asList(
|
||||
DomainSearchTestUtils.mockDomainResult("google.com", 10, 100, 5, 4, 110),
|
||||
DomainSearchTestUtils.mockDomainResult("yahoo.com", 1, 5, 7, 20, 100),
|
||||
DomainSearchTestUtils.mockDomainResult("facebook.com", 2, 2, 1, 3, 110),
|
||||
DomainSearchTestUtils.mockDomainResult("abc.com", 1, 2, 3, 4, 100),
|
||||
DomainSearchTestUtils.mockDomainResult("xyz.com", 1, 2, 3, 4, 20)
|
||||
);
|
||||
|
||||
SearchKey key = new SearchKey(null, new ArrayList<>(),
|
||||
new DiscoveryAttributes.NoGroupingAttribute(),
|
||||
Group.GroupSortingAlgorithm.BY_GROUP_NAME,
|
||||
ResultsSorter.SortingMethod.BY_DOMAIN_NAME);
|
||||
|
||||
when(loader.getResultDomainsFromDatabase(key)).thenReturn(domains);
|
||||
when(loader.load(key)).thenCallRealMethod();
|
||||
Map<GroupKey, List<Result>> results = loader.load(key);
|
||||
assertEquals(1, results.size());
|
||||
for(List<Result> group : results.values()) {
|
||||
ResultDomain previous = null;
|
||||
for(Result result : group) {
|
||||
ResultDomain current = (ResultDomain) result;
|
||||
if (previous != null) {
|
||||
assertTrue(previous.getDomain().compareTo(current.getDomain()) < 0);
|
||||
}
|
||||
previous = current;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void load_GroupByNothingSortByNameAndDataSource() throws DiscoveryException, TskCoreException, SQLException {
|
||||
DomainSearchCacheLoader loader = mock(DomainSearchCacheLoader.class);
|
||||
List<Result> domains = Arrays.asList(
|
||||
DomainSearchTestUtils.mockDomainResult("google.com", 10, 100, 5, 4, 110),
|
||||
DomainSearchTestUtils.mockDomainResult("yahoo.com", 1, 5, 7, 20, 100)
|
||||
);
|
||||
|
||||
SearchKey key = new SearchKey(null, new ArrayList<>(),
|
||||
new DiscoveryAttributes.NoGroupingAttribute(),
|
||||
Group.GroupSortingAlgorithm.BY_GROUP_NAME,
|
||||
ResultsSorter.SortingMethod.BY_DATA_SOURCE);
|
||||
|
||||
when(loader.getResultDomainsFromDatabase(key)).thenReturn(domains);
|
||||
when(loader.load(key)).thenCallRealMethod();
|
||||
Map<GroupKey, List<Result>> results = loader.load(key);
|
||||
assertEquals(1, results.size());
|
||||
for(List<Result> group : results.values()) {
|
||||
ResultDomain previous = null;
|
||||
for(Result result : group) {
|
||||
ResultDomain current = (ResultDomain) result;
|
||||
if (previous != null) {
|
||||
assertTrue(Long.compare(previous.getDataSource().getId(), current.getDataSource().getId()) < 0);
|
||||
}
|
||||
previous = current;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void load_GroupByDataSourceBySizeAndName() throws DiscoveryException, TskCoreException, SQLException {
|
||||
DomainSearchCacheLoader loader = mock(DomainSearchCacheLoader.class);
|
||||
List<Result> domains = Arrays.asList(
|
||||
DomainSearchTestUtils.mockDomainResult("google.com", 10, 100, 5, 4, 110),
|
||||
DomainSearchTestUtils.mockDomainResult("yahoo.com", 1, 5, 7, 20, 100)
|
||||
);
|
||||
|
||||
SearchKey key = new SearchKey(null, new ArrayList<>(),
|
||||
new DiscoveryAttributes.DataSourceAttribute(),
|
||||
Group.GroupSortingAlgorithm.BY_GROUP_SIZE,
|
||||
ResultsSorter.SortingMethod.BY_DOMAIN_NAME);
|
||||
|
||||
when(loader.getResultDomainsFromDatabase(key)).thenReturn(domains);
|
||||
when(loader.load(key)).thenCallRealMethod();
|
||||
Map<GroupKey, List<Result>> results = loader.load(key);
|
||||
assertEquals(2, results.size());
|
||||
for(List<Result> group : results.values()) {
|
||||
ResultDomain previous = null;
|
||||
for(Result result : group) {
|
||||
ResultDomain current = (ResultDomain) result;
|
||||
if (previous != null) {
|
||||
assertTrue(previous.getDomain().compareTo(current.getDomain()) < 0);
|
||||
}
|
||||
previous = current;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
413
Core/test/unit/src/org/sleuthkit/autopsy/discovery/search/DomainSearchTest.java
Executable file
413
Core/test/unit/src/org/sleuthkit/autopsy/discovery/search/DomainSearchTest.java
Executable file
@ -0,0 +1,413 @@
|
||||
/*
|
||||
* Autopsy Forensic Browser
|
||||
*
|
||||
* Copyright 2020 Basis Technology Corp.
|
||||
* Contact: carrier <at> sleuthkit <dot> org
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.sleuthkit.autopsy.discovery.search;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.mockito.Mockito.*;
|
||||
import static org.junit.Assert.*;
|
||||
import org.sleuthkit.autopsy.discovery.search.DiscoveryKeyUtils.GroupKey;
|
||||
|
||||
public class DomainSearchTest {
|
||||
|
||||
@Test
|
||||
public void groupSizes_SingleGroup_ShouldHaveSizeFour() throws DiscoveryException {
|
||||
DomainSearchCache cache = mock(DomainSearchCache.class);
|
||||
|
||||
DummyKey groupOne = new DummyKey("1");
|
||||
Map<GroupKey, List<Result>> dummyData = new HashMap<GroupKey, List<Result>>() {
|
||||
{
|
||||
put(groupOne, Arrays.asList(
|
||||
DomainSearchTestUtils.mockDomainResult("google.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("yahoo.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("bing.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("amazon.com"))
|
||||
);
|
||||
}
|
||||
};
|
||||
when(cache.get(null, new ArrayList<>(), null, null, null, null, null)).thenReturn(dummyData);
|
||||
|
||||
DomainSearch domainSearch = new DomainSearch(cache);
|
||||
Map<GroupKey, Integer> sizes = domainSearch.getGroupSizes(null,
|
||||
new ArrayList<>(), null, null, null, null, null);
|
||||
assertEquals(4, sizes.get(groupOne).longValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void groupSizes_MultipleGroups_ShouldHaveCorrectGroupSizes() throws DiscoveryException {
|
||||
DomainSearchCache cache = mock(DomainSearchCache.class);
|
||||
|
||||
DummyKey groupOne = new DummyKey("1");
|
||||
DummyKey groupTwo = new DummyKey("2");
|
||||
DummyKey groupThree = new DummyKey("3");
|
||||
|
||||
Map<GroupKey, List<Result>> dummyData = new HashMap<GroupKey, List<Result>>() {
|
||||
{
|
||||
put(groupOne, Arrays.asList(
|
||||
DomainSearchTestUtils.mockDomainResult("google.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("yahoo.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("bing.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("amazon.com"))
|
||||
);
|
||||
put(groupTwo, Arrays.asList(
|
||||
DomainSearchTestUtils.mockDomainResult("facebook.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("spotify.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("netbeans.com"))
|
||||
);
|
||||
put(groupThree, Arrays.asList(
|
||||
DomainSearchTestUtils.mockDomainResult("youtube.com"))
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
when(cache.get(null, new ArrayList<>(), null, null, null, null, null)).thenReturn(dummyData);
|
||||
|
||||
DomainSearch domainSearch = new DomainSearch(cache);
|
||||
Map<GroupKey, Integer> sizes = domainSearch.getGroupSizes(null,
|
||||
new ArrayList<>(), null, null, null, null, null);
|
||||
assertEquals(4, sizes.get(groupOne).longValue());
|
||||
assertEquals(3, sizes.get(groupTwo).longValue());
|
||||
assertEquals(1, sizes.get(groupThree).longValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void groupSizes_EmptyGroup_ShouldBeSizeZero() throws DiscoveryException {
|
||||
DomainSearchCache cache = mock(DomainSearchCache.class);
|
||||
|
||||
when(cache.get(null, new ArrayList<>(), null, null, null, null, null)).thenReturn(new HashMap<>());
|
||||
|
||||
DomainSearch domainSearch = new DomainSearch(cache);
|
||||
Map<GroupKey, Integer> sizes = domainSearch.getGroupSizes(null,
|
||||
new ArrayList<>(), null, null, null, null, null);
|
||||
assertEquals(0, sizes.size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getDomains_SingleGroupFullPage_ShouldContainAllDomains() throws DiscoveryException {
|
||||
DomainSearchCache cache = mock(DomainSearchCache.class);
|
||||
|
||||
DummyKey groupOne = new DummyKey("1");
|
||||
List<Result> domains = Arrays.asList(
|
||||
DomainSearchTestUtils.mockDomainResult("google.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("yahoo.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("bing.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("amazon.com"));
|
||||
|
||||
Map<GroupKey, List<Result>> dummyData = new HashMap<GroupKey, List<Result>>() {
|
||||
{
|
||||
put(groupOne, domains);
|
||||
}
|
||||
};
|
||||
|
||||
when(cache.get(null, new ArrayList<>(), null, null, null, null, null)).thenReturn(dummyData);
|
||||
|
||||
DomainSearch domainSearch = new DomainSearch(cache);
|
||||
List<Result> firstPage = domainSearch.getDomainsInGroup(null,
|
||||
new ArrayList<>(), null, null, null, groupOne, 0, 3, null, null);
|
||||
assertEquals(4, firstPage.size());
|
||||
for (int i = 0; i < firstPage.size(); i++) {
|
||||
assertEquals(domains.get(i), firstPage.get(i));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getDomains_SingleGroupOverSizedPage_ShouldContainAllDomains() throws DiscoveryException {
|
||||
DomainSearchCache cache = mock(DomainSearchCache.class);
|
||||
|
||||
DummyKey groupOne = new DummyKey("1");
|
||||
List<Result> domains = Arrays.asList(
|
||||
DomainSearchTestUtils.mockDomainResult("google.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("yahoo.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("bing.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("amazon.com"));
|
||||
|
||||
Map<GroupKey, List<Result>> dummyData = new HashMap<GroupKey, List<Result>>() {
|
||||
{
|
||||
put(groupOne, domains);
|
||||
}
|
||||
};
|
||||
|
||||
when(cache.get(null, new ArrayList<>(), null, null, null, null, null)).thenReturn(dummyData);
|
||||
|
||||
DomainSearch domainSearch = new DomainSearch(cache);
|
||||
List<Result> firstPage = domainSearch.getDomainsInGroup(null,
|
||||
new ArrayList<>(), null, null, null, groupOne, 0, 100, null, null);
|
||||
assertEquals(4, firstPage.size());
|
||||
for (int i = 0; i < firstPage.size(); i++) {
|
||||
assertEquals(domains.get(i), firstPage.get(i));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getDomains_SingleGroupHalfPage_ShouldContainHalfDomains() throws DiscoveryException {
|
||||
DomainSearchCache cache = mock(DomainSearchCache.class);
|
||||
|
||||
DummyKey groupOne = new DummyKey("1");
|
||||
List<Result> domains = Arrays.asList(
|
||||
DomainSearchTestUtils.mockDomainResult("google.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("yahoo.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("bing.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("amazon.com"));
|
||||
|
||||
Map<GroupKey, List<Result>> dummyData = new HashMap<GroupKey, List<Result>>() {
|
||||
{
|
||||
put(groupOne, domains);
|
||||
}
|
||||
};
|
||||
|
||||
when(cache.get(null, new ArrayList<>(), null, null, null, null, null)).thenReturn(dummyData);
|
||||
|
||||
DomainSearch domainSearch = new DomainSearch(cache);
|
||||
List<Result> firstPage = domainSearch.getDomainsInGroup(null,
|
||||
new ArrayList<>(), null, null, null, groupOne, 0, 2, null, null);
|
||||
assertEquals(2, firstPage.size());
|
||||
for (int i = 0; i < firstPage.size(); i++) {
|
||||
assertEquals(domains.get(i), firstPage.get(i));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getDomains_SingleGroupLastPageLastDomain_ShouldContainLastDomain() throws DiscoveryException {
|
||||
DomainSearchCache cache = mock(DomainSearchCache.class);
|
||||
|
||||
DummyKey groupOne = new DummyKey("1");
|
||||
List<Result> domains = Arrays.asList(
|
||||
DomainSearchTestUtils.mockDomainResult("google.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("yahoo.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("bing.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("amazon.com"));
|
||||
|
||||
Map<GroupKey, List<Result>> dummyData = new HashMap<GroupKey, List<Result>>() {
|
||||
{
|
||||
put(groupOne, domains);
|
||||
}
|
||||
};
|
||||
|
||||
when(cache.get(null, new ArrayList<>(), null, null, null, null, null)).thenReturn(dummyData);
|
||||
|
||||
DomainSearch domainSearch = new DomainSearch(cache);
|
||||
List<Result> firstPage = domainSearch.getDomainsInGroup(null,
|
||||
new ArrayList<>(), null, null, null, groupOne, 3, 1, null, null);
|
||||
assertEquals(1, firstPage.size());
|
||||
assertEquals(domains.get(domains.size() - 1), firstPage.get(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getDomains_SingleGroupOversizedOffset_ShouldContainNoDomains() throws DiscoveryException {
|
||||
DomainSearchCache cache = mock(DomainSearchCache.class);
|
||||
|
||||
DummyKey groupOne = new DummyKey("1");
|
||||
List<Result> domains = Arrays.asList(
|
||||
DomainSearchTestUtils.mockDomainResult("google.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("yahoo.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("bing.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("amazon.com"));
|
||||
|
||||
Map<GroupKey, List<Result>> dummyData = new HashMap<GroupKey, List<Result>>() {
|
||||
{
|
||||
put(groupOne, domains);
|
||||
}
|
||||
};
|
||||
|
||||
when(cache.get(null, new ArrayList<>(), null, null, null, null, null)).thenReturn(dummyData);
|
||||
|
||||
DomainSearch domainSearch = new DomainSearch(cache);
|
||||
List<Result> firstPage = domainSearch.getDomainsInGroup(null,
|
||||
new ArrayList<>(), null, null, null, groupOne, 20, 5, null, null);
|
||||
assertEquals(4, firstPage.size());
|
||||
for (int i = 0; i < firstPage.size(); i++) {
|
||||
assertEquals(domains.get(i), firstPage.get(i));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getDomains_SingleGroupZeroSizedPage_ShouldContainNoDomains() throws DiscoveryException {
|
||||
DomainSearchCache cache = mock(DomainSearchCache.class);
|
||||
|
||||
DummyKey groupOne = new DummyKey("1");
|
||||
List<Result> domains = Arrays.asList(
|
||||
DomainSearchTestUtils.mockDomainResult("google.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("yahoo.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("bing.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("amazon.com"));
|
||||
|
||||
Map<GroupKey, List<Result>> dummyData = new HashMap<GroupKey, List<Result>>() {
|
||||
{
|
||||
put(groupOne, domains);
|
||||
}
|
||||
};
|
||||
|
||||
when(cache.get(null, new ArrayList<>(), null, null, null, null, null)).thenReturn(dummyData);
|
||||
|
||||
DomainSearch domainSearch = new DomainSearch(cache);
|
||||
List<Result> firstPage = domainSearch.getDomainsInGroup(null,
|
||||
new ArrayList<>(), null, null, null, groupOne, 0, 0, null, null);
|
||||
assertEquals(0, firstPage.size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getDomains_MultipleGroupsFullPage_ShouldContainAllDomainsInGroup() throws DiscoveryException {
|
||||
DomainSearchCache cache = mock(DomainSearchCache.class);
|
||||
|
||||
DummyKey groupOne = new DummyKey("1");
|
||||
DummyKey groupTwo = new DummyKey("2");
|
||||
DummyKey groupThree = new DummyKey("3");
|
||||
|
||||
Map<GroupKey, List<Result>> dummyData = new HashMap<GroupKey, List<Result>>() {
|
||||
{
|
||||
put(groupOne, Arrays.asList(
|
||||
DomainSearchTestUtils.mockDomainResult("google.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("yahoo.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("bing.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("amazon.com"))
|
||||
);
|
||||
put(groupTwo, Arrays.asList(
|
||||
DomainSearchTestUtils.mockDomainResult("facebook.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("spotify.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("netbeans.com"))
|
||||
);
|
||||
put(groupThree, Arrays.asList(
|
||||
DomainSearchTestUtils.mockDomainResult("youtube.com"))
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
when(cache.get(null, new ArrayList<>(), null, null, null, null, null)).thenReturn(dummyData);
|
||||
|
||||
DomainSearch domainSearch = new DomainSearch(cache);
|
||||
List<Result> firstPage = domainSearch.getDomainsInGroup(null,
|
||||
new ArrayList<>(), null, null, null, groupOne, 0, 3, null, null);
|
||||
assertEquals(4, firstPage.size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getDomains_MultipleGroupsHalfPage_ShouldContainHalfDomainsInGroup() throws DiscoveryException {
|
||||
DomainSearchCache cache = mock(DomainSearchCache.class);
|
||||
|
||||
DummyKey groupOne = new DummyKey("1");
|
||||
DummyKey groupTwo = new DummyKey("2");
|
||||
DummyKey groupThree = new DummyKey("3");
|
||||
|
||||
Map<GroupKey, List<Result>> dummyData = new HashMap<GroupKey, List<Result>>() {
|
||||
{
|
||||
put(groupOne, Arrays.asList(
|
||||
DomainSearchTestUtils.mockDomainResult("google.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("yahoo.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("bing.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("amazon.com"))
|
||||
);
|
||||
put(groupTwo, Arrays.asList(
|
||||
DomainSearchTestUtils.mockDomainResult("facebook.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("spotify.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("netbeans.com"))
|
||||
);
|
||||
put(groupThree, Arrays.asList(
|
||||
DomainSearchTestUtils.mockDomainResult("youtube.com"))
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
when(cache.get(null, new ArrayList<>(), null, null, null, null, null)).thenReturn(dummyData);
|
||||
|
||||
DomainSearch domainSearch = new DomainSearch(cache);
|
||||
List<Result> firstPage = domainSearch.getDomainsInGroup(null,
|
||||
new ArrayList<>(), null, null, null, groupTwo, 1, 2, null, null);
|
||||
assertEquals(2, firstPage.size());
|
||||
for (int i = 0; i < firstPage.size(); i++) {
|
||||
assertEquals(dummyData.get(groupTwo).get(i + 1), firstPage.get(i));
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getDomains_SingleGroupSimulatedPaging_ShouldPageThroughAllDomains() throws DiscoveryException {
|
||||
DomainSearchCache cache = mock(DomainSearchCache.class);
|
||||
|
||||
DummyKey groupOne = new DummyKey("1");
|
||||
List<Result> domains = Arrays.asList(
|
||||
DomainSearchTestUtils.mockDomainResult("google.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("yahoo.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("bing.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("amazon.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("facebook.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("capitalone.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("spotify.com"),
|
||||
DomainSearchTestUtils.mockDomainResult("netsuite.com"));
|
||||
|
||||
Map<GroupKey, List<Result>> dummyData = new HashMap<GroupKey, List<Result>>() {
|
||||
{
|
||||
put(groupOne, domains);
|
||||
}
|
||||
};
|
||||
|
||||
when(cache.get(null, new ArrayList<>(), null, null, null, null, null)).thenReturn(dummyData);
|
||||
|
||||
DomainSearch domainSearch = new DomainSearch(cache);
|
||||
|
||||
int start = 0;
|
||||
int size = 2;
|
||||
while (start + size <= domains.size()) {
|
||||
List<Result> page = domainSearch.getDomainsInGroup(null,
|
||||
new ArrayList<>(), null, null, null, groupOne, start, size, null, null);
|
||||
assertEquals(2, page.size());
|
||||
for(int i = 0; i < page.size(); i++) {
|
||||
assertEquals(domains.get(start + i), page.get(i));
|
||||
}
|
||||
|
||||
start += size;
|
||||
}
|
||||
}
|
||||
|
||||
private class DummyKey extends GroupKey {
|
||||
|
||||
private final String name;
|
||||
|
||||
public DummyKey(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@Override
|
||||
String getDisplayName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object otherKey) {
|
||||
if (otherKey instanceof GroupKey) {
|
||||
return this.getDisplayName().equals(((GroupKey) otherKey).getDisplayName());
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return this.name.hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(GroupKey o) {
|
||||
return this.getDisplayName().compareTo(o.getDisplayName());
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,51 @@
|
||||
/*
|
||||
* Autopsy Forensic Browser
|
||||
*
|
||||
* Copyright 2020 Basis Technology Corp.
|
||||
* Contact: carrier <at> sleuthkit <dot> org
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.sleuthkit.autopsy.discovery.search;
|
||||
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
import org.sleuthkit.datamodel.Content;
|
||||
|
||||
/**
|
||||
* Mock utility methods for DomainSearchTests
|
||||
*/
|
||||
public class DomainSearchTestUtils {
|
||||
|
||||
private DomainSearchTestUtils() {
|
||||
|
||||
}
|
||||
|
||||
public static ResultDomain mockDomainResult(String domain, long start, long end,
|
||||
long visits, long filesDownloaded, long dataSourceId) {
|
||||
Content dataSource = mockDataSource(dataSourceId);
|
||||
return new ResultDomain(domain, start, end,
|
||||
visits, filesDownloaded, dataSource);
|
||||
}
|
||||
|
||||
public static ResultDomain mockDomainResult(String domain) {
|
||||
return DomainSearchTestUtils.mockDomainResult(domain, 0, 0, 0, 0, 0);
|
||||
}
|
||||
|
||||
public static Content mockDataSource(long dataSourceId) {
|
||||
Content dataSource = mock(Content.class);
|
||||
when(dataSource.getName()).thenReturn("");
|
||||
when(dataSource.getId()).thenReturn(dataSourceId);
|
||||
return dataSource;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user