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;
30 import org.openide.windows.WindowManager;
43 class AddImageWizardIngestConfigPanel
extends ShortcutWizardDescriptorPanel {
45 @Messages(
"AddImageWizardIngestConfigPanel.name.text=Configure Ingest Modules")
46 private IngestJobSettingsPanel ingestJobSettingsPanel;
51 private Component component = null;
52 private String lastProfileUsed = AddImageWizardIngestConfigPanel.class.getCanonicalName();
53 private final AddImageWizardAddingProgressPanel progressPanel;
55 AddImageWizardIngestConfigPanel(AddImageWizardAddingProgressPanel proPanel) {
56 this.progressPanel = proPanel;
57 IngestJobSettings ingestJobSettings =
new IngestJobSettings(AddImageWizardIngestConfigPanel.class.getCanonicalName());
58 showWarnings(ingestJobSettings);
61 this.ingestJobSettingsPanel =
new IngestJobSettingsPanel(ingestJobSettings);
74 public Component getComponent() {
75 if (component == null) {
76 component =
new AddImageWizardIngestConfigVisual(this.ingestJobSettingsPanel);
77 component.setName(Bundle.AddImageWizardIngestConfigPanel_name_text());
89 public HelpCtx getHelp() {
91 return HelpCtx.DEFAULT_HELP;
103 public boolean isValid() {
119 public final void addChangeListener(ChangeListener l) {
128 public final void removeChangeListener(ChangeListener l) {
144 public void readSettings(WizardDescriptor settings) {
145 JButton cancel =
new JButton(
146 NbBundle.getMessage(
this.getClass(),
"AddImageWizardIngestConfigPanel.CANCEL_BUTTON.text"));
147 cancel.setEnabled(
false);
148 settings.setOptions(
new Object[]{WizardDescriptor.PREVIOUS_OPTION, WizardDescriptor.NEXT_OPTION, WizardDescriptor.FINISH_OPTION, cancel});
161 public void storeSettings(WizardDescriptor settings) {
162 IngestJobSettings ingestJobSettings = ingestJobSettingsPanel.getSettings();
163 ingestJobSettings.save();
164 progressPanel.setIngestJobSettings(ingestJobSettings);
167 private static void showWarnings(IngestJobSettings ingestJobSettings) {
168 List<String> warnings = ingestJobSettings.getWarnings();
169 if (warnings.isEmpty() ==
false) {
170 StringBuilder warningMessage =
new StringBuilder();
171 for (String warning : warnings) {
172 warningMessage.append(warning).append(
"\n");
174 JOptionPane.showMessageDialog(WindowManager.getDefault().getMainWindow(), warningMessage.toString());
184 public void processThisPanelBeforeSkipped() {
185 if (!(ModuleSettings.getConfigSetting(IngestProfileSelectionWizardPanel.getLastProfilePropertiesFile(), AddImageWizardIterator.getPropLastprofileName()) == null)
186 && !ModuleSettings.getConfigSetting(IngestProfileSelectionWizardPanel.getLastProfilePropertiesFile(), AddImageWizardIterator.getPropLastprofileName()).isEmpty()) {
187 lastProfileUsed = ModuleSettings.getConfigSetting(IngestProfileSelectionWizardPanel.getLastProfilePropertiesFile(), AddImageWizardIterator.getPropLastprofileName());
191 IngestJobSettings ingestJobSettings =
new IngestJobSettings(lastProfileUsed);
192 progressPanel.setIngestJobSettings(ingestJobSettings);