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