19 package org.sleuthkit.autopsy.casemodule;
21 import org.openide.util.NbBundle;
22 import java.awt.Component;
23 import java.util.List;
24 import javax.swing.JButton;
25 import javax.swing.JOptionPane;
26 import javax.swing.event.ChangeListener;
27 import org.openide.WizardDescriptor;
28 import org.openide.util.HelpCtx;
29 import org.openide.util.NbBundle.Messages;
42 class AddImageWizardIngestConfigPanel
extends ShortcutWizardDescriptorPanel {
44 @Messages(
"AddImageWizardIngestConfigPanel.name.text=Configure Ingest Modules")
45 private IngestJobSettingsPanel ingestJobSettingsPanel;
50 private Component component = null;
51 private String lastProfileUsed = AddImageWizardIngestConfigPanel.class.getCanonicalName();
52 private final AddImageWizardAddingProgressPanel progressPanel;
54 AddImageWizardIngestConfigPanel(AddImageWizardAddingProgressPanel proPanel) {
55 this.progressPanel = proPanel;
56 IngestJobSettings ingestJobSettings =
new IngestJobSettings(AddImageWizardIngestConfigPanel.class.getCanonicalName());
57 showWarnings(ingestJobSettings);
60 this.ingestJobSettingsPanel =
new IngestJobSettingsPanel(ingestJobSettings);
73 public Component getComponent() {
74 if (component == null) {
75 component =
new AddImageWizardIngestConfigVisual(this.ingestJobSettingsPanel);
76 component.setName(Bundle.AddImageWizardIngestConfigPanel_name_text());
88 public HelpCtx getHelp() {
90 return HelpCtx.DEFAULT_HELP;
102 public boolean isValid() {
118 public final void addChangeListener(ChangeListener l) {
127 public final void removeChangeListener(ChangeListener l) {
143 public void readSettings(WizardDescriptor settings) {
144 JButton cancel =
new JButton(
145 NbBundle.getMessage(
this.getClass(),
"AddImageWizardIngestConfigPanel.CANCEL_BUTTON.text"));
146 cancel.setEnabled(
false);
147 settings.setOptions(
new Object[]{WizardDescriptor.PREVIOUS_OPTION, WizardDescriptor.NEXT_OPTION, WizardDescriptor.FINISH_OPTION, cancel});
160 public void storeSettings(WizardDescriptor settings) {
161 IngestJobSettings ingestJobSettings = ingestJobSettingsPanel.getSettings();
162 ingestJobSettings.save();
163 progressPanel.setIngestJobSettings(ingestJobSettings);
166 private static void showWarnings(IngestJobSettings ingestJobSettings) {
167 List<String> warnings = ingestJobSettings.getWarnings();
168 if (warnings.isEmpty() ==
false) {
169 StringBuilder warningMessage =
new StringBuilder();
170 for (String warning : warnings) {
171 warningMessage.append(warning).append(
"\n");
173 JOptionPane.showMessageDialog(null, warningMessage.toString());
183 public void processThisPanelBeforeSkipped() {
184 if (!(ModuleSettings.getConfigSetting(IngestProfileSelectionWizardPanel.getLastProfilePropertiesFile(), AddImageWizardIterator.getPropLastprofileName()) == null)
185 && !ModuleSettings.getConfigSetting(IngestProfileSelectionWizardPanel.getLastProfilePropertiesFile(), AddImageWizardIterator.getPropLastprofileName()).isEmpty()) {
186 lastProfileUsed = ModuleSettings.getConfigSetting(IngestProfileSelectionWizardPanel.getLastProfilePropertiesFile(), AddImageWizardIterator.getPropLastprofileName());
190 IngestJobSettings ingestJobSettings =
new IngestJobSettings(lastProfileUsed);
191 progressPanel.setIngestJobSettings(ingestJobSettings);