19 package org.sleuthkit.autopsy.ingest;
 
   22 import java.util.ArrayList;
 
   23 import java.util.Collections;
 
   24 import java.util.List;
 
   25 import java.util.logging.Level;
 
   26 import javax.swing.JComponent;
 
   27 import javax.swing.JMenuItem;
 
   28 import org.openide.awt.DynamicMenuContent;
 
   29 import org.openide.util.NbBundle;
 
   40 final class RunIngestSubMenu 
extends JMenuItem implements DynamicMenuContent {
 
   42     private static final Logger logger = Logger.getLogger(RunIngestSubMenu.class.getName());
 
   52     public JComponent[] getMenuPresenters() {
 
   53         List<Content> dataSources = 
new ArrayList<>();
 
   56             dataSources = Case.getCurrentCaseThrows().getDataSources();
 
   57         } 
catch (IllegalStateException ex) {
 
   60         } 
catch (TskCoreException | NoCurrentCaseException e) {
 
   61             logger.log(Level.INFO, 
"Exception getting images: " + e.getMessage());
 
   63         JComponent[] comps = 
new JComponent[dataSources.size()];
 
   66         for (
int i = 0; i < dataSources.size(); i++) {
 
   67             String action = dataSources.get(i).getName();
 
   68             JMenuItem menuItem = 
new JMenuItem(action);
 
   69             menuItem.setActionCommand(action.toUpperCase());
 
   70             menuItem.addActionListener(
new RunIngestModulesAction(Collections.<Content>singletonList(dataSources.get(i))));
 
   74         if (dataSources.isEmpty()) {
 
   81     private JComponent[] getEmpty() {
 
   82         JComponent[] comps = 
new JComponent[1];
 
   83         JMenuItem emptyMenu = 
new JMenuItem(NbBundle.getMessage(RunIngestSubMenu.class, 
"RunIngestSubMenu.menuItem.empty"));
 
   85         comps[0].setEnabled(
false);
 
  100     public JComponent[] synchMenuPresenters(JComponent[] jcs) {
 
  101         return getMenuPresenters();