This commit is contained in:
adam-m 2012-09-19 15:05:20 -04:00
commit 4c8b83bfb4
8 changed files with 69 additions and 56 deletions

View File

@ -1,11 +1,9 @@
Manifest-Version: 1.0 Manifest-Version: 1.0
AutoUpdate-Show-In-Client: false AutoUpdate-Show-In-Client: false
Bundle-Localization: org/sleuthkit/autopsy/ingest/Bundle
Bundle-Name: %OpenIDE-Module-Name
Bundle-SymbolicName: org.sleuthkit.autopsy.ingest/1
OpenIDE-Module-Implementation-Version: 1
OpenIDE-Module-Layer: org/sleuthkit/autopsy/ingest/layer.xml
OpenIDE-Module-Requires: org.openide.windows.WindowManager
OpenIDE-Module: org.sleuthkit.autopsy.ingest/0 OpenIDE-Module: org.sleuthkit.autopsy.ingest/0
OpenIDE-Module-Layer: org/sleuthkit/autopsy/ingest/layer.xml
OpenIDE-Module-Localizing-Bundle: org/sleuthkit/autopsy/ingest/Bundle.properties
OpenIDE-Module-Implementation-Version: 1
OpenIDE-Module-Requires: org.openide.windows.WindowManager
OpenIDE-Module-Install: org/sleuthkit/autopsy/ingest/Installer.class OpenIDE-Module-Install: org/sleuthkit/autopsy/ingest/Installer.class

View File

@ -1,10 +1,10 @@
OpenIDE-Module-Name=Ingest
CTL_IngestAction=Ingest CTL_IngestAction=Ingest
CTL_IngestMessagesAction=Ingest Messages CTL_IngestMessagesAction=Ingest Messages
CTL_IngestMessageTopComponent=Messages CTL_IngestMessageTopComponent=Messages
CTL_IngestTopComponent=Ingest CTL_IngestTopComponent=Ingest
HINT_IngestMessageTopComponent=Messages windows HINT_IngestMessageTopComponent=Messages windows
HINT_IngestTopComponent=Ingest window HINT_IngestTopComponent=Ingest window
OpenIDE-Module-Name=Ingest
IngestTopComponent.messageFrame.title=Messages IngestTopComponent.messageFrame.title=Messages
IngestTopComponent.ingestProgressLabel.text=File Ingest Progress IngestTopComponent.ingestProgressLabel.text=File Ingest Progress
IngestControlPanel.topLable.text=Image ingest modules IngestControlPanel.topLable.text=Image ingest modules

View File

@ -36,7 +36,7 @@
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout"/> <Layout class="org.netbeans.modules.form.compat2.layouts.support.JSplitPaneSupportLayout"/>
<SubComponents> <SubComponents>
<Container class="javax.swing.JPanel" name="jPanel1"> <Container class="javax.swing.JPanel" name="leftPanel">
<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">
<JSplitPaneConstraints position="left"/> <JSplitPaneConstraints position="left"/>
@ -56,7 +56,7 @@
</DimensionLayout> </DimensionLayout>
</Layout> </Layout>
</Container> </Container>
<Container class="javax.swing.JPanel" name="jPanel2"> <Container class="javax.swing.JPanel" name="rightPanel">
<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">
<JSplitPaneConstraints position="right"/> <JSplitPaneConstraints position="right"/>

View File

@ -24,6 +24,8 @@
*/ */
package org.sleuthkit.autopsy.keywordsearch; package org.sleuthkit.autopsy.keywordsearch;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.autopsy.corecomponents.OptionsPanel; import org.sleuthkit.autopsy.corecomponents.OptionsPanel;
import org.sleuthkit.autopsy.ingest.IngestManager; import org.sleuthkit.autopsy.ingest.IngestManager;
@ -51,6 +53,24 @@ public class KeywordSearchConfigurationPanel1 extends javax.swing.JPanel impleme
editListPanel = new KeywordSearchEditListPanel(); editListPanel = new KeywordSearchEditListPanel();
listsManagementPanel.addListSelectionListener(editListPanel); listsManagementPanel.addListSelectionListener(editListPanel);
editListPanel.addDeleteButtonActionPerformed(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (KeywordSearchUtil.displayConfirmDialog("Delete a keyword list"
, "This will delete the keyword list globally (for all Cases). "
+ "Do you want to proceed with the deletion? "
, KeywordSearchUtil.DIALOG_MESSAGE_TYPE.WARN) ) {
KeywordSearchListsXML deleter = KeywordSearchListsXML.getCurrent();
String toDelete = editListPanel.getCurrentKeywordList().getName();
editListPanel.setCurrentKeywordList(null);
editListPanel.initButtons();
deleter.deleteList(toDelete);
listsManagementPanel.resync();
}
}
});
mainSplitPane.setLeftComponent(listsManagementPanel); mainSplitPane.setLeftComponent(listsManagementPanel);
mainSplitPane.setRightComponent(editListPanel); mainSplitPane.setRightComponent(editListPanel);
@ -78,43 +98,43 @@ public class KeywordSearchConfigurationPanel1 extends javax.swing.JPanel impleme
private void initComponents() { private void initComponents() {
mainSplitPane = new javax.swing.JSplitPane(); mainSplitPane = new javax.swing.JSplitPane();
jPanel1 = new javax.swing.JPanel(); leftPanel = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel(); rightPanel = new javax.swing.JPanel();
mainSplitPane.setBorder(null); mainSplitPane.setBorder(null);
mainSplitPane.setDividerLocation(275); mainSplitPane.setDividerLocation(275);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); javax.swing.GroupLayout leftPanelLayout = new javax.swing.GroupLayout(leftPanel);
jPanel1.setLayout(jPanel1Layout); leftPanel.setLayout(leftPanelLayout);
jPanel1Layout.setHorizontalGroup( leftPanelLayout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) leftPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 275, Short.MAX_VALUE) .addGap(0, 275, Short.MAX_VALUE)
); );
jPanel1Layout.setVerticalGroup( leftPanelLayout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) leftPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 327, Short.MAX_VALUE) .addGap(0, 327, Short.MAX_VALUE)
); );
mainSplitPane.setLeftComponent(jPanel1); mainSplitPane.setLeftComponent(leftPanel);
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); javax.swing.GroupLayout rightPanelLayout = new javax.swing.GroupLayout(rightPanel);
jPanel2.setLayout(jPanel2Layout); rightPanel.setLayout(rightPanelLayout);
jPanel2Layout.setHorizontalGroup( rightPanelLayout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) rightPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 318, Short.MAX_VALUE) .addGap(0, 318, Short.MAX_VALUE)
); );
jPanel2Layout.setVerticalGroup( rightPanelLayout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) rightPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 327, Short.MAX_VALUE) .addGap(0, 327, Short.MAX_VALUE)
); );
mainSplitPane.setRightComponent(jPanel2); mainSplitPane.setRightComponent(rightPanel);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout); this.setLayout(layout);
layout.setHorizontalGroup( layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(mainSplitPane, javax.swing.GroupLayout.DEFAULT_SIZE, 598, Short.MAX_VALUE) .addComponent(mainSplitPane)
); );
layout.setVerticalGroup( layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@ -123,9 +143,9 @@ public class KeywordSearchConfigurationPanel1 extends javax.swing.JPanel impleme
}// </editor-fold>//GEN-END:initComponents }// </editor-fold>//GEN-END:initComponents
// Variables declaration - do not modify//GEN-BEGIN:variables // Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JPanel jPanel1; private javax.swing.JPanel leftPanel;
private javax.swing.JPanel jPanel2;
private javax.swing.JSplitPane mainSplitPane; private javax.swing.JSplitPane mainSplitPane;
private javax.swing.JPanel rightPanel;
// End of variables declaration//GEN-END:variables // End of variables declaration//GEN-END:variables
} }

View File

@ -131,7 +131,6 @@
<Component id="keywordsLabel" min="-2" max="-2" attributes="0"/> <Component id="keywordsLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace min="-2" max="-2" attributes="0"/> <EmptySpace min="-2" max="-2" attributes="0"/>
<Component id="jScrollPane1" min="-2" pref="188" max="-2" attributes="0"/> <Component id="jScrollPane1" min="-2" pref="188" max="-2" attributes="0"/>
<EmptySpace type="unrelated" max="-2" 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">
<Group type="103" groupAlignment="1" attributes="0"> <Group type="103" groupAlignment="1" attributes="0">
@ -152,7 +151,7 @@
<Component id="useForIngestCheckbox" min="-2" max="-2" attributes="0"/> <Component id="useForIngestCheckbox" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/> <EmptySpace max="-2" attributes="0"/>
<Component id="ingestMessagesCheckbox" min="-2" max="-2" attributes="0"/> <Component id="ingestMessagesCheckbox" min="-2" max="-2" attributes="0"/>
<EmptySpace pref="52" max="32767" attributes="0"/> <EmptySpace max="32767" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0"> <Group type="103" groupAlignment="3" attributes="0">
<Component id="exportButton" alignment="3" min="-2" max="-2" attributes="0"/> <Component id="exportButton" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="saveListButton" alignment="3" min="-2" max="-2" attributes="0"/> <Component id="saveListButton" alignment="3" min="-2" max="-2" attributes="0"/>
@ -346,9 +345,6 @@
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchEditListPanel.deleteListButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/> <ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchEditListPanel.deleteListButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property> </Property>
</Properties> </Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="deleteListButtonActionPerformed"/>
</Events>
</Component> </Component>
<Component class="javax.swing.JButton" name="saveListButton"> <Component class="javax.swing.JButton" name="saveListButton">
<Properties> <Properties>

View File

@ -418,11 +418,6 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec
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(KeywordSearchEditListPanel.class, "KeywordSearchEditListPanel.deleteListButton.text")); // NOI18N deleteListButton.setText(org.openide.util.NbBundle.getMessage(KeywordSearchEditListPanel.class, "KeywordSearchEditListPanel.deleteListButton.text")); // NOI18N
deleteListButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
deleteListButtonActionPerformed(evt);
}
});
saveListButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/save16.png"))); // NOI18N saveListButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/keywordsearch/save16.png"))); // NOI18N
saveListButton.setText(org.openide.util.NbBundle.getMessage(KeywordSearchEditListPanel.class, "KeywordSearchEditListPanel.saveListButton.text")); // NOI18N saveListButton.setText(org.openide.util.NbBundle.getMessage(KeywordSearchEditListPanel.class, "KeywordSearchEditListPanel.saveListButton.text")); // NOI18N
@ -485,7 +480,6 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec
.addComponent(keywordsLabel) .addComponent(keywordsLabel)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 188, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 188, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(listEditorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(listEditorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(listEditorPanelLayout.createSequentialGroup() .addGroup(listEditorPanelLayout.createSequentialGroup()
.addGroup(listEditorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(listEditorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
@ -502,7 +496,7 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec
.addComponent(useForIngestCheckbox) .addComponent(useForIngestCheckbox)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(ingestMessagesCheckbox) .addComponent(ingestMessagesCheckbox)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 52, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(listEditorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addGroup(listEditorPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(exportButton) .addComponent(exportButton)
.addComponent(saveListButton) .addComponent(saveListButton)
@ -677,20 +671,6 @@ class KeywordSearchEditListPanel extends javax.swing.JPanel implements ListSelec
} }
}//GEN-LAST:event_exportButtonActionPerformed }//GEN-LAST:event_exportButtonActionPerformed
private void deleteListButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deleteListButtonActionPerformed
if (KeywordSearchUtil.displayConfirmDialog("Delete a keyword list"
, "This will delete the keyword list globally (for all Cases). "
+ "Do you want to proceed with the deletion? "
, KeywordSearchUtil.DIALOG_MESSAGE_TYPE.WARN) ) {
KeywordSearchListsXML deleter = KeywordSearchListsXML.getCurrent();
String toDelete = currentKeywordList.getName();
currentKeywordList = null;
initButtons();
deleter.deleteList(toDelete);
}
}//GEN-LAST:event_deleteListButtonActionPerformed
private void chRegexActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chRegexActionPerformed private void chRegexActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chRegexActionPerformed
selectorsCombo.setEnabled(chRegex.isEnabled() && chRegex.isSelected()); selectorsCombo.setEnabled(chRegex.isEnabled() && chRegex.isSelected());
}//GEN-LAST:event_chRegexActionPerformed }//GEN-LAST:event_chRegexActionPerformed
@ -764,6 +744,18 @@ private void useForIngestCheckboxActionPerformed(java.awt.event.ActionEvent evt)
public void load() { public void load() {
// Implemented by parent panel // Implemented by parent panel
} }
KeywordSearchList getCurrentKeywordList() {
return currentKeywordList;
}
void setCurrentKeywordList(KeywordSearchList list) {
currentKeywordList = list;
}
void addDeleteButtonActionPerformed(ActionListener l) {
deleteListButton.addActionListener(l);
}
private class KeywordTableModel extends AbstractTableModel { private class KeywordTableModel extends AbstractTableModel {

View File

@ -37,7 +37,7 @@
<Component id="importButton" min="-2" pref="126" max="-2" attributes="0"/> <Component id="importButton" min="-2" pref="126" max="-2" attributes="0"/>
</Group> </Group>
</Group> </Group>
<EmptySpace min="0" pref="0" max="32767" attributes="0"/> <EmptySpace min="0" pref="4" max="32767" attributes="0"/>
</Group> </Group>
</Group> </Group>
<EmptySpace max="-2" attributes="0"/> <EmptySpace max="-2" attributes="0"/>

View File

@ -156,7 +156,7 @@ class KeywordSearchListsManagementPanel extends javax.swing.JPanel implements Op
.addComponent(newListButton, javax.swing.GroupLayout.PREFERRED_SIZE, 114, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(newListButton, javax.swing.GroupLayout.PREFERRED_SIZE, 114, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18) .addGap(18, 18, 18)
.addComponent(importButton, javax.swing.GroupLayout.PREFERRED_SIZE, 126, javax.swing.GroupLayout.PREFERRED_SIZE))) .addComponent(importButton, javax.swing.GroupLayout.PREFERRED_SIZE, 126, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(0, 0, Short.MAX_VALUE))) .addGap(0, 4, Short.MAX_VALUE)))
.addContainerGap()) .addContainerGap())
); );
layout.setVerticalGroup( layout.setVerticalGroup(
@ -206,6 +206,7 @@ class KeywordSearchListsManagementPanel extends javax.swing.JPanel implements Op
listsTable.getSelectionModel().addSelectionInterval(i, i); listsTable.getSelectionModel().addSelectionInterval(i, i);
} }
} }
tableModel.resync();
}//GEN-LAST:event_newListButtonActionPerformed }//GEN-LAST:event_newListButtonActionPerformed
private void importButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_importButtonActionPerformed private void importButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_importButtonActionPerformed
@ -283,6 +284,7 @@ class KeywordSearchListsManagementPanel extends javax.swing.JPanel implements Op
} }
} }
tableModel.resync();
}//GEN-LAST:event_importButtonActionPerformed }//GEN-LAST:event_importButtonActionPerformed
private void listsTableKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_listsTableKeyPressed private void listsTableKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_listsTableKeyPressed
@ -295,6 +297,7 @@ class KeywordSearchListsManagementPanel extends javax.swing.JPanel implements Op
String listName = deleter.getListNames().get(selected[0]); String listName = deleter.getListNames().get(selected[0]);
KeywordSearchListsXML.getCurrent().deleteList(listName); KeywordSearchListsXML.getCurrent().deleteList(listName);
} }
tableModel.resync();
}//GEN-LAST:event_listsTableKeyPressed }//GEN-LAST:event_listsTableKeyPressed
// Variables declaration - do not modify//GEN-BEGIN:variables // Variables declaration - do not modify//GEN-BEGIN:variables
@ -314,6 +317,10 @@ class KeywordSearchListsManagementPanel extends javax.swing.JPanel implements Op
public void load() { public void load() {
listsTable.clearSelection(); listsTable.clearSelection();
} }
void resync() {
tableModel.resync();
}
private class KeywordListTableModel extends AbstractTableModel { private class KeywordListTableModel extends AbstractTableModel {