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.totalMessagesNameVal.text=-
|
||||||
IngestMessagePanel.totalUniqueMessagesNameLabel.text=Unique:
|
IngestMessagePanel.totalUniqueMessagesNameLabel.text=Unique:
|
||||||
IngestMessagePanel.totalUniqueMessagesNameVal.text=-
|
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.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.
|
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"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Component id="modulesScrollPane" max="32767" attributes="1"/>
|
<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"/>
|
<Component id="processUnallocPanel" alignment="0" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
@ -43,13 +42,11 @@
|
|||||||
<Group type="102" alignment="0" attributes="0">
|
<Group type="102" alignment="0" attributes="0">
|
||||||
<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="jPanel1" pref="235" max="32767" attributes="0"/>
|
<Component id="jPanel1" pref="244" max="32767" attributes="0"/>
|
||||||
<Group type="102" 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"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="processUnallocPanel" min="-2" max="-2" attributes="0"/>
|
<Component id="processUnallocPanel" max="32767" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
|
||||||
<Component id="timePanel" min="-2" max="-2" attributes="0"/>
|
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace min="-2" max="-2" attributes="0"/>
|
<EmptySpace min="-2" max="-2" attributes="0"/>
|
||||||
@ -117,7 +114,7 @@
|
|||||||
<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">
|
||||||
<Component id="jScrollPane1" pref="183" max="32767" attributes="0"/>
|
<Component id="jScrollPane1" pref="192" max="32767" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="jSeparator2" min="-2" pref="10" max="-2" attributes="0"/>
|
<Component id="jSeparator2" min="-2" pref="10" max="-2" attributes="0"/>
|
||||||
<EmptySpace min="-2" pref="0" max="-2" attributes="0"/>
|
<EmptySpace min="-2" pref="0" max="-2" attributes="0"/>
|
||||||
@ -163,94 +160,6 @@
|
|||||||
</Container>
|
</Container>
|
||||||
</SubComponents>
|
</SubComponents>
|
||||||
</Container>
|
</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">
|
<Container class="javax.swing.JPanel" name="processUnallocPanel">
|
||||||
<Properties>
|
<Properties>
|
||||||
<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">
|
||||||
@ -268,15 +177,16 @@
|
|||||||
<Group type="102" alignment="0" attributes="0">
|
<Group type="102" alignment="0" attributes="0">
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="processUnallocCheckbox" min="-2" 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>
|
||||||
</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="0" attributes="0">
|
<Group type="102" alignment="1" attributes="0">
|
||||||
|
<EmptySpace max="32767" attributes="0"/>
|
||||||
<Component id="processUnallocCheckbox" min="-2" max="-2" 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>
|
||||||
</Group>
|
</Group>
|
||||||
</DimensionLayout>
|
</DimensionLayout>
|
||||||
|
@ -40,7 +40,6 @@ import javax.swing.table.DefaultTableCellRenderer;
|
|||||||
import javax.swing.table.TableColumn;
|
import javax.swing.table.TableColumn;
|
||||||
import org.sleuthkit.autopsy.casemodule.IngestConfigurator;
|
import org.sleuthkit.autopsy.casemodule.IngestConfigurator;
|
||||||
import org.sleuthkit.autopsy.corecomponents.AdvancedConfigurationDialog;
|
import org.sleuthkit.autopsy.corecomponents.AdvancedConfigurationDialog;
|
||||||
import org.sleuthkit.autopsy.ingest.IngestManager.UpdateFrequency;
|
|
||||||
import org.sleuthkit.datamodel.Image;
|
import org.sleuthkit.datamodel.Image;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -86,33 +85,6 @@ public class IngestDialogPanel extends javax.swing.JPanel implements IngestConfi
|
|||||||
addModule(module);
|
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.setTableHeader(null);
|
||||||
modulesTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
|
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) {
|
private void setProcessUnallocSpaceEnabled(boolean enabled) {
|
||||||
processUnallocCheckbox.setEnabled(enabled);
|
processUnallocCheckbox.setEnabled(enabled);
|
||||||
@ -167,11 +135,9 @@ public class IngestDialogPanel extends javax.swing.JPanel implements IngestConfi
|
|||||||
public void paint(Graphics g) {
|
public void paint(Graphics g) {
|
||||||
super.paint(g);
|
super.paint(g);
|
||||||
if (manager.isIngestRunning()) {
|
if (manager.isIngestRunning()) {
|
||||||
setTimeSettingEnabled(false);
|
|
||||||
setProcessUnallocSpaceEnabled(false);
|
setProcessUnallocSpaceEnabled(false);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
setTimeSettingEnabled(true);
|
|
||||||
setProcessUnallocSpaceEnabled(true);
|
setProcessUnallocSpaceEnabled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -199,11 +165,6 @@ public class IngestDialogPanel extends javax.swing.JPanel implements IngestConfi
|
|||||||
jSeparator2 = new javax.swing.JSeparator();
|
jSeparator2 = new javax.swing.JSeparator();
|
||||||
jScrollPane1 = new javax.swing.JScrollPane();
|
jScrollPane1 = new javax.swing.JScrollPane();
|
||||||
simplePanel = new javax.swing.JPanel();
|
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();
|
processUnallocPanel = new javax.swing.JPanel();
|
||||||
processUnallocCheckbox = new javax.swing.JCheckBox();
|
processUnallocCheckbox = new javax.swing.JCheckBox();
|
||||||
|
|
||||||
@ -256,7 +217,7 @@ public class IngestDialogPanel extends javax.swing.JPanel implements IngestConfi
|
|||||||
jPanel1Layout.setVerticalGroup(
|
jPanel1Layout.setVerticalGroup(
|
||||||
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
|
.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)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addGap(0, 0, 0)
|
.addGap(0, 0, 0)
|
||||||
@ -264,52 +225,6 @@ public class IngestDialogPanel extends javax.swing.JPanel implements IngestConfi
|
|||||||
.addContainerGap())
|
.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)));
|
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
|
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()
|
.addGroup(processUnallocPanelLayout.createSequentialGroup()
|
||||||
.addContainerGap()
|
.addContainerGap()
|
||||||
.addComponent(processUnallocCheckbox)
|
.addComponent(processUnallocCheckbox)
|
||||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
.addContainerGap(12, Short.MAX_VALUE))
|
||||||
);
|
);
|
||||||
processUnallocPanelLayout.setVerticalGroup(
|
processUnallocPanelLayout.setVerticalGroup(
|
||||||
processUnallocPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
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)
|
.addComponent(processUnallocCheckbox)
|
||||||
.addGap(0, 2, Short.MAX_VALUE))
|
.addContainerGap())
|
||||||
);
|
);
|
||||||
|
|
||||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
||||||
@ -344,7 +260,6 @@ public class IngestDialogPanel extends javax.swing.JPanel implements IngestConfi
|
|||||||
.addContainerGap()
|
.addContainerGap()
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addComponent(modulesScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
.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))
|
.addComponent(processUnallocPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 328, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.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()
|
.addGroup(layout.createSequentialGroup()
|
||||||
.addContainerGap()
|
.addContainerGap()
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
.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()
|
.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)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(processUnallocPanel, 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)))
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
||||||
.addComponent(timePanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
|
||||||
.addContainerGap())
|
.addContainerGap())
|
||||||
);
|
);
|
||||||
}// </editor-fold>//GEN-END:initComponents
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
@ -389,10 +302,6 @@ public class IngestDialogPanel extends javax.swing.JPanel implements IngestConfi
|
|||||||
dialog.display(currentModule.getAdvancedConfiguration());
|
dialog.display(currentModule.getAdvancedConfiguration());
|
||||||
}//GEN-LAST:event_advancedButtonActionPerformed
|
}//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
|
private void processUnallocCheckboxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_processUnallocCheckboxActionPerformed
|
||||||
// TODO add your handling code here:
|
// TODO add your handling code here:
|
||||||
}//GEN-LAST:event_processUnallocCheckboxActionPerformed
|
}//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 processUnallocPanel;
|
||||||
private javax.swing.JPanel simplePanel;
|
private javax.swing.JPanel simplePanel;
|
||||||
private javax.swing.ButtonGroup timeGroup;
|
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
|
// End of variables declaration//GEN-END:variables
|
||||||
|
|
||||||
private class ModulesTableModel extends AbstractTableModel {
|
private class ModulesTableModel extends AbstractTableModel {
|
||||||
@ -467,23 +371,13 @@ private void timeRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) {//
|
|||||||
return modulesToStart;
|
return modulesToStart;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean timeSelectionEnabled() {
|
|
||||||
return timeRadioButton1.isEnabled() && timeRadioButton2.isEnabled() && timeRadioButton3.isEnabled();
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean processUnallocSpaceEnabled() {
|
private boolean processUnallocSpaceEnabled() {
|
||||||
return processUnallocCheckbox.isEnabled();
|
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.
|
* 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);
|
manager.execute(modulesToStart, image);
|
||||||
}
|
}
|
||||||
|
|
||||||
//update ingest freq. refresh
|
|
||||||
if (timeSelectionEnabled()) {
|
|
||||||
manager.setUpdateFrequency(getSelectedTimeValue());
|
|
||||||
}
|
|
||||||
//update ingest proc. unalloc space
|
//update ingest proc. unalloc space
|
||||||
if (processUnallocSpaceEnabled() ) {
|
if (processUnallocSpaceEnabled() ) {
|
||||||
manager.setProcessUnallocSpace(processUnallocCheckbox.isSelected());
|
manager.setProcessUnallocSpace(processUnallocCheckbox.isSelected());
|
||||||
|
@ -59,33 +59,8 @@ import org.sleuthkit.datamodel.TskData;
|
|||||||
*/
|
*/
|
||||||
public class IngestManager {
|
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 static final Logger logger = Logger.getLogger(IngestManager.class.getName());
|
||||||
private IngestManagerStats stats;
|
private IngestManagerStats stats;
|
||||||
private volatile UpdateFrequency updateFrequency = UpdateFrequency.AVG;
|
|
||||||
private boolean processUnallocSpace = true;
|
private boolean processUnallocSpace = true;
|
||||||
//queues
|
//queues
|
||||||
private final ImageQueue imageQueue = new ImageQueue(); // list of modules and images to analyze
|
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
|
* 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
|
* 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
|
KeywordSearchConfigurationPanel2.informationLabel.text=Information
|
||||||
KeywordSearchListsManagementPanel.keywordListsLabel.text=Keyword Lists:
|
KeywordSearchListsManagementPanel.keywordListsLabel.text=Keyword Lists:
|
||||||
KeywordSearchEditListPanel.keywordsLabel.text=Keywords:
|
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">
|
<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
|
||||||
<NonVisualComponents>
|
<NonVisualComponents>
|
||||||
<Component class="javax.swing.ButtonGroup" name="langButtonGroup">
|
<Component class="javax.swing.ButtonGroup" name="timeGroup">
|
||||||
</Component>
|
</Component>
|
||||||
</NonVisualComponents>
|
</NonVisualComponents>
|
||||||
<AuxValues>
|
<AuxValues>
|
||||||
@ -22,7 +22,7 @@
|
|||||||
<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 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">
|
<Group type="102" alignment="0" attributes="0">
|
||||||
<Component id="settingsLabel" min="-2" max="-2" attributes="0"/>
|
<Component id="settingsLabel" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
@ -31,27 +31,35 @@
|
|||||||
<Group type="102" alignment="0" attributes="0">
|
<Group type="102" alignment="0" attributes="0">
|
||||||
<Component id="informationLabel" min="-2" max="-2" attributes="0"/>
|
<Component id="informationLabel" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace 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>
|
||||||
<Group type="102" attributes="0">
|
<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">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Component id="filesIndexedLabel" min="-2" max="-2" attributes="0"/>
|
||||||
<Group type="102" attributes="0">
|
<Group type="102" attributes="0">
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<EmptySpace min="-2" pref="141" max="-2" attributes="0"/>
|
||||||
<Component id="chunksLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
<Component id="filesIndexedValue" min="-2" pref="104" max="-2" attributes="0"/>
|
||||||
<Component id="filesIndexedLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
|
||||||
</Group>
|
</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"/>
|
<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"/>
|
<Component id="chunksValLabel" min="-2" pref="104" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
<Component id="skipNSRLCheckBox" min="-2" max="-2" attributes="0"/>
|
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
<EmptySpace max="32767" attributes="0"/>
|
||||||
<EmptySpace pref="67" max="32767" attributes="0"/>
|
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
</DimensionLayout>
|
</DimensionLayout>
|
||||||
@ -65,6 +73,14 @@
|
|||||||
</Group>
|
</Group>
|
||||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||||
<Component id="skipNSRLCheckBox" min="-2" 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"/>
|
<EmptySpace type="separate" max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="1" attributes="0">
|
<Group type="103" groupAlignment="1" attributes="0">
|
||||||
<Component id="informationLabel" min="-2" max="-2" 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="chunksLabel" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="chunksValLabel" alignment="3" min="-2" max="-2" attributes="0"/>
|
<Component id="chunksValLabel" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace pref="107" max="32767" attributes="0"/>
|
<EmptySpace pref="37" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
</DimensionLayout>
|
</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}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/keywordsearch/Bundle.properties" key="KeywordSearchConfigurationPanel2.skipNSRLCheckBox.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="skipNSRLCheckBoxActionPerformed"/>
|
|
||||||
</Events>
|
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JLabel" name="filesIndexedLabel">
|
<Component class="javax.swing.JLabel" name="filesIndexedLabel">
|
||||||
<Properties>
|
<Properties>
|
||||||
@ -148,5 +161,42 @@
|
|||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JSeparator" name="informationSeparator">
|
<Component class="javax.swing.JSeparator" name="informationSeparator">
|
||||||
</Component>
|
</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>
|
</SubComponents>
|
||||||
</Form>
|
</Form>
|
||||||
|
@ -18,15 +18,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.sleuthkit.autopsy.keywordsearch;
|
package org.sleuthkit.autopsy.keywordsearch;
|
||||||
|
|
||||||
import java.awt.Graphics;
|
|
||||||
import java.beans.PropertyChangeEvent;
|
import java.beans.PropertyChangeEvent;
|
||||||
import java.beans.PropertyChangeListener;
|
import java.beans.PropertyChangeListener;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
import org.apache.solr.client.solrj.SolrServerException;
|
import org.apache.solr.client.solrj.SolrServerException;
|
||||||
import org.openide.util.Exceptions;
|
|
||||||
import org.sleuthkit.autopsy.corecomponents.OptionsPanel;
|
import org.sleuthkit.autopsy.corecomponents.OptionsPanel;
|
||||||
import org.sleuthkit.autopsy.ingest.IngestManager;
|
import org.sleuthkit.autopsy.ingest.IngestManager;
|
||||||
|
import org.sleuthkit.autopsy.keywordsearch.KeywordSearchIngestModule.UpdateFrequency;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* General, not per list, keyword search configuration and status display widget
|
* 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();
|
final KeywordSearchIngestModule service = KeywordSearchIngestModule.getDefault();
|
||||||
skipNSRLCheckBox.setSelected(service.getSkipKnown());
|
skipNSRLCheckBox.setSelected(service.getSkipKnown());
|
||||||
boolean enable = !IngestManager.getDefault().isIngestRunning()
|
boolean enable = !IngestManager.getDefault().isIngestRunning()
|
||||||
&& ! IngestManager.getDefault().isModuleRunning(KeywordSearchIngestModule.getDefault());
|
&& !IngestManager.getDefault().isModuleRunning(KeywordSearchIngestModule.getDefault());
|
||||||
skipNSRLCheckBox.setEnabled(enable);
|
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
|
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||||
private void initComponents() {
|
private void initComponents() {
|
||||||
|
|
||||||
langButtonGroup = new javax.swing.ButtonGroup();
|
timeGroup = new javax.swing.ButtonGroup();
|
||||||
skipNSRLCheckBox = new javax.swing.JCheckBox();
|
skipNSRLCheckBox = new javax.swing.JCheckBox();
|
||||||
filesIndexedLabel = new javax.swing.JLabel();
|
filesIndexedLabel = new javax.swing.JLabel();
|
||||||
filesIndexedValue = 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();
|
informationLabel = new javax.swing.JLabel();
|
||||||
settingsSeparator = new javax.swing.JSeparator();
|
settingsSeparator = new javax.swing.JSeparator();
|
||||||
informationSeparator = 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.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.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
|
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
|
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);
|
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)
|
||||||
.addGroup(layout.createSequentialGroup()
|
.addGroup(layout.createSequentialGroup()
|
||||||
.addContainerGap()
|
.addContainerGap()
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGroup(layout.createSequentialGroup()
|
.addGroup(layout.createSequentialGroup()
|
||||||
.addComponent(settingsLabel)
|
.addComponent(settingsLabel)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
@ -106,20 +132,27 @@ public class KeywordSearchConfigurationPanel2 extends javax.swing.JPanel impleme
|
|||||||
.addGroup(layout.createSequentialGroup()
|
.addGroup(layout.createSequentialGroup()
|
||||||
.addComponent(informationLabel)
|
.addComponent(informationLabel)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(informationSeparator))
|
.addComponent(informationSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 309, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||||
.addGroup(layout.createSequentialGroup()
|
.addGroup(layout.createSequentialGroup()
|
||||||
.addGap(10, 10, 10)
|
.addGap(10, 10, 10)
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addComponent(filesIndexedLabel)
|
||||||
.addGroup(layout.createSequentialGroup()
|
.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)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addComponent(timeRadioButton2)
|
||||||
|
.addComponent(timeRadioButton1)
|
||||||
|
.addComponent(timeRadioButton3)))
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
.addComponent(chunksLabel)
|
.addComponent(chunksLabel)
|
||||||
.addComponent(filesIndexedLabel))
|
|
||||||
.addGap(18, 18, 18)
|
.addGap(18, 18, 18)
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
.addComponent(chunksValLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)))))
|
||||||
.addComponent(filesIndexedValue, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
.addContainerGap(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))
|
|
||||||
);
|
);
|
||||||
layout.setVerticalGroup(
|
layout.setVerticalGroup(
|
||||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
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))
|
.addComponent(settingsSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 6, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||||
.addComponent(skipNSRLCheckBox)
|
.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)
|
.addGap(18, 18, 18)
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
||||||
.addComponent(informationLabel)
|
.addComponent(informationLabel)
|
||||||
@ -142,14 +183,10 @@ public class KeywordSearchConfigurationPanel2 extends javax.swing.JPanel impleme
|
|||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||||
.addComponent(chunksLabel)
|
.addComponent(chunksLabel)
|
||||||
.addComponent(chunksValLabel))
|
.addComponent(chunksValLabel))
|
||||||
.addContainerGap(107, Short.MAX_VALUE))
|
.addContainerGap(37, Short.MAX_VALUE))
|
||||||
);
|
);
|
||||||
}// </editor-fold>//GEN-END:initComponents
|
}// </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
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
private javax.swing.JLabel chunksLabel;
|
private javax.swing.JLabel chunksLabel;
|
||||||
private javax.swing.JLabel chunksValLabel;
|
private javax.swing.JLabel chunksValLabel;
|
||||||
@ -157,15 +194,23 @@ private void skipNSRLCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//
|
|||||||
private javax.swing.JLabel filesIndexedValue;
|
private javax.swing.JLabel filesIndexedValue;
|
||||||
private javax.swing.JLabel informationLabel;
|
private javax.swing.JLabel informationLabel;
|
||||||
private javax.swing.JSeparator informationSeparator;
|
private javax.swing.JSeparator informationSeparator;
|
||||||
private javax.swing.ButtonGroup langButtonGroup;
|
private javax.swing.JLabel jLabel1;
|
||||||
private javax.swing.JLabel settingsLabel;
|
private javax.swing.JLabel settingsLabel;
|
||||||
private javax.swing.JSeparator settingsSeparator;
|
private javax.swing.JSeparator settingsSeparator;
|
||||||
private javax.swing.JCheckBox skipNSRLCheckBox;
|
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
|
// End of variables declaration//GEN-END:variables
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void store() {
|
public void store() {
|
||||||
KeywordSearchIngestModule.getDefault().setSkipKnown(skipNSRLCheckBox.isSelected());
|
final KeywordSearchIngestModule km =
|
||||||
|
KeywordSearchIngestModule.getDefault();
|
||||||
|
|
||||||
|
km.setSkipKnown(skipNSRLCheckBox.isSelected());
|
||||||
|
km.setUpdateFrequency(getSelectedTimeValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -173,7 +218,29 @@ private void skipNSRLCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//
|
|||||||
activateWidgets();
|
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() {
|
private void customizeComponents() {
|
||||||
|
|
||||||
|
timeGroup.add(timeRadioButton1);
|
||||||
|
timeGroup.add(timeRadioButton2);
|
||||||
|
timeGroup.add(timeRadioButton3);
|
||||||
|
|
||||||
this.skipNSRLCheckBox.setSelected(KeywordSearchIngestModule.getDefault().getSkipKnown());
|
this.skipNSRLCheckBox.setSelected(KeywordSearchIngestModule.getDefault().getSkipKnown());
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -72,6 +72,23 @@ import org.sleuthkit.datamodel.TskData.FileKnown;
|
|||||||
*/
|
*/
|
||||||
public final class KeywordSearchIngestModule implements IngestModuleAbstractFile {
|
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());
|
private static final Logger logger = Logger.getLogger(KeywordSearchIngestModule.class.getName());
|
||||||
public static final String MODULE_NAME = "Keyword Search";
|
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.";
|
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 Map<String, KeywordSearchList> keywordToList; //keyword to list name mapping
|
||||||
private Timer commitTimer;
|
private Timer commitTimer;
|
||||||
private Timer searchTimer;
|
private Timer searchTimer;
|
||||||
//private static final int COMMIT_INTERVAL_MS = 10 * 60 * 1000;
|
|
||||||
private Indexer indexer;
|
private Indexer indexer;
|
||||||
private Searcher currentSearcher;
|
private Searcher currentSearcher;
|
||||||
private Searcher finalSearcher;
|
private Searcher finalSearcher;
|
||||||
@ -135,6 +151,22 @@ public final class KeywordSearchIngestModule implements IngestModuleAbstractFile
|
|||||||
return instance;
|
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
|
* Starts processing of every file provided by IngestManager. Checks if it
|
||||||
* is time to commit and run search
|
* is time to commit and run search
|
||||||
@ -349,7 +381,7 @@ public final class KeywordSearchIngestModule implements IngestModuleAbstractFile
|
|||||||
|
|
||||||
indexer = new Indexer();
|
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 commit interval (ms): " + updateIntervalMs);
|
||||||
logger.log(Level.INFO, "Using searcher interval (ms): " + updateIntervalMs);
|
logger.log(Level.INFO, "Using searcher interval (ms): " + updateIntervalMs);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user