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);