Merged in develop

This commit is contained in:
Kelly Kelly 2019-05-01 15:00:24 -04:00
commit e54f0aed9e
45 changed files with 1344 additions and 892 deletions

View File

@ -15,11 +15,17 @@
<dependency conf="core->default" org="org.apache.curator" name="curator-recipes" rev="2.8.0"/>
<dependency conf="core->default" org="org.python" name="jython-standalone" rev="2.7.0" />
<dependency conf="core->default" org="org.apache.tika" name="tika-core" rev="1.20"/>
<!-- Exclude the version of cxf-rt-rs-client from Tika 1.20, one of its depedencies breaks Ivy -->
<dependency conf="core->default" org="org.apache.tika" name="tika-parsers" rev="1.20">
<exclude module="cxf-rt-rs-client"/>
<exclude module="cleartk-ml"/>
</dependency>
<dependency conf="core->default" org="com.drewnoakes" name="metadata-extractor" rev="2.8.1"/>
<!-- Pull down the latest cxf-rt-rs-client which has the Ivy fix -->
<dependency conf="core->default" org="org.apache.cxf" name="cxf-rt-rs-client" rev="3.3.0"/>
<dependency conf="core->default" org="org.cleartk" name="cleartk-ml" rev="2.0.0"/>
<dependency conf="core->default" org="org.apache.tika" name="tika-core" rev="1.17"/>
<dependency conf="core->default" org="org.apache.tika" name="tika-parsers" rev="1.17"/>
<dependency conf="core->default" org="com.adobe.xmp" name="xmpcore" rev="5.1.2"/>
<dependency conf="core->default" org="org.apache.zookeeper" name="zookeeper" rev="3.4.6"/>
@ -28,17 +34,14 @@
<dependency conf="core->default" org="org.apache.commons" name="commons-dbcp2" rev="2.1.1"/>
<dependency conf="core->default" org="org.apache.commons" name="commons-pool2" rev="2.4.2"/>
<dependency conf="core->default" org="commons-codec" name="commons-codec" rev="1.11"/>
<dependency conf="core->default" org="org.jsoup" name="jsoup" rev="1.10.3"/>
<dependency conf="core->default" org="com.fasterxml.jackson.core" name="jackson-core" rev="2.9.7"/>
<dependency conf="core->default" org="com.fasterxml.jackson.core" name="jackson-core" rev="2.9.7"/>
<dependency conf="core->default" org="commons-validator" name="commons-validator" rev="1.6"/>
<dependency conf="core->default" org="net.htmlparser.jericho" name="jericho-html" rev="3.3"/>
<!-- Tika 1.14 seems to declare a (transitive?) dependency on cleartk-util 3.2.2, but the most recent
version available is 2.0.0 Overriding the version worked-->
<override org="org.cleartk" module="cleartk-util" rev="2.0.0"/>
<override org="jakarta.ws.rs" module="jakarta.ws.rs-api" rev="2.1.5"/>
</dependencies>
</ivy-module>

View File

@ -1,77 +1,94 @@
file.reference.activemq-all-5.11.1.jar=release/modules/ext/activemq-all-5.11.1.jar
file.reference.apache-mime4j-core-0.8.1.jar=release/modules/ext/apache-mime4j-core-0.8.1.jar
file.reference.apache-mime4j-dom-0.8.1.jar=release/modules/ext/apache-mime4j-dom-0.8.1.jar
file.reference.asm-5.0.4.jar=release/modules/ext/asm-5.0.4.jar
file.reference.bcmail-jdk15on-1.54.jar=release/modules/ext/bcmail-jdk15on-1.54.jar
file.reference.bcprov-jdk15on-1.54.jar=release/modules/ext/bcprov-jdk15on-1.54.jar
file.reference.boilerpipe-1.1.0.jar=release/modules/ext/boilerpipe-1.1.0.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.bcmail-jdk15on-1.60.jar=release\\modules\\ext\\bcmail-jdk15on-1.60.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.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.6.jar=release/modules/ext/commons-codec-1.6.jar
file.reference.commons-compress-1.14.jar=release/modules/ext/commons-compress-1.14.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-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-io-2.5.jar=release/modules/ext/commons-io-2.5.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.geoapi-3.0.0.jar=release/modules/ext/geoapi-3.0.0.jar
file.reference.grib-4.5.5.jar=release/modules/ext/grib-4.5.5.jar
file.reference.httpservices-4.5.5.jar=release/modules/ext/httpservices-4.5.5.jar
file.reference.isoparser-1.1.18.jar=release/modules/ext/isoparser-1.1.18.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.java-libpst-0.8.1.jar=release/modules/ext/java-libpst-0.8.1.jar
file.reference.jcl-over-slf4j-1.7.24.jar=release/modules/ext/jcl-over-slf4j-1.7.24.jar
file.reference.jackson-core-2.9.7.jar=release/modules/ext/jackson-core-2.9.7.jar
file.reference.cxf-rt-rs-client-3.3.0.jar=release\\modules\\ext\\cxf-rt-rs-client-3.3.0.jar
file.reference.dd-plist-1.20.jar=release/modules/ext/dd-plist-1.20.jar
file.reference.dec-0.1.2.jar=release\\modules\\ext\\dec-0.1.2.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.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.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-imageio-core-1.4.0.jar=release\\modules\\ext\\jai-imageio-core-1.4.0.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.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-v3.8.0.jar=release/modules/ext/jgraphx-v3.8.0.jar
file.reference.jhighlight-1.0.2.jar=release/modules/ext/jhighlight-1.0.2.jar
file.reference.jmatio-1.2.jar=release/modules/ext/jmatio-1.2.jar
file.reference.json-1.8.jar=release/modules/ext/json-1.8.jar
file.reference.json-simple-1.1.1.jar=release/modules/ext/json-simple-1.1.1.jar
file.reference.jsoup-1.10.3.jar=release/modules/ext/jsoup-1.10.3.jar
file.reference.jul-to-slf4j-1.7.24.jar=release/modules/ext/jul-to-slf4j-1.7.24.jar
file.reference.juniversalchardet-1.0.3.jar=release/modules/ext/juniversalchardet-1.0.3.jar
file.reference.junrar-0.7.jar=release/modules/ext/junrar-0.7.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.jna-5.1.0.jar=release\\modules\\ext\\jna-5.1.0.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.jython-standalone-2.7.0.jar=release/modules/ext/jython-standalone-2.7.0.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.10.1.jar=release/modules/ext/metadata-extractor-2.10.1.jar
file.reference.netcdf4-4.5.5.jar=release/modules/ext/netcdf4-4.5.5.jar
file.reference.opennlp-tools-1.8.3.jar=release/modules/ext/opennlp-tools-1.8.3.jar
file.reference.poi-3.17.jar=release/modules/ext/poi-3.17.jar
file.reference.poi-ooxml-3.17.jar=release/modules/ext/poi-ooxml-3.17.jar
file.reference.poi-scratchpad-3.17.jar=release/modules/ext/poi-scratchpad-3.17.jar
file.reference.metadata-extractor-2.11.0.jar=release\\modules\\ext\\metadata-extractor-2.11.0.jar
file.reference.netcdf4-4.5.5.jar=release\\modules\\ext\\netcdf4-4.5.5.jar
file.reference.openjson-1.0.10.jar=release\\modules\\ext\\openjson-1.0.10.jar
file.reference.opennlp-tools-1.9.0.jar=release\\modules\\ext\\opennlp-tools-1.9.0.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.0-SNAPSHOT.jar=release/modules/ext/Rejistry-1.0-SNAPSHOT.jar
file.reference.rome-1.5.1.jar=release/modules/ext/rome-1.5.1.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.6.jar=release/modules/ext/sis-metadata-0.6.jar
file.reference.sis-netcdf-0.6.jar=release/modules/ext/sis-netcdf-0.6.jar
file.reference.sis-utility-0.6.jar=release/modules/ext/sis-utility-0.6.jar
file.reference.slf4j-api-1.7.24.jar=release/modules/ext/slf4j-api-1.7.24.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.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.jempbox-1.8.13.jar=release/modules/ext/jempbox-1.8.13.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-rs-client-3.0.16.jar=release/modules/ext/cxf-rt-rs-client-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.fontbox-2.0.8.jar=release/modules/ext/fontbox-2.0.8.jar
file.reference.pdfbox-2.0.8.jar=release/modules/ext/pdfbox-2.0.8.jar
file.reference.pdfbox-tools-2.0.8.jar=release/modules/ext/pdfbox-tools-2.0.8.jar
file.reference.sleuthkit-postgresql-4.6.6.jar=release/modules/ext/sleuthkit-postgresql-4.6.6.jar
file.reference.tagsoup-1.2.1.jar=release/modules/ext/tagsoup-1.2.1.jar
file.reference.tika-core-1.17.jar=release/modules/ext/tika-core-1.17.jar
file.reference.tika-parsers-1.17.jar=release/modules/ext/tika-parsers-1.17.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.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.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.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.6.jar=release/modules/ext/xz-1.6.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

View File

@ -346,12 +346,16 @@
<package>org.sleuthkit.datamodel</package>
</public-packages>
<class-path-extension>
<runtime-relative-path>ext/apache-mime4j-dom-0.8.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/apache-mime4j-dom-0.8.1.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/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>
<binary-origin>release\modules\ext\jackcess-2.2.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/jericho-html-3.3.jar</runtime-relative-path>
@ -359,59 +363,83 @@
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/cdm-4.5.5.jar</runtime-relative-path>
<binary-origin>release/modules/ext/cdm-4.5.5.jar</binary-origin>
<binary-origin>release\modules\ext\cdm-4.5.5.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/httpservices-4.5.5.jar</runtime-relative-path>
<binary-origin>release/modules/ext/httpservices-4.5.5.jar</binary-origin>
<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/commons-compress-1.14.jar</runtime-relative-path>
<binary-origin>release/modules/ext/commons-compress-1.14.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/geoapi-3.0.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/geoapi-3.0.0.jar</binary-origin>
<runtime-relative-path>ext/jna-5.1.0.jar</runtime-relative-path>
<binary-origin>release\modules\ext\jna-5.1.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>
<binary-origin>release\modules\ext\boilerpipe-1.1.0.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/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>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/bcmail-jdk15on-1.54.jar</runtime-relative-path>
<binary-origin>release/modules/ext/bcmail-jdk15on-1.54.jar</binary-origin>
<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/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/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/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/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/curator-recipes-2.8.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/curator-recipes-2.8.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/metadata-extractor-2.10.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/metadata-extractor-2.10.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/apache-mime4j-core-0.8.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/apache-mime4j-core-0.8.1.jar</binary-origin>
<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/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/tika-core-1.17.jar</runtime-relative-path>
<binary-origin>release/modules/ext/tika-core-1.17.jar</binary-origin>
<binary-origin>release\modules\ext\tagsoup-1.2.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/StixLib.jar</runtime-relative-path>
@ -419,52 +447,60 @@
</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>
<binary-origin>release\modules\ext\jackson-core-2.9.7.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/pdfbox-tools-2.0.8.jar</runtime-relative-path>
<binary-origin>release/modules/ext/pdfbox-tools-2.0.8.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/asm-5.0.4.jar</runtime-relative-path>
<binary-origin>release/modules/ext/asm-5.0.4.jar</binary-origin>
<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/jcl-over-slf4j-1.7.24.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jcl-over-slf4j-1.7.24.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/tika-parsers-1.17.jar</runtime-relative-path>
<binary-origin>release/modules/ext/tika-parsers-1.17.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/json-simple-1.1.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/json-simple-1.1.1.jar</binary-origin>
<binary-origin>release\modules\ext\json-simple-1.1.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/sis-utility-0.6.jar</runtime-relative-path>
<binary-origin>release/modules/ext/sis-utility-0.6.jar</binary-origin>
<runtime-relative-path>ext/metadata-extractor-2.11.0.jar</runtime-relative-path>
<binary-origin>release\modules\ext\metadata-extractor-2.11.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/jhighlight-1.0.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jhighlight-1.0.2.jar</binary-origin>
<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/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/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/sleuthkit-postgresql-4.6.6.jar</runtime-relative-path>
<binary-origin>release/modules/ext/sleuthkit-postgresql-4.6.6.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/jempbox-1.8.13.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jempbox-1.8.13.jar</binary-origin>
<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/cxf-rt-rs-client-3.0.16.jar</runtime-relative-path>
<binary-origin>release/modules/ext/cxf-rt-rs-client-3.0.16.jar</binary-origin>
<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>
</class-path-extension>
<class-path-extension>
<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/jdom-2.0.5-contrib.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jdom-2.0.5-contrib.jar</binary-origin>
@ -474,8 +510,12 @@
<binary-origin>release/modules/ext/SparseBitSet-1.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/pdfbox-2.0.8.jar</runtime-relative-path>
<binary-origin>release/modules/ext/pdfbox-2.0.8.jar</binary-origin>
<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/c3p0-0.9.5.jar</runtime-relative-path>
@ -489,73 +529,61 @@
<runtime-relative-path>ext/zookeeper-3.4.6.jar</runtime-relative-path>
<binary-origin>release/modules/ext/zookeeper-3.4.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/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>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/cxf-rt-transports-http-3.0.16.jar</runtime-relative-path>
<binary-origin>release/modules/ext/cxf-rt-transports-http-3.0.16.jar</binary-origin>
<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/sis-metadata-0.6.jar</runtime-relative-path>
<binary-origin>release/modules/ext/sis-metadata-0.6.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/isoparser-1.1.18.jar</runtime-relative-path>
<binary-origin>release/modules/ext/isoparser-1.1.18.jar</binary-origin>
<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/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/commons-codec-1.6.jar</runtime-relative-path>
<binary-origin>release/modules/ext/commons-codec-1.6.jar</binary-origin>
<binary-origin>release\modules\ext\vorbis-java-core-0.8.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/slf4j-api-1.7.24.jar</runtime-relative-path>
<binary-origin>release/modules/ext/slf4j-api-1.7.24.jar</binary-origin>
<binary-origin>release\modules\ext\netcdf4-4.5.5.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>
<binary-origin>release\modules\ext\java-libpst-0.8.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/jul-to-slf4j-1.7.24.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jul-to-slf4j-1.7.24.jar</binary-origin>
<runtime-relative-path>ext/opennlp-tools-1.9.0.jar</runtime-relative-path>
<binary-origin>release\modules\ext\opennlp-tools-1.9.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/poi-3.17.jar</runtime-relative-path>
<binary-origin>release/modules/ext/poi-3.17.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/poi-scratchpad-3.17.jar</runtime-relative-path>
<binary-origin>release/modules/ext/poi-scratchpad-3.17.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/sis-netcdf-0.6.jar</runtime-relative-path>
<binary-origin>release/modules/ext/sis-netcdf-0.6.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/commons-io-2.5.jar</runtime-relative-path>
<binary-origin>release/modules/ext/commons-io-2.5.jar</binary-origin>
<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/curator-framework-2.8.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/curator-framework-2.8.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>
<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/fontbox-2.0.8.jar</runtime-relative-path>
<binary-origin>release/modules/ext/fontbox-2.0.8.jar</binary-origin>
<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/commons-dbcp2-2.1.1.jar</runtime-relative-path>
@ -567,39 +595,59 @@
</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>
<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>
</class-path-extension>
<class-path-extension>
<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>
<binary-origin>release\modules\ext\jackcess-encrypt-2.1.4.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/cxf-core-3.0.16.jar</runtime-relative-path>
<binary-origin>release/modules/ext/cxf-core-3.0.16.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/javax.ws.rs-api-2.0.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/javax.ws.rs-api-2.0.1.jar</binary-origin>
<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/opennlp-tools-1.8.3.jar</runtime-relative-path>
<binary-origin>release/modules/ext/opennlp-tools-1.8.3.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/junrar-0.7.jar</runtime-relative-path>
<binary-origin>release/modules/ext/junrar-0.7.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>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/poi-ooxml-3.17.jar</runtime-relative-path>
<binary-origin>release/modules/ext/poi-ooxml-3.17.jar</binary-origin>
<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/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/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/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/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/curator-client-2.8.0.jar</runtime-relative-path>
@ -610,48 +658,48 @@
<binary-origin>release/modules/ext/sqlite-jdbc-3.25.2.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/cxf-rt-frontend-jaxrs-3.0.16.jar</runtime-relative-path>
<binary-origin>release/modules/ext/cxf-rt-frontend-jaxrs-3.0.16.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/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/grib-4.5.5.jar</runtime-relative-path>
<binary-origin>release/modules/ext/grib-4.5.5.jar</binary-origin>
<binary-origin>release\modules\ext\grib-4.5.5.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<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/activemq-all-5.11.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/activemq-all-5.11.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/xz-1.6.jar</runtime-relative-path>
<binary-origin>release/modules/ext/xz-1.6.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/Rejistry-1.0-SNAPSHOT.jar</runtime-relative-path>
<binary-origin>release/modules/ext/Rejistry-1.0-SNAPSHOT.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/rome-1.5.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/rome-1.5.1.jar</binary-origin>
<runtime-relative-path>ext/dd-plist-1.20.jar</runtime-relative-path>
<binary-origin>release/modules/ext/dd-plist-1.20.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>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/jmatio-1.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jmatio-1.2.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>
<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>
<class-path-extension>
<runtime-relative-path>ext/json-1.8.jar</runtime-relative-path>
<binary-origin>release/modules/ext/json-1.8.jar</binary-origin>
<binary-origin>release\modules\ext\vorbis-java-tika-0.8.jar</binary-origin>
</class-path-extension>
</data>
</configuration>

View File

@ -134,7 +134,7 @@ public final class AccountsBrowser extends JPanel implements ExplorerManager.Pro
}
@Subscribe
public void handleFilterEvent(CVTEvents.FilterChangeEvent filterChangeEvent) {
void handleFilterEvent(CVTEvents.FilterChangeEvent filterChangeEvent) {
try {
final CommunicationsManager commsManager = Case.getCurrentCaseThrows().getSleuthkitCase().getCommunicationsManager();
accountsTableEM.setRootContext(new AbstractNode(Children.create(new AccountDeviceInstanceNodeFactory(commsManager, filterChangeEvent.getNewFilter()), true)));
@ -145,6 +145,19 @@ public final class AccountsBrowser extends JPanel implements ExplorerManager.Pro
}
}
@Subscribe
void historyChange(CVTEvents.StateChangeEvent event) {
try {
final CommunicationsManager commsManager = Case.getCurrentCaseThrows().getSleuthkitCase().getCommunicationsManager();
accountsTableEM.setRootContext(new AbstractNode(Children.create(new AccountDeviceInstanceNodeFactory(commsManager, event.getCommunicationsState().getCommunicationsFilter()), true)));
} catch (TskCoreException ex) {
logger.log(Level.SEVERE, "There was an error getting the CommunicationsManager for the current case.", ex);
} catch (NoCurrentCaseException ex) { //NOPMD empty catch clause
//Case is closed, do nothig.
}
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always

View File

@ -22,7 +22,6 @@ CVTTopComponent.browseVisualizeTabPane.AccessibleContext.accessibleName=Visualiz
CVTTopComponent.vizPanel.TabConstraints.tabTitle_1=Visualize
VisualizationPanel.fitGraphButton.text=
VisualizationPanel.jTextArea1.text=Right-click an account in the Browse Accounts table, and select 'Visualize' to begin.
VisualizationPanel.jLabel1.text=Layouts:
VisualizationPanel.zoomLabel.text=100%
VisualizationPanel.jLabel2.text=Zoom:
VisualizationPanel.fitZoomButton.toolTipText=fit visualization
@ -33,10 +32,17 @@ VisualizationPanel.zoomInButton.toolTipText=Zoom in
VisualizationPanel.zoomInButton.text=
VisualizationPanel.zoomOutButton.toolTipText=Zoom out
VisualizationPanel.zoomOutButton.text=
VisualizationPanel.fastOrganicLayoutButton.text=Redraw
VisualizationPanel.backButton.text_1=
VisualizationPanel.circleLayoutButton.text=Circle
VisualizationPanel.organicLayoutButton.text=Organic
VisualizationPanel.fastOrganicLayoutButton.text=Fast Organic
VisualizationPanel.hierarchyLayoutButton.text=Hierarchical
VisualizationPanel.clearVizButton.text_1=Clear Viz.
VisualizationPanel.clearVizButton.text_1=
VisualizationPanel.snapshotButton.text_1=Snapshot Report
ContactDetailsPane.nameLabel.text=jLabel1
VisualizationPanel.clearVizButton.actionCommand=
VisualizationPanel.backButton.toolTipText=Click to go back
VisualizationPanel.forwardButton.toolTipText=Click to go forward
VisualizationPanel.fastOrganicLayoutButton.toolTipText=Click to redraw the chart
VisualizationPanel.clearVizButton.toolTipText=Click to clear the chart
VisualizationPanel.forwardButton.text=

View File

@ -80,7 +80,6 @@ CVTTopComponent.browseVisualizeTabPane.AccessibleContext.accessibleName=Visualiz
CVTTopComponent.vizPanel.TabConstraints.tabTitle_1=Visualize
VisualizationPanel.fitGraphButton.text=
VisualizationPanel.jTextArea1.text=Right-click an account in the Browse Accounts table, and select 'Visualize' to begin.
VisualizationPanel.jLabel1.text=Layouts:
# {0} - layout name
VisualizationPanel.layoutFail.text={0} layout failed. Try a different layout.
# {0} - layout name
@ -99,13 +98,20 @@ VisualizationPanel.zoomInButton.toolTipText=Zoom in
VisualizationPanel.zoomInButton.text=
VisualizationPanel.zoomOutButton.toolTipText=Zoom out
VisualizationPanel.zoomOutButton.text=
VisualizationPanel.fastOrganicLayoutButton.text=Redraw
VisualizationPanel.backButton.text_1=
VisualizationPanel.circleLayoutButton.text=Circle
VisualizationPanel.organicLayoutButton.text=Organic
VisualizationPanel.fastOrganicLayoutButton.text=Fast Organic
VisualizationPanel.hierarchyLayoutButton.text=Hierarchical
VisualizationPanel.clearVizButton.text_1=Clear Viz.
VisualizationPanel.clearVizButton.text_1=
VisualizationPanel.snapshotButton.text_1=Snapshot Report
ContactDetailsPane.nameLabel.text=jLabel1
VisualizationPanel.clearVizButton.actionCommand=
VisualizationPanel.backButton.toolTipText=Click to go back
VisualizationPanel.forwardButton.toolTipText=Click to go forward
VisualizationPanel.fastOrganicLayoutButton.toolTipText=Click to redraw the chart
VisualizationPanel.clearVizButton.toolTipText=Click to clear the chart
VisualizationPanel.forwardButton.text=
VisualizationPanel_action_dialogs_title=Communications
VisualizationPanel_action_name_text=Snapshot Report
VisualizationPanel_module_name=Communications

View File

@ -21,7 +21,9 @@ package org.sleuthkit.autopsy.communications;
import com.google.common.collect.ImmutableSet;
import com.google.common.eventbus.EventBus;
import java.util.Collection;
import org.sleuthkit.autopsy.communications.FiltersPanel.DateControlState;
import org.sleuthkit.datamodel.CommunicationsFilter;
import org.sleuthkit.autopsy.communications.StateManager.CommunicationsState;
/**
* Provide the singleton EventBus.
@ -37,20 +39,38 @@ final class CVTEvents {
private CVTEvents() {
}
/**
* Invoked when a change from the FiltersPanel occures.
*/
static final class FilterChangeEvent {
private final CommunicationsFilter newFilter;
private final DateControlState startControlState;
private final DateControlState endControlState;
CommunicationsFilter getNewFilter() {
return newFilter;
}
FilterChangeEvent(CommunicationsFilter newFilter) {
DateControlState getStartControlState() {
return startControlState;
}
DateControlState getEndControlState() {
return endControlState;
}
FilterChangeEvent(CommunicationsFilter newFilter, DateControlState startControlState, DateControlState endControlState) {
this.newFilter = newFilter;
this.startControlState = startControlState;
this.endControlState = endControlState;
}
}
/**
* Invoked when a change in the pinned accounts occures.
*/
static final class PinAccountsEvent {
private final ImmutableSet<AccountDeviceInstanceKey> accountDeviceInstances;
@ -70,6 +90,9 @@ final class CVTEvents {
}
}
/**
* Invoked when a change in the unpinned accounts occures.
*/
static final class UnpinAccountsEvent {
private final ImmutableSet<AccountDeviceInstanceKey> accountDeviceInstances;
@ -82,4 +105,34 @@ final class CVTEvents {
this.accountDeviceInstances = ImmutableSet.copyOf(accountDeviceInstances);
}
}
/**
* Invoked when there is a change in the state of the window.
*/
static final class StateChangeEvent {
private final CommunicationsState newState;
StateChangeEvent(CommunicationsState newState) {
this.newState = newState;
}
public CommunicationsState getCommunicationsState(){
return newState;
}
}
/**
* Invoked when change in the link analysis graph scale occures.
*/
static final class ScaleChangeEvent {
private final double scaleValue;
ScaleChangeEvent(double scaleValue) {
this.scaleValue = scaleValue;
}
public double getZoomValue(){
return scaleValue;
}
}
}

View File

@ -78,6 +78,7 @@ public final class CVTTopComponent extends TopComponent {
CVTEvents.getCVTEventBus().register(this);
CVTEvents.getCVTEventBus().register(vizPanel);
CVTEvents.getCVTEventBus().register(accountsBrowser);
CVTEvents.getCVTEventBus().register(filtersPane);
}
@Subscribe

View File

@ -19,12 +19,15 @@
package org.sleuthkit.autopsy.communications;
import com.google.common.collect.ImmutableSet;
import com.google.common.eventbus.Subscribe;
import java.awt.event.ItemListener;
import java.beans.PropertyChangeListener;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Collection;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Level;
@ -262,6 +265,82 @@ final public class FiltersPanel extends JPanel {
}
}
/**
* Given a list of subFilters, set the states of the panel controls
* accordingly.
*
* @param subFilters A list of subFilters
*/
public void setFilters(CommunicationsFilter commFilter) {
List<CommunicationsFilter.SubFilter> subFilters = commFilter.getAndFilters();
subFilters.forEach(subFilter -> {
if( subFilter instanceof DeviceFilter ) {
setDeviceFilter((DeviceFilter)subFilter);
} else if( subFilter instanceof AccountTypeFilter) {
setAccountTypeFilter((AccountTypeFilter) subFilter);
}
});
}
/**
* Sets the state of the device filter checkboxes
*
* @param deviceFilter Selected devices
*/
private void setDeviceFilter(DeviceFilter deviceFilter) {
Collection<String> deviceIDs = deviceFilter.getDevices();
devicesMap.forEach((type, cb) -> {
cb.setSelected(deviceIDs.contains(type));
});
}
/**
* Set the state of the account type checkboxes to match the passed in filter
*
* @param typeFilter Account Types to be selected
*/
private void setAccountTypeFilter(AccountTypeFilter typeFilter){
accountTypeMap.forEach((type, cb) -> {
cb.setSelected(typeFilter.getAccountTypes().contains(type));
});
}
/**
* Set up the startDatePicker and startCheckBox based on the passed in
* DateControlState.
*
* @param state new control state
*/
private void setStartDateControlState(DateControlState state) {
startDatePicker.setDate(state.getDate());
startCheckBox.setSelected(state.isEnabled());
startDatePicker.setEnabled(state.isEnabled());
}
/**
* Set up the endDatePicker and endCheckBox based on the passed in
* DateControlState.
*
* @param state new control state
*/
private void setEndDateControlState(DateControlState state) {
endDatePicker.setDate(state.getDate());
endCheckBox.setSelected(state.isEnabled());
endDatePicker.setEnabled(state.isEnabled());
}
@Subscribe
void filtersBack(CVTEvents.StateChangeEvent event) {
if(event.getCommunicationsState().getCommunicationsFilter() != null){
setFilters(event.getCommunicationsState().getCommunicationsFilter());
setStartDateControlState(event.getCommunicationsState().getStartControlState());
setEndDateControlState(event.getCommunicationsState().getEndControlState());
needsRefresh = false;
validateFilters();
}
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
@ -504,12 +583,17 @@ final public class FiltersPanel extends JPanel {
* Post an event with the new filters.
*/
private void applyFilters() {
CVTEvents.getCVTEventBus().post(new CVTEvents.FilterChangeEvent(getFilter()));
CVTEvents.getCVTEventBus().post(new CVTEvents.FilterChangeEvent(getFilter(), getStartControlState(), getEndControlState()));
needsRefresh = false;
validateFilters();
}
private CommunicationsFilter getFilter() {
/**
* Get an instance of CommunicationsFilters base on the current panel state.
*
* @return an instance of CommunicationsFilter
*/
protected CommunicationsFilter getFilter() {
CommunicationsFilter commsFilter = new CommunicationsFilter();
commsFilter.addAndFilter(getDeviceFilter());
commsFilter.addAndFilter(getAccountTypeFilter());
@ -554,9 +638,17 @@ final public class FiltersPanel extends JPanel {
*/
private DateRangeFilter getDateRangeFilter() {
ZoneId zone = Utils.getUserPreferredZoneId();
long start = startDatePicker.isEnabled() ? startDatePicker.getDate().atStartOfDay(zone).toEpochSecond() : 0;
long end = endDatePicker.isEnabled() ? endDatePicker.getDate().atStartOfDay(zone).toEpochSecond() : 0;
return new DateRangeFilter(start, end);
return new DateRangeFilter( startCheckBox.isSelected() ? startDatePicker.getDate().atStartOfDay(zone).toEpochSecond() : 0,
endCheckBox.isSelected() ? endDatePicker.getDate().atStartOfDay(zone).toEpochSecond() : 0);
}
private DateControlState getStartControlState() {
return new DateControlState (startDatePicker.getDate(), startCheckBox.isSelected());
}
private DateControlState getEndControlState() {
return new DateControlState (endDatePicker.getDate(), endCheckBox.isSelected());
}
/**
@ -630,6 +722,46 @@ final public class FiltersPanel extends JPanel {
endDatePicker.setEnabled(endCheckBox.isSelected());
}//GEN-LAST:event_endCheckBoxStateChanged
/**
* A class to wrap the state of the date controls that consist of a date picker
* and a checkbox.
*
*/
final class DateControlState {
private final LocalDate date;
private final boolean enabled;
/**
* Wraps the state of the date controls that consist of a date picker
* and checkbox
*
* @param date LocalDate value of the datepicker
* @param enabled State of the checkbox
*/
protected DateControlState(LocalDate date, boolean enabled) {
this.date = date;
this.enabled = enabled;
}
/**
* Returns the given LocalDate from the datepicker
*
* @return Current state LocalDate
*/
public LocalDate getDate(){
return date;
}
/**
* Returns the given state of the datepicker checkbox
*
* @return boolean, whether or not the datepicker was enabled
*/
public boolean isEnabled() {
return enabled;
}
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private final javax.swing.JPanel accountTypePane = new javax.swing.JPanel();

View File

@ -57,7 +57,7 @@ class PinnedAccountModel {
*
* @param accountDeviceInstances The accounts to unpin.
*/
void unpinAccount(ImmutableSet<AccountDeviceInstanceKey> accountDeviceInstances) {
void unpinAccount(Set<AccountDeviceInstanceKey> accountDeviceInstances) {
pinnedAccountDevices.removeAll(accountDeviceInstances);
}
@ -68,7 +68,7 @@ class PinnedAccountModel {
*
* @param accountDeviceInstances The accounts to pin.
*/
void pinAccount(ImmutableSet<AccountDeviceInstanceKey> accountDeviceInstances) {
void pinAccount(Set<AccountDeviceInstanceKey> accountDeviceInstances) {
pinnedAccountDevices.addAll(accountDeviceInstances);
}
@ -86,7 +86,7 @@ class PinnedAccountModel {
pinnedAccountDevices.clear();
}
Iterable<AccountDeviceInstanceKey> getPinnedAccounts() {
ImmutableSet<AccountDeviceInstanceKey> getPinnedAccounts() {
return ImmutableSet.copyOf(pinnedAccountDevices);
}

View File

@ -0,0 +1,216 @@
/*
* Autopsy Forensic Browser
*
* Copyright 2019 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.communications;
import com.google.common.eventbus.Subscribe;
import java.util.HashSet;
import java.util.Set;
import org.sleuthkit.autopsy.communications.FiltersPanel.DateControlState;
import org.sleuthkit.autopsy.coreutils.History;
import org.sleuthkit.datamodel.CommunicationsFilter;
/**
* Manages the state history for the Communications window. History is currently
* maintained for the CommunicationsFilter, the List of pinned accounts and the
* scale value of the graph.
*/
final class StateManager {
private final History<CommunicationsState> historyManager = new History<>();
private CommunicationsFilter comFilter;
private final PinnedAccountModel pinModel;
private DateControlState currentStartState;
private DateControlState currentEndState;
/**
* Manages the state history for the Communications window.
*
* @param pinModel PinnedACcountModel
*/
public StateManager(PinnedAccountModel pinModel){
this.pinModel = pinModel;
CVTEvents.getCVTEventBus().register(this);
}
@Subscribe
void pinAccount(CVTEvents.PinAccountsEvent pinEvent) {
if(pinEvent.isReplace()){
HashSet<AccountDeviceInstanceKey> pinnedList = new HashSet<>();
pinnedList.addAll(pinEvent.getAccountDeviceInstances());
historyManager.advance(new CommunicationsState(comFilter, pinnedList, -1, currentStartState, currentEndState));
} else {
HashSet<AccountDeviceInstanceKey> pinnedList = new HashSet<>();
pinnedList.addAll(pinEvent.getAccountDeviceInstances());
pinnedList.addAll(pinModel.getPinnedAccounts());
historyManager.advance(new CommunicationsState( comFilter, pinnedList, -1, currentStartState, currentEndState));
}
}
@Subscribe
void filterChange(CVTEvents.FilterChangeEvent filterEvent) {
comFilter = filterEvent.getNewFilter();
currentStartState = filterEvent.getStartControlState();
currentEndState = filterEvent.getEndControlState();
historyManager.advance(new CommunicationsState(comFilter, pinModel.getPinnedAccounts(), -1, currentStartState, currentEndState));
}
@Subscribe
void unpinAccounts(CVTEvents.UnpinAccountsEvent pinEvent) {
HashSet<AccountDeviceInstanceKey> pinnedList = new HashSet<>();
pinnedList.addAll(pinModel.getPinnedAccounts());
pinnedList.removeAll(pinEvent.getAccountDeviceInstances());
historyManager.advance(new CommunicationsState(comFilter, pinnedList, -1, currentStartState, currentEndState));
}
@Subscribe
void zoomedGraph(CVTEvents.ScaleChangeEvent zoomEvent) {
historyManager.advance(new CommunicationsState(comFilter, pinModel.getPinnedAccounts(), zoomEvent.getZoomValue(), currentStartState, currentEndState));
}
/**
* Returns the next state object in the history.
*
* @return CommunicationsState or null if canRetreat is null
*/
public CommunicationsState retreat(){
if(canRetreat()) {
return historyManager.retreat();
} else {
return null;
}
}
/**
* Returns the next state object in the forward history.
*
* @return CommunicationsState or null if canAdvance is null
*/
public CommunicationsState advance() {
if(canAdvance()) {
return historyManager.advance();
} else {
return null;
}
}
/**
* Returns true if there is a history of states.
*
* @return boolean
*/
public boolean canRetreat() {
return historyManager.canRetreat();
}
/**
* Returns true if there is history to advance too.
*
* @return
*/
public boolean canAdvance(){
return historyManager.canAdvance();
}
/**
* Object to store one instance of the state of the Communications window.
*/
final class CommunicationsState{
private final CommunicationsFilter communcationFilter;
private final Set<AccountDeviceInstanceKey> pinnedList;
private final double zoomValue;
private final DateControlState startDateState;
private final DateControlState endDateState;
/**
* Stores all the properties of the current state of the Communications
* window.
*
* @param communcationFilter Instance of CommunicationsFilter
* @param pinnedList Set of AccountDeviceInstanceKey
* @param zoomValue Double value of the current graph scale
*/
protected CommunicationsState(CommunicationsFilter communcationFilter,
Set<AccountDeviceInstanceKey> pinnedList, double zoomValue,
DateControlState startDateState, DateControlState endDateState){
this.pinnedList = pinnedList;
this.communcationFilter = communcationFilter;
this.zoomValue = zoomValue;
this.startDateState = startDateState;
this.endDateState = endDateState;
}
/**
* Return whether or not this state contains a zoom change
*
* @return boolean
*/
public boolean isZoomChange() {
return (zoomValue != -1);
}
/**
* Returns a list of the currently pinned accounts.
*
* @return Set of AccountDeviceInstanceKey
*/
public Set<AccountDeviceInstanceKey> getPinnedList(){
return pinnedList;
}
/**
* Return a new CommunicationsFilter object based on the list of
* SubFilters
*
* @return CommunicationsFilter
*/
public CommunicationsFilter getCommunicationsFilter() {
return communcationFilter;
}
/**
* Return the value for the % zoom.
*
* @return double value % zoom or -1 if zoom did not change
*/
public double getZoomValue() {
return zoomValue;
}
/**
* Returns the state for the start date picker.
*
* @return Start DateControlState
*/
public DateControlState getStartControlState() {
return startDateState;
}
/**
* Returns the state for the end date picker.
*
* @return Etart DateControlState
*/
public DateControlState getEndControlState() {
return endDateState;
}
}
}

View File

@ -11,7 +11,7 @@
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
<AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,0,-93,0,0,4,-19"/>
<AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,0,121,0,0,4,-59"/>
</AuxValues>
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
@ -49,9 +49,9 @@
<DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<EmptySpace pref="268" max="32767" attributes="0"/>
<EmptySpace pref="250" max="32767" attributes="0"/>
<Component id="jTextArea1" min="-2" pref="424" max="-2" attributes="0"/>
<EmptySpace pref="445" max="32767" attributes="0"/>
<EmptySpace pref="423" max="32767" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
@ -93,32 +93,28 @@
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<EmptySpace max="-2" attributes="0"/>
<Component id="clearVizButton" min="-2" max="-2" attributes="0"/>
<EmptySpace min="-2" pref="3" max="-2" attributes="0"/>
<Component id="jSeparator1" min="-2" pref="10" max="-2" attributes="0"/>
<EmptySpace min="-2" pref="5" max="-2" attributes="0"/>
<Component id="jLabel1" min="-2" max="-2" attributes="0"/>
<Component id="backButton" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="forwardButton" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="jSeparator4" min="-2" pref="10" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="fastOrganicLayoutButton" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="organicLayoutButton" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="hierarchyLayoutButton" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="circleLayoutButton" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="clearVizButton" min="-2" max="-2" attributes="0"/>
<EmptySpace min="-2" max="-2" attributes="0"/>
<Component id="jSeparator2" min="-2" pref="10" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<EmptySpace min="-2" max="-2" attributes="0"/>
<Component id="jLabel2" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<EmptySpace min="-2" max="-2" attributes="0"/>
<Component id="zoomLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<EmptySpace min="-2" max="-2" attributes="0"/>
<Component id="zoomOutButton" min="-2" pref="32" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<EmptySpace min="-2" max="-2" attributes="0"/>
<Component id="zoomInButton" min="-2" pref="32" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<EmptySpace min="-2" max="-2" attributes="0"/>
<Component id="zoomActualButton" min="-2" pref="33" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<EmptySpace min="-2" max="-2" attributes="0"/>
<Component id="fitZoomButton" min="-2" pref="32" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="jSeparator3" min="-2" pref="10" max="-2" attributes="0"/>
@ -133,12 +129,7 @@
<Group type="102" attributes="0">
<EmptySpace min="-2" pref="3" max="-2" attributes="0"/>
<Group type="103" groupAlignment="2" attributes="0">
<Component id="jLabel1" alignment="2" min="-2" pref="25" max="-2" attributes="0"/>
<Component id="hierarchyLayoutButton" alignment="2" min="-2" max="-2" attributes="0"/>
<Component id="fastOrganicLayoutButton" alignment="2" min="-2" max="-2" attributes="0"/>
<Component id="organicLayoutButton" alignment="2" min="-2" max="-2" attributes="0"/>
<Component id="circleLayoutButton" alignment="2" min="-2" max="-2" attributes="0"/>
<Component id="jSeparator1" alignment="2" max="32767" attributes="0"/>
<Component id="zoomOutButton" alignment="2" min="-2" max="-2" attributes="0"/>
<Component id="zoomInButton" alignment="2" max="32767" attributes="0"/>
<Component id="zoomActualButton" alignment="2" max="32767" attributes="0"/>
@ -147,8 +138,11 @@
<Component id="zoomLabel" alignment="2" min="-2" max="-2" attributes="0"/>
<Component id="clearVizButton" alignment="2" min="-2" max="-2" attributes="0"/>
<Component id="jSeparator2" alignment="2" max="32767" attributes="0"/>
<Component id="backButton" alignment="2" min="-2" max="-2" attributes="0"/>
<Component id="forwardButton" alignment="2" min="-2" max="-2" attributes="0"/>
<Component id="snapshotButton" alignment="2" min="-2" max="-2" attributes="0"/>
<Component id="jSeparator3" alignment="2" max="32767" attributes="0"/>
<Component id="jSeparator4" alignment="2" max="32767" attributes="0"/>
</Group>
<EmptySpace min="-2" pref="3" max="-2" attributes="0"/>
</Group>
@ -156,58 +150,21 @@
</DimensionLayout>
</Layout>
<SubComponents>
<Component class="javax.swing.JLabel" name="jLabel1">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/communications/Bundle.properties" key="VisualizationPanel.jLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
<Component class="javax.swing.JButton" name="hierarchyLayoutButton">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/communications/Bundle.properties" key="VisualizationPanel.hierarchyLayoutButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
<Property name="focusable" type="boolean" value="false"/>
<Property name="horizontalTextPosition" type="int" value="0"/>
<Property name="verticalTextPosition" type="int" value="3"/>
</Properties>
</Component>
<Component class="javax.swing.JButton" name="fastOrganicLayoutButton">
<Properties>
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
<Image iconType="3" name="/org/sleuthkit/autopsy/communications/images/arrow-circle-double-135.png"/>
</Property>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/communications/Bundle.properties" key="VisualizationPanel.fastOrganicLayoutButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
<Property name="focusable" type="boolean" value="false"/>
<Property name="horizontalTextPosition" type="int" value="0"/>
<Property name="verticalTextPosition" type="int" value="3"/>
</Properties>
</Component>
<Component class="javax.swing.JButton" name="organicLayoutButton">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/communications/Bundle.properties" key="VisualizationPanel.organicLayoutButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/communications/Bundle.properties" key="VisualizationPanel.fastOrganicLayoutButton.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
<Property name="focusable" type="boolean" value="false"/>
<Property name="horizontalTextPosition" type="int" value="0"/>
<Property name="verticalTextPosition" type="int" value="3"/>
</Properties>
</Component>
<Component class="javax.swing.JButton" name="circleLayoutButton">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/communications/Bundle.properties" key="VisualizationPanel.circleLayoutButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
<Property name="focusable" type="boolean" value="false"/>
<Property name="horizontalTextPosition" type="int" value="0"/>
<Property name="verticalTextPosition" type="int" value="3"/>
</Properties>
</Component>
<Component class="javax.swing.JToolBar$Separator" name="jSeparator1">
<Properties>
<Property name="orientation" type="int" value="1"/>
</Properties>
</Component>
<Component class="javax.swing.JButton" name="zoomOutButton">
<Properties>
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
@ -306,6 +263,12 @@
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/communications/Bundle.properties" key="VisualizationPanel.clearVizButton.text_1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/communications/Bundle.properties" key="VisualizationPanel.clearVizButton.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
<Property name="actionCommand" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/communications/Bundle.properties" key="VisualizationPanel.clearVizButton.actionCommand" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="clearVizButtonActionPerformed"/>
@ -316,6 +279,39 @@
<Property name="orientation" type="int" value="1"/>
</Properties>
</Component>
<Component class="javax.swing.JButton" name="backButton">
<Properties>
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
<Image iconType="3" name="/org/sleuthkit/autopsy/images/resultset_previous.png"/>
</Property>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/communications/Bundle.properties" key="VisualizationPanel.backButton.text_1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/communications/Bundle.properties" key="VisualizationPanel.backButton.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="backButtonActionPerformed"/>
</Events>
</Component>
<Component class="javax.swing.JButton" name="forwardButton">
<Properties>
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
<Image iconType="3" name="/org/sleuthkit/autopsy/images/resultset_next.png"/>
</Property>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/communications/Bundle.properties" key="VisualizationPanel.forwardButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/communications/Bundle.properties" key="VisualizationPanel.forwardButton.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
<Property name="horizontalTextPosition" type="int" value="10"/>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="forwardButtonActionPerformed"/>
</Events>
</Component>
<Component class="javax.swing.JButton" name="snapshotButton">
<Properties>
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
@ -334,6 +330,11 @@
<Property name="orientation" type="int" value="1"/>
</Properties>
</Component>
<Component class="javax.swing.JToolBar$Separator" name="jSeparator4">
<Properties>
<Property name="orientation" type="int" value="1"/>
</Properties>
</Component>
</SubComponents>
</Container>
<Container class="javafx.embed.swing.JFXPanel" name="notificationsJFXPanel">

View File

@ -41,7 +41,6 @@ import com.mxgraph.view.mxGraph;
import com.mxgraph.view.mxGraphView;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Desktop;
import java.awt.Dimension;
import java.awt.Font;
@ -156,6 +155,8 @@ final public class VisualizationPanel extends JPanel {
private final RelationshipBrowser relationshipBrowser;
private final StateManager stateManager;
@NbBundle.Messages("VisalizationPanel.paintingError=Problem painting visualization.")
public VisualizationPanel() {
initComponents();
@ -230,10 +231,6 @@ final public class VisualizationPanel extends JPanel {
graph.getView().addListener(mxEvent.UNDO, undoListener);
FastOrganicLayoutImpl fastOrganicLayout = new FastOrganicLayoutImpl(graph);
CircleLayoutImpl circleLayout = new CircleLayoutImpl(graph);
OrganicLayoutImpl organicLayout = new OrganicLayoutImpl(graph);
organicLayout.setMaxIterations(10);
HierarchicalLayoutImpl hierarchyLayout = new HierarchicalLayoutImpl(graph);
//local method to configure layout buttons
BiConsumer<JButton, NamedGraphLayout> configure = (layoutButton, layout) -> {
@ -241,12 +238,13 @@ final public class VisualizationPanel extends JPanel {
layoutButton.addActionListener(event -> applyLayout(layout));
};
//configure layout buttons.
configure.accept(circleLayoutButton, circleLayout);
configure.accept(organicLayoutButton, organicLayout);
configure.accept(fastOrganicLayoutButton, fastOrganicLayout);
configure.accept(hierarchyLayoutButton, hierarchyLayout);
applyLayout(fastOrganicLayout);
stateManager = new StateManager(pinnedAccountModel);
setStateButtonsEnabled();
}
@Subscribe
@ -270,6 +268,8 @@ final public class VisualizationPanel extends JPanel {
rebuildGraph();
// Updates the display
graph.getModel().endUpdate();
setStateButtonsEnabled();
}
@Subscribe
@ -282,6 +282,8 @@ final public class VisualizationPanel extends JPanel {
rebuildGraph();
// Updates the display
graph.getModel().endUpdate();
setStateButtonsEnabled();
}
@Subscribe
@ -292,6 +294,8 @@ final public class VisualizationPanel extends JPanel {
rebuildGraph();
// Updates the display
graph.getModel().endUpdate();
setStateButtonsEnabled();
}
@ThreadConfined(type = ThreadConfined.ThreadType.AWT)
@ -333,9 +337,9 @@ final public class VisualizationPanel extends JPanel {
try {
commsManager = Case.getCurrentCaseThrows().getSleuthkitCase().getCommunicationsManager();
} catch (TskCoreException ex) {
logger.log(Level.SEVERE, "Error getting CommunicationsManager for the current case.", ex);
logger.log(Level.SEVERE, "Error getting CommunicationsManager for the current case.", ex); //NON-NLS
} catch (NoCurrentCaseException ex) {
logger.log(Level.SEVERE, "Can't get CommunicationsManager when there is no case open.", ex);
logger.log(Level.SEVERE, "Can't get CommunicationsManager when there is no case open.", ex); //NON-NLS
}
Case.addEventTypeSubscriber(EnumSet.of(Case.Events.CURRENT_CASE), evt -> {
@ -352,7 +356,7 @@ final public class VisualizationPanel extends JPanel {
try {
commsManager = currentCase.getSleuthkitCase().getCommunicationsManager();
} catch (TskCoreException ex) {
logger.log(Level.SEVERE, "Error getting CommunicationsManager for the current case.", ex);
logger.log(Level.SEVERE, "Error getting CommunicationsManager for the current case.", ex); //NON-NLS
}
}
});
@ -372,12 +376,7 @@ final public class VisualizationPanel extends JPanel {
placeHolderPanel = new JPanel();
jTextArea1 = new JTextArea();
toolbar = new JPanel();
jLabel1 = new JLabel();
hierarchyLayoutButton = new JButton();
fastOrganicLayoutButton = new JButton();
organicLayoutButton = new JButton();
circleLayoutButton = new JButton();
jSeparator1 = new JToolBar.Separator();
zoomOutButton = new JButton();
zoomInButton = new JButton();
zoomActualButton = new JButton();
@ -386,8 +385,11 @@ final public class VisualizationPanel extends JPanel {
zoomLabel = new JLabel();
clearVizButton = new JButton();
jSeparator2 = new JToolBar.Separator();
backButton = new JButton();
forwardButton = new JButton();
snapshotButton = new JButton();
jSeparator3 = new JToolBar.Separator();
jSeparator4 = new JToolBar.Separator();
notificationsJFXPanel = new JFXPanel();
setLayout(new BorderLayout());
@ -407,9 +409,9 @@ final public class VisualizationPanel extends JPanel {
placeHolderPanel.setLayout(placeHolderPanelLayout);
placeHolderPanelLayout.setHorizontalGroup(placeHolderPanelLayout.createParallelGroup(GroupLayout.LEADING)
.add(placeHolderPanelLayout.createSequentialGroup()
.addContainerGap(268, Short.MAX_VALUE)
.addContainerGap(250, Short.MAX_VALUE)
.add(jTextArea1, GroupLayout.PREFERRED_SIZE, 424, GroupLayout.PREFERRED_SIZE)
.addContainerGap(445, Short.MAX_VALUE))
.addContainerGap(423, Short.MAX_VALUE))
);
placeHolderPanelLayout.setVerticalGroup(placeHolderPanelLayout.createParallelGroup(GroupLayout.LEADING)
.add(placeHolderPanelLayout.createSequentialGroup()
@ -420,30 +422,12 @@ final public class VisualizationPanel extends JPanel {
borderLayoutPanel.add(placeHolderPanel, BorderLayout.CENTER);
jLabel1.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.jLabel1.text")); // NOI18N
hierarchyLayoutButton.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.hierarchyLayoutButton.text")); // NOI18N
hierarchyLayoutButton.setFocusable(false);
hierarchyLayoutButton.setHorizontalTextPosition(SwingConstants.CENTER);
hierarchyLayoutButton.setVerticalTextPosition(SwingConstants.BOTTOM);
fastOrganicLayoutButton.setIcon(new ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/communications/images/arrow-circle-double-135.png"))); // NOI18N
fastOrganicLayoutButton.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.fastOrganicLayoutButton.text")); // NOI18N
fastOrganicLayoutButton.setToolTipText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.fastOrganicLayoutButton.toolTipText")); // NOI18N
fastOrganicLayoutButton.setFocusable(false);
fastOrganicLayoutButton.setHorizontalTextPosition(SwingConstants.CENTER);
fastOrganicLayoutButton.setVerticalTextPosition(SwingConstants.BOTTOM);
organicLayoutButton.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.organicLayoutButton.text")); // NOI18N
organicLayoutButton.setFocusable(false);
organicLayoutButton.setHorizontalTextPosition(SwingConstants.CENTER);
organicLayoutButton.setVerticalTextPosition(SwingConstants.BOTTOM);
circleLayoutButton.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.circleLayoutButton.text")); // NOI18N
circleLayoutButton.setFocusable(false);
circleLayoutButton.setHorizontalTextPosition(SwingConstants.CENTER);
circleLayoutButton.setVerticalTextPosition(SwingConstants.BOTTOM);
jSeparator1.setOrientation(SwingConstants.VERTICAL);
zoomOutButton.setIcon(new ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/communications/images/magnifier-zoom-out-red.png"))); // NOI18N
zoomOutButton.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.zoomOutButton.text")); // NOI18N
zoomOutButton.setToolTipText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.zoomOutButton.toolTipText")); // NOI18N
@ -498,6 +482,8 @@ final public class VisualizationPanel extends JPanel {
clearVizButton.setIcon(new ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/communications/images/broom.png"))); // NOI18N
clearVizButton.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.clearVizButton.text_1")); // NOI18N
clearVizButton.setToolTipText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.clearVizButton.toolTipText")); // NOI18N
clearVizButton.setActionCommand(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.clearVizButton.actionCommand")); // NOI18N
clearVizButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
clearVizButtonActionPerformed(evt);
@ -506,6 +492,25 @@ final public class VisualizationPanel extends JPanel {
jSeparator2.setOrientation(SwingConstants.VERTICAL);
backButton.setIcon(new ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/resultset_previous.png"))); // NOI18N
backButton.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.backButton.text_1")); // NOI18N
backButton.setToolTipText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.backButton.toolTipText")); // NOI18N
backButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
backButtonActionPerformed(evt);
}
});
forwardButton.setIcon(new ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/resultset_next.png"))); // NOI18N
forwardButton.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.forwardButton.text")); // NOI18N
forwardButton.setToolTipText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.forwardButton.toolTipText")); // NOI18N
forwardButton.setHorizontalTextPosition(SwingConstants.LEADING);
forwardButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
forwardButtonActionPerformed(evt);
}
});
snapshotButton.setIcon(new ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/report/images/image.png"))); // NOI18N
snapshotButton.setText(NbBundle.getMessage(VisualizationPanel.class, "VisualizationPanel.snapshotButton.text_1")); // NOI18N
snapshotButton.addActionListener(new ActionListener() {
@ -516,24 +521,22 @@ final public class VisualizationPanel extends JPanel {
jSeparator3.setOrientation(SwingConstants.VERTICAL);
jSeparator4.setOrientation(SwingConstants.VERTICAL);
GroupLayout toolbarLayout = new GroupLayout(toolbar);
toolbar.setLayout(toolbarLayout);
toolbarLayout.setHorizontalGroup(toolbarLayout.createParallelGroup(GroupLayout.LEADING)
.add(toolbarLayout.createSequentialGroup()
.addContainerGap()
.add(clearVizButton)
.add(3, 3, 3)
.add(jSeparator1, GroupLayout.PREFERRED_SIZE, 10, GroupLayout.PREFERRED_SIZE)
.add(5, 5, 5)
.add(jLabel1)
.add(backButton)
.addPreferredGap(LayoutStyle.RELATED)
.add(forwardButton)
.addPreferredGap(LayoutStyle.RELATED)
.add(jSeparator4, GroupLayout.PREFERRED_SIZE, 10, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(LayoutStyle.RELATED)
.add(fastOrganicLayoutButton)
.addPreferredGap(LayoutStyle.RELATED)
.add(organicLayoutButton)
.addPreferredGap(LayoutStyle.RELATED)
.add(hierarchyLayoutButton)
.addPreferredGap(LayoutStyle.RELATED)
.add(circleLayoutButton)
.add(clearVizButton)
.addPreferredGap(LayoutStyle.RELATED)
.add(jSeparator2, GroupLayout.PREFERRED_SIZE, 10, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(LayoutStyle.RELATED)
@ -558,12 +561,7 @@ final public class VisualizationPanel extends JPanel {
.add(toolbarLayout.createSequentialGroup()
.add(3, 3, 3)
.add(toolbarLayout.createParallelGroup(GroupLayout.CENTER)
.add(jLabel1, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE)
.add(hierarchyLayoutButton)
.add(fastOrganicLayoutButton)
.add(organicLayoutButton)
.add(circleLayoutButton)
.add(jSeparator1, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(zoomOutButton)
.add(zoomInButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(zoomActualButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
@ -572,8 +570,11 @@ final public class VisualizationPanel extends JPanel {
.add(zoomLabel)
.add(clearVizButton)
.add(jSeparator2, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(backButton)
.add(forwardButton)
.add(snapshotButton)
.add(jSeparator3, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.add(jSeparator3, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(jSeparator4, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.add(3, 3, 3))
);
@ -591,14 +592,17 @@ final public class VisualizationPanel extends JPanel {
private void zoomActualButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_zoomActualButtonActionPerformed
graphComponent.zoomActual();
CVTEvents.getCVTEventBus().post(new CVTEvents.ScaleChangeEvent(graph.getView().getScale()));
}//GEN-LAST:event_zoomActualButtonActionPerformed
private void zoomInButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_zoomInButtonActionPerformed
graphComponent.zoomIn();
CVTEvents.getCVTEventBus().post(new CVTEvents.ScaleChangeEvent(graph.getView().getScale()));
}//GEN-LAST:event_zoomInButtonActionPerformed
private void zoomOutButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_zoomOutButtonActionPerformed
graphComponent.zoomOut();
CVTEvents.getCVTEventBus().post(new CVTEvents.ScaleChangeEvent(graph.getView().getScale()));
}//GEN-LAST:event_zoomOutButtonActionPerformed
/**
@ -640,30 +644,66 @@ final public class VisualizationPanel extends JPanel {
get();
} catch (InterruptedException | ExecutionException ex) {
logger.log(Level.WARNING, "CVT graph layout failed.", ex);
String message = (lockedVertexModel.isEmpty())
? Bundle.VisualizationPanel_layoutFail_text(layout.getDisplayName())
: Bundle.VisualizationPanel_layoutFailWithLockedVertices_text(layout.getDisplayName());
Platform.runLater(()
-> Notifications.create().owner(notificationsJFXPanel.getScene().getWindow())
.text(message)
.showWarning()
);
}
}
}.execute();
}
private void clearVizButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_clearVizButtonActionPerformed
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
CVTEvents.getCVTEventBus().post(new CVTEvents.UnpinAccountsEvent(pinnedAccountModel.getPinnedAccounts()));
}//GEN-LAST:event_clearVizButtonActionPerformed
private void forwardButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_forwardButtonActionPerformed
handleStateChange(stateManager.advance());
}//GEN-LAST:event_forwardButtonActionPerformed
private void backButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_backButtonActionPerformed
handleStateChange(stateManager.retreat());
}//GEN-LAST:event_backButtonActionPerformed
/**
* Manages the redo and undo actions.
*
* @param newState a CommunicationsState
*/
private void handleStateChange(StateManager.CommunicationsState newState ){
if(newState == null) {
return;
}
// If the zoom was changed, only change the zoom.
if(newState.isZoomChange()) {
graph.getView().setScale(newState.getZoomValue());
return;
}
// This will cause the FilterPane to update its controls
CVTEvents.getCVTEventBus().post(new CVTEvents.StateChangeEvent(newState));
setStateButtonsEnabled();
graph.getModel().beginUpdate();
pinnedAccountModel.clear();
graph.clear();
graph.resetGraph();
if(newState.getPinnedList() != null) {
pinnedAccountModel.pinAccount(newState.getPinnedList());
} else {
pinnedAccountModel.clear();
}
currentFilter = newState.getCommunicationsFilter();
rebuildGraph();
// Updates the display
graph.getModel().endUpdate();
setCursor(Cursor.getDefaultCursor());
}//GEN-LAST:event_clearVizButtonActionPerformed
fitGraph();
}
private void setStateButtonsEnabled() {
backButton.setEnabled(stateManager.canRetreat());
forwardButton.setEnabled(stateManager.canAdvance());
}
@NbBundle.Messages({
"VisualizationPanel_snapshot_report_failure=Snapshot report not created. An error occurred during creation."
@ -834,20 +874,18 @@ final public class VisualizationPanel extends JPanel {
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private JButton backButton;
private JPanel borderLayoutPanel;
private JButton circleLayoutButton;
private JButton clearVizButton;
private JButton fastOrganicLayoutButton;
private JButton fitZoomButton;
private JButton hierarchyLayoutButton;
private JLabel jLabel1;
private JButton forwardButton;
private JLabel jLabel2;
private JToolBar.Separator jSeparator1;
private JToolBar.Separator jSeparator2;
private JToolBar.Separator jSeparator3;
private JToolBar.Separator jSeparator4;
private JTextArea jTextArea1;
private JFXPanel notificationsJFXPanel;
private JButton organicLayoutButton;
private JPanel placeHolderPanel;
private JButton snapshotButton;
private JSplitPane splitPane;
@ -1062,6 +1100,8 @@ final public class VisualizationPanel extends JPanel {
} else if (event.getPreciseWheelRotation() > 0) {
graphComponent.zoomOut();
}
CVTEvents.getCVTEventBus().post(new CVTEvents.ScaleChangeEvent(graph.getView().getScale()));
}
/**

Binary file not shown.

After

Width:  |  Height:  |  Size: 395 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 389 B

View File

@ -58,6 +58,7 @@ import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
import org.sleuthkit.autopsy.coreutils.ExecUtil;
import org.sleuthkit.autopsy.coreutils.ExecUtil.ProcessTerminator;
import org.sleuthkit.autopsy.coreutils.FileUtil;
import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.autopsy.coreutils.PlatformUtil;
import org.sleuthkit.autopsy.textextractors.configs.ImageConfig;
import org.sleuthkit.autopsy.datamodel.ContentUtils;
@ -118,7 +119,8 @@ final class TikaTextExtractor implements TextExtractor {
"application/x-z", //NON-NLS
"application/x-compress"); //NON-NLS
private static final java.util.logging.Logger tikaLogger = java.util.logging.Logger.getLogger("Tika"); //NON-NLS
private static final java.util.logging.Logger TIKA_LOGGER = java.util.logging.Logger.getLogger("Tika"); //NON-NLS
private static final Logger AUTOPSY_LOGGER = Logger.getLogger(TikaTextExtractor.class.getName());
private final ThreadFactory tikaThreadFactory
= new ThreadFactoryBuilder().setNameFormat("tika-reader-%d").build();
@ -242,7 +244,9 @@ final class TikaTextExtractor implements TextExtractor {
} catch (InitReaderException ex) {
throw ex;
} catch (Exception ex) {
tikaLogger.log(Level.WARNING, "Exception: Unable to Tika parse the "
AUTOPSY_LOGGER.log(Level.WARNING, String.format("Error with file [id=%d] %s, see Tika log for details...",
content.getId(), content.getName()));
TIKA_LOGGER.log(Level.WARNING, "Exception: Unable to Tika parse the "
+ "content" + content.getId() + ": " + content.getName(),
ex.getCause()); //NON-NLS
final String msg = NbBundle.getMessage(this.getClass(),

View File

@ -32,7 +32,7 @@ import org.sleuthkit.autopsy.timeline.TimeLineController;
//TODO: This and the corresponding imageanalyzer action are identical except for the type of the controller... abstract something! -jm
public class Back extends Action {
private static final Image BACK_IMAGE = new Image("/org/sleuthkit/autopsy/timeline/images/arrow-180.png", 16, 16, true, true, true); // NON-NLS
private static final Image BACK_IMAGE = new Image("/org/sleuthkit/autopsy/images/resultset_previous.png", 16, 16, true, true, true); // NON-NLS
private final TimeLineController controller;

View File

@ -32,7 +32,7 @@ import org.sleuthkit.autopsy.timeline.TimeLineController;
//TODO: This and the corresponding imageanalyzer action are identical except for the type of the controller... abstract something! -jm
public class Forward extends Action {
private static final Image FORWARD_IMAGE = new Image("/org/sleuthkit/autopsy/timeline/images/arrow.png", 16, 16, true, true, true); // NON-NLS
private static final Image FORWARD_IMAGE = new Image("/org/sleuthkit/autopsy/images/resultset_next.png", 16, 16, true, true, true); // NON-NLS
private final TimeLineController controller;

View File

@ -9,7 +9,7 @@
<!-- for ingest -->
<dependency conf="autopsy_core->*" org="org.reflections" name="reflections" rev="0.9.8"/>
<dependency org="com.google.code.gson" name="gson" rev="2.8.1"/>
<dependency org="com.google.code.gson" name="gson" rev="2.8.5"/>
<dependency org="com.apple" name="AppleJavaExtensions" rev="1.4"/>
<!-- for viewers -->
@ -32,8 +32,8 @@
<dependency conf="autopsy_core->*" org="commons-io" name="commons-io" rev="2.5"/>
<dependency conf="autopsy_core->*" org="log4j" name="log4j" rev="1.2.17"/>
<!-- <dependency conf="autopsy_core->*" org="org.jdom" name="jdom" rev="1.1.3"/> -->
<dependency conf="autopsy_core->*" org="org.apache.poi" name="poi-excelant" rev="3.17"/>
<dependency conf="autopsy_core->*" org="org.apache.poi" name="poi-scratchpad" rev="3.17"/>
<dependency conf="autopsy_core->*" org="org.apache.poi" name="poi-excelant" rev="4.0.1"/>
<dependency conf="autopsy_core->*" org="org.apache.poi" name="poi-scratchpad" rev="4.0.1"/>
<!-- process and system monitoring, note: matching native libs pulled from thirdparty -->
<dependency conf="autopsy_core->*" org="org.fusesource" name="sigar" rev="1.6.4" />

View File

@ -6,8 +6,9 @@ file.reference.avalon-framework-4.1.5.jar=release/modules/ext/avalon-framework-4
file.reference.common-image-3.2.jar=release/modules/ext/common-image-3.2.jar
file.reference.common-io-3.2.jar=release/modules/ext/common-io-3.2.jar
file.reference.common-lang-3.2.jar=release/modules/ext/common-lang-3.2.jar
file.reference.commons-codec-1.10.jar=release/modules/ext/commons-codec-1.10.jar
file.reference.commons-collections4-4.1.jar=release/modules/ext/commons-collections4-4.1.jar
file.reference.commons-codec-1.11.jar=release/modules/ext/commons-codec-1.11.jar
file.reference.commons-collections4-4.2.jar=release\\modules\\ext\\commons-collections4-4.2.jar
file.reference.commons-compress-1.18.jar=release/modules/ext/commons-compress-1.18.jar
file.reference.commons-csv-1.4.jar=release/modules/ext/commons-csv-1.4.jar
file.reference.commons-io-2.4.jar=release/modules/ext/commons-io-2.4.jar
file.reference.commons-io-2.5.jar=release/modules/ext/commons-io-2.5.jar
@ -22,7 +23,7 @@ file.reference.compiler-0.9.1.jar=release/modules/ext/compiler-0.9.1.jar
file.reference.controlsfx-8.40.11.jar=release/modules/ext/controlsfx-8.40.11.jar
file.reference.dom4j-1.6.1.jar=release/modules/ext/dom4j-1.6.1.jar
file.reference.geronimo-jms_1.1_spec-1.0.jar=release/modules/ext/geronimo-jms_1.1_spec-1.0.jar
file.reference.gson-2.8.1.jar=release/modules/ext/gson-2.8.1.jar
file.reference.gson-2.8.5.jar=release\\modules\\ext\\gson-2.8.5.jar
file.reference.gst1-java-core-1.0.0.jar=release\\modules\\ext\\gst1-java-core-1.0.0.jar
file.reference.jna-3.4.0.jar=release/modules/ext/jna-3.4.0.jar
file.reference.guava-19.0.jar=release/modules/ext/guava-19.0.jar
@ -60,20 +61,19 @@ file.reference.mail-1.4.3.jar=release/modules/ext/mail-1.4.3.jar
file.reference.opencv-248.jar=release/modules/ext/opencv-248.jar
file.reference.openjfx-dialogs-1.0.2.jar=release/modules/ext/openjfx-dialogs-1.0.3.jar
file.reference.platform-3.4.0.jar=release/modules/ext/platform-3.4.0.jar
file.reference.poi-3.17.jar=release/modules/ext/poi-3.17.jar
file.reference.poi-excelant-3.17.jar=release/modules/ext/poi-excelant-3.17.jar
file.reference.poi-ooxml-3.17.jar=release/modules/ext/poi-ooxml-3.17.jar
file.reference.poi-ooxml-schemas-3.17.jar=release/modules/ext/poi-ooxml-schemas-3.17.jar
file.reference.poi-scratchpad-3.17.jar=release/modules/ext/poi-scratchpad-3.17.jar
file.reference.poi-4.0.1.jar=release\\modules\\ext\\poi-4.0.1.jar
file.reference.poi-excelant-4.0.1.jar=release\\modules\\ext\\poi-excelant-4.0.1.jar
file.reference.poi-ooxml-4.0.1.jar=release\\modules\\ext\\poi-ooxml-4.0.1.jar
file.reference.poi-ooxml-schemas-4.0.1.jar=release\\modules\\ext\\poi-ooxml-schemas-4.0.1.jar
file.reference.poi-scratchpad-4.0.1.jar=release\\modules\\ext\\poi-scratchpad-4.0.1.jar
file.reference.reflections-0.9.8.jar=release/modules/ext/reflections-0.9.8.jar
file.reference.servlet-api-2.5.jar=release/modules/ext/servlet-api-2.5.jar
file.reference.sigar-1.6.4-sources.jar=release/modules/ext/sigar-1.6.4-sources.jar
file.reference.sigar-1.6.4.jar=release/modules/ext/sigar-1.6.4.jar
file.reference.slf4j-api-1.6.1.jar=release/modules/ext/slf4j-api-1.6.1.jar
file.reference.slf4j-simple-1.6.1.jar=release/modules/ext/slf4j-simple-1.6.1.jar
file.reference.stax-api-1.0.1.jar=release/modules/ext/stax-api-1.0.1.jar
file.reference.xml-apis-1.0.b2.jar=release/modules/ext/xml-apis-1.0.b2.jar
file.reference.xmlbeans-2.6.0.jar=release/modules/ext/xmlbeans-2.6.0.jar
file.reference.xmlbeans-3.0.2.jar=release/modules/ext/xmlbeans-3.0.2.jar
file.reference.dd-plist-1.20.jar=release/modules/ext/dd-plist-1.20.jar
javac.source=1.8
javac.compilerargs=-Xlint -Xlint:-serial

View File

@ -70,6 +70,24 @@
<package>com.google.gson.internal.bind.util</package>
<package>com.google.gson.reflect</package>
<package>com.google.gson.stream</package>
<package>com.microsoft.schemas.compatibility</package>
<package>com.microsoft.schemas.compatibility.impl</package>
<package>com.microsoft.schemas.office.excel</package>
<package>com.microsoft.schemas.office.excel.impl</package>
<package>com.microsoft.schemas.office.office</package>
<package>com.microsoft.schemas.office.office.impl</package>
<package>com.microsoft.schemas.office.visio.x2012.main</package>
<package>com.microsoft.schemas.office.visio.x2012.main.impl</package>
<package>com.microsoft.schemas.office.x2006.digsig</package>
<package>com.microsoft.schemas.office.x2006.digsig.impl</package>
<package>com.microsoft.schemas.office.x2006.encryption</package>
<package>com.microsoft.schemas.office.x2006.encryption.impl</package>
<package>com.microsoft.schemas.office.x2006.keyEncryptor.certificate</package>
<package>com.microsoft.schemas.office.x2006.keyEncryptor.certificate.impl</package>
<package>com.microsoft.schemas.office.x2006.keyEncryptor.password</package>
<package>com.microsoft.schemas.office.x2006.keyEncryptor.password.impl</package>
<package>com.microsoft.schemas.vml</package>
<package>com.microsoft.schemas.vml.impl</package>
<package>com.sun.activation.registries</package>
<package>com.sun.activation.viewers</package>
<package>com.sun.jna</package>
@ -232,10 +250,59 @@
<package>org.apache.avalon.framework.thread</package>
<package>org.apache.commons.codec</package>
<package>org.apache.commons.codec.binary</package>
<package>org.apache.commons.codec.cli</package>
<package>org.apache.commons.codec.digest</package>
<package>org.apache.commons.codec.language</package>
<package>org.apache.commons.codec.language.bm</package>
<package>org.apache.commons.codec.net</package>
<package>org.apache.commons.collections4</package>
<package>org.apache.commons.collections4.bag</package>
<package>org.apache.commons.collections4.bidimap</package>
<package>org.apache.commons.collections4.collection</package>
<package>org.apache.commons.collections4.comparators</package>
<package>org.apache.commons.collections4.functors</package>
<package>org.apache.commons.collections4.iterators</package>
<package>org.apache.commons.collections4.keyvalue</package>
<package>org.apache.commons.collections4.list</package>
<package>org.apache.commons.collections4.map</package>
<package>org.apache.commons.collections4.multimap</package>
<package>org.apache.commons.collections4.multiset</package>
<package>org.apache.commons.collections4.properties</package>
<package>org.apache.commons.collections4.queue</package>
<package>org.apache.commons.collections4.sequence</package>
<package>org.apache.commons.collections4.set</package>
<package>org.apache.commons.collections4.splitmap</package>
<package>org.apache.commons.collections4.trie</package>
<package>org.apache.commons.collections4.trie.analyzer</package>
<package>org.apache.commons.compress</package>
<package>org.apache.commons.compress.archivers</package>
<package>org.apache.commons.compress.archivers.ar</package>
<package>org.apache.commons.compress.archivers.arj</package>
<package>org.apache.commons.compress.archivers.cpio</package>
<package>org.apache.commons.compress.archivers.dump</package>
<package>org.apache.commons.compress.archivers.examples</package>
<package>org.apache.commons.compress.archivers.jar</package>
<package>org.apache.commons.compress.archivers.sevenz</package>
<package>org.apache.commons.compress.archivers.tar</package>
<package>org.apache.commons.compress.archivers.zip</package>
<package>org.apache.commons.compress.changes</package>
<package>org.apache.commons.compress.compressors</package>
<package>org.apache.commons.compress.compressors.brotli</package>
<package>org.apache.commons.compress.compressors.bzip2</package>
<package>org.apache.commons.compress.compressors.deflate</package>
<package>org.apache.commons.compress.compressors.deflate64</package>
<package>org.apache.commons.compress.compressors.gzip</package>
<package>org.apache.commons.compress.compressors.lz4</package>
<package>org.apache.commons.compress.compressors.lz77support</package>
<package>org.apache.commons.compress.compressors.lzma</package>
<package>org.apache.commons.compress.compressors.lzw</package>
<package>org.apache.commons.compress.compressors.pack200</package>
<package>org.apache.commons.compress.compressors.snappy</package>
<package>org.apache.commons.compress.compressors.xz</package>
<package>org.apache.commons.compress.compressors.z</package>
<package>org.apache.commons.compress.compressors.zstandard</package>
<package>org.apache.commons.compress.parallel</package>
<package>org.apache.commons.compress.utils</package>
<package>org.apache.commons.csv</package>
<package>org.apache.commons.io</package>
<package>org.apache.commons.io.comparator</package>
@ -304,8 +371,8 @@
<package>org.apache.poi.common.usermodel</package>
<package>org.apache.poi.common.usermodel.fonts</package>
<package>org.apache.poi.ddf</package>
<package>org.apache.poi.dev</package>
<package>org.apache.poi.extractor</package>
<package>org.apache.poi.extractor.ole2</package>
<package>org.apache.poi.hdgf</package>
<package>org.apache.poi.hdgf.chunks</package>
<package>org.apache.poi.hdgf.dev</package>
@ -374,6 +441,9 @@
<package>org.apache.poi.hwpf.model.types</package>
<package>org.apache.poi.hwpf.sprm</package>
<package>org.apache.poi.hwpf.usermodel</package>
<package>org.apache.poi.ooxml</package>
<package>org.apache.poi.ooxml.extractor</package>
<package>org.apache.poi.ooxml.util</package>
<package>org.apache.poi.openxml4j.exceptions</package>
<package>org.apache.poi.openxml4j.opc</package>
<package>org.apache.poi.openxml4j.opc.internal</package>
@ -401,6 +471,7 @@
<package>org.apache.poi.sl.draw</package>
<package>org.apache.poi.sl.draw.binding</package>
<package>org.apache.poi.sl.draw.geom</package>
<package>org.apache.poi.sl.extractor</package>
<package>org.apache.poi.sl.image</package>
<package>org.apache.poi.sl.usermodel</package>
<package>org.apache.poi.ss</package>
@ -424,6 +495,9 @@
<package>org.apache.poi.ss.util.cellwalk</package>
<package>org.apache.poi.util</package>
<package>org.apache.poi.wp.usermodel</package>
<package>org.apache.poi.xddf.usermodel</package>
<package>org.apache.poi.xddf.usermodel.chart</package>
<package>org.apache.poi.xddf.usermodel.text</package>
<package>org.apache.poi.xdgf.exceptions</package>
<package>org.apache.poi.xdgf.extractor</package>
<package>org.apache.poi.xdgf.geom</package>
@ -440,7 +514,6 @@
<package>org.apache.poi.xslf.util</package>
<package>org.apache.poi.xssf</package>
<package>org.apache.poi.xssf.binary</package>
<package>org.apache.poi.xssf.dev</package>
<package>org.apache.poi.xssf.eventusermodel</package>
<package>org.apache.poi.xssf.extractor</package>
<package>org.apache.poi.xssf.model</package>
@ -530,9 +603,6 @@
<package>org.apache.xmlbeans.impl.jam.provider</package>
<package>org.apache.xmlbeans.impl.jam.visitor</package>
<package>org.apache.xmlbeans.impl.jam.xml</package>
<package>org.apache.xmlbeans.impl.piccolo.io</package>
<package>org.apache.xmlbeans.impl.piccolo.util</package>
<package>org.apache.xmlbeans.impl.piccolo.xml</package>
<package>org.apache.xmlbeans.impl.regex</package>
<package>org.apache.xmlbeans.impl.richParser</package>
<package>org.apache.xmlbeans.impl.schema</package>
@ -554,6 +624,7 @@
<package>org.apache.xmlbeans.impl.xb.xsdownload.impl</package>
<package>org.apache.xmlbeans.impl.xb.xsdschema</package>
<package>org.apache.xmlbeans.impl.xb.xsdschema.impl</package>
<package>org.apache.xmlbeans.impl.xpathgen</package>
<package>org.apache.xmlbeans.impl.xsd2inst</package>
<package>org.apache.xmlbeans.soap</package>
<package>org.apache.xmlbeans.xml.stream</package>
@ -589,6 +660,8 @@
<package>org.dom4j.util</package>
<package>org.dom4j.xpath</package>
<package>org.dom4j.xpp</package>
<package>org.etsi.uri.x01903.v13</package>
<package>org.etsi.uri.x01903.v13.impl</package>
<package>org.freedesktop.gstreamer</package>
<package>org.freedesktop.gstreamer.device</package>
<package>org.freedesktop.gstreamer.elements</package>
@ -668,6 +741,8 @@
<package>org.slf4j.helpers</package>
<package>org.slf4j.impl</package>
<package>org.slf4j.spi</package>
<package>org.w3.x2000.x09.xmldsig</package>
<package>org.w3.x2000.x09.xmldsig.impl</package>
<package>org.w3c.dom</package>
<package>org.w3c.dom.css</package>
<package>org.w3c.dom.events</package>
@ -680,6 +755,8 @@
<package>org.xml.sax.ext</package>
<package>org.xml.sax.helpers</package>
<package>repackage</package>
<package>schemaorg_apache_xmlbeans.system.s8C3F193EE11A2F798ACF65489B9E6078</package>
<package>schemaorg_apache_xmlbeans.system.sD023D6490046BA0250A839A9AD24C443</package>
<package>schemaorg_apache_xmlbeans.system.sXMLCONFIG</package>
<package>schemaorg_apache_xmlbeans.system.sXMLLANG</package>
<package>schemaorg_apache_xmlbeans.system.sXMLSCHEMA</package>
@ -757,14 +834,14 @@
<runtime-relative-path>ext/imgscalr-lib-4.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/imgscalr-lib-4.2.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/xmlbeans-2.6.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/xmlbeans-2.6.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/common-io-3.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/common-io-3.2.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/commons-lang3-3.0-sources.jar</runtime-relative-path>
<binary-origin>release/modules/ext/commons-lang3-3.0-sources.jar</binary-origin>
@ -793,18 +870,26 @@
<runtime-relative-path>ext/joda-time-2.4-javadoc.jar</runtime-relative-path>
<binary-origin>release/modules/ext/joda-time-2.4-javadoc.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/poi-scratchpad-4.0.1.jar</runtime-relative-path>
<binary-origin>release\modules\ext\poi-scratchpad-4.0.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/imageio-psd-3.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/imageio-psd-3.2.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/stax-api-1.0.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/stax-api-1.0.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/servlet-api-2.5.jar</runtime-relative-path>
<binary-origin>release/modules/ext/servlet-api-2.5.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/poi-ooxml-4.0.1.jar</runtime-relative-path>
<binary-origin>release\modules\ext\poi-ooxml-4.0.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<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/imageio-pcx-3.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/imageio-pcx-3.2.jar</binary-origin>
@ -854,20 +939,20 @@
<binary-origin>release/modules/ext/joda-time-2.4.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/commons-collections4-4.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/commons-collections4-4.1.jar</binary-origin>
<runtime-relative-path>ext/commons-compress-1.18.jar</runtime-relative-path>
<binary-origin>release/modules/ext/commons-compress-1.18.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/commons-logging-1.1.2-javadoc.jar</runtime-relative-path>
<binary-origin>release/modules/ext/commons-logging-1.1.2-javadoc.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/commons-codec-1.10.jar</runtime-relative-path>
<binary-origin>release/modules/ext/commons-codec-1.10.jar</binary-origin>
<runtime-relative-path>ext/opencv-248.jar</runtime-relative-path>
<binary-origin>release/modules/ext/opencv-248.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/gson-2.8.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/gson-2.8.1.jar</binary-origin>
<runtime-relative-path>ext/gson-2.8.5.jar</runtime-relative-path>
<binary-origin>release/modules/ext/gson-2.8.5.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/opencv-248.jar</runtime-relative-path>
@ -881,22 +966,14 @@
<runtime-relative-path>ext/guava-19.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/guava-19.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/poi-3.17.jar</runtime-relative-path>
<binary-origin>release/modules/ext/poi-3.17.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/poi-ooxml-schemas-3.17.jar</runtime-relative-path>
<binary-origin>release/modules/ext/poi-ooxml-schemas-3.17.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/poi-scratchpad-3.17.jar</runtime-relative-path>
<binary-origin>release/modules/ext/poi-scratchpad-3.17.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/commons-io-2.5.jar</runtime-relative-path>
<binary-origin>release/modules/ext/commons-io-2.5.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/imageio-bmp-3.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/imageio-bmp-3.2.jar</binary-origin>
@ -921,10 +998,6 @@
<runtime-relative-path>ext/ant-1.8.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/ant-1.8.2.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/poi-excelant-3.17.jar</runtime-relative-path>
<binary-origin>release/modules/ext/poi-excelant-3.17.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/javassist-3.12.1.GA.jar</runtime-relative-path>
<binary-origin>release/modules/ext/javassist-3.12.1.GA.jar</binary-origin>
@ -934,12 +1007,16 @@
<binary-origin>release/modules/ext/imageio-core-3.2.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/commons-logging-1.1.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/commons-logging-1.1.2.jar</binary-origin>
<runtime-relative-path>ext/poi-4.0.1.jar</runtime-relative-path>
<binary-origin>release\modules\ext\poi-4.0.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/poi-ooxml-3.17.jar</runtime-relative-path>
<binary-origin>release/modules/ext/poi-ooxml-3.17.jar</binary-origin>
<runtime-relative-path>ext/poi-excelant-4.0.1.jar</runtime-relative-path>
<binary-origin>release\modules\ext\poi-excelant-4.0.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/commons-logging-1.1.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/commons-logging-1.1.2.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/controlsfx-8.40.11.jar</runtime-relative-path>
@ -957,6 +1034,10 @@
<runtime-relative-path>ext/common-image-3.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/common-image-3.2.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/poi-ooxml-schemas-4.0.1.jar</runtime-relative-path>
<binary-origin>release\modules\ext\poi-ooxml-schemas-4.0.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/imageio-pict-3.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/imageio-pict-3.2.jar</binary-origin>

View File

@ -6,7 +6,7 @@
</configurations>
<dependencies>
<dependency conf="experimental->default" org="com.github.lgooddatepicker" name="LGoodDatePicker" rev="10.3.1"/>
<dependency conf="experimental->default" org="org.apache.tika" name="tika-core" rev="1.17"/>
<dependency conf="experimental->default" org="org.apache.tika" name="tika-core" rev="1.20"/>
<dependency conf="experimental->default" org="org.postgresql" name="postgresql" rev="9.4-1201-jdbc41"/>
<dependency conf="experimental->default" org="com.mchange" name="c3p0" rev="0.9.5"/>
<dependency conf="experimental->default" org="com.fasterxml.jackson.core" name="jackson-core" rev="2.7.0"/>

View File

@ -3,7 +3,7 @@ file.reference.jackson-core-2.7.0.jar=release/modules/ext/jackson-core-2.7.0.jar
file.reference.LGoodDatePicker-10.3.1.jar=release/modules/ext/LGoodDatePicker-10.3.1.jar
file.reference.mchange-commons-java-0.2.9.jar=release/modules/ext/mchange-commons-java-0.2.9.jar
file.reference.postgresql-9.4-1201-jdbc41.jar=release/modules/ext/postgresql-9.4-1201-jdbc41.jar
file.reference.tika-core-1.17.jar=release/modules/ext/tika-core-1.17.jar
file.reference.tika-core-1.20.jar=release\\modules\\ext\\tika-core-1.20.jar
javac.source=1.8
javac.compilerargs=-Xlint -Xlint:-serial
javadoc.reference.LGoodDatePicker-10.3.1.jar=release/modules/ext/LGoodDatePicker-10.3.1-javadoc.jar

View File

@ -162,12 +162,12 @@
<package>org.sleuthkit.autopsy.experimental.configuration</package>
</public-packages>
<class-path-extension>
<runtime-relative-path>ext/LGoodDatePicker-10.3.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/LGoodDatePicker-10.3.1.jar</binary-origin>
<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/tika-core-1.17.jar</runtime-relative-path>
<binary-origin>release/modules/ext/tika-core-1.17.jar</binary-origin>
<runtime-relative-path>ext/LGoodDatePicker-10.3.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/LGoodDatePicker-10.3.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/mchange-commons-java-0.2.9.jar</runtime-relative-path>

View File

@ -15,18 +15,21 @@
</configurations>
<dependencies>
<!-- Solr -->
<dependency conf="solr-libs->default" org="org.apache.solr" name="solr-cell" rev="4.9.1"/>
<dependency conf="solr-war->default" org="org.apache.solr" name="solr" rev="4.9.1" transitive="false" /> <!-- the war file -->
<!-- Autopsy -->
<dependency conf="autopsy->*" org="org.apache.solr" name="solr-solrj" rev="4.9.1"/>
<dependency conf="autopsy->*" org="commons-lang" name="commons-lang" rev="2.4"/>
<dependency conf="autopsy->*" org="commons-validator" name="commons-validator" rev="1.5.1"/>
<dependency conf="autopsy->*" org="org.apache.tika" name="tika-parsers" rev="1.17"/>
<!-- Exclude the version of cxf-rt-rs-client from Tika 1.20, one of its depedencies breaks Ivy -->
<dependency conf="autopsy->*" org="org.apache.tika" name="tika-parsers" rev="1.20">
<exclude module="cxf-rt-rs-client"/>
<exclude module="cleartk-ml"/>
</dependency>
<dependency conf="autopsy->*" org="org.apache.cxf" name="cxf-rt-rs-client" rev="3.3.0"/>
<dependency conf="autopsy->*" org="org.cleartk" name="cleartk-ml" rev="2.0.0"/>
<!-- metadata-extractor is required by Tika but it depends on version 2.6.2 which suffers
from an XMP library issue. -->
<dependency conf="autopsy->*" org="com.drewnoakes" name="metadata-extractor" rev="2.7.2" />
<!-- icu4j for pdfbox bidirectional text support, needs to be defined explicitely (it is optional) -->
<dependency conf="autopsy->*" org="com.ibm.icu" name="icu4j" rev="3.8"/>
<dependency conf="autopsy->*" org="net.htmlparser.jericho" name="jericho-html" rev="3.3"/>
@ -42,9 +45,6 @@
<dependency conf="slf4j-libs->default" org="org.slf4j" name="jcl-over-slf4j" rev="1.7.10"/>
<dependency conf="slf4j-libs->default" org="org.slf4j" name="jul-to-slf4j" rev="1.7.10"/>
<!-- Tika 1.14 seems to declare a (transitive?) dependency on cleartk-util 3.2.2, but the most recent
version available is 2.0.0 Overriding the version worked-->
<override org="org.cleartk" module="cleartk-util" rev="2.0.0"/>
<override org="org.cleartk" module="cleartk-util" rev="2.0.0"/>
</dependencies>
</ivy-module>

View File

@ -1,133 +1,62 @@
file.reference.apache-mime4j-core-0.8.1.jar=release/modules/ext/apache-mime4j-core-0.8.1.jar
file.reference.apache-mime4j-dom-0.8.1.jar=release/modules/ext/apache-mime4j-dom-0.8.1.jar
file.reference.asm-5.0.4.jar=release/modules/ext/asm-5.0.4.jar
file.reference.asm-all-3.1.jar=release/modules/ext/asm-all-3.1.jar
file.reference.bcmail-jdk15on-1.54.jar=release/modules/ext/bcmail-jdk15on-1.54.jar
file.reference.bcpkix-jdk15on-1.54.jar=release/modules/ext/bcpkix-jdk15on-1.54.jar
file.reference.bcprov-jdk15on-1.54.jar=release/modules/ext/bcprov-jdk15on-1.54.jar
file.reference.boilerpipe-1.1.0.jar=release/modules/ext/boilerpipe-1.1.0.jar
file.reference.bzip2-0.9.1.jar=release/modules/ext/bzip2-0.9.1.jar
file.reference.c3p0-0.9.1.1.jar=release/modules/ext/c3p0-0.9.1.1.jar
file.reference.cdm-4.5.5.jar=release/modules/ext/cdm-4.5.5.jar
file.reference.cleartk-util-2.0.0.jar=release/modules/ext/cleartk-util-2.0.0.jar
file.reference.commons-beanutils-1.9.2.jar=release/modules/ext/commons-beanutils-1.9.2.jar
file.reference.commons-codec-1.10.jar=release/modules/ext/commons-codec-1.10.jar
file.reference.commons-collections-3.2.2.jar=release/modules/ext/commons-collections-3.2.2.jar
file.reference.commons-collections4-4.1.jar=release/modules/ext/commons-collections4-4.1.jar
file.reference.commons-compress-1.14.jar=release/modules/ext/commons-compress-1.14.jar
file.reference.commons-csv-1.0.jar=release/modules/ext/commons-csv-1.0.jar
file.reference.commons-digester-1.8.1.jar=release/modules/ext/commons-digester-1.8.1.jar
file.reference.commons-exec-1.3.jar=release/modules/ext/commons-exec-1.3.jar
file.reference.commons-io-2.3.jar=release/modules/ext/commons-io-2.3.jar
file.reference.commons-lang-2.6.jar=release/modules/ext/commons-lang-2.6.jar
file.reference.commons-logging-1.2.jar=release/modules/ext/commons-logging-1.2.jar
file.reference.commons-logging-api-1.1.jar=release/modules/ext/commons-logging-api-1.1.jar
file.reference.commons-validator-1.5.1-javadoc.jar=release/modules/ext/commons-validator-1.5.1-javadoc.jar
file.reference.commons-validator-1.5.1-sources.jar=release/modules/ext/commons-validator-1.5.1-sources.jar
file.reference.commons-validator-1.5.1.jar=release/modules/ext/commons-validator-1.5.1.jar
file.reference.ctakes-core-3.2.2.jar=release/modules/ext/ctakes-core-3.2.2.jar
file.reference.ctakes-core-res-3.2.2.jar=release/modules/ext/ctakes-core-res-3.2.2.jar
file.reference.ctakes-type-system-3.2.2.jar=release/modules/ext/ctakes-type-system-3.2.2.jar
file.reference.ctakes-utils-3.2.2.jar=release/modules/ext/ctakes-utils-3.2.2.jar
file.reference.curvesapi-1.04.jar=release/modules/ext/curvesapi-1.04.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-rs-client-3.0.16.jar=release/modules/ext/cxf-rt-rs-client-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.ehcache-core-2.6.2.jar=release/modules/ext/ehcache-core-2.6.2.jar
file.reference.findstructapi-0.0.1.jar=release/modules/ext/findstructapi-0.0.1.jar
file.reference.fontbox-2.0.8.jar=release/modules/ext/fontbox-2.0.8.jar
file.reference.geoapi-3.0.0.jar=release/modules/ext/geoapi-3.0.0.jar
file.reference.grib-4.5.5.jar=release/modules/ext/grib-4.5.5.jar
file.reference.guava-17.0.jar=release/modules/ext/guava-17.0.jar
file.reference.hamcrest-core-1.3.jar=release/modules/ext/hamcrest-core-1.3.jar
file.reference.httpclient-4.5.4.jar=release/modules/ext/httpclient-4.5.4.jar
file.reference.httpcore-4.4.1.jar=release/modules/ext/httpcore-4.4.1.jar
file.reference.httpcore-4.4.7.jar=release/modules/ext/httpcore-4.4.7.jar
file.reference.httpmime-4.4.1.jar=release/modules/ext/httpmime-4.4.1.jar
file.reference.httpmime-4.5.4.jar=release/modules/ext/httpmime-4.5.4.jar
file.reference.httpclient-4.5.6.jar=release\\modules\\ext\\httpclient-4.5.6.jar
file.reference.httpcore-4.4.10.jar=release/modules/ext/httpcore-4.4.10.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.icu4j-3.8.jar=release/modules/ext/icu4j-3.8.jar
file.reference.isoparser-1.1.18.jar=release/modules/ext/isoparser-1.1.18.jar
file.reference.jackcess-2.1.8.jar=release/modules/ext/jackcess-2.1.8.jar
file.reference.jackcess-encrypt-2.1.2.jar=release/modules/ext/jackcess-encrypt-2.1.2.jar
file.reference.jackson-core-2.9.2.jar=release/modules/ext/jackson-core-2.9.2.jar
file.reference.jakarta-regexp-1.4.jar=release/modules/ext/jakarta-regexp-1.4.jar
file.reference.java-libpst-0.8.1.jar=release/modules/ext/java-libpst-0.8.1.jar
file.reference.javax.annotation-api-1.2.jar=release/modules/ext/javax.annotation-api-1.2.jar
file.reference.javax.ws.rs-api-2.0.1.jar=release/modules/ext/javax.ws.rs-api-2.0.1.jar
file.reference.jcip-annotations-1.0.jar=release/modules/ext/jcip-annotations-1.0.jar
file.reference.jcommander-1.35.jar=release/modules/ext/jcommander-1.35.jar
file.reference.jdom-1.0.jar=release/modules/ext/jdom-1.0.jar
file.reference.jdom2-2.0.4.jar=release/modules/ext/jdom2-2.0.4.jar
file.reference.jempbox-1.8.13.jar=release/modules/ext/jempbox-1.8.13.jar
file.reference.jericho-html-3.3-javadoc.jar=release/modules/ext/jericho-html-3.3-javadoc.jar
file.reference.jericho-html-3.3-sources.jar=release/modules/ext/jericho-html-3.3-sources.jar
file.reference.jericho-html-3.3.jar=release/modules/ext/jericho-html-3.3.jar
file.reference.jhighlight-1.0.2.jar=release/modules/ext/jhighlight-1.0.2.jar
file.reference.jmatio-1.2.jar=release/modules/ext/jmatio-1.2.jar
file.reference.jna-4.1.0.jar=release/modules/ext/jna-4.1.0.jar
file.reference.joda-time-2.2.jar=release/modules/ext/joda-time-2.2.jar
file.reference.json-simple-1.1.1.jar=release/modules/ext/json-simple-1.1.1.jar
file.reference.jsoup-1.7.2.jar=release/modules/ext/jsoup-1.7.2.jar
file.reference.jsr-275-0.9.3.jar=release/modules/ext/jsr-275-0.9.3.jar
file.reference.juniversalchardet-1.0.3.jar=release/modules/ext/juniversalchardet-1.0.3.jar
file.reference.junrar-0.7.jar=release/modules/ext/junrar-0.7.jar
file.reference.jVinci-2.6.0.jar=release/modules/ext/jVinci-2.6.0.jar
file.reference.jwnl-1.3.3.jar=release/modules/ext/jwnl-1.3.3.jar
file.reference.libsvm-3.1.jar=release/modules/ext/libsvm-3.1.jar
file.reference.log4j-1.2.17.jar=release/modules/ext/log4j-1.2.17.jar
file.reference.lucene-analyzers-common-4.0.0.jar=release/modules/ext/lucene-analyzers-common-4.0.0.jar
file.reference.lucene-core-4.0.0.jar=release/modules/ext/lucene-core-4.0.0.jar
file.reference.lucene-queries-4.0.0.jar=release/modules/ext/lucene-queries-4.0.0.jar
file.reference.lucene-queryparser-4.0.0.jar=release/modules/ext/lucene-queryparser-4.0.0.jar
file.reference.lucene-sandbox-4.0.0.jar=release/modules/ext/lucene-sandbox-4.0.0.jar
file.reference.metadata-extractor-2.10.1.jar=release/modules/ext/metadata-extractor-2.10.1.jar
file.reference.netcdf4-4.5.5.jar=release/modules/ext/netcdf4-4.5.5.jar
file.reference.noggit-0.5.jar=release/modules/ext/noggit-0.5.jar
file.reference.openaifsm-0.0.1.jar=release/modules/ext/openaifsm-0.0.1.jar
file.reference.opennlp-maxent-3.0.3.jar=release/modules/ext/opennlp-maxent-3.0.3.jar
file.reference.opennlp-tools-1.5.3.jar=release/modules/ext/opennlp-tools-1.5.3.jar
file.reference.org.apache.felix.scr.annotations-1.6.0.jar=release/modules/ext/org.apache.felix.scr.annotations-1.6.0.jar
file.reference.org.apache.felix.scr.generator-1.1.2.jar=release/modules/ext/org.apache.felix.scr.generator-1.1.2.jar
file.reference.org.osgi.compendium-4.0.0.jar=release/modules/ext/org.osgi.compendium-4.0.0.jar
file.reference.org.osgi.core-4.0.0.jar=release/modules/ext/org.osgi.core-4.0.0.jar
file.reference.pdfbox-2.0.8.jar=release/modules/ext/pdfbox-2.0.8.jar
file.reference.pdfbox-tools-2.0.8.jar=release/modules/ext/pdfbox-tools-2.0.8.jar
file.reference.poi-3.17.jar=release/modules/ext/poi-3.17.jar
file.reference.poi-ooxml-3.17.jar=release/modules/ext/poi-ooxml-3.17.jar
file.reference.poi-ooxml-schemas-3.17.jar=release/modules/ext/poi-ooxml-schemas-3.17.jar
file.reference.poi-scratchpad-3.17.jar=release/modules/ext/poi-scratchpad-3.17.jar
file.reference.poi-4.0.1.jar=release/modules/ext/poi-4.0.1.jar
file.reference.poi-ooxml-4.0.1.jar=release/modules/ext/poi-ooxml-4.0.1.jar
file.reference.poi-ooxml-schemas-4.0.1.jar=release/modules/ext/poi-ooxml-schemas-4.0.1.jar
file.reference.poi-scratchpad-4.0.1.jar=release/modules/ext/poi-scratchpad-4.0.1.jar
file.reference.protobuf-java-2.5.0.jar=release/modules/ext/protobuf-java-2.5.0.jar
file.reference.qdox-1.12.jar=release/modules/ext/qdox-1.12.jar
file.reference.quartz-2.2.0.jar=release/modules/ext/quartz-2.2.0.jar
file.reference.rome-1.5.1.jar=release/modules/ext/rome-1.5.1.jar
file.reference.rome-utils-1.5.1.jar=release/modules/ext/rome-utils-1.5.1.jar
file.reference.sis-metadata-0.6.jar=release/modules/ext/sis-metadata-0.6.jar
file.reference.sis-netcdf-0.6.jar=release/modules/ext/sis-netcdf-0.6.jar
file.reference.sis-referencing-0.6.jar=release/modules/ext/sis-referencing-0.6.jar
file.reference.sis-storage-0.6.jar=release/modules/ext/sis-storage-0.6.jar
file.reference.sis-utility-0.6.jar=release/modules/ext/sis-utility-0.6.jar
file.reference.slf4j-api-1.7.24.jar=release/modules/ext/slf4j-api-1.7.24.jar
file.reference.solr-solrj-4.9.1-javadoc.jar=release/modules/ext/solr-solrj-4.9.1-javadoc.jar
file.reference.solr-solrj-4.9.1-sources.jar=release/modules/ext/solr-solrj-4.9.1-sources.jar
file.reference.solr-solrj-4.9.1.jar=release/modules/ext/solr-solrj-4.9.1.jar
file.reference.sqlite-jdbc-3.19.3.jar=release/modules/ext/sqlite-jdbc-3.19.3.jar
file.reference.sqlwrapper-0.0.1.jar=release/modules/ext/sqlwrapper-0.0.1.jar
file.reference.stax2-api-3.1.4.jar=release/modules/ext/stax2-api-3.1.4.jar
file.reference.tagsoup-1.2.1.jar=release/modules/ext/tagsoup-1.2.1.jar
file.reference.tika-core-1.17.jar=release/modules/ext/tika-core-1.17.jar
file.reference.tika-parsers-1.17-javadoc.jar=release/modules/ext/tika-parsers-1.17-javadoc.jar
file.reference.tika-parsers-1.17-sources.jar=release/modules/ext/tika-parsers-1.17-sources.jar
file.reference.tika-parsers-1.17.jar=release/modules/ext/tika-parsers-1.17.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.udunits-4.5.5.jar=release/modules/ext/udunits-4.5.5.jar
file.reference.uimafit-core-2.1.0.jar=release/modules/ext/uimafit-core-2.1.0.jar
file.reference.uimaj-adapter-vinci-2.6.0.jar=release/modules/ext/uimaj-adapter-vinci-2.6.0.jar
file.reference.uimaj-core-2.5.0.jar=release/modules/ext/uimaj-core-2.5.0.jar
file.reference.uimaj-cpe-2.6.0.jar=release/modules/ext/uimaj-cpe-2.6.0.jar
file.reference.uimaj-document-annotation-2.5.0.jar=release/modules/ext/uimaj-document-annotation-2.5.0.jar
file.reference.uimaj-examples-2.4.0.jar=release/modules/ext/uimaj-examples-2.4.0.jar
file.reference.uimaj-tools-2.6.0.jar=release/modules/ext/uimaj-tools-2.6.0.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.woodstox-core-asl-4.4.1.jar=release/modules/ext/woodstox-core-asl-4.4.1.jar

View File

@ -239,45 +239,29 @@
<runtime-relative-path>ext/commons-validator-1.5.1-sources.jar</runtime-relative-path>
<binary-origin>release/modules/ext/commons-validator-1.5.1-sources.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/apache-mime4j-dom-0.8.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/apache-mime4j-dom-0.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>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/jwnl-1.3.3.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jwnl-1.3.3.jar</binary-origin>
<runtime-relative-path>ext/lucene-sandbox-4.0.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/lucene-sandbox-4.0.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/lucene-queryparser-4.0.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/lucene-queryparser-4.0.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/httpclient-4.5.4.jar</runtime-relative-path>
<binary-origin>release/modules/ext/httpclient-4.5.4.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/uimaj-examples-2.4.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/uimaj-examples-2.4.0.jar</binary-origin>
<runtime-relative-path>ext/jericho-html-3.3.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jericho-html-3.3.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<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/org.osgi.compendium-4.0.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/org.osgi.compendium-4.0.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/geoapi-3.0.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/geoapi-3.0.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/commons-compress-1.14.jar</runtime-relative-path>
<binary-origin>release/modules/ext/commons-compress-1.14.jar</binary-origin>
<runtime-relative-path>ext/httpcore-4.4.10.jar</runtime-relative-path>
<binary-origin>release/modules/ext/httpcore-4.4.10.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/hamcrest-core-1.3.jar</runtime-relative-path>
@ -292,328 +276,72 @@
<binary-origin>release/modules/ext/commons-logging-api-1.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/jakarta-regexp-1.4.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jakarta-regexp-1.4.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/xmlbeans-2.6.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/xmlbeans-2.6.0.jar</binary-origin>
<runtime-relative-path>ext/solr-solrj-4.9.1-javadoc.jar</runtime-relative-path>
<binary-origin>release/modules/ext/solr-solrj-4.9.1-javadoc.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/quartz-2.2.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/quartz-2.2.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/guava-17.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/guava-17.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/metadata-extractor-2.10.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/metadata-extractor-2.10.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/apache-mime4j-core-0.8.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/apache-mime4j-core-0.8.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/opennlp-maxent-3.0.3.jar</runtime-relative-path>
<binary-origin>release/modules/ext/opennlp-maxent-3.0.3.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/pdfbox-tools-2.0.8.jar</runtime-relative-path>
<binary-origin>release/modules/ext/pdfbox-tools-2.0.8.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/jVinci-2.6.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jVinci-2.6.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<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/tika-parsers-1.17.jar</runtime-relative-path>
<binary-origin>release/modules/ext/tika-parsers-1.17.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/sis-utility-0.6.jar</runtime-relative-path>
<binary-origin>release/modules/ext/sis-utility-0.6.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/jhighlight-1.0.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jhighlight-1.0.2.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/uimaj-cpe-2.6.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/uimaj-cpe-2.6.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/log4j-1.2.17.jar</runtime-relative-path>
<binary-origin>release/modules/ext/log4j-1.2.17.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/ctakes-utils-3.2.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/ctakes-utils-3.2.2.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/cxf-rt-rs-client-3.0.16.jar</runtime-relative-path>
<binary-origin>release/modules/ext/cxf-rt-rs-client-3.0.16.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/jempbox-1.8.13.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jempbox-1.8.13.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/openaifsm-0.0.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/openaifsm-0.0.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/stax2-api-3.1.4.jar</runtime-relative-path>
<binary-origin>release/modules/ext/stax2-api-3.1.4.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/commons-collections4-4.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/commons-collections4-4.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/solr-solrj-4.9.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/solr-solrj-4.9.1.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>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/jackcess-2.1.8.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jackcess-2.1.8.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/findstructapi-0.0.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/findstructapi-0.0.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/jcommander-1.35.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jcommander-1.35.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/sis-metadata-0.6.jar</runtime-relative-path>
<binary-origin>release/modules/ext/sis-metadata-0.6.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/isoparser-1.1.18.jar</runtime-relative-path>
<binary-origin>release/modules/ext/isoparser-1.1.18.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<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/jdom2-2.0.4.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jdom2-2.0.4.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/commons-codec-1.10.jar</runtime-relative-path>
<binary-origin>release/modules/ext/commons-codec-1.10.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/poi-ooxml-schemas-3.17.jar</runtime-relative-path>
<binary-origin>release/modules/ext/poi-ooxml-schemas-3.17.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/poi-scratchpad-3.17.jar</runtime-relative-path>
<binary-origin>release/modules/ext/poi-scratchpad-3.17.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/poi-3.17.jar</runtime-relative-path>
<binary-origin>release/modules/ext/poi-3.17.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/lucene-queries-4.0.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/lucene-queries-4.0.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>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/fontbox-2.0.8.jar</runtime-relative-path>
<binary-origin>release/modules/ext/fontbox-2.0.8.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/solr-solrj-4.9.1-sources.jar</runtime-relative-path>
<binary-origin>release/modules/ext/solr-solrj-4.9.1-sources.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/lucene-analyzers-common-4.0.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/lucene-analyzers-common-4.0.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/javax.ws.rs-api-2.0.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/javax.ws.rs-api-2.0.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/httpmime-4.5.4.jar</runtime-relative-path>
<binary-origin>release/modules/ext/httpmime-4.5.4.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/junrar-0.7.jar</runtime-relative-path>
<binary-origin>release/modules/ext/junrar-0.7.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/libsvm-3.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/libsvm-3.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/noggit-0.5.jar</runtime-relative-path>
<binary-origin>release/modules/ext/noggit-0.5.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/poi-ooxml-3.17.jar</runtime-relative-path>
<binary-origin>release/modules/ext/poi-ooxml-3.17.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/jna-4.1.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jna-4.1.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/qdox-1.12.jar</runtime-relative-path>
<binary-origin>release/modules/ext/qdox-1.12.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>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/bzip2-0.9.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/bzip2-0.9.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<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/jackson-core-2.9.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jackson-core-2.9.2.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/uimaj-core-2.5.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/uimaj-core-2.5.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/jmatio-1.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jmatio-1.2.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/wstx-asl-3.2.7.jar</runtime-relative-path>
<binary-origin>release\modules\ext\wstx-asl-3.2.7.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/commons-csv-1.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/commons-csv-1.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/commons-validator-1.5.1-javadoc.jar</runtime-relative-path>
<binary-origin>release/modules/ext/commons-validator-1.5.1-javadoc.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/lucene-sandbox-4.0.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/lucene-sandbox-4.0.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>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/jsr-275-0.9.3.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jsr-275-0.9.3.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<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/httpcore-4.4.7.jar</runtime-relative-path>
<binary-origin>release/modules/ext/httpcore-4.4.7.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/bcmail-jdk15on-1.54.jar</runtime-relative-path>
<binary-origin>release/modules/ext/bcmail-jdk15on-1.54.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/solr-solrj-4.9.1-javadoc.jar</runtime-relative-path>
<binary-origin>release/modules/ext/solr-solrj-4.9.1-javadoc.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/asm-all-3.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/asm-all-3.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/tika-parsers-1.17-javadoc.jar</runtime-relative-path>
<binary-origin>release/modules/ext/tika-parsers-1.17-javadoc.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/icu4j-3.8.jar</runtime-relative-path>
<binary-origin>release/modules/ext/icu4j-3.8.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/curvesapi-1.04.jar</runtime-relative-path>
<binary-origin>release/modules/ext/curvesapi-1.04.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/sis-referencing-0.6.jar</runtime-relative-path>
<binary-origin>release/modules/ext/sis-referencing-0.6.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/ctakes-core-res-3.2.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/ctakes-core-res-3.2.2.jar</binary-origin>
<runtime-relative-path>ext/guava-17.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/guava-17.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/joda-time-2.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/joda-time-2.2.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>
<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/tika-core-1.17.jar</runtime-relative-path>
<binary-origin>release/modules/ext/tika-core-1.17.jar</binary-origin>
<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/lucene-core-4.0.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/lucene-core-4.0.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/asm-5.0.4.jar</runtime-relative-path>
<binary-origin>release/modules/ext/asm-5.0.4.jar</binary-origin>
<runtime-relative-path>ext/opennlp-maxent-3.0.3.jar</runtime-relative-path>
<binary-origin>release/modules/ext/opennlp-maxent-3.0.3.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/poi-scratchpad-4.0.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/poi-scratchpad-4.0.1.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>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/org.osgi.core-4.0.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/org.osgi.core-4.0.0.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/c3p0-0.9.1.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/c3p0-0.9.1.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/tika-parsers-1.17-sources.jar</runtime-relative-path>
<binary-origin>release/modules/ext/tika-parsers-1.17-sources.jar</binary-origin>
<runtime-relative-path>ext/poi-ooxml-4.0.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/poi-ooxml-4.0.1.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/sqlwrapper-0.0.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/sqlwrapper-0.0.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/jackcess-encrypt-2.1.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jackcess-encrypt-2.1.2.jar</binary-origin>
<runtime-relative-path>ext/log4j-1.2.17.jar</runtime-relative-path>
<binary-origin>release/modules/ext/log4j-1.2.17.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/jericho-html-3.3-javadoc.jar</runtime-relative-path>
@ -628,80 +356,88 @@
<binary-origin>release/modules/ext/commons-collections-3.2.2.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/uimaj-document-annotation-2.5.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/uimaj-document-annotation-2.5.0.jar</binary-origin>
<runtime-relative-path>ext/openaifsm-0.0.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/openaifsm-0.0.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/woodstox-core-asl-4.4.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/woodstox-core-asl-4.4.1.jar</binary-origin>
<runtime-relative-path>ext/stax2-api-3.1.4.jar</runtime-relative-path>
<binary-origin>release/modules/ext/stax2-api-3.1.4.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/org.apache.felix.scr.generator-1.1.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/org.apache.felix.scr.generator-1.1.2.jar</binary-origin>
<runtime-relative-path>ext/solr-solrj-4.9.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/solr-solrj-4.9.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/pdfbox-2.0.8.jar</runtime-relative-path>
<binary-origin>release/modules/ext/pdfbox-2.0.8.jar</binary-origin>
<runtime-relative-path>ext/xmpcore-5.1.3.jar</runtime-relative-path>
<binary-origin>release/modules/ext/xmpcore-5.1.3.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/findstructapi-0.0.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/findstructapi-0.0.1.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>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/cxf-rt-transports-http-3.0.16.jar</runtime-relative-path>
<binary-origin>release/modules/ext/cxf-rt-transports-http-3.0.16.jar</binary-origin>
<runtime-relative-path>ext/jcommander-1.35.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jcommander-1.35.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<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/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/slf4j-api-1.7.24.jar</runtime-relative-path>
<binary-origin>release/modules/ext/slf4j-api-1.7.24.jar</binary-origin>
<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/protobuf-java-2.5.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/protobuf-java-2.5.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/sis-netcdf-0.6.jar</runtime-relative-path>
<binary-origin>release/modules/ext/sis-netcdf-0.6.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/javax.annotation-api-1.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/javax.annotation-api-1.2.jar</binary-origin>
<runtime-relative-path>ext/lucene-queries-4.0.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/lucene-queries-4.0.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/jericho-html-3.3-sources.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jericho-html-3.3-sources.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>
<runtime-relative-path>ext/solr-solrj-4.9.1-sources.jar</runtime-relative-path>
<binary-origin>release/modules/ext/solr-solrj-4.9.1-sources.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/org.apache.felix.scr.annotations-1.6.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/org.apache.felix.scr.annotations-1.6.0.jar</binary-origin>
<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/commons-lang-2.6.jar</runtime-relative-path>
<binary-origin>release/modules/ext/commons-lang-2.6.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/cxf-core-3.0.16.jar</runtime-relative-path>
<binary-origin>release/modules/ext/cxf-core-3.0.16.jar</binary-origin>
<runtime-relative-path>ext/libsvm-3.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/libsvm-3.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/opennlp-tools-1.5.3.jar</runtime-relative-path>
<binary-origin>release/modules/ext/opennlp-tools-1.5.3.jar</binary-origin>
<runtime-relative-path>ext/noggit-0.5.jar</runtime-relative-path>
<binary-origin>release/modules/ext/noggit-0.5.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/rome-utils-1.5.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/rome-utils-1.5.1.jar</binary-origin>
<runtime-relative-path>ext/poi-4.0.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/poi-4.0.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/sis-storage-0.6.jar</runtime-relative-path>
<binary-origin>release/modules/ext/sis-storage-0.6.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/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/jcip-annotations-1.0.jar</runtime-relative-path>
@ -712,17 +448,17 @@
<binary-origin>release/modules/ext/commons-validator-1.5.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/uimafit-core-2.1.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/uimafit-core-2.1.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/cxf-rt-frontend-jaxrs-3.0.16.jar</runtime-relative-path>
<binary-origin>release/modules/ext/cxf-rt-frontend-jaxrs-3.0.16.jar</binary-origin>
<runtime-relative-path>ext/bzip2-0.9.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/bzip2-0.9.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/cleartk-util-2.0.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/cleartk-util-2.0.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<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/jdom-1.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jdom-1.0.jar</binary-origin>
@ -736,32 +472,20 @@
<binary-origin>release/modules/ext/ehcache-core-2.6.2.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/ctakes-type-system-3.2.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/ctakes-type-system-3.2.2.jar</binary-origin>
<runtime-relative-path>ext/poi-ooxml-schemas-4.0.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/poi-ooxml-schemas-4.0.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/rome-1.5.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/rome-1.5.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/uimaj-adapter-vinci-2.6.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/uimaj-adapter-vinci-2.6.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/ctakes-core-3.2.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/ctakes-core-3.2.2.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/jsoup-1.7.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jsoup-1.7.2.jar</binary-origin>
<runtime-relative-path>ext/wstx-asl-3.2.7.jar</runtime-relative-path>
<binary-origin>release\modules\ext\wstx-asl-3.2.7.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/commons-exec-1.3.jar</runtime-relative-path>
<binary-origin>release/modules/ext/commons-exec-1.3.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/uimaj-tools-2.6.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/uimaj-tools-2.6.0.jar</binary-origin>
<runtime-relative-path>ext/commons-validator-1.5.1-javadoc.jar</runtime-relative-path>
<binary-origin>release/modules/ext/commons-validator-1.5.1-javadoc.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/vorbis-java-tika-0.8.jar</runtime-relative-path>

View File

@ -1,5 +1,5 @@
#Updated by build script
#Tue, 26 Feb 2019 14:37:44 -0500
#Wed, 01 May 2019 14:38:52 -0400
LBL_splash_window_title=Starting Autopsy
SPLASH_HEIGHT=314
SPLASH_WIDTH=538
@ -8,4 +8,4 @@ SplashRunningTextBounds=0,289,538,18
SplashRunningTextColor=0x0
SplashRunningTextFontSize=19
currentVersion=Autopsy 4.10.0
currentVersion=Autopsy 4.11.0

View File

@ -1,4 +1,4 @@
#Updated by build script
#Tue, 26 Feb 2019 14:37:44 -0500
CTL_MainWindow_Title=Autopsy 4.10.0
CTL_MainWindow_Title_No_Project=Autopsy 4.10.0
#Wed, 01 May 2019 14:38:52 -0400
CTL_MainWindow_Title=Autopsy 4.11.0
CTL_MainWindow_Title_No_Project=Autopsy 4.11.0

View File

@ -22,11 +22,11 @@ The general workflow is as follows:
An Automated Processing Deployment could have an architecture, such as this:
\image html AutoIngest\overview_pic1.png
\image html AutoIngest/overview_pic1.png
Another illustration, including the network infrastructure, is shown below:
\image html AutoIngest\overview_pic2.png
\image html AutoIngest/overview_pic2.png
\section auto_ingest_setup_section Configuration
@ -38,7 +38,7 @@ An examiner node in an auto ingest environment is generally the same as any norm
The examiner can open the auto ingest dashboard through the Tools menu. This allows the user to see what cases and data sources are scheduled, in progress, or done.
\image html AutoIngest\examiner_dashboard.png
\image html AutoIngest/examiner_dashboard.png
\section auto_ingest_ain_usage Auto Ingest Node Usage
@ -46,7 +46,7 @@ The examiner can open the auto ingest dashboard through the Tools menu. This all
Users will manually copy images to the source images folder (using subfolders if desired) and schedule them to be ingested by creating one file in the folder alongside the image to be ingested. This file is a manifest file describing the image. This file's name must end in "_Manifest.xml."
\image html AutoIngest\manifest_file_in_file_explorer.png
\image html AutoIngest/manifest_file_in_file_explorer.png
The following is an example of an Autopsy manifest file. Line breaks/spaces are not required, but are shown here for better human readability.
\verbatim<?xml version="1.0" encoding="UTF-8" standalone="no"?>
@ -69,7 +69,7 @@ Manifest files can be automatically generated by using the \ref manifest_tool_pa
When auto ingest mode is enabled, Autopsy will open with a different UI than normal, allowing the user to see what cases are being processed, which are done, and which are next in the queue. You can also change the priority of cases and reprocess cases that may have had an error.
\image html AutoIngest\auto_ingest_in_progress.png
\image html AutoIngest/auto_ingest_in_progress.png
The user must press the "Start" button to being the auto ingest process. Note that if the computer running Autopsy in auto ingest mode is restarted, someone must log into it to restart Autopsy. It does not start by itself. When "Start" is pressed, the node will scan through the Shared Images folder looking for manifest files. This scan happens periodically when ingest is running. It can also be started manually using the "Refresh" button.
@ -83,7 +83,7 @@ If an error occurs while processing a job, or if a job was set up incorrectly, t
The "Auto Ingest Metrics" button displays processing data for all of the auto ingest nodes in the system from a user-entered starting date.
\image html AutoIngest\metrics.png
\image html AutoIngest/metrics.png
\section auto_ingest_administration_section Auto Ingest Node Administration

View File

@ -23,37 +23,37 @@ The admin panel is enabled by creating the file "admin" in the user config direc
For an installed copy of Autopsy, the file will go under \c "C:\Users\<user name>\AppData\Roaming\Autopsy\config".
\image html AutoIngest\admin_file.png
\image html AutoIngest/admin_file.png
\section auto_ingest_admin_jobs_panel Auto Ingest Jobs Panel
With the admin file in place, the user can right-click on jobs in each of the tables of the jobs panel to perform different actions. In the Pending Jobs table, the context menu allows cases and individual jobs to be prioritized.
\image html AutoIngest\admin_jobs_panel.png
\image html AutoIngest/admin_jobs_panel.png
In the Running Jobs tables, the ingest progress can be viewed and the current job can be cancelled. Note that cancellation can take some time.
\image html AutoIngest\admin_jobs_cancel.png
\image html AutoIngest/admin_jobs_cancel.png
In the Completed Jobs table, the user can reprocess a job (generally useful when a job had errors), delete a case (if no other machines are using it) and view the case log.
\image html AutoIngest\admin_jobs_completed.png
\image html AutoIngest/admin_jobs_completed.png
\section auto_ingest_admin_nodes_panel Auto Ingest Nodes Panel
The Nodes panel displays the status of every online auto ingest node. Additionally, an admin can pause or resume a node, or shut down a node entirely (i.e., exit the Autopsy app).
\image html AutoIngest\admin_nodes_panel.png
\image html AutoIngest/admin_nodes_panel.png
\section auto_ingest_admin_cases_panel Cases Panel
The Cases panel shows information about each auto ingest case - the name, creation and last accessed times, the case directory, and flags for which parts of the case have been deleted.
\image html AutoIngest\cases_panel.png
\image html AutoIngest/cases_panel.png
If you right-click on a case, you can open it, see the log, delete the case, or view properties of the case.
\image html AutoIngest\cases_context_menu.png
\image html AutoIngest/cases_context_menu.png
Note that you can select multiple cases at once to delete. If you choose to delete a case (or cases), you'll see the following confirmation dialog:
@ -63,11 +63,11 @@ Note that you can select multiple cases at once to delete. If you choose to dele
The health monitor shows timing stats and the general state of the system. The Health Monitor is accessed from the Auto Ingest Nodes panel. To enable health monitoring, click on the Health Monitor button to get the following screen and then press the "Enable monitor" button.
\image html AutoIngest\health_monitor_disabled.png
\image html AutoIngest/health_monitor_disabled.png
This will enable the health monitor metrics on every node (both auto ingest nodes and examiner nodes) that is using this PostgreSQL server. Once enabled, the monitor will display the collected metrics.
\image html AutoIngest\health_monitor.png
\image html AutoIngest/health_monitor.png
By default, the graphs will show all metrics collected in the last day.
@ -86,6 +86,6 @@ The User Metrics section shows open cases and logged on nodes. For the open case
The Auto Ingest Metrics can be accessed the Auto Ingest Nodes panel and shows data about the jobs completed in a selected time frame.
\image html AutoIngest\metrics.png
\image html AutoIngest/metrics.png
*/

View File

@ -24,7 +24,7 @@ Follow the instructions on the \ref install_multiuser_page page to set up the ne
While Examiner nodes only require multi-user cases to be set up, the auto ingest nodes need additional configuration. To start, go to the "Auto Ingest" tab on the Options menu and select the "Auto Ingest mode" radio button. If you haven't saved your multi-user settings there will be a warning message displayed here - if you see it, go back to the "Multi-User" tab and make sure you've entered all the required fields and then hit the "Apply" button.
\image html AutoIngest\auto_ingest_mode_setup.png
\image html AutoIngest/auto_ingest_mode_setup.png
\subsection auto_ingest_config_folders Folder Configuration
@ -33,13 +33,13 @@ The first thing to do is to set two folder locations. The shared images folder i
\subsection auto_ingest_config_ingest_settings Ingest Module Settings
The "Ingest Module Settings" button is used to configure the \ref ingest_page you want to run during auto-ingest. One note is that on auto-ingest nodes, we recommend that you configure the Keyword Search module to not perform periodic keyword searches. When a user is in front of the computer, this feature exists to provide frequent updates, but it is not needed on this node. To configure this, choose the Keyword Search item in the Options window. Select the "General" tab and choose the option for no periodic search.
\image html AutoIngest\no_periodic_searches.png
\image html AutoIngest/no_periodic_searches.png
\subsection auto_ingest_advanced_settings Advanced Settings
The "Advanced Settings" button will bring up the automated ingest job settings. As expressed in the warning statement, care must be used when making changes on this panel.
\image html AutoIngest\advanced_settings.png
\image html AutoIngest/advanced_settings.png
The Automated Ingest Job Settings section contains the following options:
<dl>
@ -70,7 +70,7 @@ When using multiple auto ingest nodes, configuration can be centralized and shar
On the computer that is going to be the configuration master automated ingest node, follow the configuration steps described in above to configure the node.
If you would like every automated ingest node to share the configuration settings, check the first checkbox in the Shared Configuration section of the Auto Ingest settings panel. Next select a folder to store the shared configuration in. This folder must be a path to a network share that the other machines in the system will have access to. Use a UNC path if possible. Next, check the "Use this node as a master node that can upload settings" checkbox which should enable the "Save & Upload Config" button. If this does not happen, look for a red error message explaining what settings are missing.
\image html AutoIngest\master_node.png
\image html AutoIngest/master_node.png
After saving and uploading the configuration, hit the "Save" button to exit the Options panel.
@ -98,7 +98,7 @@ On an auto ingest node, we also strongly recommend that you configure the system
Disabling the error messages is done by setting the following registry key to "1", as shown in the screenshot below.
\verbatim HKCU\Software\Microsoft\Windows\Windows Error Reporting\DontShowUI\endverbatim
\image html AutoIngest\error_suppression.png
\image html AutoIngest/error_suppression.png
*/

View File

@ -8,7 +8,7 @@ If enabled, the File Exporter will run after each \ref auto_ingest_page job and
After enabling the file exporter, the first thing to do is set two output folders. The "Files Folder" is the base directory for all exported files, and the "Reports Folder" is the base directory for reports (lists of every file exported for each data source). If possible, it is best to use UNC paths.
\image html AutoIngest\file_exporter_main.png
\image html AutoIngest/file_exporter_main.png
Next you'll make rules for the files you want to export. Each rule must have a name and at least one condition set. If more than one condition is set, then all conditions must be true to export the file. When you're done setting up your rule, press the "Save" button to save it. You'll see the new rule in the list on the left side.
@ -20,13 +20,13 @@ You'll need to run at the \ref hash_db_page and \ref file_type_identification_pa
The first condition is based on MIME type. To enable it, check the box before "MIME Type", then select a MIME type from the list and choose whether you want to match it or not match it. Multiple MIME types can not be selected at this time. The following shows a rule that will match all PNG images.
\image html AutoIngest\file_export_png.png
\image html AutoIngest/file_export_png.png
\subsection file_exporter_size File Size
The second condition is based on file size. You can choose a file size (using the list on the right to change the units) and then select whether files should be larger, smaller, equal to, or not equal to that size. The following shows a rule that will match plain text files that are over 1kB.
\image html AutoIngest\file_export_size.png
\image html AutoIngest/file_export_size.png
\subsection file_exporter_attributes Attributes
@ -34,25 +34,25 @@ The third condition is based on blackboard artifacts and attributes, which is ho
To make an attribute condition, select the artifact type and then the attribute type that you are interested in. On the next line you can enter a value and set what relation you want the attribute to have to it (equals, not equals, greater/less than). Not all options will make sense with all data types. Then use the "Add Attribute" button to add it to the attribute list. If you make a mistake, use the "Delete Attribute" button to erase it. The following shows a rule that will export any files that had a keyword hit for the word "bomb" in them.
\image html AutoIngest\file_export_keyword.png
\image html AutoIngest/file_export_keyword.png
It's possible to do more general matching on the artifacts. Suppose you wanted to export all files that the \ref encryption_page flagged as "Encryption Suspected". These files will have a TSK_ENCRYPTION_SUSPECTED artifact with a single "TSK_COMMENT" attribute that contains the entropy calculated for the file. In this case we can use the "not equals" operator on a string that we wouldn't expect to see in the TSK_COMMENT field to effectively change the condition to "has an associated TSK_ENCRYPTION_SUSPECTED artifact."
\image html AutoIngest\file_export_encrypton.png
\image html AutoIngest/file_export_encrypton.png
\section file_export_output Output
The exported files are found under the files folder that was specified in the \ref file_export_setup step and then organized at the top layer by the device ID of the data source.
\image html AutoIngest\file_export_dir_structure.png
\image html AutoIngest/file_export_dir_structure.png
Exported files are named with their hash and stored in subfolders based on parts of that hash, to prevent any single folder from becoming very large.
\image html AutoIngest\file_export_file_loc.png
\image html AutoIngest/file_export_file_loc.png
The report files are also found in subfolders under the device ID and then the rule name.
\image html AutoIngest\file_export_json_loc.png
\image html AutoIngest/file_export_json_loc.png
This json file will contain information about the file, and any associated artifact that was part of the rule's conditions.
\verbatim

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -1,4 +1,4 @@
/*! \page live_triage_page Live Triage
/*! \page live_triage_page Creating a Live Triage Drive
\section live_triage_overview Overview

View File

@ -62,7 +62,9 @@ The following topics are available here:
- \subpage windows_authentication
- \subpage multiuser_sec_page
- \subpage multiuser_page
- \subpage live_triage_page
- Triage
- \subpage triage_page
- \subpage live_triage_page
- \subpage advanced_page
- \subpage experimental_page
- \subpage command_line_ingest_page

View File

@ -72,4 +72,83 @@ You should submit a Github Pull Request when:
To get the code committed, send a [pull request](https://help.github.com/articles/about-pull-requests/) to the main Autopsy repository.
\section translations_ui Translating The UI
This section outlines how to translate the UI. To do this, you will need:
- A git account
- Basic familiarity with git
- A full Autopsy development environment.
\subsection translations_ui_autopsy Autopsy Development Environment
You will need to have a full Autopsy development environment setup so that you can launch Autopsy with your translations and verify it is in the correct location and doesn't get cropped.
You can find instructions for doing this in [BUILDING.txt](https://github.com/sleuthkit/autopsy/blob/develop/BUILDING.txt).
\subsection translations_ui_strings Where The English Strings Are Stored
Autopsy uses two different methods for storing the English versions of the UI strings. Some are stored in Bundle.properties files and others are stored in the code as \@Message annotations. The annotations make it harder for the code to be translated because translators would need to look in two places, but makes development easier.
To make translations easier, we've added some logic into our build process to merge the various strings together into a single place. When the Autopsy code is compiled, it merges the contents of the annotations and the Bundle.properties files into a single file named Bundle.properties-MERGED. One of these files exists for each Java package.
Let's look at an example in the corecomponents package. Note that some of these links may not be exactly correct once these files are updated and the documentation is not updated, but they serve as a basic reference):
- There is a [Bundle.properties](https://github.com/sleuthkit/autopsy/blob/develop/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties) file. At the time of this writing, there are 230 lines in that file.
- In that same package, the [AutopsyOptionsPanel.java](https://github.com/sleuthkit/autopsy/blob/develop/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.java#L53) class has some strings defined as \@Message annotations.
- There is a [Bundle.properties-MERGED](https://github.com/sleuthkit/autopsy/blob/develop/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties-MERGED) file that contains the strings from both Bundle.properties and the annotations. At this time of this writing, that file has 277 lines.
\subsection translations_ui_translation Where The Translated Strings Are Stored
Each Java package should have a Bundle_AB.properties file that stores the translated text. The AB is replaced by the 2 character [country code] (http://www.lingoes.net/en/translator/langcode.htm). Such as Bundle_fr.properties for French or Bundle_ja.properties for Japanese.
As an example, you can see the Japanese translation of the previous corecomponents package in [Bundle_ja.properties](https://github.com/sleuthkit/autopsy/blob/develop/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle_ja.properties).
This file needs to contain all of the strings for that language. It needs to be based off of the Bundle.properties-MERGED file, not the Bundle.properties file (which does not contain all of the strings).
\subsection translations_ui_start Translating To a New Language
If there is not already documentation in a language, then you need to:
- Go into each package
- Copy the Bundle.properties-MERGED file to Bundle_XX.properties file where XX is replaced by the language code.
- Edit the Bundle_XX.properties file and translate the English strings.
\subsection translations_ui_update Updating The Translations
When new releases are made and the English UI is updated, the other languages should be updated as well. To determine what has changed:
- First, determine when the last time the translated file was changed. From a command line, you can change into the package folder and type:
\code
$ cd Core/src/org/sleuthkit/autopsy/corecomponents
$ git log -n 1 Bundle_ja.properties
commit 94e4b1042af47908dd4a0b2959b3f6c3d4af1333
Author: John Doe <jdoe@sleuthkit.org>
Date: Tue Jan 1 22:56:09 2019 -0500
\endcode
This shows you that commit 94e4b1042af47908dd4a0b2959b3f6c3d4af1333 was the last translation update to occur for the Japanese version.
- Next, determine what changed in the English version since then:
\code
$ git diff 94e4b1042af47908dd4a0b2959b3f6c3d4af1333 Bundle.properties-MERGED
-AutopsyOptionsPanel.restartNecessaryWarning.text=A restart is necessary for any changes to max memory to take effect.
+AutopsyOptionsPanel.restartNecessaryWarning.text=A restart is necessary for any memory changes to take effect.
\endcode
- Update the strings in Bundle_ja.properties appropriately based on what was added, removed, or changed.
- If you do not get to complete all of the changes, you should create a TODO_xx.txt file that lists what was not updated so that other people know that not everything was updated.
\subsection translations_ui_commit Committing the Documentation
You should submit a Github Pull Request when:
- You complete a language.
- You don't have time to do more work, but want to submit what you did.
To get the code committed, send a [pull request](https://help.github.com/articles/about-pull-requests/) to the main Autopsy repository.
*/

View File

@ -0,0 +1,97 @@
/*! \page triage_page Triage
\section triage_overview Overview
Sometimes you need to make a quick decision about a system or systems and don't have the time or resources to make full images. For example, during a knock and talk you want to know if there is notable data on their system. Or you are at a location with many systems and want to know which should be analyzed first. Autopsy has features that will allow you to quickly find the data of interest without making full images of the devices. Those features will be described below, followed by some example scenarios that show how to put everything together.
\section triage_features Triage-related Features
There are many features of Autopsy that can come into play in a triage situation. Some help you process the files most likely to be relevant earlier, and others allow you to continue analyzing the data after disconnecting from the target system.
\subsection triage_prioritization Prioritization
The goal is to find the most important files first when there is limited time to analyze a system. Autopsy always runs on the user folders first (if present), since in many situations they are the most likely folders to contain data of interest.
\image html triage/pipelineFolders.png
\subsection triage_file_filter File Filters
For a particular scenario, you may know specific file types that you are interested in. For example, if you are only concerned with finding images, you could save time by not analyzing any non-image files. This will allow a system to be processed far faster than if you analyzed every file.
\image html triage/fileFilterImage.png
File filters allow you to limit which types of files will be processed. The \ref file_filters section of \ref ingest_page page shows how to create a file filter. You can filter on file name/extension, path, or how recently the file was modified. Once saved, your new file filter can be selected when configuring ingest modules.
\image html triage/fileFilter.png
\subsection triage_profile Ingest Profiles
Another way to speed up analysis is to only run some of the ingest modules. For example, if we're only interested in images, there may be no point in running the \ref keyword_search_page or the \ref encryption_page. You can manually select and configure the modules you want to run each time, but since many sessions are similar it may be easier to set up an ingest profile. An ingest profile allows you to store which file filter you want to run, which ingest modules should be enabled, and your configuration for each ingest module.
\image html triage/ingestProfile.png
Once you have at least one ingest profile configured, a new screen will appear before the normal ingest module configuration panel. If you choose your user-defined profile, that ingest module configuration panel will be skipped entirely and the ingest modules from that profile will be run on the data source.
\image html triage/profileSelect.png
See the \ref ingest_profiles section of the \ref ingest_page page for additional information on how to set up and use an ingest profile.
\subsection triage_no_image Running on Live Systems and Devices
In a triage situation, there is generally not time to make a full image of the system in question. There are a few ways to process live systems and devices with Autopsy:
<ul>
<li> Devices such as USB drives can be analyzed as local disks without needing to create an image file. See the \ref ds_local section for more details.
<li> A live triage drive can be created that will allow you to run Autopsy from a USB drive on a live system. All case data will be saved to the USB drive with minimal changes to the system being analyzed. See \ref live_triage_page for more details.
<li> The target computer can be booted from a trusted Linux or Windows USB and Autopsy can be run from it. <a href="https://sumuri.com/software/paladin/">Paladin</a> includes Autopsy in its bootable Linux USB and a Windows FE image can be created as well.
</ul>
\subsubsection triage_vhd Making a Sparse Image
With any of the above methods for analyzing live systems and devices there is still the problem that your Autopsy case won't be very useful after you disconnect from the drive. To solve this problem you can choose to make a "sparse VHD" as Autopsy is processing the device. This is a file format used by Microsoft Virtual Machines that is readable by Windows and other forensic tools. Instead of copying each sector sequentially, sparse VHDs allow us to copy sectors in any order. This lets us copy each sector as Autopsy reads it, so the sparse VHD will contain all of the files that have been processed so far. We will also have the data associated with volumes and file systems since Autopsy has to process those in the course of analyzing the system.
To create a sparse VHD, check the box for "Make a VHD image..." when selecting the disk to analyze.
\image html createVHD.png
\section triage_scenarios Scenarios
\subsection triage_scen1 Scenario: Previewing computer for child exploitation material
In this scenario, you are trying to answer whether child exploitation images exist in a knock and talk type situation where you will have a limited amount of time with the target system.
<b>Preparaton at the office:</b>
<ul>
<li> Create a \ref live_triage_page "live triage drive" on your USB drive
<li> Launch Autopsy from that USB drive and create an \ref ingest_profiles "ingest profile" that:
<ul>
<li> Uses a \ref file_filters "file filter" that runs on only picture and ZIP extensions
<li> Runs only the \ref hash_db_page "Hash Lookup Module", \ref EXIF_parser_page \ref file_type_identification_page, and \ref embedded_file_extractor_page
<li> Uses known child exploitation hash sets, following the instructions in \ref live_triage_hash_db to copy them to the USB drive
</ul>
</ul>
<b>At the house:</b>
<ul>
<li>Start the analysis:
<ul>
<li>Plus the live triage drive you made at the office into their laptop
<li>Launch Autopsy from the .bat file
<li>\ref cases_page "Create a case" (saving to your USB drive)
<li>Add a \ref ds_local "local drive data source"
<ul>
<li>"C:"
<li>Choose to make VHD and keep default location
</ul>
</ul>
<li>As the automated analysis continues:
<ul>
<li>Choose View->File Types->Images in the \ref tree_viewer_page "tree viewer" and review the thumbnails
<li>Wait for hash set hits
<li>Review EXIF fles
<li>\ref tagging_page "Tag" any notable files found
</ul>
<li>You can stop the analysis at any time. All data read so far will be in the VHD file.
</ul>
*/