mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-12 07:56:16 +00:00
TSK-570 Move result frequency setting to keyword search
This commit is contained in:
parent
6629f6d8e7
commit
c3f1327614
@ -32,13 +32,5 @@ IngestMessagePanel.totalMessagesNameLabel.text=Total:
|
||||
IngestMessagePanel.totalMessagesNameVal.text=-
|
||||
IngestMessagePanel.totalUniqueMessagesNameLabel.text=Unique:
|
||||
IngestMessagePanel.totalUniqueMessagesNameVal.text=-
|
||||
IngestDialogPanel.timeRadioButton3.text=5 minutes (longest ingest)
|
||||
IngestDialogPanel.timeLabel.toolTipText=Choose the maximum time between updates from background tasks
|
||||
IngestDialogPanel.timeLabel.text=Update Frequency
|
||||
IngestDialogPanel.timeRadioButton1.toolTipText=20 mins. (fastest ingest time)
|
||||
IngestDialogPanel.timeRadioButton1.text=20 minutes (fastest ingest)
|
||||
IngestDialogPanel.timeRadioButton2.toolTipText=10 minutes (default ingest time)
|
||||
IngestDialogPanel.timeRadioButton2.text=10 minutes (default)
|
||||
IngestDialogPanel.timeRadioButton3.toolTipText=5 minutes (overall ingest time will be longest)
|
||||
IngestDialogPanel.processUnallocCheckbox.text=Process Unallocated Space
|
||||
IngestDialogPanel.processUnallocCheckbox.toolTipText=Processes unallocated space, such as deleted files. Produces more complete results, but it may take longer to process on large images.
|
||||
|
@ -29,7 +29,6 @@
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="modulesScrollPane" max="32767" attributes="1"/>
|
||||
<Component id="timePanel" alignment="0" max="32767" attributes="1"/>
|
||||
<Component id="processUnallocPanel" alignment="0" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
@ -43,13 +42,11 @@
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jPanel1" pref="235" max="32767" attributes="0"/>
|
||||
<Component id="jPanel1" pref="244" max="32767" attributes="0"/>
|
||||
<Group type="102" attributes="0">
|
||||
<Component id="modulesScrollPane" pref="0" max="32767" attributes="0"/>
|
||||
<Component id="modulesScrollPane" min="-2" pref="192" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="processUnallocPanel" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="timePanel" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="processUnallocPanel" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
<EmptySpace min="-2" max="-2" attributes="0"/>
|
||||
@ -117,7 +114,7 @@
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="1" attributes="0">
|
||||
<Component id="jScrollPane1" pref="183" max="32767" attributes="0"/>
|
||||
<Component id="jScrollPane1" pref="192" max="32767" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="jSeparator2" min="-2" pref="10" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="0" max="-2" attributes="0"/>
|
||||
@ -163,94 +160,6 @@
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Container class="javax.swing.JPanel" name="timePanel">
|
||||
<Properties>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
<Border info="org.netbeans.modules.form.compat2.border.LineBorderInfo">
|
||||
<LineBorder>
|
||||
<Color PropertyName="color" blue="a0" green="a0" red="a0" type="rgb"/>
|
||||
</LineBorder>
|
||||
</Border>
|
||||
</Property>
|
||||
</Properties>
|
||||
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" attributes="0">
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="timeRadioButton1" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="timeLabel" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="timeRadioButton2" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="timeRadioButton3" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace min="0" pref="4" max="32767" attributes="0"/>
|
||||
<Component id="timeLabel" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace min="0" pref="0" max="-2" attributes="0"/>
|
||||
<Component id="timeRadioButton1" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="timeRadioButton2" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="timeRadioButton3" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
</Layout>
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JRadioButton" name="timeRadioButton3">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/ingest/Bundle.properties" key="IngestDialogPanel.timeRadioButton3.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/ingest/Bundle.properties" key="IngestDialogPanel.timeRadioButton3.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
<Component class="javax.swing.JRadioButton" name="timeRadioButton2">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/ingest/Bundle.properties" key="IngestDialogPanel.timeRadioButton2.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/ingest/Bundle.properties" key="IngestDialogPanel.timeRadioButton2.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="timeLabel">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/ingest/Bundle.properties" key="IngestDialogPanel.timeLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/ingest/Bundle.properties" key="IngestDialogPanel.timeLabel.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
<Component class="javax.swing.JRadioButton" name="timeRadioButton1">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/ingest/Bundle.properties" key="IngestDialogPanel.timeRadioButton1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/ingest/Bundle.properties" key="IngestDialogPanel.timeRadioButton1.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="timeRadioButton1ActionPerformed"/>
|
||||
</Events>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
<Container class="javax.swing.JPanel" name="processUnallocPanel">
|
||||
<Properties>
|
||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||
@ -268,15 +177,16 @@
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="processUnallocCheckbox" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
<EmptySpace pref="12" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Group type="102" alignment="1" attributes="0">
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
<Component id="processUnallocCheckbox" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace min="0" pref="2" max="32767" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
|
@ -40,7 +40,6 @@ import javax.swing.table.DefaultTableCellRenderer;
|
||||
import javax.swing.table.TableColumn;
|
||||
import org.sleuthkit.autopsy.casemodule.IngestConfigurator;
|
||||
import org.sleuthkit.autopsy.corecomponents.AdvancedConfigurationDialog;
|
||||
import org.sleuthkit.autopsy.ingest.IngestManager.UpdateFrequency;
|
||||
import org.sleuthkit.datamodel.Image;
|
||||
|
||||
/**
|
||||
@ -86,33 +85,6 @@ public class IngestDialogPanel extends javax.swing.JPanel implements IngestConfi
|
||||
addModule(module);
|
||||
}
|
||||
|
||||
//time setting
|
||||
timeGroup.add(timeRadioButton1);
|
||||
timeGroup.add(timeRadioButton2);
|
||||
timeGroup.add(timeRadioButton3);
|
||||
|
||||
if (manager.isIngestRunning()) {
|
||||
setTimeSettingEnabled(false);
|
||||
} else {
|
||||
setTimeSettingEnabled(true);
|
||||
}
|
||||
|
||||
//set default
|
||||
final UpdateFrequency curFreq = manager.getUpdateFrequency();
|
||||
switch (curFreq) {
|
||||
case FAST:
|
||||
timeRadioButton1.setSelected(true);
|
||||
break;
|
||||
case AVG:
|
||||
timeRadioButton2.setSelected(true);
|
||||
break;
|
||||
case SLOW:
|
||||
timeRadioButton3.setSelected(true);
|
||||
break;
|
||||
default:
|
||||
//
|
||||
}
|
||||
|
||||
modulesTable.setTableHeader(null);
|
||||
modulesTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
|
||||
|
||||
@ -153,11 +125,7 @@ public class IngestDialogPanel extends javax.swing.JPanel implements IngestConfi
|
||||
|
||||
}
|
||||
|
||||
private void setTimeSettingEnabled(boolean enabled) {
|
||||
timeRadioButton1.setEnabled(enabled);
|
||||
timeRadioButton2.setEnabled(enabled);
|
||||
timeRadioButton3.setEnabled(enabled);
|
||||
}
|
||||
|
||||
|
||||
private void setProcessUnallocSpaceEnabled(boolean enabled) {
|
||||
processUnallocCheckbox.setEnabled(enabled);
|
||||
@ -167,11 +135,9 @@ public class IngestDialogPanel extends javax.swing.JPanel implements IngestConfi
|
||||
public void paint(Graphics g) {
|
||||
super.paint(g);
|
||||
if (manager.isIngestRunning()) {
|
||||
setTimeSettingEnabled(false);
|
||||
setProcessUnallocSpaceEnabled(false);
|
||||
|
||||
} else {
|
||||
setTimeSettingEnabled(true);
|
||||
setProcessUnallocSpaceEnabled(true);
|
||||
}
|
||||
}
|
||||
@ -199,11 +165,6 @@ public class IngestDialogPanel extends javax.swing.JPanel implements IngestConfi
|
||||
jSeparator2 = new javax.swing.JSeparator();
|
||||
jScrollPane1 = new javax.swing.JScrollPane();
|
||||
simplePanel = new javax.swing.JPanel();
|
||||
timePanel = new javax.swing.JPanel();
|
||||
timeRadioButton3 = new javax.swing.JRadioButton();
|
||||
timeRadioButton2 = new javax.swing.JRadioButton();
|
||||
timeLabel = new javax.swing.JLabel();
|
||||
timeRadioButton1 = new javax.swing.JRadioButton();
|
||||
processUnallocPanel = new javax.swing.JPanel();
|
||||
processUnallocCheckbox = new javax.swing.JCheckBox();
|
||||
|
||||
@ -256,7 +217,7 @@ public class IngestDialogPanel extends javax.swing.JPanel implements IngestConfi
|
||||
jPanel1Layout.setVerticalGroup(
|
||||
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
|
||||
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 183, Short.MAX_VALUE)
|
||||
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 192, Short.MAX_VALUE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addGap(0, 0, 0)
|
||||
@ -264,52 +225,6 @@ public class IngestDialogPanel extends javax.swing.JPanel implements IngestConfi
|
||||
.addContainerGap())
|
||||
);
|
||||
|
||||
timePanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(160, 160, 160)));
|
||||
|
||||
timeRadioButton3.setText(org.openide.util.NbBundle.getMessage(IngestDialogPanel.class, "IngestDialogPanel.timeRadioButton3.text")); // NOI18N
|
||||
timeRadioButton3.setToolTipText(org.openide.util.NbBundle.getMessage(IngestDialogPanel.class, "IngestDialogPanel.timeRadioButton3.toolTipText")); // NOI18N
|
||||
|
||||
timeRadioButton2.setText(org.openide.util.NbBundle.getMessage(IngestDialogPanel.class, "IngestDialogPanel.timeRadioButton2.text")); // NOI18N
|
||||
timeRadioButton2.setToolTipText(org.openide.util.NbBundle.getMessage(IngestDialogPanel.class, "IngestDialogPanel.timeRadioButton2.toolTipText")); // NOI18N
|
||||
|
||||
timeLabel.setText(org.openide.util.NbBundle.getMessage(IngestDialogPanel.class, "IngestDialogPanel.timeLabel.text")); // NOI18N
|
||||
timeLabel.setToolTipText(org.openide.util.NbBundle.getMessage(IngestDialogPanel.class, "IngestDialogPanel.timeLabel.toolTipText")); // NOI18N
|
||||
|
||||
timeRadioButton1.setText(org.openide.util.NbBundle.getMessage(IngestDialogPanel.class, "IngestDialogPanel.timeRadioButton1.text")); // NOI18N
|
||||
timeRadioButton1.setToolTipText(org.openide.util.NbBundle.getMessage(IngestDialogPanel.class, "IngestDialogPanel.timeRadioButton1.toolTipText")); // NOI18N
|
||||
timeRadioButton1.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
timeRadioButton1ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
|
||||
javax.swing.GroupLayout timePanelLayout = new javax.swing.GroupLayout(timePanel);
|
||||
timePanel.setLayout(timePanelLayout);
|
||||
timePanelLayout.setHorizontalGroup(
|
||||
timePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(timePanelLayout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addGroup(timePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(timeRadioButton1)
|
||||
.addComponent(timeLabel)
|
||||
.addComponent(timeRadioButton2)
|
||||
.addComponent(timeRadioButton3))
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
);
|
||||
timePanelLayout.setVerticalGroup(
|
||||
timePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(timePanelLayout.createSequentialGroup()
|
||||
.addGap(0, 4, Short.MAX_VALUE)
|
||||
.addComponent(timeLabel)
|
||||
.addGap(0, 0, 0)
|
||||
.addComponent(timeRadioButton1)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(timeRadioButton2)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(timeRadioButton3)
|
||||
.addGap(2, 2, 2))
|
||||
);
|
||||
|
||||
processUnallocPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(160, 160, 160)));
|
||||
|
||||
processUnallocCheckbox.setText(org.openide.util.NbBundle.getMessage(IngestDialogPanel.class, "IngestDialogPanel.processUnallocCheckbox.text")); // NOI18N
|
||||
@ -327,13 +242,14 @@ public class IngestDialogPanel extends javax.swing.JPanel implements IngestConfi
|
||||
.addGroup(processUnallocPanelLayout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addComponent(processUnallocCheckbox)
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addContainerGap(12, Short.MAX_VALUE))
|
||||
);
|
||||
processUnallocPanelLayout.setVerticalGroup(
|
||||
processUnallocPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(processUnallocPanelLayout.createSequentialGroup()
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, processUnallocPanelLayout.createSequentialGroup()
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(processUnallocCheckbox)
|
||||
.addGap(0, 2, Short.MAX_VALUE))
|
||||
.addContainerGap())
|
||||
);
|
||||
|
||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
||||
@ -344,7 +260,6 @@ public class IngestDialogPanel extends javax.swing.JPanel implements IngestConfi
|
||||
.addContainerGap()
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(modulesScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(timePanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(processUnallocPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 328, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
@ -355,13 +270,11 @@ public class IngestDialogPanel extends javax.swing.JPanel implements IngestConfi
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 235, Short.MAX_VALUE)
|
||||
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 244, Short.MAX_VALUE)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(modulesScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
|
||||
.addComponent(modulesScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 192, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(processUnallocPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(timePanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
||||
.addComponent(processUnallocPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
|
||||
.addContainerGap())
|
||||
);
|
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
@ -389,10 +302,6 @@ public class IngestDialogPanel extends javax.swing.JPanel implements IngestConfi
|
||||
dialog.display(currentModule.getAdvancedConfiguration());
|
||||
}//GEN-LAST:event_advancedButtonActionPerformed
|
||||
|
||||
private void timeRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_timeRadioButton1ActionPerformed
|
||||
// TODO add your handling code here:
|
||||
}//GEN-LAST:event_timeRadioButton1ActionPerformed
|
||||
|
||||
private void processUnallocCheckboxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_processUnallocCheckboxActionPerformed
|
||||
// TODO add your handling code here:
|
||||
}//GEN-LAST:event_processUnallocCheckboxActionPerformed
|
||||
@ -408,11 +317,6 @@ private void timeRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) {//
|
||||
private javax.swing.JPanel processUnallocPanel;
|
||||
private javax.swing.JPanel simplePanel;
|
||||
private javax.swing.ButtonGroup timeGroup;
|
||||
private javax.swing.JLabel timeLabel;
|
||||
private javax.swing.JPanel timePanel;
|
||||
private javax.swing.JRadioButton timeRadioButton1;
|
||||
private javax.swing.JRadioButton timeRadioButton2;
|
||||
private javax.swing.JRadioButton timeRadioButton3;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
|
||||
private class ModulesTableModel extends AbstractTableModel {
|
||||
@ -467,23 +371,13 @@ private void timeRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) {//
|
||||
return modulesToStart;
|
||||
}
|
||||
|
||||
private boolean timeSelectionEnabled() {
|
||||
return timeRadioButton1.isEnabled() && timeRadioButton2.isEnabled() && timeRadioButton3.isEnabled();
|
||||
}
|
||||
|
||||
|
||||
private boolean processUnallocSpaceEnabled() {
|
||||
return processUnallocCheckbox.isEnabled();
|
||||
}
|
||||
|
||||
private UpdateFrequency getSelectedTimeValue() {
|
||||
if (timeRadioButton1.isSelected()) {
|
||||
return UpdateFrequency.FAST;
|
||||
} else if (timeRadioButton2.isSelected()) {
|
||||
return UpdateFrequency.AVG;
|
||||
} else {
|
||||
return UpdateFrequency.SLOW;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* To be called whenever the next, close, or start buttons are pressed.
|
||||
@ -531,10 +425,7 @@ private void timeRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) {//
|
||||
manager.execute(modulesToStart, image);
|
||||
}
|
||||
|
||||
//update ingest freq. refresh
|
||||
if (timeSelectionEnabled()) {
|
||||
manager.setUpdateFrequency(getSelectedTimeValue());
|
||||
}
|
||||
|
||||
//update ingest proc. unalloc space
|
||||
if (processUnallocSpaceEnabled() ) {
|
||||
manager.setProcessUnallocSpace(processUnallocCheckbox.isSelected());
|
||||
|
@ -59,33 +59,8 @@ import org.sleuthkit.datamodel.TskData;
|
||||
*/
|
||||
public class IngestManager {
|
||||
|
||||
/**
|
||||
* @Deprecated individual modules are be responsible for maintaining such settings
|
||||
*/
|
||||
enum UpdateFrequency {
|
||||
|
||||
FAST(20),
|
||||
AVG(10),
|
||||
SLOW(5);
|
||||
private final int time;
|
||||
|
||||
/**
|
||||
* @Deprecated individual modules are be responsible for maintaining such settings
|
||||
*/
|
||||
UpdateFrequency(int time) {
|
||||
this.time = time;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Deprecated individual modules are be responsible for maintaining such settings
|
||||
*/
|
||||
int getTime() {
|
||||
return time;
|
||||
}
|
||||
};
|
||||
private static final Logger logger = Logger.getLogger(IngestManager.class.getName());
|
||||
private IngestManagerStats stats;
|
||||
private volatile UpdateFrequency updateFrequency = UpdateFrequency.AVG;
|
||||
private boolean processUnallocSpace = true;
|
||||
//queues
|
||||
private final ImageQueue imageQueue = new ImageQueue(); // list of modules and images to analyze
|
||||
@ -531,23 +506,6 @@ public class IngestManager {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* returns the current minimal update frequency setting in minutes Modules
|
||||
* should call this at init() to get current setting and use the setting to
|
||||
* change notification and data refresh intervals
|
||||
*/
|
||||
UpdateFrequency getUpdateFrequency() {
|
||||
return updateFrequency;
|
||||
}
|
||||
|
||||
/**
|
||||
* set new minimal update frequency modules should use
|
||||
*
|
||||
* @param frequency to use in minutes
|
||||
*/
|
||||
void setUpdateFrequency(UpdateFrequency frequency) {
|
||||
this.updateFrequency = frequency;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns if manager is currently configured to process unalloc space
|
||||
|
@ -87,18 +87,6 @@ public class IngestServices {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Facility for the module to query the currently set recommended data update frequency in minutes
|
||||
* Modules that post data in controlled time intervals, should obey this setting
|
||||
*
|
||||
* @return max. number of minutes before module posts new data, if data is available
|
||||
*
|
||||
* @Deprecated individual modules are be responsible for maintaining such settings
|
||||
*/
|
||||
public int getUpdateFrequency() {
|
||||
return manager.getUpdateFrequency().getTime();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Facility for a file ingest module to check a return value from another file ingest module
|
||||
|
@ -70,3 +70,10 @@ KeywordSearchConfigurationPanel2.settingsLabel.text=Settings
|
||||
KeywordSearchConfigurationPanel2.informationLabel.text=Information
|
||||
KeywordSearchListsManagementPanel.keywordListsLabel.text=Keyword Lists:
|
||||
KeywordSearchEditListPanel.keywordsLabel.text=Keywords:
|
||||
KeywordSearchConfigurationPanel2.jLabel1.text=Results update frequency during ingest:
|
||||
KeywordSearchConfigurationPanel2.timeRadioButton1.toolTipText=20 mins. (fastest ingest time)
|
||||
KeywordSearchConfigurationPanel2.timeRadioButton1.text=20 minutes (fastest ingest)
|
||||
KeywordSearchConfigurationPanel2.timeRadioButton2.toolTipText=10 minutes (default ingest time)
|
||||
KeywordSearchConfigurationPanel2.timeRadioButton2.text=10 minutes (default)
|
||||
KeywordSearchConfigurationPanel2.timeRadioButton3.toolTipText=5 minutes (overall ingest time will be longest)
|
||||
KeywordSearchConfigurationPanel2.timeRadioButton3.text=5 minutes (longest ingest)
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
|
||||
<NonVisualComponents>
|
||||
<Component class="javax.swing.ButtonGroup" name="langButtonGroup">
|
||||
<Component class="javax.swing.ButtonGroup" name="timeGroup">
|
||||
</Component>
|
||||
</NonVisualComponents>
|
||||
<AuxValues>
|
||||
@ -22,7 +22,7 @@
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" max="-2" attributes="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Component id="settingsLabel" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
@ -31,27 +31,35 @@
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Component id="informationLabel" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="informationSeparator" max="32767" attributes="0"/>
|
||||
<Component id="informationSeparator" min="-2" pref="309" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="102" attributes="0">
|
||||
<EmptySpace min="10" pref="10" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="10" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="filesIndexedLabel" min="-2" max="-2" attributes="0"/>
|
||||
<Group type="102" attributes="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="chunksLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="filesIndexedLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace type="separate" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" max="-2" attributes="0">
|
||||
<Component id="filesIndexedValue" max="32767" attributes="0"/>
|
||||
<Component id="chunksValLabel" min="-2" pref="104" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace min="-2" pref="141" max="-2" attributes="0"/>
|
||||
<Component id="filesIndexedValue" min="-2" pref="104" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Component id="skipNSRLCheckBox" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="jLabel1" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace min="-2" pref="10" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="timeRadioButton2" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="timeRadioButton1" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="timeRadioButton3" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Component id="chunksLabel" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace type="separate" max="-2" attributes="0"/>
|
||||
<Component id="chunksValLabel" min="-2" pref="104" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
<EmptySpace pref="67" max="32767" attributes="0"/>
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
@ -65,6 +73,14 @@
|
||||
</Group>
|
||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||
<Component id="skipNSRLCheckBox" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="13" max="-2" attributes="0"/>
|
||||
<Component id="jLabel1" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="timeRadioButton1" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="timeRadioButton2" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="timeRadioButton3" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace type="separate" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="1" attributes="0">
|
||||
<Component id="informationLabel" min="-2" max="-2" attributes="0"/>
|
||||
@ -80,7 +96,7 @@
|
||||
<Component id="chunksLabel" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="chunksValLabel" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace pref="107" max="32767" attributes="0"/>
|
||||
<EmptySpace pref="37" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
@ -95,9 +111,6 @@
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.skipNSRLCheckBox.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="skipNSRLCheckBoxActionPerformed"/>
|
||||
</Events>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="filesIndexedLabel">
|
||||
<Properties>
|
||||
@ -148,5 +161,42 @@
|
||||
</Component>
|
||||
<Component class="javax.swing.JSeparator" name="informationSeparator">
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="jLabel1">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.jLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
<Component class="javax.swing.JRadioButton" name="timeRadioButton1">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.timeRadioButton1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.timeRadioButton1.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
<Component class="javax.swing.JRadioButton" name="timeRadioButton2">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.timeRadioButton2.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.timeRadioButton2.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
<Component class="javax.swing.JRadioButton" name="timeRadioButton3">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.timeRadioButton3.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.timeRadioButton3.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Form>
|
||||
|
@ -18,15 +18,14 @@
|
||||
*/
|
||||
package org.sleuthkit.autopsy.keywordsearch;
|
||||
|
||||
import java.awt.Graphics;
|
||||
import java.beans.PropertyChangeEvent;
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.util.logging.Level;
|
||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||
import org.apache.solr.client.solrj.SolrServerException;
|
||||
import org.openide.util.Exceptions;
|
||||
import org.sleuthkit.autopsy.corecomponents.OptionsPanel;
|
||||
import org.sleuthkit.autopsy.ingest.IngestManager;
|
||||
import org.sleuthkit.autopsy.keywordsearch.KeywordSearchIngestModule.UpdateFrequency;
|
||||
|
||||
/**
|
||||
* General, not per list, keyword search configuration and status display widget
|
||||
@ -47,8 +46,25 @@ public class KeywordSearchConfigurationPanel2 extends javax.swing.JPanel impleme
|
||||
final KeywordSearchIngestModule service = KeywordSearchIngestModule.getDefault();
|
||||
skipNSRLCheckBox.setSelected(service.getSkipKnown());
|
||||
boolean enable = !IngestManager.getDefault().isIngestRunning()
|
||||
&& ! IngestManager.getDefault().isModuleRunning(KeywordSearchIngestModule.getDefault());
|
||||
&& !IngestManager.getDefault().isModuleRunning(KeywordSearchIngestModule.getDefault());
|
||||
skipNSRLCheckBox.setEnabled(enable);
|
||||
setTimeSettingEnabled(enable);
|
||||
|
||||
final UpdateFrequency curFreq = service.getUpdateFrequency();
|
||||
switch (curFreq) {
|
||||
case FAST:
|
||||
timeRadioButton1.setSelected(true);
|
||||
break;
|
||||
case AVG:
|
||||
timeRadioButton2.setSelected(true);
|
||||
break;
|
||||
case SLOW:
|
||||
timeRadioButton3.setSelected(true);
|
||||
break;
|
||||
default:
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -60,7 +76,7 @@ public class KeywordSearchConfigurationPanel2 extends javax.swing.JPanel impleme
|
||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||
private void initComponents() {
|
||||
|
||||
langButtonGroup = new javax.swing.ButtonGroup();
|
||||
timeGroup = new javax.swing.ButtonGroup();
|
||||
skipNSRLCheckBox = new javax.swing.JCheckBox();
|
||||
filesIndexedLabel = new javax.swing.JLabel();
|
||||
filesIndexedValue = new javax.swing.JLabel();
|
||||
@ -70,14 +86,13 @@ public class KeywordSearchConfigurationPanel2 extends javax.swing.JPanel impleme
|
||||
informationLabel = new javax.swing.JLabel();
|
||||
settingsSeparator = new javax.swing.JSeparator();
|
||||
informationSeparator = new javax.swing.JSeparator();
|
||||
jLabel1 = new javax.swing.JLabel();
|
||||
timeRadioButton1 = new javax.swing.JRadioButton();
|
||||
timeRadioButton2 = new javax.swing.JRadioButton();
|
||||
timeRadioButton3 = new javax.swing.JRadioButton();
|
||||
|
||||
skipNSRLCheckBox.setText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.skipNSRLCheckBox.text")); // NOI18N
|
||||
skipNSRLCheckBox.setToolTipText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.skipNSRLCheckBox.toolTipText")); // NOI18N
|
||||
skipNSRLCheckBox.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
skipNSRLCheckBoxActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
|
||||
filesIndexedLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.filesIndexedLabel.text")); // NOI18N
|
||||
|
||||
@ -92,13 +107,24 @@ public class KeywordSearchConfigurationPanel2 extends javax.swing.JPanel impleme
|
||||
|
||||
informationLabel.setText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.informationLabel.text")); // NOI18N
|
||||
|
||||
jLabel1.setText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.jLabel1.text")); // NOI18N
|
||||
|
||||
timeRadioButton1.setText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.timeRadioButton1.text")); // NOI18N
|
||||
timeRadioButton1.setToolTipText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.timeRadioButton1.toolTipText")); // NOI18N
|
||||
|
||||
timeRadioButton2.setText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.timeRadioButton2.text")); // NOI18N
|
||||
timeRadioButton2.setToolTipText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.timeRadioButton2.toolTipText")); // NOI18N
|
||||
|
||||
timeRadioButton3.setText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.timeRadioButton3.text")); // NOI18N
|
||||
timeRadioButton3.setToolTipText(org.openide.util.NbBundle.getMessage(KeywordSearchConfigurationPanel2.class, "KeywordSearchConfigurationPanel2.timeRadioButton3.toolTipText")); // NOI18N
|
||||
|
||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
||||
this.setLayout(layout);
|
||||
layout.setHorizontalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(settingsLabel)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
@ -106,20 +132,27 @@ public class KeywordSearchConfigurationPanel2 extends javax.swing.JPanel impleme
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(informationLabel)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(informationSeparator))
|
||||
.addComponent(informationSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 309, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGap(10, 10, 10)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(filesIndexedLabel)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGap(141, 141, 141)
|
||||
.addComponent(filesIndexedValue, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addComponent(skipNSRLCheckBox)
|
||||
.addComponent(jLabel1)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGap(10, 10, 10)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(chunksLabel)
|
||||
.addComponent(filesIndexedLabel))
|
||||
.addComponent(timeRadioButton2)
|
||||
.addComponent(timeRadioButton1)
|
||||
.addComponent(timeRadioButton3)))
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(chunksLabel)
|
||||
.addGap(18, 18, 18)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
||||
.addComponent(filesIndexedValue, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(chunksValLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
||||
.addComponent(skipNSRLCheckBox))))
|
||||
.addContainerGap(67, Short.MAX_VALUE))
|
||||
.addComponent(chunksValLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)))))
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
);
|
||||
layout.setVerticalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
@ -130,6 +163,14 @@ public class KeywordSearchConfigurationPanel2 extends javax.swing.JPanel impleme
|
||||
.addComponent(settingsSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 6, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addComponent(skipNSRLCheckBox)
|
||||
.addGap(13, 13, 13)
|
||||
.addComponent(jLabel1)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(timeRadioButton1)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(timeRadioButton2)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(timeRadioButton3)
|
||||
.addGap(18, 18, 18)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addComponent(informationLabel)
|
||||
@ -142,14 +183,10 @@ public class KeywordSearchConfigurationPanel2 extends javax.swing.JPanel impleme
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(chunksLabel)
|
||||
.addComponent(chunksValLabel))
|
||||
.addContainerGap(107, Short.MAX_VALUE))
|
||||
.addContainerGap(37, Short.MAX_VALUE))
|
||||
);
|
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
|
||||
private void skipNSRLCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_skipNSRLCheckBoxActionPerformed
|
||||
//KeywordSearchIngestModule.getDefault().setSkipKnown(skipNSRLCheckBox.isSelected());
|
||||
// Do nothing
|
||||
}//GEN-LAST:event_skipNSRLCheckBoxActionPerformed
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private javax.swing.JLabel chunksLabel;
|
||||
private javax.swing.JLabel chunksValLabel;
|
||||
@ -157,23 +194,53 @@ private void skipNSRLCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//
|
||||
private javax.swing.JLabel filesIndexedValue;
|
||||
private javax.swing.JLabel informationLabel;
|
||||
private javax.swing.JSeparator informationSeparator;
|
||||
private javax.swing.ButtonGroup langButtonGroup;
|
||||
private javax.swing.JLabel jLabel1;
|
||||
private javax.swing.JLabel settingsLabel;
|
||||
private javax.swing.JSeparator settingsSeparator;
|
||||
private javax.swing.JCheckBox skipNSRLCheckBox;
|
||||
private javax.swing.ButtonGroup timeGroup;
|
||||
private javax.swing.JRadioButton timeRadioButton1;
|
||||
private javax.swing.JRadioButton timeRadioButton2;
|
||||
private javax.swing.JRadioButton timeRadioButton3;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
|
||||
@Override
|
||||
public void store() {
|
||||
KeywordSearchIngestModule.getDefault().setSkipKnown(skipNSRLCheckBox.isSelected());
|
||||
final KeywordSearchIngestModule km =
|
||||
KeywordSearchIngestModule.getDefault();
|
||||
|
||||
km.setSkipKnown(skipNSRLCheckBox.isSelected());
|
||||
km.setUpdateFrequency(getSelectedTimeValue());
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void load() {
|
||||
activateWidgets();
|
||||
}
|
||||
|
||||
|
||||
private void setTimeSettingEnabled(boolean enabled) {
|
||||
timeRadioButton1.setEnabled(enabled);
|
||||
timeRadioButton2.setEnabled(enabled);
|
||||
timeRadioButton3.setEnabled(enabled);
|
||||
}
|
||||
|
||||
|
||||
private UpdateFrequency getSelectedTimeValue() {
|
||||
if (timeRadioButton1.isSelected()) {
|
||||
return UpdateFrequency.FAST;
|
||||
} else if (timeRadioButton2.isSelected()) {
|
||||
return UpdateFrequency.AVG;
|
||||
} else {
|
||||
return UpdateFrequency.SLOW;
|
||||
}
|
||||
}
|
||||
|
||||
private void customizeComponents() {
|
||||
|
||||
timeGroup.add(timeRadioButton1);
|
||||
timeGroup.add(timeRadioButton2);
|
||||
timeGroup.add(timeRadioButton3);
|
||||
|
||||
this.skipNSRLCheckBox.setSelected(KeywordSearchIngestModule.getDefault().getSkipKnown());
|
||||
|
||||
try {
|
||||
|
@ -72,6 +72,23 @@ import org.sleuthkit.datamodel.TskData.FileKnown;
|
||||
*/
|
||||
public final class KeywordSearchIngestModule implements IngestModuleAbstractFile {
|
||||
|
||||
enum UpdateFrequency {
|
||||
|
||||
FAST(20),
|
||||
AVG(10),
|
||||
SLOW(5);
|
||||
private final int time;
|
||||
|
||||
UpdateFrequency(int time) {
|
||||
this.time = time;
|
||||
}
|
||||
|
||||
int getTime() {
|
||||
return time;
|
||||
}
|
||||
};
|
||||
private volatile UpdateFrequency updateFrequency = UpdateFrequency.AVG;
|
||||
|
||||
private static final Logger logger = Logger.getLogger(KeywordSearchIngestModule.class.getName());
|
||||
public static final String MODULE_NAME = "Keyword Search";
|
||||
public static final String MODULE_DESCRIPTION = "Performs file indexing and periodic search using keywords and regular expressions in lists.";
|
||||
@ -85,7 +102,6 @@ public final class KeywordSearchIngestModule implements IngestModuleAbstractFile
|
||||
private Map<String, KeywordSearchList> keywordToList; //keyword to list name mapping
|
||||
private Timer commitTimer;
|
||||
private Timer searchTimer;
|
||||
//private static final int COMMIT_INTERVAL_MS = 10 * 60 * 1000;
|
||||
private Indexer indexer;
|
||||
private Searcher currentSearcher;
|
||||
private Searcher finalSearcher;
|
||||
@ -134,6 +150,22 @@ public final class KeywordSearchIngestModule implements IngestModuleAbstractFile
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns the current minimal update frequency setting in minutes
|
||||
*/
|
||||
UpdateFrequency getUpdateFrequency() {
|
||||
return updateFrequency;
|
||||
}
|
||||
|
||||
/**
|
||||
* set new minimal update frequency module should use
|
||||
*
|
||||
* @param frequency to use in minutes
|
||||
*/
|
||||
void setUpdateFrequency(UpdateFrequency frequency) {
|
||||
this.updateFrequency = frequency;
|
||||
}
|
||||
|
||||
/**
|
||||
* Starts processing of every file provided by IngestManager. Checks if it
|
||||
@ -349,7 +381,7 @@ public final class KeywordSearchIngestModule implements IngestModuleAbstractFile
|
||||
|
||||
indexer = new Indexer();
|
||||
|
||||
final int updateIntervalMs = services.getUpdateFrequency() * 60 * 1000;
|
||||
final int updateIntervalMs = updateFrequency.getTime() * 60 * 1000;
|
||||
logger.log(Level.INFO, "Using commit interval (ms): " + updateIntervalMs);
|
||||
logger.log(Level.INFO, "Using searcher interval (ms): " + updateIntervalMs);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user