19 package org.sleuthkit.autopsy.casemodule;
 
   21 import java.beans.PropertyChangeEvent;
 
   22 import java.text.DateFormat;
 
   23 import java.text.SimpleDateFormat;
 
   24 import java.util.ArrayList;
 
   25 import java.util.Date;
 
   26 import java.util.List;
 
   27 import java.util.logging.Level;
 
   28 import java.util.logging.Logger;
 
   29 import javax.swing.JOptionPane;
 
   30 import javax.swing.event.ListSelectionEvent;
 
   31 import javax.swing.table.AbstractTableModel;
 
   32 import org.openide.util.NbBundle.Messages;
 
   48     private final DateFormat 
datetimeFormat = 
new SimpleDateFormat(
"yyyy/MM/dd HH:mm:ss");
 
   58     @Messages({
"IngestJobInfoPanel.loadIngestJob.error.text=Failed to load ingest jobs.",
 
   59         "IngestJobInfoPanel.loadIngestJob.error.title=Load Failure"})
 
   62         this.
ingestJobTable.getSelectionModel().addListSelectionListener((ListSelectionEvent e) -> {
 
   83             logger.log(Level.SEVERE, 
"Failed to load ingest jobs.", ex);
 
   84             JOptionPane.showMessageDialog(null, Bundle.IngestJobInfoPanel_loadIngestJob_error_text(), Bundle.IngestJobInfoPanel_loadIngestJob_error_title(), JOptionPane.ERROR_MESSAGE);
 
   88     @Messages({
"IngestJobInfoPanel.IngestJobTableModel.DataSource.header=Data Source",
 
   89         "IngestJobInfoPanel.IngestJobTableModel.StartTime.header=Start Time",
 
   90         "IngestJobInfoPanel.IngestJobTableModel.EndTime.header=End Time",
 
   91         "IngestJobInfoPanel.IngestJobTableModel.IngestStatus.header=Ingest Status"})
 
   94         private List<String> columnHeaders = 
new ArrayList<>();
 
   97             columnHeaders.add(Bundle.IngestJobInfoPanel_IngestJobTableModel_DataSource_header());
 
   98             columnHeaders.add(Bundle.IngestJobInfoPanel_IngestJobTableModel_StartTime_header());
 
   99             columnHeaders.add(Bundle.IngestJobInfoPanel_IngestJobTableModel_EndTime_header());
 
  100             columnHeaders.add(Bundle.IngestJobInfoPanel_IngestJobTableModel_IngestStatus_header());
 
  105             return ingestJobs.size();
 
  110             return columnHeaders.size();
 
  117             if (columnIndex == 0) {
 
  121                     logger.log(Level.SEVERE, 
"Failed to get content from db", ex);
 
  124             } 
else if (columnIndex == 1) {
 
  126             } 
else if (columnIndex == 2) {
 
  128                 if (endDate.getTime() == 0) {
 
  132             } 
else if (columnIndex == 3) {
 
  140             return columnHeaders.get(column);
 
  145     @Messages({
"IngestJobInfoPanel.IngestModuleTableModel.ModuleName.header=Module Name",
 
  146         "IngestJobInfoPanel.IngestModuleTableModel.ModuleVersion.header=Module Version"})
 
  149         private List<String> columnHeaders = 
new ArrayList<>();
 
  153             columnHeaders.add(Bundle.IngestJobInfoPanel_IngestModuleTableModel_ModuleName_header());
 
  154             columnHeaders.add(Bundle.IngestJobInfoPanel_IngestModuleTableModel_ModuleVersion_header());
 
  155             this.currJob = currJob;
 
  160             if (currJob == null) {
 
  168             return columnHeaders.size();
 
  173             if (currJob != null) {
 
  175                 if (columnIndex == 0) {
 
  177                 } 
else if (columnIndex == 1) {
 
  187             return columnHeaders.get(column);
 
  197     @SuppressWarnings(
"unchecked")
 
  203         jLabel1 = 
new javax.swing.JLabel();
 
  204         jLabel2 = 
new javax.swing.JLabel();
 
  213         ingestJobTable.getColumnModel().getSelectionModel().setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
 
  215         org.openide.awt.Mnemonics.setLocalizedText(
jLabel1, 
org.openide.util.NbBundle.getMessage(
IngestJobInfoPanel.class, 
"IngestJobInfoPanel.jLabel1.text")); 
 
  217         org.openide.awt.Mnemonics.setLocalizedText(
jLabel2, 
org.openide.util.NbBundle.getMessage(
IngestJobInfoPanel.class, 
"IngestJobInfoPanel.jLabel2.text")); 
 
  222         javax.swing.GroupLayout layout = 
new javax.swing.GroupLayout(
this);
 
  223         this.setLayout(layout);
 
  224         layout.setHorizontalGroup(
 
  225             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  226             .addGroup(layout.createSequentialGroup()
 
  228                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  230                     .addComponent(
jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 485, Short.MAX_VALUE))
 
  232                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  233                     .addComponent(
jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 254, javax.swing.GroupLayout.PREFERRED_SIZE)
 
  237         layout.setVerticalGroup(
 
  238             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  239             .addGroup(layout.createSequentialGroup()
 
  241                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
 
  244                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
  245                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
  246                     .addComponent(
jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 162, Short.MAX_VALUE)
 
  247                     .addComponent(
jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))
 
List< IngestModuleInfo > getIngestModuleInfo()
 
Object getValueAt(int rowIndex, int columnIndex)
 
IngestJobTableModel ingestJobTableModel
 
static synchronized IngestManager getInstance()
 
javax.swing.JScrollPane jScrollPane1
 
javax.swing.JScrollPane jScrollPane2
 
Content getContentById(long id)
 
final DateFormat datetimeFormat
 
Object getValueAt(int rowIndex, int columnIndex)
 
javax.swing.JTable ingestModuleTable
 
List< IngestJobInfo > ingestJobs
 
void addIngestJobEventListener(final PropertyChangeListener listener)
 
SleuthkitCase getSleuthkitCase()
 
javax.swing.JLabel jLabel2
 
String getColumnName(int column)
 
javax.swing.JLabel jLabel1
 
IngestModuleTableModel ingestModuleTableModel
 
String getColumnName(int column)
 
static Case getCurrentCase()
 
synchronized static Logger getLogger(String name)
 
final List< IngestJobInfo > getIngestJobs()
 
void customizeComponents()
 
javax.swing.JTable ingestJobTable
 
IngestJobStatusType getStatus()
 
static final Logger logger