mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-14 17:06:16 +00:00
Merge branch 'release-4.4.0' of https://github.com/sleuthkit/autopsy into 2431-WellFormedCustomTypes-4.4.0
This commit is contained in:
commit
a40da5b976
14
.gitignore
vendored
14
.gitignore
vendored
@ -3,6 +3,7 @@
|
|||||||
/*/build/
|
/*/build/
|
||||||
*/nbproject/private/*
|
*/nbproject/private/*
|
||||||
/nbproject/private/*
|
/nbproject/private/*
|
||||||
|
|
||||||
/Core/release/
|
/Core/release/
|
||||||
/Core/src/org/sleuthkit/autopsy/coreutils/Version.properties
|
/Core/src/org/sleuthkit/autopsy/coreutils/Version.properties
|
||||||
/Core/src/org/sleuthkit/autopsy/casemodule/docs/QuickStart.html
|
/Core/src/org/sleuthkit/autopsy/casemodule/docs/QuickStart.html
|
||||||
@ -13,13 +14,15 @@
|
|||||||
/Core/nbproject/*
|
/Core/nbproject/*
|
||||||
!/Core/nbproject/project.xml
|
!/Core/nbproject/project.xml
|
||||||
!/Core/nbproject/project.properties
|
!/Core/nbproject/project.properties
|
||||||
|
|
||||||
/CoreLibs/release/
|
/CoreLibs/release/
|
||||||
/CoreLibs/build/
|
/CoreLibs/build/
|
||||||
/CoreLibs/dist/
|
/CoreLibs/dist/
|
||||||
/CoreLibs/nbproject/*
|
/CoreLibs/nbproject/*
|
||||||
!/CoreLibs/nbproject/project.xml
|
!/CoreLibs/nbproject/project.xml
|
||||||
!/CoreLibs/nbproject/project.properties
|
!/CoreLibs/nbproject/project.properties
|
||||||
KeywordSearch/release/
|
|
||||||
|
/KeywordSearch/release/
|
||||||
/KeywordSearch/build/
|
/KeywordSearch/build/
|
||||||
/KeywordSearch/dist/
|
/KeywordSearch/dist/
|
||||||
/KeywordSearch/nbproject/*
|
/KeywordSearch/nbproject/*
|
||||||
@ -28,6 +31,7 @@ KeywordSearch/release/
|
|||||||
|
|
||||||
*/genfiles.properties
|
*/genfiles.properties
|
||||||
genfiles.properties
|
genfiles.properties
|
||||||
|
|
||||||
/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties
|
/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties
|
||||||
/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties
|
/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties
|
||||||
/branding/build/
|
/branding/build/
|
||||||
@ -35,6 +39,7 @@ genfiles.properties
|
|||||||
/branding/nbproject/*
|
/branding/nbproject/*
|
||||||
!/branding/nbproject/project.xml
|
!/branding/nbproject/project.xml
|
||||||
!/branding/nbproject/project.properties
|
!/branding/nbproject/project.properties
|
||||||
|
|
||||||
/test/input/*
|
/test/input/*
|
||||||
!/test/input/notablehashes.txt-md5.idx
|
!/test/input/notablehashes.txt-md5.idx
|
||||||
!/test/input/notablekeywords.xml
|
!/test/input/notablekeywords.xml
|
||||||
@ -65,11 +70,10 @@ genfiles.properties
|
|||||||
/gen_version.txt
|
/gen_version.txt
|
||||||
hs_err_pid*.log
|
hs_err_pid*.log
|
||||||
|
|
||||||
|
|
||||||
.DS_Store
|
.DS_Store
|
||||||
.*.swp
|
.*.swp
|
||||||
|
|
||||||
/ImageGallery/release/
|
|
||||||
/RecentActivity/release/
|
|
||||||
/Experimental/release/
|
/Experimental/release/
|
||||||
|
/ImageGallery/release/
|
||||||
/thunderbirdparser/release/
|
/thunderbirdparser/release/
|
||||||
|
/RecentActivity/release/
|
||||||
|
|
||||||
|
@ -682,10 +682,8 @@ public class Case {
|
|||||||
* Delete the text index.
|
* Delete the text index.
|
||||||
*/
|
*/
|
||||||
progressIndicator.start(Bundle.Case_progressMessage_deletingTextIndex());
|
progressIndicator.start(Bundle.Case_progressMessage_deletingTextIndex());
|
||||||
|
for (KeywordSearchService searchService : Lookup.getDefault().lookupAll(KeywordSearchService.class)) {
|
||||||
for (KeywordSearchService searchService : Lookup.getDefault().lookupAll(KeywordSearchService.class
|
searchService.deleteTextIndex(metadata);
|
||||||
)) {
|
|
||||||
searchService.deleteTextIndex(metadata.getTextIndexName());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CaseType.MULTI_USER_CASE == metadata.getCaseType()) {
|
if (CaseType.MULTI_USER_CASE == metadata.getCaseType()) {
|
||||||
|
@ -33,11 +33,11 @@
|
|||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Group type="102" alignment="0" attributes="0">
|
<Group type="102" alignment="0" attributes="0">
|
||||||
<Component id="newProfileButton" linkSize="5" min="-2" pref="107" max="-2" attributes="0"/>
|
<Component id="newProfileButton" linkSize="5" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="editProfileButton" linkSize="5" min="-2" pref="107" max="-2" attributes="0"/>
|
<Component id="editProfileButton" linkSize="5" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="deleteProfileButton" linkSize="5" min="-2" pref="109" max="-2" attributes="0"/>
|
<Component id="deleteProfileButton" linkSize="5" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<Component id="jScrollPane2" linkSize="6" alignment="1" min="-2" pref="346" max="-2" attributes="0"/>
|
<Component id="jScrollPane2" linkSize="6" alignment="1" min="-2" pref="346" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
@ -118,25 +118,25 @@
|
|||||||
<EmptySpace min="-2" max="-2" attributes="0"/>
|
<EmptySpace min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="selectedModulesLabel" min="-2" max="-2" attributes="0"/>
|
<Component id="selectedModulesLabel" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace min="-2" max="-2" attributes="0"/>
|
<EmptySpace min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="selectedModulesPane" pref="170" max="32767" attributes="0"/>
|
<Component id="selectedModulesPane" pref="171" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<Group type="102" attributes="0">
|
<Group type="102" attributes="0">
|
||||||
<Component id="jScrollPane2" min="-2" max="-2" attributes="0"/>
|
<Component id="jScrollPane2" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace min="-2" max="-2" attributes="0"/>
|
<EmptySpace min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="profileListLabel" min="-2" max="-2" attributes="0"/>
|
<Component id="profileListLabel" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace min="-2" max="-2" attributes="0"/>
|
<EmptySpace min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="profileListPane" pref="346" max="32767" attributes="0"/>
|
<Component id="profileListPane" pref="356" max="32767" attributes="0"/>
|
||||||
<EmptySpace min="9" pref="9" max="-2" attributes="0"/>
|
<EmptySpace min="0" pref="0" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace min="-2" pref="4" max="-2" attributes="0"/>
|
<EmptySpace min="-2" pref="6" max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="3" attributes="0">
|
<Group type="103" groupAlignment="3" attributes="0">
|
||||||
<Component id="newProfileButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
<Component id="newProfileButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="editProfileButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
<Component id="editProfileButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="deleteProfileButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
<Component id="deleteProfileButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="ingestWarningLabel" alignment="3" min="-2" max="-2" attributes="0"/>
|
<Component id="ingestWarningLabel" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace min="-2" max="-2" attributes="0"/>
|
<EmptySpace min="-2" pref="6" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<Component id="jSeparator2" max="32767" attributes="0"/>
|
<Component id="jSeparator2" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
@ -181,16 +181,16 @@
|
|||||||
<ResourceString bundle="org/sleuthkit/autopsy/ingest/Bundle.properties" key="ProfileSettingsPanel.newProfileButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/ingest/Bundle.properties" key="ProfileSettingsPanel.newProfileButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
||||||
<Insets value="[2, 8, 2, 8]"/>
|
<Insets value="[2, 6, 2, 6]"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
<Dimension value="[97, 23]"/>
|
<Dimension value="[111, 25]"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
<Dimension value="[97, 23]"/>
|
<Dimension value="[111, 25]"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
<Dimension value="[97, 23]"/>
|
<Dimension value="[111, 25]"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
@ -206,16 +206,16 @@
|
|||||||
<ResourceString bundle="org/sleuthkit/autopsy/ingest/Bundle.properties" key="ProfileSettingsPanel.editProfileButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/ingest/Bundle.properties" key="ProfileSettingsPanel.editProfileButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
||||||
<Insets value="[2, 8, 2, 8]"/>
|
<Insets value="[2, 6, 2, 6]"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
<Dimension value="[97, 23]"/>
|
<Dimension value="[111, 25]"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
<Dimension value="[97, 23]"/>
|
<Dimension value="[111, 25]"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
<Dimension value="[97, 23]"/>
|
<Dimension value="[111, 25]"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
@ -231,10 +231,16 @@
|
|||||||
<ResourceString bundle="org/sleuthkit/autopsy/ingest/Bundle.properties" key="ProfileSettingsPanel.deleteProfileButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/ingest/Bundle.properties" key="ProfileSettingsPanel.deleteProfileButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
||||||
<Insets value="[2, 8, 2, 8]"/>
|
<Insets value="[2, 6, 2, 6]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
<Dimension value="[97, 23]"/>
|
<Dimension value="[111, 25]"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
|
@ -110,10 +110,10 @@ class ProfileSettingsPanel extends IngestModuleGlobalSettingsPanel implements Op
|
|||||||
|
|
||||||
newProfileButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/add16.png"))); // NOI18N
|
newProfileButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/add16.png"))); // NOI18N
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(newProfileButton, org.openide.util.NbBundle.getMessage(ProfileSettingsPanel.class, "ProfileSettingsPanel.newProfileButton.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(newProfileButton, org.openide.util.NbBundle.getMessage(ProfileSettingsPanel.class, "ProfileSettingsPanel.newProfileButton.text")); // NOI18N
|
||||||
newProfileButton.setMargin(new java.awt.Insets(2, 8, 2, 8));
|
newProfileButton.setMargin(new java.awt.Insets(2, 6, 2, 6));
|
||||||
newProfileButton.setMaximumSize(new java.awt.Dimension(97, 23));
|
newProfileButton.setMaximumSize(new java.awt.Dimension(111, 25));
|
||||||
newProfileButton.setMinimumSize(new java.awt.Dimension(97, 23));
|
newProfileButton.setMinimumSize(new java.awt.Dimension(111, 25));
|
||||||
newProfileButton.setPreferredSize(new java.awt.Dimension(97, 23));
|
newProfileButton.setPreferredSize(new java.awt.Dimension(111, 25));
|
||||||
newProfileButton.addActionListener(new java.awt.event.ActionListener() {
|
newProfileButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
newProfileButtonActionPerformed(evt);
|
newProfileButtonActionPerformed(evt);
|
||||||
@ -122,10 +122,10 @@ class ProfileSettingsPanel extends IngestModuleGlobalSettingsPanel implements Op
|
|||||||
|
|
||||||
editProfileButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/edit16.png"))); // NOI18N
|
editProfileButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/edit16.png"))); // NOI18N
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(editProfileButton, org.openide.util.NbBundle.getMessage(ProfileSettingsPanel.class, "ProfileSettingsPanel.editProfileButton.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(editProfileButton, org.openide.util.NbBundle.getMessage(ProfileSettingsPanel.class, "ProfileSettingsPanel.editProfileButton.text")); // NOI18N
|
||||||
editProfileButton.setMargin(new java.awt.Insets(2, 8, 2, 8));
|
editProfileButton.setMargin(new java.awt.Insets(2, 6, 2, 6));
|
||||||
editProfileButton.setMaximumSize(new java.awt.Dimension(97, 23));
|
editProfileButton.setMaximumSize(new java.awt.Dimension(111, 25));
|
||||||
editProfileButton.setMinimumSize(new java.awt.Dimension(97, 23));
|
editProfileButton.setMinimumSize(new java.awt.Dimension(111, 25));
|
||||||
editProfileButton.setPreferredSize(new java.awt.Dimension(97, 23));
|
editProfileButton.setPreferredSize(new java.awt.Dimension(111, 25));
|
||||||
editProfileButton.addActionListener(new java.awt.event.ActionListener() {
|
editProfileButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
editProfileButtonActionPerformed(evt);
|
editProfileButtonActionPerformed(evt);
|
||||||
@ -134,8 +134,10 @@ class ProfileSettingsPanel extends IngestModuleGlobalSettingsPanel implements Op
|
|||||||
|
|
||||||
deleteProfileButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/delete16.png"))); // NOI18N
|
deleteProfileButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/delete16.png"))); // NOI18N
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(deleteProfileButton, org.openide.util.NbBundle.getMessage(ProfileSettingsPanel.class, "ProfileSettingsPanel.deleteProfileButton.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(deleteProfileButton, org.openide.util.NbBundle.getMessage(ProfileSettingsPanel.class, "ProfileSettingsPanel.deleteProfileButton.text")); // NOI18N
|
||||||
deleteProfileButton.setMargin(new java.awt.Insets(2, 8, 2, 8));
|
deleteProfileButton.setMargin(new java.awt.Insets(2, 6, 2, 6));
|
||||||
deleteProfileButton.setPreferredSize(new java.awt.Dimension(97, 23));
|
deleteProfileButton.setMaximumSize(new java.awt.Dimension(111, 25));
|
||||||
|
deleteProfileButton.setMinimumSize(new java.awt.Dimension(111, 25));
|
||||||
|
deleteProfileButton.setPreferredSize(new java.awt.Dimension(111, 25));
|
||||||
deleteProfileButton.addActionListener(new java.awt.event.ActionListener() {
|
deleteProfileButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
deleteProfileButtonActionPerformed(evt);
|
deleteProfileButtonActionPerformed(evt);
|
||||||
@ -210,11 +212,11 @@ class ProfileSettingsPanel extends IngestModuleGlobalSettingsPanel implements Op
|
|||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGroup(layout.createSequentialGroup()
|
.addGroup(layout.createSequentialGroup()
|
||||||
.addComponent(newProfileButton, javax.swing.GroupLayout.PREFERRED_SIZE, 107, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(newProfileButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(editProfileButton, javax.swing.GroupLayout.PREFERRED_SIZE, 107, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(editProfileButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(deleteProfileButton, javax.swing.GroupLayout.PREFERRED_SIZE, 109, javax.swing.GroupLayout.PREFERRED_SIZE))
|
.addComponent(deleteProfileButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||||
.addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 346, javax.swing.GroupLayout.PREFERRED_SIZE))
|
.addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 346, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||||
.addComponent(profileListLabel))
|
.addComponent(profileListLabel))
|
||||||
.addGap(6, 6, 6))
|
.addGap(6, 6, 6))
|
||||||
@ -279,21 +281,21 @@ class ProfileSettingsPanel extends IngestModuleGlobalSettingsPanel implements Op
|
|||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(selectedModulesLabel)
|
.addComponent(selectedModulesLabel)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(selectedModulesPane, javax.swing.GroupLayout.DEFAULT_SIZE, 170, Short.MAX_VALUE))
|
.addComponent(selectedModulesPane, javax.swing.GroupLayout.DEFAULT_SIZE, 171, Short.MAX_VALUE))
|
||||||
.addGroup(layout.createSequentialGroup()
|
.addGroup(layout.createSequentialGroup()
|
||||||
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(profileListLabel)
|
.addComponent(profileListLabel)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(profileListPane, javax.swing.GroupLayout.DEFAULT_SIZE, 346, Short.MAX_VALUE)
|
.addComponent(profileListPane, javax.swing.GroupLayout.DEFAULT_SIZE, 356, Short.MAX_VALUE)
|
||||||
.addGap(9, 9, 9)))
|
.addGap(0, 0, 0)))
|
||||||
.addGap(4, 4, 4)
|
.addGap(6, 6, 6)
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||||
.addComponent(newProfileButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(newProfileButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(editProfileButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(editProfileButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(deleteProfileButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(deleteProfileButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(ingestWarningLabel))
|
.addComponent(ingestWarningLabel))
|
||||||
.addContainerGap())
|
.addGap(6, 6, 6))
|
||||||
.addComponent(jSeparator2)))
|
.addComponent(jSeparator2)))
|
||||||
);
|
);
|
||||||
}// </editor-fold>//GEN-END:initComponents
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
package org.sleuthkit.autopsy.keywordsearchservice;
|
package org.sleuthkit.autopsy.keywordsearchservice;
|
||||||
|
|
||||||
import java.io.Closeable;
|
import java.io.Closeable;
|
||||||
|
import org.sleuthkit.autopsy.casemodule.CaseMetadata;
|
||||||
import org.sleuthkit.datamodel.BlackboardArtifact;
|
import org.sleuthkit.datamodel.BlackboardArtifact;
|
||||||
import org.sleuthkit.datamodel.TskCoreException;
|
import org.sleuthkit.datamodel.TskCoreException;
|
||||||
|
|
||||||
@ -52,10 +53,10 @@ public interface KeywordSearchService extends Closeable {
|
|||||||
/**
|
/**
|
||||||
* Deletes the keyword search text index for a case.
|
* Deletes the keyword search text index for a case.
|
||||||
*
|
*
|
||||||
* @param textIndexName The text index name.
|
* @param metadata The CaseMetadata which will have its core deleted.
|
||||||
*
|
*
|
||||||
* @throws KeywordSearchServiceException if unable to delete.
|
* @throws KeywordSearchServiceException if unable to delete.
|
||||||
*/
|
*/
|
||||||
public void deleteTextIndex(String textIndexName) throws KeywordSearchServiceException;
|
public void deleteTextIndex(CaseMetadata metadata) throws KeywordSearchServiceException;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -68,20 +68,20 @@
|
|||||||
<Group type="102" alignment="0" attributes="0">
|
<Group type="102" alignment="0" attributes="0">
|
||||||
<Group type="103" groupAlignment="1" max="-2" attributes="0">
|
<Group type="103" groupAlignment="1" max="-2" attributes="0">
|
||||||
<Group type="102" alignment="0" attributes="0">
|
<Group type="102" alignment="0" attributes="0">
|
||||||
<Component id="copySetButton" linkSize="6" min="-2" pref="103" max="-2" attributes="0"/>
|
<Component id="copySetButton" linkSize="6" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="importSetButton" pref="0" max="32767" attributes="0"/>
|
<Component id="importSetButton" linkSize="6" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<Group type="102" alignment="0" attributes="0">
|
<Group type="102" alignment="0" attributes="0">
|
||||||
<Component id="newSetButton" linkSize="6" min="-2" pref="97" max="-2" attributes="0"/>
|
<Component id="newSetButton" linkSize="6" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="editSetButton" linkSize="6" min="-2" pref="98" max="-2" attributes="0"/>
|
<Component id="editSetButton" linkSize="6" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Component id="exportSetButton" min="-2" pref="112" max="-2" attributes="0"/>
|
<Component id="exportSetButton" linkSize="6" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="deleteSetButton" linkSize="6" pref="111" max="32767" attributes="0"/>
|
<Component id="deleteSetButton" linkSize="6" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
<Component id="setsListScrollPane" alignment="0" min="-2" pref="346" max="-2" attributes="0"/>
|
<Component id="setsListScrollPane" alignment="0" min="-2" pref="346" max="-2" attributes="0"/>
|
||||||
@ -285,9 +285,9 @@
|
|||||||
</Group>
|
</Group>
|
||||||
<EmptySpace min="-2" max="-2" attributes="0"/>
|
<EmptySpace min="-2" max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="3" attributes="0">
|
<Group type="103" groupAlignment="3" attributes="0">
|
||||||
<Component id="copySetButton" alignment="3" min="-2" pref="23" max="-2" attributes="0"/>
|
<Component id="copySetButton" linkSize="2" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="importSetButton" alignment="3" min="-2" pref="23" max="-2" attributes="0"/>
|
<Component id="importSetButton" linkSize="2" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="exportSetButton" alignment="3" min="-2" pref="23" max="-2" attributes="0"/>
|
<Component id="exportSetButton" linkSize="2" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace min="-2" pref="6" max="-2" attributes="0"/>
|
<EmptySpace min="-2" pref="6" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
@ -459,6 +459,18 @@
|
|||||||
<ResourceString bundle="org/sleuthkit/autopsy/modules/interestingitems/Bundle.properties" key="FilesSetDefsPanel.interesting.editSetButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/modules/interestingitems/Bundle.properties" key="FilesSetDefsPanel.interesting.editSetButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="enabled" type="boolean" value="false"/>
|
<Property name="enabled" type="boolean" value="false"/>
|
||||||
|
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
||||||
|
<Insets value="[2, 6, 2, 6]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="editSetButtonActionPerformed"/>
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="editSetButtonActionPerformed"/>
|
||||||
@ -648,6 +660,18 @@
|
|||||||
<ResourceString bundle="org/sleuthkit/autopsy/modules/interestingitems/Bundle.properties" key="FilesSetDefsPanel.interesting.deleteSetButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/modules/interestingitems/Bundle.properties" key="FilesSetDefsPanel.interesting.deleteSetButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="enabled" type="boolean" value="false"/>
|
<Property name="enabled" type="boolean" value="false"/>
|
||||||
|
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
||||||
|
<Insets value="[2, 6, 2, 6]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="deleteSetButtonActionPerformed"/>
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="deleteSetButtonActionPerformed"/>
|
||||||
@ -685,6 +709,18 @@
|
|||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/modules/interestingitems/Bundle.properties" key="FilesSetDefsPanel.interesting.newSetButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/modules/interestingitems/Bundle.properties" key="FilesSetDefsPanel.interesting.newSetButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
|
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
||||||
|
<Insets value="[2, 6, 2, 6]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="newSetButtonActionPerformed"/>
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="newSetButtonActionPerformed"/>
|
||||||
@ -892,6 +928,18 @@
|
|||||||
<ResourceString bundle="org/sleuthkit/autopsy/modules/interestingitems/Bundle.properties" key="FilesSetDefsPanel.interesting.copySetButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/modules/interestingitems/Bundle.properties" key="FilesSetDefsPanel.interesting.copySetButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="enabled" type="boolean" value="false"/>
|
<Property name="enabled" type="boolean" value="false"/>
|
||||||
|
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
||||||
|
<Insets value="[2, 6, 2, 6]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="copySetButtonActionPerformed"/>
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="copySetButtonActionPerformed"/>
|
||||||
@ -905,6 +953,18 @@
|
|||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/modules/interestingitems/Bundle.properties" key="FilesSetDefsPanel.interesting.importSetButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/modules/interestingitems/Bundle.properties" key="FilesSetDefsPanel.interesting.importSetButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
|
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
||||||
|
<Insets value="[2, 6, 2, 6]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="importSetButtonActionPerformed"/>
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="importSetButtonActionPerformed"/>
|
||||||
@ -919,6 +979,18 @@
|
|||||||
<ResourceString bundle="org/sleuthkit/autopsy/modules/interestingitems/Bundle.properties" key="FilesSetDefsPanel.interesting.exportSetButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/modules/interestingitems/Bundle.properties" key="FilesSetDefsPanel.interesting.exportSetButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="enabled" type="boolean" value="false"/>
|
<Property name="enabled" type="boolean" value="false"/>
|
||||||
|
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
||||||
|
<Insets value="[2, 6, 2, 6]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="exportSetButtonActionPerformed"/>
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="exportSetButtonActionPerformed"/>
|
||||||
|
@ -675,6 +675,10 @@ public final class FilesSetDefsPanel extends IngestModuleGlobalSettingsPanel imp
|
|||||||
editSetButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/edit16.png"))); // NOI18N
|
editSetButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/edit16.png"))); // NOI18N
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(editSetButton, org.openide.util.NbBundle.getMessage(FilesSetDefsPanel.class, "FilesSetDefsPanel.interesting.editSetButton.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(editSetButton, org.openide.util.NbBundle.getMessage(FilesSetDefsPanel.class, "FilesSetDefsPanel.interesting.editSetButton.text")); // NOI18N
|
||||||
editSetButton.setEnabled(false);
|
editSetButton.setEnabled(false);
|
||||||
|
editSetButton.setMargin(new java.awt.Insets(2, 6, 2, 6));
|
||||||
|
editSetButton.setMaximumSize(new java.awt.Dimension(111, 25));
|
||||||
|
editSetButton.setMinimumSize(new java.awt.Dimension(111, 25));
|
||||||
|
editSetButton.setPreferredSize(new java.awt.Dimension(111, 25));
|
||||||
editSetButton.addActionListener(new java.awt.event.ActionListener() {
|
editSetButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
editSetButtonActionPerformed(evt);
|
editSetButtonActionPerformed(evt);
|
||||||
@ -733,6 +737,10 @@ public final class FilesSetDefsPanel extends IngestModuleGlobalSettingsPanel imp
|
|||||||
deleteSetButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/delete16.png"))); // NOI18N
|
deleteSetButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/delete16.png"))); // NOI18N
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(deleteSetButton, org.openide.util.NbBundle.getMessage(FilesSetDefsPanel.class, "FilesSetDefsPanel.interesting.deleteSetButton.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(deleteSetButton, org.openide.util.NbBundle.getMessage(FilesSetDefsPanel.class, "FilesSetDefsPanel.interesting.deleteSetButton.text")); // NOI18N
|
||||||
deleteSetButton.setEnabled(false);
|
deleteSetButton.setEnabled(false);
|
||||||
|
deleteSetButton.setMargin(new java.awt.Insets(2, 6, 2, 6));
|
||||||
|
deleteSetButton.setMaximumSize(new java.awt.Dimension(111, 25));
|
||||||
|
deleteSetButton.setMinimumSize(new java.awt.Dimension(111, 25));
|
||||||
|
deleteSetButton.setPreferredSize(new java.awt.Dimension(111, 25));
|
||||||
deleteSetButton.addActionListener(new java.awt.event.ActionListener() {
|
deleteSetButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
deleteSetButtonActionPerformed(evt);
|
deleteSetButtonActionPerformed(evt);
|
||||||
@ -752,6 +760,10 @@ public final class FilesSetDefsPanel extends IngestModuleGlobalSettingsPanel imp
|
|||||||
newSetButton.setFont(newSetButton.getFont().deriveFont(newSetButton.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
|
newSetButton.setFont(newSetButton.getFont().deriveFont(newSetButton.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
|
||||||
newSetButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/add16.png"))); // NOI18N
|
newSetButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/add16.png"))); // NOI18N
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(newSetButton, org.openide.util.NbBundle.getMessage(FilesSetDefsPanel.class, "FilesSetDefsPanel.interesting.newSetButton.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(newSetButton, org.openide.util.NbBundle.getMessage(FilesSetDefsPanel.class, "FilesSetDefsPanel.interesting.newSetButton.text")); // NOI18N
|
||||||
|
newSetButton.setMargin(new java.awt.Insets(2, 6, 2, 6));
|
||||||
|
newSetButton.setMaximumSize(new java.awt.Dimension(111, 25));
|
||||||
|
newSetButton.setMinimumSize(new java.awt.Dimension(111, 25));
|
||||||
|
newSetButton.setPreferredSize(new java.awt.Dimension(111, 25));
|
||||||
newSetButton.addActionListener(new java.awt.event.ActionListener() {
|
newSetButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
newSetButtonActionPerformed(evt);
|
newSetButtonActionPerformed(evt);
|
||||||
@ -818,6 +830,10 @@ public final class FilesSetDefsPanel extends IngestModuleGlobalSettingsPanel imp
|
|||||||
copySetButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/new16.png"))); // NOI18N
|
copySetButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/new16.png"))); // NOI18N
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(copySetButton, org.openide.util.NbBundle.getMessage(FilesSetDefsPanel.class, "FilesSetDefsPanel.interesting.copySetButton.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(copySetButton, org.openide.util.NbBundle.getMessage(FilesSetDefsPanel.class, "FilesSetDefsPanel.interesting.copySetButton.text")); // NOI18N
|
||||||
copySetButton.setEnabled(false);
|
copySetButton.setEnabled(false);
|
||||||
|
copySetButton.setMargin(new java.awt.Insets(2, 6, 2, 6));
|
||||||
|
copySetButton.setMaximumSize(new java.awt.Dimension(111, 25));
|
||||||
|
copySetButton.setMinimumSize(new java.awt.Dimension(111, 25));
|
||||||
|
copySetButton.setPreferredSize(new java.awt.Dimension(111, 25));
|
||||||
copySetButton.addActionListener(new java.awt.event.ActionListener() {
|
copySetButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
copySetButtonActionPerformed(evt);
|
copySetButtonActionPerformed(evt);
|
||||||
@ -826,6 +842,10 @@ public final class FilesSetDefsPanel extends IngestModuleGlobalSettingsPanel imp
|
|||||||
|
|
||||||
importSetButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/import16.png"))); // NOI18N
|
importSetButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/import16.png"))); // NOI18N
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(importSetButton, org.openide.util.NbBundle.getMessage(FilesSetDefsPanel.class, "FilesSetDefsPanel.interesting.importSetButton.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(importSetButton, org.openide.util.NbBundle.getMessage(FilesSetDefsPanel.class, "FilesSetDefsPanel.interesting.importSetButton.text")); // NOI18N
|
||||||
|
importSetButton.setMargin(new java.awt.Insets(2, 6, 2, 6));
|
||||||
|
importSetButton.setMaximumSize(new java.awt.Dimension(111, 25));
|
||||||
|
importSetButton.setMinimumSize(new java.awt.Dimension(111, 25));
|
||||||
|
importSetButton.setPreferredSize(new java.awt.Dimension(111, 25));
|
||||||
importSetButton.addActionListener(new java.awt.event.ActionListener() {
|
importSetButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
importSetButtonActionPerformed(evt);
|
importSetButtonActionPerformed(evt);
|
||||||
@ -835,6 +855,10 @@ public final class FilesSetDefsPanel extends IngestModuleGlobalSettingsPanel imp
|
|||||||
exportSetButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/export16.png"))); // NOI18N
|
exportSetButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/export16.png"))); // NOI18N
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(exportSetButton, org.openide.util.NbBundle.getMessage(FilesSetDefsPanel.class, "FilesSetDefsPanel.interesting.exportSetButton.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(exportSetButton, org.openide.util.NbBundle.getMessage(FilesSetDefsPanel.class, "FilesSetDefsPanel.interesting.exportSetButton.text")); // NOI18N
|
||||||
exportSetButton.setEnabled(false);
|
exportSetButton.setEnabled(false);
|
||||||
|
exportSetButton.setMargin(new java.awt.Insets(2, 6, 2, 6));
|
||||||
|
exportSetButton.setMaximumSize(new java.awt.Dimension(111, 25));
|
||||||
|
exportSetButton.setMinimumSize(new java.awt.Dimension(111, 25));
|
||||||
|
exportSetButton.setPreferredSize(new java.awt.Dimension(111, 25));
|
||||||
exportSetButton.addActionListener(new java.awt.event.ActionListener() {
|
exportSetButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
exportSetButtonActionPerformed(evt);
|
exportSetButtonActionPerformed(evt);
|
||||||
@ -851,17 +875,17 @@ public final class FilesSetDefsPanel extends IngestModuleGlobalSettingsPanel imp
|
|||||||
.addGroup(jPanel1Layout.createSequentialGroup()
|
.addGroup(jPanel1Layout.createSequentialGroup()
|
||||||
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
|
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
|
||||||
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup()
|
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup()
|
||||||
.addComponent(copySetButton, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(copySetButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(importSetButton, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE))
|
.addComponent(importSetButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||||
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup()
|
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup()
|
||||||
.addComponent(newSetButton, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(newSetButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(editSetButton, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
.addComponent(editSetButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addComponent(exportSetButton, javax.swing.GroupLayout.PREFERRED_SIZE, 112, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(exportSetButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(deleteSetButton, javax.swing.GroupLayout.DEFAULT_SIZE, 111, Short.MAX_VALUE)))
|
.addComponent(deleteSetButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
|
||||||
.addComponent(setsListScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 346, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(setsListScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 346, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 346, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 346, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(setsListLabel))
|
.addComponent(setsListLabel))
|
||||||
@ -946,7 +970,7 @@ public final class FilesSetDefsPanel extends IngestModuleGlobalSettingsPanel imp
|
|||||||
.addGap(8, 8, 8))))
|
.addGap(8, 8, 8))))
|
||||||
);
|
);
|
||||||
|
|
||||||
jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {copySetButton, deleteSetButton, editSetButton, newSetButton});
|
jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {copySetButton, deleteSetButton, editSetButton, exportSetButton, importSetButton, newSetButton});
|
||||||
|
|
||||||
jPanel1Layout.setVerticalGroup(
|
jPanel1Layout.setVerticalGroup(
|
||||||
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
@ -1019,18 +1043,18 @@ public final class FilesSetDefsPanel extends IngestModuleGlobalSettingsPanel imp
|
|||||||
.addComponent(setsListScrollPane)
|
.addComponent(setsListScrollPane)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||||
.addComponent(newSetButton)
|
.addComponent(newSetButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(editSetButton)
|
.addComponent(editSetButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(deleteSetButton))
|
.addComponent(deleteSetButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||||
.addComponent(copySetButton, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(copySetButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(importSetButton, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(importSetButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(exportSetButton, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE))
|
.addComponent(exportSetButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||||
.addGap(6, 6, 6))))
|
.addGap(6, 6, 6))))
|
||||||
);
|
);
|
||||||
|
|
||||||
jPanel1Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {deleteRuleButton, deleteSetButton, editRuleButton, editSetButton, newRuleButton, newSetButton});
|
jPanel1Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {copySetButton, deleteRuleButton, deleteSetButton, editRuleButton, editSetButton, exportSetButton, importSetButton, newRuleButton, newSetButton});
|
||||||
|
|
||||||
jScrollPane1.setViewportView(jPanel1);
|
jScrollPane1.setViewportView(jPanel1);
|
||||||
|
|
||||||
|
@ -6,17 +6,19 @@
|
|||||||
<description>Builds, tests, and runs the project org.sleuthkit.autopsy.experimental.</description>
|
<description>Builds, tests, and runs the project org.sleuthkit.autopsy.experimental.</description>
|
||||||
<import file="nbproject/build-impl.xml"/>
|
<import file="nbproject/build-impl.xml"/>
|
||||||
<import file="../BootstrapIvy.xml"/>
|
<import file="../BootstrapIvy.xml"/>
|
||||||
<target name="init" depends="basic-init,files-init,build-init,-javac-init,init-ivy">
|
|
||||||
|
<target name="get-deps" depends="init-ivy">
|
||||||
<ivy:settings file="ivysettings.xml" />
|
<ivy:settings file="ivysettings.xml" />
|
||||||
<ivy:resolve/>
|
<ivy:resolve/>
|
||||||
<ivy:retrieve sync="false" pattern="${basedir}/release/modules/ext/[artifact]-[revision](-[classifier]).[ext]" />
|
<ivy:retrieve conf="experimental" pattern="${basedir}/release/modules/ext/[artifact]-[revision](-[classifier]).[ext]" />
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
|
<target name="init" depends="get-deps, harness.init" />
|
||||||
|
|
||||||
<target name="clean" depends="projectized-common.clean">
|
<target name="clean" depends="projectized-common.clean">
|
||||||
<!--Override clean to delete jars, etc downloaded with Ivy
|
<!--Override clean to delete jars, etc downloaded with Ivy
|
||||||
or copied in from thirdparty folder. This way we don't end up with
|
or copied in from thirdparty folder. This way we don't end up with
|
||||||
out-of-date/unneeded stuff in the installer-->
|
out-of-date/unneeded stuff in the installer-->
|
||||||
<mkdir dir="${basedir}/release"/>
|
|
||||||
<delete dir="${basedir}/release"/>
|
<delete dir="${basedir}/release"/>
|
||||||
</target>
|
</target>
|
||||||
</project>
|
</project>
|
||||||
|
@ -7,16 +7,10 @@
|
|||||||
</configurations>
|
</configurations>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency conf="experimental->default" org="com.github.lgooddatepicker" name="LGoodDatePicker" rev="4.3.1"/>
|
<dependency conf="experimental->default" org="com.github.lgooddatepicker" name="LGoodDatePicker" rev="4.3.1"/>
|
||||||
<dependency conf="experimental->default" org="org.apache.solr" name="solr-solrj" rev="4.9.1"/>
|
|
||||||
<dependency conf="experimental->default" org="org.apache.tika" name="tika-core" rev="1.5"/>
|
<dependency conf="experimental->default" org="org.apache.tika" name="tika-core" rev="1.5"/>
|
||||||
<dependency conf="experimental->default" org="org.postgresql" name="postgresql" rev="9.4-1201-jdbc41"/>
|
<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.mchange" name="c3p0" rev="0.9.5"/>
|
||||||
<dependency conf="experimental->default" org="com.fasterxml.jackson.core" name="jackson-core" rev="2.7.0"/>
|
<dependency conf="experimental->default" org="com.fasterxml.jackson.core" name="jackson-core" rev="2.7.0"/>
|
||||||
<dependency conf="experimental->default" org="org.swinglabs.swingx" name="swingx-all" rev="1.6.4"/>
|
<dependency conf="experimental->default" org="org.swinglabs.swingx" name="swingx-all" rev="1.6.4"/>
|
||||||
<exclude artifact="commons-io"/>
|
|
||||||
<exclude artifact="slf4j-api"/>
|
|
||||||
<exclude artifact="wstx-asl"/>
|
|
||||||
<exclude artifact="zookeeper"/>
|
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</ivy-module>
|
</ivy-module>
|
||||||
|
@ -2,11 +2,9 @@ file.reference.c3p0-0.9.5.jar=release/modules/ext/c3p0-0.9.5.jar
|
|||||||
file.reference.jackson-core-2.7.0.jar=release/modules/ext/jackson-core-2.7.0.jar
|
file.reference.jackson-core-2.7.0.jar=release/modules/ext/jackson-core-2.7.0.jar
|
||||||
file.reference.LGoodDatePicker-4.3.1.jar=release/modules/ext/LGoodDatePicker-4.3.1.jar
|
file.reference.LGoodDatePicker-4.3.1.jar=release/modules/ext/LGoodDatePicker-4.3.1.jar
|
||||||
file.reference.mchange-commons-java-0.2.9.jar=release/modules/ext/mchange-commons-java-0.2.9.jar
|
file.reference.mchange-commons-java-0.2.9.jar=release/modules/ext/mchange-commons-java-0.2.9.jar
|
||||||
file.reference.solr-solrj-4.9.1.jar=release/modules/ext/solr-solrj-4.9.1.jar
|
file.reference.postgresql-9.4-1201-jdbc41.jar=release/modules/ext/postgresql-9.4-1201-jdbc41.jar
|
||||||
file.reference.tika-core-1.5.jar=release/modules/ext/tika-core-1.5.jar
|
file.reference.tika-core-1.5.jar=release/modules/ext/tika-core-1.5.jar
|
||||||
javac.source=1.8
|
javac.source=1.8
|
||||||
javac.compilerargs=-Xlint -Xlint:-serial
|
javac.compilerargs=-Xlint -Xlint:-serial
|
||||||
javadoc.reference.LGoodDatePicker-4.3.1.jar=release/modules/ext/LGoodDatePicker-4.3.1-javadoc.jar
|
javadoc.reference.LGoodDatePicker-4.3.1.jar=release/modules/ext/LGoodDatePicker-4.3.1-javadoc.jar
|
||||||
javadoc.reference.solr-solrj-4.9.1.jar=release/modules/ext/solr-solrj-4.9.1-javadoc.jar
|
|
||||||
source.reference.LGoodDatePicker-4.3.1.jar=release/modules/ext/LGoodDatePicker-4.3.1-sources.jar
|
source.reference.LGoodDatePicker-4.3.1.jar=release/modules/ext/LGoodDatePicker-4.3.1-sources.jar
|
||||||
source.reference.solr-solrj-4.9.1.jar=release/modules/ext/solr-solrj-4.9.1-sources.jar
|
|
||||||
|
@ -119,6 +119,10 @@
|
|||||||
<package>org.sleuthkit.autopsy.experimental.autoingest</package>
|
<package>org.sleuthkit.autopsy.experimental.autoingest</package>
|
||||||
<package>org.sleuthkit.autopsy.experimental.configuration</package>
|
<package>org.sleuthkit.autopsy.experimental.configuration</package>
|
||||||
</public-packages>
|
</public-packages>
|
||||||
|
<class-path-extension>
|
||||||
|
<runtime-relative-path>ext/postgresql-9.4-1201-jdbc41.jar</runtime-relative-path>
|
||||||
|
<binary-origin>release/modules/ext/postgresql-9.4-1201-jdbc41.jar</binary-origin>
|
||||||
|
</class-path-extension>
|
||||||
<class-path-extension>
|
<class-path-extension>
|
||||||
<runtime-relative-path>ext/mchange-commons-java-0.2.9.jar</runtime-relative-path>
|
<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>
|
<binary-origin>release/modules/ext/mchange-commons-java-0.2.9.jar</binary-origin>
|
||||||
@ -139,30 +143,6 @@
|
|||||||
<runtime-relative-path>ext/c3p0-0.9.5.jar</runtime-relative-path>
|
<runtime-relative-path>ext/c3p0-0.9.5.jar</runtime-relative-path>
|
||||||
<binary-origin>release/modules/ext/c3p0-0.9.5.jar</binary-origin>
|
<binary-origin>release/modules/ext/c3p0-0.9.5.jar</binary-origin>
|
||||||
</class-path-extension>
|
</class-path-extension>
|
||||||
<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/httpclient-4.3.1.jar</runtime-relative-path>
|
|
||||||
<binary-origin>release/modules/ext/httpclient-4.3.1.jar</binary-origin>
|
|
||||||
</class-path-extension>
|
|
||||||
<class-path-extension>
|
|
||||||
<runtime-relative-path>ext/httpmime-4.3.1.jar</runtime-relative-path>
|
|
||||||
<binary-origin>release/modules/ext/httpmime-4.3.1.jar</binary-origin>
|
|
||||||
</class-path-extension>
|
|
||||||
<class-path-extension>
|
|
||||||
<runtime-relative-path>ext/httpcore-4.3.jar</runtime-relative-path>
|
|
||||||
<binary-origin>release/modules/ext/httpcore-4.3.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/postgresql-9.4-1201-jdbc41.jar</runtime-relative-path>
|
|
||||||
<binary-origin>release/modules/ext/postgresql-9.4-1201-jdbc41.jar</binary-origin>
|
|
||||||
</class-path-extension>
|
|
||||||
</data>
|
</data>
|
||||||
</configuration>
|
</configuration>
|
||||||
</project>
|
</project>
|
||||||
|
@ -32,10 +32,7 @@ import java.nio.file.Files;
|
|||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.nio.file.attribute.BasicFileAttributes;
|
import java.nio.file.attribute.BasicFileAttributes;
|
||||||
import java.sql.Connection;
|
|
||||||
import java.sql.DriverManager;
|
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.sql.Statement;
|
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -64,7 +61,6 @@ import java.util.stream.Collectors;
|
|||||||
import javax.annotation.concurrent.GuardedBy;
|
import javax.annotation.concurrent.GuardedBy;
|
||||||
import javax.annotation.concurrent.Immutable;
|
import javax.annotation.concurrent.Immutable;
|
||||||
import javax.annotation.concurrent.ThreadSafe;
|
import javax.annotation.concurrent.ThreadSafe;
|
||||||
import org.apache.solr.client.solrj.impl.HttpSolrServer;
|
|
||||||
import org.openide.util.Lookup;
|
import org.openide.util.Lookup;
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
import org.sleuthkit.autopsy.casemodule.Case.CaseType;
|
import org.sleuthkit.autopsy.casemodule.Case.CaseType;
|
||||||
@ -77,7 +73,6 @@ import org.sleuthkit.autopsy.coordinationservice.CoordinationService.Lock;
|
|||||||
import org.sleuthkit.autopsy.core.RuntimeProperties;
|
import org.sleuthkit.autopsy.core.RuntimeProperties;
|
||||||
import org.sleuthkit.autopsy.core.ServicesMonitor;
|
import org.sleuthkit.autopsy.core.ServicesMonitor;
|
||||||
import org.sleuthkit.autopsy.core.ServicesMonitor.ServicesMonitorException;
|
import org.sleuthkit.autopsy.core.ServicesMonitor.ServicesMonitorException;
|
||||||
import org.sleuthkit.autopsy.core.UserPreferences;
|
|
||||||
import org.sleuthkit.autopsy.core.UserPreferencesException;
|
import org.sleuthkit.autopsy.core.UserPreferencesException;
|
||||||
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorCallback;
|
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorCallback;
|
||||||
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorCallback.DataSourceProcessorResult;
|
import org.sleuthkit.autopsy.corecomponentinterfaces.DataSourceProcessorCallback.DataSourceProcessorResult;
|
||||||
@ -106,7 +101,6 @@ import org.sleuthkit.autopsy.ingest.IngestJobSettings;
|
|||||||
import org.sleuthkit.autopsy.ingest.IngestJobStartResult;
|
import org.sleuthkit.autopsy.ingest.IngestJobStartResult;
|
||||||
import org.sleuthkit.autopsy.ingest.IngestManager;
|
import org.sleuthkit.autopsy.ingest.IngestManager;
|
||||||
import org.sleuthkit.autopsy.ingest.IngestModuleError;
|
import org.sleuthkit.autopsy.ingest.IngestModuleError;
|
||||||
import org.sleuthkit.datamodel.CaseDbConnectionInfo;
|
|
||||||
import org.sleuthkit.datamodel.Content;
|
import org.sleuthkit.datamodel.Content;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -781,44 +775,7 @@ public final class AutoIngestManager extends Observable implements PropertyChang
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Tries to unload the Solr core for a case.
|
|
||||||
*
|
|
||||||
* @param caseName The case name.
|
|
||||||
* @param coreName The name of the core to unload.
|
|
||||||
*
|
|
||||||
* @throws Exception if there is a problem unloading the core or it has
|
|
||||||
* already been unloaded (e.g., by the server due to
|
|
||||||
* resource constraints), or there is a problem deleting
|
|
||||||
* files associated with the core
|
|
||||||
*/
|
|
||||||
private void unloadSolrCore(String coreName) throws Exception {
|
|
||||||
/*
|
|
||||||
* Send a core unload request to the Solr server, with the parameters
|
|
||||||
* that request deleting the index and the instance directory
|
|
||||||
* (deleteInstanceDir removes everything related to the core, the index
|
|
||||||
* directory, the configuration files, etc.) set to true.
|
|
||||||
*/
|
|
||||||
String url = "http://" + UserPreferences.getIndexingServerHost() + ":" + UserPreferences.getIndexingServerPort() + "/solr";
|
|
||||||
HttpSolrServer solrServer = new HttpSolrServer(url);
|
|
||||||
org.apache.solr.client.solrj.request.CoreAdminRequest.unloadCore(coreName, true, true, solrServer);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Tries to delete the case database for a case.
|
|
||||||
*
|
|
||||||
* @param caseFolderPath The case name.
|
|
||||||
* @param caseDatbaseName The case database name.
|
|
||||||
*/
|
|
||||||
private void deleteCaseDatabase(String caseDatbaseName) throws UserPreferencesException, ClassNotFoundException, SQLException {
|
|
||||||
CaseDbConnectionInfo db = UserPreferences.getDatabaseConnectionInfo();
|
|
||||||
Class.forName("org.postgresql.Driver"); //NON-NLS
|
|
||||||
try (Connection connection = DriverManager.getConnection("jdbc:postgresql://" + db.getHost() + ":" + db.getPort() + "/postgres", db.getUserName(), db.getPassword()); //NON-NLS
|
|
||||||
Statement statement = connection.createStatement();) {
|
|
||||||
String deleteCommand = "DROP DATABASE \"" + caseDatbaseName + "\""; //NON-NLS
|
|
||||||
statement.execute(deleteCommand);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes a set of auto ingest jobs from a collection of jobs.
|
* Removes a set of auto ingest jobs from a collection of jobs.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Autopsy Forensic Browser
|
* Autopsy Forensic Browser
|
||||||
*
|
*
|
||||||
* Copyright 2013 Basis Technology Corp.
|
* Copyright 2011-17 Basis Technology Corp.
|
||||||
* Contact: carrier <at> sleuthkit <dot> org
|
* Contact: carrier <at> sleuthkit <dot> org
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
@ -53,10 +53,10 @@ import org.sleuthkit.autopsy.imagegallery.ImageGalleryTopComponent;
|
|||||||
"OpenAction.stale.confDlg.title=Image Gallery"})
|
"OpenAction.stale.confDlg.title=Image Gallery"})
|
||||||
public final class OpenAction extends CallableSystemAction implements Presenter.Toolbar {
|
public final class OpenAction extends CallableSystemAction implements Presenter.Toolbar {
|
||||||
|
|
||||||
private static final String VIEW_IMAGES_VIDEOS = Bundle.CTL_OpenAction();
|
|
||||||
private static final boolean fxInited = Installer.isJavaFxInited();
|
|
||||||
private static final Logger LOGGER = Logger.getLogger(OpenAction.class.getName());
|
private static final Logger LOGGER = Logger.getLogger(OpenAction.class.getName());
|
||||||
private JButton toolbarButton = new JButton();
|
private static final String VIEW_IMAGES_VIDEOS = Bundle.CTL_OpenAction();
|
||||||
|
|
||||||
|
private final JButton toolbarButton = new JButton();
|
||||||
private final PropertyChangeListener pcl;
|
private final PropertyChangeListener pcl;
|
||||||
|
|
||||||
public OpenAction() {
|
public OpenAction() {
|
||||||
@ -64,7 +64,7 @@ public final class OpenAction extends CallableSystemAction implements Presenter.
|
|||||||
toolbarButton.addActionListener(actionEvent -> performAction());
|
toolbarButton.addActionListener(actionEvent -> performAction());
|
||||||
pcl = (PropertyChangeEvent evt) -> {
|
pcl = (PropertyChangeEvent evt) -> {
|
||||||
if (evt.getPropertyName().equals(Case.Events.CURRENT_CASE.toString())) {
|
if (evt.getPropertyName().equals(Case.Events.CURRENT_CASE.toString())) {
|
||||||
setEnabled(Case.isCaseOpen());
|
setEnabled(evt.getNewValue() != null);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
Case.addPropertyChangeListener(pcl);
|
Case.addPropertyChangeListener(pcl);
|
||||||
@ -73,7 +73,7 @@ public final class OpenAction extends CallableSystemAction implements Presenter.
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isEnabled() {
|
public boolean isEnabled() {
|
||||||
return Case.isCaseOpen() && fxInited && Case.getCurrentCase().hasData();
|
return Case.isCaseOpen() && Installer.isJavaFxInited() && Case.getCurrentCase().hasData();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Returns the toolbar component of this action
|
/** Returns the toolbar component of this action
|
||||||
|
@ -312,7 +312,7 @@ GlobalEditListPanel.keywordErrorsPlural.text={0} keywords could not be parsed. P
|
|||||||
GlobalListsManagementPanel.exportButton.text=Export List
|
GlobalListsManagementPanel.exportButton.text=Export List
|
||||||
GlobalListsManagementPanel.deleteListButton.text=Delete List
|
GlobalListsManagementPanel.deleteListButton.text=Delete List
|
||||||
GlobalListsManagementPanel.copyListButton.text=Copy List
|
GlobalListsManagementPanel.copyListButton.text=Copy List
|
||||||
GlobalListsManagementPanel.renameListButton.text=Edit List
|
GlobalListsManagementPanel.renameListButton.text=Edit List Name
|
||||||
GlobalEditListPanel.editWordButton.text=Edit Keyword
|
GlobalEditListPanel.editWordButton.text=Edit Keyword
|
||||||
SolrSearchService.ServiceName=Solr Keyword Search Service
|
SolrSearchService.ServiceName=Solr Keyword Search Service
|
||||||
SolrSearchService.IndexUpgradeDialog.title=Text Index Upgrade Required In Order To Open Case
|
SolrSearchService.IndexUpgradeDialog.title=Text Index Upgrade Required In Order To Open Case
|
||||||
|
@ -74,7 +74,7 @@ class EnCaseKeywordSearchList extends KeywordSearchList {
|
|||||||
if (child.flags.contains(EncaseFlag.pg)) { // Skip GREP keywords
|
if (child.flags.contains(EncaseFlag.pg)) { // Skip GREP keywords
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
children.add(new Keyword(child.value, true));
|
children.add(new Keyword(child.value, true, true));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -151,7 +151,7 @@
|
|||||||
<Component class="javax.swing.JButton" name="newKeywordsButton">
|
<Component class="javax.swing.JButton" name="newKeywordsButton">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
||||||
<Image iconType="3" name="/org/sleuthkit/autopsy/keywordsearch/new16.png"/>
|
<Image iconType="3" name="/org/sleuthkit/autopsy/keywordsearch/add16.png"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="GlobalEditListPanel.newKeywordsButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="GlobalEditListPanel.newKeywordsButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
@ -159,10 +159,10 @@ class GlobalEditListPanel extends javax.swing.JPanel implements ListSelectionLis
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Keyword keyword = new Keyword(newWord, !dialog.isKeywordRegex(), dialog.isKeywordExact());
|
final Keyword keyword = new Keyword(newWord, !dialog.isKeywordRegex(), dialog.isKeywordExact(), currentKeywordList.getName(), newWord);
|
||||||
if (currentKeywordList.hasKeyword(keyword)) {
|
if (currentKeywordList.hasKeyword(keyword)) {
|
||||||
dupeCount++;
|
dupeCount++;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
//check if valid
|
//check if valid
|
||||||
@ -282,7 +282,7 @@ class GlobalEditListPanel extends javax.swing.JPanel implements ListSelectionLis
|
|||||||
|
|
||||||
keywordsLabel.setText(org.openide.util.NbBundle.getMessage(GlobalEditListPanel.class, "KeywordSearchEditListPanel.keywordsLabel.text")); // NOI18N
|
keywordsLabel.setText(org.openide.util.NbBundle.getMessage(GlobalEditListPanel.class, "KeywordSearchEditListPanel.keywordsLabel.text")); // NOI18N
|
||||||
|
|
||||||
newKeywordsButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/new16.png"))); // NOI18N
|
newKeywordsButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/add16.png"))); // NOI18N
|
||||||
newKeywordsButton.setText(org.openide.util.NbBundle.getMessage(GlobalEditListPanel.class, "GlobalEditListPanel.newKeywordsButton.text")); // NOI18N
|
newKeywordsButton.setText(org.openide.util.NbBundle.getMessage(GlobalEditListPanel.class, "GlobalEditListPanel.newKeywordsButton.text")); // NOI18N
|
||||||
newKeywordsButton.addActionListener(new java.awt.event.ActionListener() {
|
newKeywordsButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
@ -41,7 +41,7 @@
|
|||||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||||
<Border info="null"/>
|
<Border info="null"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="dividerLocation" type="int" value="300"/>
|
<Property name="dividerLocation" type="int" value="361"/>
|
||||||
<Property name="dividerSize" type="int" value="1"/>
|
<Property name="dividerSize" type="int" value="1"/>
|
||||||
</Properties>
|
</Properties>
|
||||||
|
|
||||||
@ -50,8 +50,9 @@
|
|||||||
<Container class="javax.swing.JPanel" name="leftPanel">
|
<Container class="javax.swing.JPanel" name="leftPanel">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
<Dimension value="[287, 327]"/>
|
<Dimension value="[309, 327]"/>
|
||||||
</Property>
|
</Property>
|
||||||
|
<Property name="verifyInputWhenFocusTarget" type="boolean" value="false"/>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Constraints>
|
<Constraints>
|
||||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription">
|
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout$JSplitPaneConstraintsDescription">
|
||||||
@ -62,7 +63,7 @@
|
|||||||
<Layout>
|
<Layout>
|
||||||
<DimensionLayout dim="0">
|
<DimensionLayout dim="0">
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<EmptySpace min="0" pref="300" max="32767" attributes="0"/>
|
<EmptySpace min="0" pref="361" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</DimensionLayout>
|
</DimensionLayout>
|
||||||
<DimensionLayout dim="1">
|
<DimensionLayout dim="1">
|
||||||
@ -87,7 +88,7 @@
|
|||||||
<Layout>
|
<Layout>
|
||||||
<DimensionLayout dim="0">
|
<DimensionLayout dim="0">
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<EmptySpace min="0" pref="372" max="32767" attributes="0"/>
|
<EmptySpace min="0" pref="311" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</DimensionLayout>
|
</DimensionLayout>
|
||||||
<DimensionLayout dim="1">
|
<DimensionLayout dim="1">
|
||||||
|
@ -95,10 +95,9 @@ final class GlobalListSettingsPanel extends javax.swing.JPanel implements Option
|
|||||||
* Duplicates the selected keyword list, returns whether or not the keyword
|
* Duplicates the selected keyword list, returns whether or not the keyword
|
||||||
* list was duplicated.
|
* list was duplicated.
|
||||||
*
|
*
|
||||||
* @return true or false
|
* @return true if the list was copied false if it was not
|
||||||
*/
|
*/
|
||||||
private boolean copyAction() {
|
private boolean copyAction() {
|
||||||
boolean shouldAdd = false;
|
|
||||||
final String FEATURE_NAME = NbBundle.getMessage(this.getClass(),
|
final String FEATURE_NAME = NbBundle.getMessage(this.getClass(),
|
||||||
"KeywordSearchGlobalListSettingsPanel.component.featureName.text");
|
"KeywordSearchGlobalListSettingsPanel.component.featureName.text");
|
||||||
KeywordList currentKeywordList = editListPanel.getCurrentKeywordList();
|
KeywordList currentKeywordList = editListPanel.getCurrentKeywordList();
|
||||||
@ -114,31 +113,30 @@ final class GlobalListSettingsPanel extends javax.swing.JPanel implements Option
|
|||||||
null,
|
null,
|
||||||
null,
|
null,
|
||||||
currentKeywordList.getName());
|
currentKeywordList.getName());
|
||||||
if (listName == null || listName.trim().equals("")) {
|
|
||||||
return shouldAdd;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (listName == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
//remove trailing and leading spaces so lists can't have visually identical names
|
||||||
|
listName = listName.trim();
|
||||||
|
//if the name is empty or unchanged return without changing anything
|
||||||
|
if (listName.equals("") || listName.equals(currentKeywordList.getName())) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
XmlKeywordSearchList writer = XmlKeywordSearchList.getCurrent();
|
XmlKeywordSearchList writer = XmlKeywordSearchList.getCurrent();
|
||||||
if (writer.listExists(listName) && writer.getList(listName).isEditable()) {
|
if (writer.listExists(listName) && writer.getList(listName).isEditable()) {
|
||||||
KeywordSearchUtil.displayDialog(FEATURE_NAME, NbBundle.getMessage(this.getClass(), "KeywordSearchConfigurationPanel1.customizeComponents.noOwDefaultMsg"), KeywordSearchUtil.DIALOG_MESSAGE_TYPE.WARN);
|
KeywordSearchUtil.displayDialog(FEATURE_NAME, NbBundle.getMessage(this.getClass(), "KeywordSearchConfigurationPanel1.customizeComponents.noOwDefaultMsg"), KeywordSearchUtil.DIALOG_MESSAGE_TYPE.WARN);
|
||||||
return shouldAdd;
|
return false;
|
||||||
}
|
}
|
||||||
if (writer.listExists(listName)) {
|
if (writer.listExists(listName)) {
|
||||||
boolean replace = KeywordSearchUtil.displayConfirmDialog(FEATURE_NAME, NbBundle.getMessage(this.getClass(), "KeywordSearchConfigurationPanel1.customizeComponents.kwListExistMsg", listName),
|
if (!KeywordSearchUtil.displayConfirmDialog(FEATURE_NAME, NbBundle.getMessage(this.getClass(), "KeywordSearchConfigurationPanel1.customizeComponents.kwListExistMsg", listName),
|
||||||
KeywordSearchUtil.DIALOG_MESSAGE_TYPE.WARN);
|
KeywordSearchUtil.DIALOG_MESSAGE_TYPE.WARN)) {
|
||||||
if (replace) {
|
return false;
|
||||||
shouldAdd = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
|
||||||
shouldAdd = true;
|
|
||||||
}
|
}
|
||||||
|
writer.addList(listName, keywords);
|
||||||
if (shouldAdd) {
|
KeywordSearchUtil.displayDialog(FEATURE_NAME, NbBundle.getMessage(this.getClass(), "KeywordSearchConfigurationPanel1.customizeComponents.kwListSavedMsg", listName), KeywordSearchUtil.DIALOG_MESSAGE_TYPE.INFO);
|
||||||
writer.addList(listName, keywords);
|
return true;
|
||||||
KeywordSearchUtil.displayDialog(FEATURE_NAME, NbBundle.getMessage(this.getClass(), "KeywordSearchConfigurationPanel1.customizeComponents.kwListSavedMsg", listName), KeywordSearchUtil.DIALOG_MESSAGE_TYPE.INFO);
|
|
||||||
}
|
|
||||||
return shouldAdd;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -187,16 +185,17 @@ final class GlobalListSettingsPanel extends javax.swing.JPanel implements Option
|
|||||||
rightPanel = new javax.swing.JPanel();
|
rightPanel = new javax.swing.JPanel();
|
||||||
|
|
||||||
mainSplitPane.setBorder(null);
|
mainSplitPane.setBorder(null);
|
||||||
mainSplitPane.setDividerLocation(300);
|
mainSplitPane.setDividerLocation(361);
|
||||||
mainSplitPane.setDividerSize(1);
|
mainSplitPane.setDividerSize(1);
|
||||||
|
|
||||||
leftPanel.setPreferredSize(new java.awt.Dimension(287, 327));
|
leftPanel.setPreferredSize(new java.awt.Dimension(309, 327));
|
||||||
|
leftPanel.setVerifyInputWhenFocusTarget(false);
|
||||||
|
|
||||||
javax.swing.GroupLayout leftPanelLayout = new javax.swing.GroupLayout(leftPanel);
|
javax.swing.GroupLayout leftPanelLayout = new javax.swing.GroupLayout(leftPanel);
|
||||||
leftPanel.setLayout(leftPanelLayout);
|
leftPanel.setLayout(leftPanelLayout);
|
||||||
leftPanelLayout.setHorizontalGroup(
|
leftPanelLayout.setHorizontalGroup(
|
||||||
leftPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
leftPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGap(0, 300, Short.MAX_VALUE)
|
.addGap(0, 361, Short.MAX_VALUE)
|
||||||
);
|
);
|
||||||
leftPanelLayout.setVerticalGroup(
|
leftPanelLayout.setVerticalGroup(
|
||||||
leftPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
leftPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
@ -211,7 +210,7 @@ final class GlobalListSettingsPanel extends javax.swing.JPanel implements Option
|
|||||||
rightPanel.setLayout(rightPanelLayout);
|
rightPanel.setLayout(rightPanelLayout);
|
||||||
rightPanelLayout.setHorizontalGroup(
|
rightPanelLayout.setHorizontalGroup(
|
||||||
rightPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
rightPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGap(0, 372, Short.MAX_VALUE)
|
.addGap(0, 311, Short.MAX_VALUE)
|
||||||
);
|
);
|
||||||
rightPanelLayout.setVerticalGroup(
|
rightPanelLayout.setVerticalGroup(
|
||||||
rightPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
rightPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
@ -22,57 +22,52 @@
|
|||||||
<DimensionLayout dim="0">
|
<DimensionLayout dim="0">
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Group type="102" alignment="0" attributes="0">
|
<Group type="102" alignment="0" attributes="0">
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace min="-2" pref="10" max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Component id="jScrollPane1" pref="0" max="32767" attributes="1"/>
|
<Component id="jScrollPane1" min="-2" pref="345" max="-2" attributes="1"/>
|
||||||
<Component id="keywordListsLabel" min="-2" max="-2" attributes="0"/>
|
<Group type="102" attributes="0">
|
||||||
<Group type="102" alignment="0" attributes="0">
|
<Group type="103" groupAlignment="1" attributes="0">
|
||||||
|
<Component id="newListButton" linkSize="4" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="copyListButton" linkSize="4" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
<EmptySpace min="-2" pref="6" max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Component id="newListButton" linkSize="4" min="-2" pref="85" max="-2" attributes="0"/>
|
<Component id="importButton" linkSize="4" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="deleteListButton" linkSize="4" alignment="0" pref="0" max="32767" attributes="0"/>
|
<Component id="renameListButton" linkSize="4" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace min="-2" pref="12" max="-2" attributes="0"/>
|
<EmptySpace min="-2" pref="6" max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="0" max="-2" attributes="0">
|
|
||||||
<Component id="renameListButton" linkSize="4" pref="75" max="32767" attributes="0"/>
|
|
||||||
<Component id="importButton" linkSize="4" max="32767" attributes="0"/>
|
|
||||||
</Group>
|
|
||||||
<EmptySpace min="-2" pref="12" max="-2" attributes="0"/>
|
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Group type="102" attributes="0">
|
<Component id="exportButton" linkSize="4" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="copyListButton" linkSize="4" pref="0" max="32767" attributes="0"/>
|
<Component id="deleteListButton" linkSize="4" max="32767" attributes="0"/>
|
||||||
<EmptySpace min="0" pref="1" max="32767" attributes="0"/>
|
|
||||||
</Group>
|
|
||||||
<Group type="102" alignment="1" attributes="0">
|
|
||||||
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
|
|
||||||
<Component id="exportButton" linkSize="4" min="-2" pref="79" max="-2" attributes="0"/>
|
|
||||||
</Group>
|
|
||||||
</Group>
|
</Group>
|
||||||
|
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
|
<Component id="keywordListsLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace min="-2" pref="6" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
</DimensionLayout>
|
</DimensionLayout>
|
||||||
<DimensionLayout dim="1">
|
<DimensionLayout dim="1">
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Group type="102" alignment="1" attributes="0">
|
<Group type="102" alignment="1" attributes="0">
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace min="-2" pref="22" max="-2" attributes="0"/>
|
||||||
<Component id="keywordListsLabel" min="-2" max="-2" attributes="0"/>
|
<Component id="keywordListsLabel" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace min="-2" max="-2" attributes="0"/>
|
<EmptySpace min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="jScrollPane1" pref="316" max="32767" attributes="0"/>
|
<Component id="jScrollPane1" pref="305" max="32767" attributes="0"/>
|
||||||
<EmptySpace min="-2" max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="3" attributes="0">
|
<Group type="103" groupAlignment="3" attributes="0">
|
||||||
<Component id="newListButton" linkSize="5" alignment="3" min="-2" max="-2" attributes="0"/>
|
<Component id="newListButton" linkSize="5" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="renameListButton" linkSize="5" alignment="3" min="-2" max="-2" attributes="0"/>
|
<Component id="renameListButton" linkSize="5" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="copyListButton" linkSize="5" alignment="3" min="-2" max="-2" attributes="0"/>
|
<Component id="deleteListButton" linkSize="5" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace min="-2" max="-2" attributes="0"/>
|
<EmptySpace min="-2" pref="6" max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="3" attributes="0">
|
<Group type="103" groupAlignment="3" attributes="0">
|
||||||
<Component id="importButton" linkSize="5" alignment="3" min="-2" max="-2" attributes="0"/>
|
<Component id="importButton" linkSize="5" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="exportButton" linkSize="5" alignment="3" min="-2" max="-2" attributes="0"/>
|
<Component id="exportButton" linkSize="5" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="deleteListButton" linkSize="5" alignment="3" min="-2" max="-2" attributes="0"/>
|
<Component id="copyListButton" linkSize="5" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace min="-2" max="-2" attributes="0"/>
|
<EmptySpace min="-2" pref="6" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
</DimensionLayout>
|
</DimensionLayout>
|
||||||
@ -108,14 +103,23 @@
|
|||||||
<Component class="javax.swing.JButton" name="newListButton">
|
<Component class="javax.swing.JButton" name="newListButton">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
||||||
<Image iconType="3" name="/org/sleuthkit/autopsy/keywordsearch/new16.png"/>
|
<Image iconType="3" name="/org/sleuthkit/autopsy/keywordsearch/add16.png"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="GlobalListsManagementPanel.newListButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="GlobalListsManagementPanel.newListButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="iconTextGap" type="int" value="2"/>
|
<Property name="iconTextGap" type="int" value="2"/>
|
||||||
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
||||||
<Insets value="[2, 2, 2, 2]"/>
|
<Insets value="[2, 6, 2, 6]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
@ -132,7 +136,16 @@
|
|||||||
</Property>
|
</Property>
|
||||||
<Property name="iconTextGap" type="int" value="2"/>
|
<Property name="iconTextGap" type="int" value="2"/>
|
||||||
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
||||||
<Insets value="[2, 2, 2, 2]"/>
|
<Insets value="[2, 6, 2, 6]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
@ -156,7 +169,16 @@
|
|||||||
</Property>
|
</Property>
|
||||||
<Property name="iconTextGap" type="int" value="2"/>
|
<Property name="iconTextGap" type="int" value="2"/>
|
||||||
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
||||||
<Insets value="[2, 2, 2, 2]"/>
|
<Insets value="[2, 6, 2, 6]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
@ -166,14 +188,23 @@
|
|||||||
<Component class="javax.swing.JButton" name="copyListButton">
|
<Component class="javax.swing.JButton" name="copyListButton">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
||||||
<Image iconType="3" name="/org/sleuthkit/autopsy/keywordsearch/add16.png"/>
|
<Image iconType="3" name="/org/sleuthkit/autopsy/keywordsearch/new16.png"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="GlobalListsManagementPanel.copyListButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="GlobalListsManagementPanel.copyListButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="iconTextGap" type="int" value="2"/>
|
<Property name="iconTextGap" type="int" value="2"/>
|
||||||
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
||||||
<Insets value="[2, 2, 2, 2]"/>
|
<Insets value="[2, 6, 2, 6]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
@ -190,7 +221,16 @@
|
|||||||
</Property>
|
</Property>
|
||||||
<Property name="iconTextGap" type="int" value="2"/>
|
<Property name="iconTextGap" type="int" value="2"/>
|
||||||
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
||||||
<Insets value="[2, 2, 2, 2]"/>
|
<Insets value="[2, 6, 2, 6]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
@ -207,7 +247,16 @@
|
|||||||
</Property>
|
</Property>
|
||||||
<Property name="iconTextGap" type="int" value="2"/>
|
<Property name="iconTextGap" type="int" value="2"/>
|
||||||
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
||||||
<Insets value="[2, 2, 2, 2]"/>
|
<Insets value="[2, 6, 2, 6]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="maximumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[111, 25]"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
|
@ -203,10 +203,13 @@ class GlobalListsManagementPanel extends javax.swing.JPanel implements OptionsPa
|
|||||||
});
|
});
|
||||||
jScrollPane1.setViewportView(listsTable);
|
jScrollPane1.setViewportView(listsTable);
|
||||||
|
|
||||||
newListButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/new16.png"))); // NOI18N
|
newListButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/add16.png"))); // NOI18N
|
||||||
newListButton.setText(org.openide.util.NbBundle.getMessage(GlobalListsManagementPanel.class, "GlobalListsManagementPanel.newListButton.text")); // NOI18N
|
newListButton.setText(org.openide.util.NbBundle.getMessage(GlobalListsManagementPanel.class, "GlobalListsManagementPanel.newListButton.text")); // NOI18N
|
||||||
newListButton.setIconTextGap(2);
|
newListButton.setIconTextGap(2);
|
||||||
newListButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
|
newListButton.setMargin(new java.awt.Insets(2, 6, 2, 6));
|
||||||
|
newListButton.setMaximumSize(new java.awt.Dimension(111, 25));
|
||||||
|
newListButton.setMinimumSize(new java.awt.Dimension(111, 25));
|
||||||
|
newListButton.setPreferredSize(new java.awt.Dimension(111, 25));
|
||||||
newListButton.addActionListener(new java.awt.event.ActionListener() {
|
newListButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
newListButtonActionPerformed(evt);
|
newListButtonActionPerformed(evt);
|
||||||
@ -216,7 +219,10 @@ class GlobalListsManagementPanel extends javax.swing.JPanel implements OptionsPa
|
|||||||
importButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/import16.png"))); // NOI18N
|
importButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/import16.png"))); // NOI18N
|
||||||
importButton.setText(org.openide.util.NbBundle.getMessage(GlobalListsManagementPanel.class, "GlobalListsManagementPanel.importButton.text")); // NOI18N
|
importButton.setText(org.openide.util.NbBundle.getMessage(GlobalListsManagementPanel.class, "GlobalListsManagementPanel.importButton.text")); // NOI18N
|
||||||
importButton.setIconTextGap(2);
|
importButton.setIconTextGap(2);
|
||||||
importButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
|
importButton.setMargin(new java.awt.Insets(2, 6, 2, 6));
|
||||||
|
importButton.setMaximumSize(new java.awt.Dimension(111, 25));
|
||||||
|
importButton.setMinimumSize(new java.awt.Dimension(111, 25));
|
||||||
|
importButton.setPreferredSize(new java.awt.Dimension(111, 25));
|
||||||
importButton.addActionListener(new java.awt.event.ActionListener() {
|
importButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
importButtonActionPerformed(evt);
|
importButtonActionPerformed(evt);
|
||||||
@ -228,17 +234,23 @@ class GlobalListsManagementPanel extends javax.swing.JPanel implements OptionsPa
|
|||||||
exportButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/export16.png"))); // NOI18N
|
exportButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/export16.png"))); // NOI18N
|
||||||
exportButton.setText(org.openide.util.NbBundle.getMessage(GlobalListsManagementPanel.class, "GlobalListsManagementPanel.exportButton.text")); // NOI18N
|
exportButton.setText(org.openide.util.NbBundle.getMessage(GlobalListsManagementPanel.class, "GlobalListsManagementPanel.exportButton.text")); // NOI18N
|
||||||
exportButton.setIconTextGap(2);
|
exportButton.setIconTextGap(2);
|
||||||
exportButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
|
exportButton.setMargin(new java.awt.Insets(2, 6, 2, 6));
|
||||||
|
exportButton.setMaximumSize(new java.awt.Dimension(111, 25));
|
||||||
|
exportButton.setMinimumSize(new java.awt.Dimension(111, 25));
|
||||||
|
exportButton.setPreferredSize(new java.awt.Dimension(111, 25));
|
||||||
exportButton.addActionListener(new java.awt.event.ActionListener() {
|
exportButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
exportButtonActionPerformed(evt);
|
exportButtonActionPerformed(evt);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
copyListButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/add16.png"))); // NOI18N
|
copyListButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/new16.png"))); // NOI18N
|
||||||
copyListButton.setText(org.openide.util.NbBundle.getMessage(GlobalListsManagementPanel.class, "GlobalListsManagementPanel.copyListButton.text")); // NOI18N
|
copyListButton.setText(org.openide.util.NbBundle.getMessage(GlobalListsManagementPanel.class, "GlobalListsManagementPanel.copyListButton.text")); // NOI18N
|
||||||
copyListButton.setIconTextGap(2);
|
copyListButton.setIconTextGap(2);
|
||||||
copyListButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
|
copyListButton.setMargin(new java.awt.Insets(2, 6, 2, 6));
|
||||||
|
copyListButton.setMaximumSize(new java.awt.Dimension(111, 25));
|
||||||
|
copyListButton.setMinimumSize(new java.awt.Dimension(111, 25));
|
||||||
|
copyListButton.setPreferredSize(new java.awt.Dimension(111, 25));
|
||||||
copyListButton.addActionListener(new java.awt.event.ActionListener() {
|
copyListButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
copyListButtonActionPerformed(evt);
|
copyListButtonActionPerformed(evt);
|
||||||
@ -248,7 +260,10 @@ class GlobalListsManagementPanel extends javax.swing.JPanel implements OptionsPa
|
|||||||
deleteListButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/delete16.png"))); // NOI18N
|
deleteListButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/delete16.png"))); // NOI18N
|
||||||
deleteListButton.setText(org.openide.util.NbBundle.getMessage(GlobalListsManagementPanel.class, "GlobalListsManagementPanel.deleteListButton.text")); // NOI18N
|
deleteListButton.setText(org.openide.util.NbBundle.getMessage(GlobalListsManagementPanel.class, "GlobalListsManagementPanel.deleteListButton.text")); // NOI18N
|
||||||
deleteListButton.setIconTextGap(2);
|
deleteListButton.setIconTextGap(2);
|
||||||
deleteListButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
|
deleteListButton.setMargin(new java.awt.Insets(2, 6, 2, 6));
|
||||||
|
deleteListButton.setMaximumSize(new java.awt.Dimension(111, 25));
|
||||||
|
deleteListButton.setMinimumSize(new java.awt.Dimension(111, 25));
|
||||||
|
deleteListButton.setPreferredSize(new java.awt.Dimension(111, 25));
|
||||||
deleteListButton.addActionListener(new java.awt.event.ActionListener() {
|
deleteListButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
deleteListButtonActionPerformed(evt);
|
deleteListButtonActionPerformed(evt);
|
||||||
@ -258,7 +273,10 @@ class GlobalListsManagementPanel extends javax.swing.JPanel implements OptionsPa
|
|||||||
renameListButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/edit16.png"))); // NOI18N
|
renameListButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/edit16.png"))); // NOI18N
|
||||||
renameListButton.setText(org.openide.util.NbBundle.getMessage(GlobalListsManagementPanel.class, "GlobalListsManagementPanel.renameListButton.text")); // NOI18N
|
renameListButton.setText(org.openide.util.NbBundle.getMessage(GlobalListsManagementPanel.class, "GlobalListsManagementPanel.renameListButton.text")); // NOI18N
|
||||||
renameListButton.setIconTextGap(2);
|
renameListButton.setIconTextGap(2);
|
||||||
renameListButton.setMargin(new java.awt.Insets(2, 2, 2, 2));
|
renameListButton.setMargin(new java.awt.Insets(2, 6, 2, 6));
|
||||||
|
renameListButton.setMaximumSize(new java.awt.Dimension(111, 25));
|
||||||
|
renameListButton.setMinimumSize(new java.awt.Dimension(111, 25));
|
||||||
|
renameListButton.setPreferredSize(new java.awt.Dimension(111, 25));
|
||||||
renameListButton.addActionListener(new java.awt.event.ActionListener() {
|
renameListButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
renameListButtonActionPerformed(evt);
|
renameListButtonActionPerformed(evt);
|
||||||
@ -270,27 +288,24 @@ class GlobalListsManagementPanel extends javax.swing.JPanel implements OptionsPa
|
|||||||
layout.setHorizontalGroup(
|
layout.setHorizontalGroup(
|
||||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGroup(layout.createSequentialGroup()
|
.addGroup(layout.createSequentialGroup()
|
||||||
.addContainerGap()
|
.addGap(10, 10, 10)
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
|
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 345, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(keywordListsLabel)
|
|
||||||
.addGroup(layout.createSequentialGroup()
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
||||||
|
.addComponent(newListButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
|
.addComponent(copyListButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||||
|
.addGap(6, 6, 6)
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addComponent(newListButton, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(importButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(deleteListButton, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE))
|
.addComponent(renameListButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||||
.addGap(12, 12, 12)
|
.addGap(6, 6, 6)
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
|
||||||
.addComponent(renameListButton, javax.swing.GroupLayout.PREFERRED_SIZE, 75, Short.MAX_VALUE)
|
|
||||||
.addComponent(importButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
|
||||||
.addGap(12, 12, 12)
|
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGroup(layout.createSequentialGroup()
|
.addComponent(exportButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(copyListButton, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)
|
.addComponent(deleteListButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||||
.addGap(0, 1, Short.MAX_VALUE))
|
.addGap(0, 0, Short.MAX_VALUE))
|
||||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
|
.addComponent(keywordListsLabel))
|
||||||
.addGap(0, 0, Short.MAX_VALUE)
|
.addGap(6, 6, 6))
|
||||||
.addComponent(exportButton, javax.swing.GroupLayout.PREFERRED_SIZE, 79, javax.swing.GroupLayout.PREFERRED_SIZE)))))
|
|
||||||
.addContainerGap())
|
|
||||||
);
|
);
|
||||||
|
|
||||||
layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {copyListButton, deleteListButton, exportButton, importButton, newListButton, renameListButton});
|
layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {copyListButton, deleteListButton, exportButton, importButton, newListButton, renameListButton});
|
||||||
@ -298,21 +313,21 @@ class GlobalListsManagementPanel extends javax.swing.JPanel implements OptionsPa
|
|||||||
layout.setVerticalGroup(
|
layout.setVerticalGroup(
|
||||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
|
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
|
||||||
.addContainerGap()
|
.addGap(22, 22, 22)
|
||||||
.addComponent(keywordListsLabel)
|
.addComponent(keywordListsLabel)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 316, Short.MAX_VALUE)
|
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 305, Short.MAX_VALUE)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||||
.addComponent(newListButton)
|
.addComponent(newListButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(renameListButton)
|
.addComponent(renameListButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(copyListButton))
|
.addComponent(deleteListButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addGap(6, 6, 6)
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||||
.addComponent(importButton)
|
.addComponent(importButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(exportButton)
|
.addComponent(exportButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(deleteListButton))
|
.addComponent(copyListButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||||
.addContainerGap())
|
.addGap(6, 6, 6))
|
||||||
);
|
);
|
||||||
|
|
||||||
layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {copyListButton, deleteListButton, exportButton, importButton, newListButton, renameListButton});
|
layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {copyListButton, deleteListButton, exportButton, importButton, newListButton, renameListButton});
|
||||||
|
@ -179,7 +179,7 @@ class HighlightedText implements IndexedText {
|
|||||||
|
|
||||||
// Run a query to figure out which chunks for the current object have
|
// Run a query to figure out which chunks for the current object have
|
||||||
// hits for this keyword.
|
// hits for this keyword.
|
||||||
Keyword keywordQuery = new Keyword(keyword, isLiteral);
|
Keyword keywordQuery = new Keyword(keyword, isLiteral, true);
|
||||||
KeywordSearchQuery chunksQuery = new LuceneQuery(new KeywordList(Arrays.asList(keywordQuery)), keywordQuery);
|
KeywordSearchQuery chunksQuery = new LuceneQuery(new KeywordList(Arrays.asList(keywordQuery)), keywordQuery);
|
||||||
chunksQuery.escape();
|
chunksQuery.escape();
|
||||||
chunksQuery.addFilter(new KeywordQueryFilter(FilterType.CHUNK, this.objectId));
|
chunksQuery.addFilter(new KeywordQueryFilter(FilterType.CHUNK, this.objectId));
|
||||||
|
@ -36,21 +36,13 @@ class Keyword {
|
|||||||
private boolean isLiteral;
|
private boolean isLiteral;
|
||||||
private boolean isWholeWord;
|
private boolean isWholeWord;
|
||||||
private BlackboardAttribute.ATTRIBUTE_TYPE artifactAtrributeType;
|
private BlackboardAttribute.ATTRIBUTE_TYPE artifactAtrributeType;
|
||||||
|
private final String listName;
|
||||||
/**
|
/*
|
||||||
* Constructs a representation of a keyword for which to search. The search
|
* For substring searches, original search term (e.g. "pass" or "enger") can
|
||||||
* term for the keyword may be either a literal term that will be treated as
|
* be different from the search term (e.g. "passenger") that is found and
|
||||||
* a whole word, or a regex.
|
* used (e.g. for highlighting purposes).
|
||||||
*
|
|
||||||
* @param searchTerm The search term for the keyword.
|
|
||||||
* @param isLiteral Whether or not the search term is a literal term that
|
|
||||||
* will be treated as a whole word, instead of a regex.
|
|
||||||
*/
|
*/
|
||||||
Keyword(String searchTerm, boolean isLiteral) {
|
private final String originalTerm;
|
||||||
this.searchTerm = searchTerm;
|
|
||||||
this.isLiteral = isLiteral;
|
|
||||||
this.isWholeWord = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs a representation of a keyword for which to search. The search
|
* Constructs a representation of a keyword for which to search. The search
|
||||||
@ -68,6 +60,44 @@ class Keyword {
|
|||||||
this.searchTerm = searchTerm;
|
this.searchTerm = searchTerm;
|
||||||
this.isLiteral = isLiteral;
|
this.isLiteral = isLiteral;
|
||||||
this.isWholeWord = isWholeWord;
|
this.isWholeWord = isWholeWord;
|
||||||
|
this.listName = "";
|
||||||
|
this.originalTerm = searchTerm;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructs a representation of a keyword for which to search. The search
|
||||||
|
* term may be either a literal term, to be treated as either a whole word
|
||||||
|
* or as a substring, or a regex.
|
||||||
|
*
|
||||||
|
* NOTE: The addition of keyword list name and original search term was
|
||||||
|
* added to facilitate proper de-duping of results of periodic keyword
|
||||||
|
* searches that does not lose any keyword hits. Without this addition when
|
||||||
|
* using substring search feature during ingest, if there are multiple
|
||||||
|
* searches on different keyword lists that produce the same keyword hit,
|
||||||
|
* that hit is only going to be displayed in results of one of the list. For
|
||||||
|
* example, two substring searches, such as "pass" and "enger", will be
|
||||||
|
* missing one copy of any shared entries (i.e., "passenger" will only show
|
||||||
|
* up on one list). See JIRA story 2495.
|
||||||
|
*
|
||||||
|
* @param searchTerm The search term.
|
||||||
|
* @param isLiteral Whether or not the search term is a literal term,
|
||||||
|
* instead of a regex.
|
||||||
|
* @param isWholeWord Whether or not the search term, if it is a literal
|
||||||
|
* search term, should be treated as a whole word rather
|
||||||
|
* than a substring.
|
||||||
|
* @param listName Keyword list name.
|
||||||
|
* @param originalTerm The original search term that was entered into the
|
||||||
|
* keyword list. For substring searches, original search
|
||||||
|
* term (e.g. "pass" or "enger") can be different from
|
||||||
|
* the search term (e.g. "passenger") that is found and
|
||||||
|
* used (e.g. for highlighting purposes).
|
||||||
|
*/
|
||||||
|
Keyword(String searchTerm, boolean isLiteral, boolean isWholeWord, String listName, String originalTerm) {
|
||||||
|
this.searchTerm = searchTerm;
|
||||||
|
this.isLiteral = isLiteral;
|
||||||
|
this.isWholeWord = isWholeWord;
|
||||||
|
this.listName = listName;
|
||||||
|
this.originalTerm = originalTerm;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -85,7 +115,7 @@ class Keyword {
|
|||||||
* @param keywordType The artifact attribute type.
|
* @param keywordType The artifact attribute type.
|
||||||
*/
|
*/
|
||||||
Keyword(String searchTerm, boolean isLiteral, BlackboardAttribute.ATTRIBUTE_TYPE artifactAtrributeType) {
|
Keyword(String searchTerm, boolean isLiteral, BlackboardAttribute.ATTRIBUTE_TYPE artifactAtrributeType) {
|
||||||
this(searchTerm, isLiteral);
|
this(searchTerm, isLiteral, true);
|
||||||
this.artifactAtrributeType = artifactAtrributeType;
|
this.artifactAtrributeType = artifactAtrributeType;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -174,7 +204,9 @@ class Keyword {
|
|||||||
Keyword other = (Keyword) obj;
|
Keyword other = (Keyword) obj;
|
||||||
return (this.searchTerm.equals(other.getSearchTerm())
|
return (this.searchTerm.equals(other.getSearchTerm())
|
||||||
&& this.isLiteral == other.searchTermIsLiteral()
|
&& this.isLiteral == other.searchTermIsLiteral()
|
||||||
&& this.isWholeWord == other.searchTermIsWholeWord());
|
&& this.isWholeWord == other.searchTermIsWholeWord()
|
||||||
|
&& this.listName.equals(other.getListName())
|
||||||
|
&& this.originalTerm.equals(other.getOriginalTerm()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -186,4 +218,18 @@ class Keyword {
|
|||||||
return hash;
|
return hash;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the listName
|
||||||
|
*/
|
||||||
|
String getListName() {
|
||||||
|
return listName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the originalTerm
|
||||||
|
*/
|
||||||
|
String getOriginalTerm() {
|
||||||
|
return originalTerm;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -70,7 +70,7 @@ class LuceneQuery implements KeywordSearchQuery {
|
|||||||
LuceneQuery(KeywordList keywordList, Keyword keyword) {
|
LuceneQuery(KeywordList keywordList, Keyword keyword) {
|
||||||
this.keywordList = keywordList;
|
this.keywordList = keywordList;
|
||||||
this.originalKeyword = keyword;
|
this.originalKeyword = keyword;
|
||||||
this.keywordStringEscaped = this.originalKeyword.getSearchTerm();
|
this.keywordStringEscaped = this.originalKeyword.getSearchTerm();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -181,7 +181,7 @@ class LuceneQuery implements KeywordSearchQuery {
|
|||||||
|
|
||||||
QueryResults results = new QueryResults(this);
|
QueryResults results = new QueryResults(this);
|
||||||
//in case of single term literal query there is only 1 term
|
//in case of single term literal query there is only 1 term
|
||||||
results.addResult(new Keyword(originalKeyword.getSearchTerm(), true), matches);
|
results.addResult(new Keyword(originalKeyword.getSearchTerm(), true, true, originalKeyword.getListName(), originalKeyword.getOriginalTerm()), matches);
|
||||||
|
|
||||||
return results;
|
return results;
|
||||||
}
|
}
|
||||||
|
@ -204,9 +204,9 @@ final class RegexQuery implements KeywordSearchQuery {
|
|||||||
try {
|
try {
|
||||||
List<KeywordHit> keywordHits = createKeywordHits(resultDoc);
|
List<KeywordHit> keywordHits = createKeywordHits(resultDoc);
|
||||||
for (KeywordHit hit : keywordHits) {
|
for (KeywordHit hit : keywordHits) {
|
||||||
hitsMultiMap.put(new Keyword(hit.getHit(), true), hit);
|
hitsMultiMap.put(new Keyword(hit.getHit(), true, true, originalKeyword.getListName(), originalKeyword.getOriginalTerm()), hit);
|
||||||
}
|
}
|
||||||
} catch (TskException ex) {
|
} catch (TskException ex) {
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -37,6 +37,7 @@ import org.openide.util.NbBundle;
|
|||||||
import org.openide.util.lookup.ServiceProvider;
|
import org.openide.util.lookup.ServiceProvider;
|
||||||
import org.openide.util.lookup.ServiceProviders;
|
import org.openide.util.lookup.ServiceProviders;
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
|
import org.sleuthkit.autopsy.casemodule.CaseMetadata;
|
||||||
import org.sleuthkit.autopsy.core.RuntimeProperties;
|
import org.sleuthkit.autopsy.core.RuntimeProperties;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
import org.sleuthkit.autopsy.framework.AutopsyService;
|
import org.sleuthkit.autopsy.framework.AutopsyService;
|
||||||
@ -143,14 +144,38 @@ public class SolrSearchService implements KeywordSearchService, AutopsyService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NbBundle.Messages({"# {0} - case directory",
|
||||||
|
"SolrSearchService.exceptionMessage.noIndexMetadata=Unable to create IndexMetaData from caseDirectory: {0}",
|
||||||
|
"# {0} - case directory",
|
||||||
|
"SolrSearchService.exceptionMessage.noCurrentSolrCore=IndexMetadata did not contain a current Solr core so could not delete the case"
|
||||||
|
})
|
||||||
/**
|
/**
|
||||||
* Deletes Solr core for a case.
|
* Deletes Solr core for a case.
|
||||||
*
|
*
|
||||||
* @param coreName The core name.
|
* @param metadata The CaseMetadata which will have its core deleted.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void deleteTextIndex(String coreName) throws KeywordSearchServiceException {
|
public void deleteTextIndex(CaseMetadata metadata) throws KeywordSearchServiceException {
|
||||||
KeywordSearch.getServer().deleteCore(coreName);
|
String caseDirectory = metadata.getCaseDirectory();
|
||||||
|
IndexMetadata indexMetadata;
|
||||||
|
try {
|
||||||
|
indexMetadata = new IndexMetadata(caseDirectory);
|
||||||
|
} catch (IndexMetadata.TextIndexMetadataException ex) {
|
||||||
|
logger.log(Level.WARNING, NbBundle.getMessage(SolrSearchService.class, "SolrSearchService.exceptionMessage.noIndexMetadata", caseDirectory), ex);
|
||||||
|
throw new KeywordSearchServiceException(NbBundle.getMessage(SolrSearchService.class, "SolrSearchService.exceptionMessage.noIndexMetadata", caseDirectory), ex);
|
||||||
|
}
|
||||||
|
//find the index for the current version of solr (the one we are connected to) and delete its core using the index name
|
||||||
|
String currentSchema = IndexFinder.getCurrentSchemaVersion();
|
||||||
|
String currentSolr = IndexFinder.getCurrentSolrVersion();
|
||||||
|
for (Index index : indexMetadata.getIndexes()) {
|
||||||
|
if (index.getSolrVersion().equals(currentSolr) && index.getSchemaVersion().equals(currentSchema)) {
|
||||||
|
KeywordSearch.getServer().deleteCore(index.getIndexName());
|
||||||
|
return; //only one core exists for each combination of solr and schema version
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//this code this code will only execute if an index for the current core was not found
|
||||||
|
logger.log(Level.WARNING, NbBundle.getMessage(SolrSearchService.class, "SolrSearchService.exceptionMessage.noCurrentSolrCore"));
|
||||||
|
throw new KeywordSearchServiceException(NbBundle.getMessage(SolrSearchService.class, "SolrSearchService.exceptionMessage.noCurrentSolrCore"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -185,7 +210,7 @@ public class SolrSearchService implements KeywordSearchService, AutopsyService {
|
|||||||
ProgressIndicator progress = context.getProgressIndicator();
|
ProgressIndicator progress = context.getProgressIndicator();
|
||||||
int totalNumProgressUnits = 8;
|
int totalNumProgressUnits = 8;
|
||||||
int progressUnitsCompleted = 0;
|
int progressUnitsCompleted = 0;
|
||||||
|
|
||||||
String caseDirPath = context.getCase().getCaseDirectory();
|
String caseDirPath = context.getCase().getCaseDirectory();
|
||||||
Case theCase = context.getCase();
|
Case theCase = context.getCase();
|
||||||
List<Index> indexes = new ArrayList<>();
|
List<Index> indexes = new ArrayList<>();
|
||||||
@ -212,7 +237,7 @@ public class SolrSearchService implements KeywordSearchService, AutopsyService {
|
|||||||
indexes.add(oldIndex);
|
indexes.add(oldIndex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (context.cancelRequested()) {
|
if (context.cancelRequested()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -323,14 +348,13 @@ public class SolrSearchService implements KeywordSearchService, AutopsyService {
|
|||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// add current index to the list of indexes that exist for this case
|
// add current index to the list of indexes that exist for this case
|
||||||
indexes.add(currentVersionIndex);
|
indexes.add(currentVersionIndex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// update text index metadata file
|
// update text index metadata file
|
||||||
if (!indexes.isEmpty()) {
|
if (!indexes.isEmpty()) {
|
||||||
@ -346,7 +370,7 @@ public class SolrSearchService implements KeywordSearchService, AutopsyService {
|
|||||||
KeywordSearch.getServer().openCoreForCase(theCase, currentVersionIndex);
|
KeywordSearch.getServer().openCoreForCase(theCase, currentVersionIndex);
|
||||||
} catch (KeywordSearchModuleException ex) {
|
} catch (KeywordSearchModuleException ex) {
|
||||||
throw new AutopsyServiceException(String.format("Failed to open or create core for %s", caseDirPath), ex);
|
throw new AutopsyServiceException(String.format("Failed to open or create core for %s", caseDirPath), ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
progress.progress(Bundle.SolrSearch_complete_msg(), totalNumProgressUnits);
|
progress.progress(Bundle.SolrSearch_complete_msg(), totalNumProgressUnits);
|
||||||
}
|
}
|
||||||
|
@ -306,16 +306,16 @@ final class TermsComponentQuery implements KeywordSearchQuery {
|
|||||||
* query.
|
* query.
|
||||||
*/
|
*/
|
||||||
String escapedTerm = KeywordSearchUtil.escapeLuceneQuery(term.getTerm());
|
String escapedTerm = KeywordSearchUtil.escapeLuceneQuery(term.getTerm());
|
||||||
LuceneQuery termQuery = new LuceneQuery(keywordList, new Keyword(escapedTerm, true));
|
LuceneQuery termQuery = new LuceneQuery(keywordList, new Keyword(escapedTerm, true, true));
|
||||||
filters.forEach(termQuery::addFilter); // This appears to be unused
|
filters.forEach(termQuery::addFilter); // This appears to be unused
|
||||||
QueryResults termQueryResult = termQuery.performQuery();
|
QueryResults termQueryResult = termQuery.performQuery();
|
||||||
Set<KeywordHit> termHits = new HashSet<>();
|
Set<KeywordHit> termHits = new HashSet<>();
|
||||||
for (Keyword word : termQueryResult.getKeywords()) {
|
for (Keyword word : termQueryResult.getKeywords()) {
|
||||||
termHits.addAll(termQueryResult.getResults(word));
|
termHits.addAll(termQueryResult.getResults(word));
|
||||||
}
|
}
|
||||||
results.addResult(new Keyword(term.getTerm(), false), new ArrayList<>(termHits));
|
results.addResult(new Keyword(term.getTerm(), false, true, originalKeyword.getListName(), originalKeyword.getOriginalTerm()), new ArrayList<>(termHits));
|
||||||
}
|
}
|
||||||
return results;
|
return results;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -201,7 +201,7 @@ final class XmlKeywordSearchList extends KeywordSearchList {
|
|||||||
Keyword keyword;
|
Keyword keyword;
|
||||||
String whole = wordEl.getAttribute(KEYWORD_WHOLE_ATTR);
|
String whole = wordEl.getAttribute(KEYWORD_WHOLE_ATTR);
|
||||||
if (whole.equals("")) {
|
if (whole.equals("")) {
|
||||||
keyword = new Keyword(wordEl.getTextContent(), isLiteral);
|
keyword = new Keyword(wordEl.getTextContent(), isLiteral, true);
|
||||||
} else {
|
} else {
|
||||||
boolean isWhole = whole.equals("true");
|
boolean isWhole = whole.equals("true");
|
||||||
keyword = new Keyword(wordEl.getTextContent(), isLiteral, isWhole);
|
keyword = new Keyword(wordEl.getTextContent(), isLiteral, isWhole);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user