Reworked ingest module UI.

This commit is contained in:
Oliver Spohngellert
2016-06-15 11:26:15 -04:00
parent 0d2befc158
commit d8ded1806c
5 changed files with 181 additions and 72 deletions
@@ -244,8 +244,8 @@ CasePropertiesForm.caseDirField.text=
CasePropertiesForm.caseTypeField.text=
CasePropertiesForm.dbNameField.text=
IngestJobInfoPanel.jButton1.text=Refresh
IngestJobInfoPanel.jTable1.columnModel.title1=Start Time
IngestJobInfoPanel.jTable1.columnModel.title0=Content
IngestJobInfoPanel.jTable1.columnModel.title4=Ingest Modules
IngestJobInfoPanel.jTable1.columnModel.title3=Ingest Status
IngestJobInfoPanel.jTable1.columnModel.title2=End Time
IngestJobInfoPanel.ingestJobTable.columnModel.title3=Ingest Status
IngestJobInfoPanel.ingestJobTable.columnModel.title2=End Time
IngestJobInfoPanel.ingestJobTable.columnModel.title1=Start Time
IngestJobInfoPanel.ingestJobTable.columnModel.title0=Content
IngestJobInfoPanel.jLabel1.text=Ingest Modules
@@ -41,7 +41,7 @@
<DimensionLayout dim="1">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="1" attributes="0">
<Component id="tabbedPane" pref="228" max="32767" attributes="0"/>
<Component id="tabbedPane" pref="231" max="32767" attributes="0"/>
<EmptySpace min="0" pref="0" max="-2" attributes="0"/>
</Group>
</Group>
@@ -6,6 +6,11 @@
package org.sleuthkit.autopsy.casemodule;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import org.openide.util.NbBundle.Messages;
/**
@@ -14,6 +19,8 @@ import org.openide.util.NbBundle.Messages;
*/
public class CaseInformationPanel extends javax.swing.JPanel {
private static final Logger logger = Logger.getLogger(CaseInformationPanel.class.getName());
/**
* Creates new form CaseInformationPanel
*/
@@ -21,25 +28,34 @@ public class CaseInformationPanel extends javax.swing.JPanel {
initComponents();
customizeComponents();
}
@Messages({"CaseInformationPanel.caseDetails.header=Case Details"})
@Messages({"CaseInformationPanel.caseDetails.header=Case Details",
"CaseInformationPanel.ingestJobInfo.header=Ingest Job Information",
"CaseInformationPanel.loadMetadataFail.message=Failed to load case metadata.",
"CaseInformationPanel.loadMetadataFail.title=Metadata load failure",})
private void customizeComponents() {
try {
Case currentCase = Case.getCurrentCase();
String crDate = currentCase.getCreatedDate();
String caseDir = currentCase.getCaseDirectory();
// put the image paths information into hashmap
Map<Long, String> imgPaths = Case.getImagePaths(currentCase.getSleuthkitCase());
CasePropertiesForm cpf = new CasePropertiesForm(currentCase, crDate, caseDir, imgPaths);
cpf.setSize(cpf.getPreferredSize());
this.tabbedPane.addTab(Bundle.CaseInformationPanel_caseDetails_header(), cpf);
this.tabbedPane.addTab("TEST", new IngestJobInfoPanel());
this.tabbedPane.addTab(Bundle.CaseInformationPanel_ingestJobInfo_header(), new IngestJobInfoPanel());
this.tabbedPane.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
tabbedPane.getSelectedComponent().setSize(tabbedPane.getSelectedComponent().getPreferredSize());
}
});
} catch (CaseMetadata.CaseMetadataException ex) {
//TOLOG
logger.log(Level.SEVERE, "Failed to load case metadata.", ex);
JOptionPane.showMessageDialog(null, Bundle.IngestJobInfoPanel_loadIngestJob_error_text(), Bundle.IngestJobInfoPanel_loadIngestJob_error_title(), JOptionPane.ERROR_MESSAGE);
}
}
/**
* This method is called from within the constructor to initialize the form.
@@ -64,7 +80,7 @@ public class CaseInformationPanel extends javax.swing.JPanel {
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addComponent(tabbedPane, javax.swing.GroupLayout.DEFAULT_SIZE, 228, Short.MAX_VALUE)
.addComponent(tabbedPane, javax.swing.GroupLayout.DEFAULT_SIZE, 231, Short.MAX_VALUE)
.addGap(0, 0, 0))
);
@@ -1,6 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<Form version="1.5" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
<Properties>
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
<Dimension value="[691, 451]"/>
</Property>
</Properties>
<AuxValues>
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
@@ -17,22 +22,32 @@
<DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="1" attributes="0">
<Group type="103" groupAlignment="1" attributes="0">
<Component id="jScrollPane1" alignment="0" max="32767" attributes="0"/>
<Group type="102" alignment="0" attributes="0">
<EmptySpace pref="617" max="32767" attributes="0"/>
<Component id="jButton1" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace max="32767" attributes="0"/>
<Component id="jButton1" min="-2" max="-2" attributes="0"/>
</Group>
<Group type="102" alignment="0" attributes="0">
<Component id="jScrollPane1" pref="470" max="32767" attributes="0"/>
<EmptySpace type="separate" min="-2" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Component id="jScrollPane2" min="-2" pref="203" max="-2" attributes="0"/>
<Component id="jLabel1" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace min="-2" pref="0" max="-2" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
<DimensionLayout dim="1">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="0" attributes="0">
<Component id="jScrollPane1" pref="416" max="32767" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Component id="jScrollPane1" pref="422" max="32767" attributes="0"/>
<Group type="102" attributes="0">
<EmptySpace min="-2" pref="8" max="-2" attributes="0"/>
<Component id="jLabel1" min="-2" max="-2" attributes="0"/>
<EmptySpace min="-2" max="-2" attributes="0"/>
<Component id="jScrollPane2" max="32767" attributes="0"/>
</Group>
</Group>
<EmptySpace min="-2" max="-2" attributes="0"/>
<Component id="jButton1" min="-2" max="-2" attributes="0"/>
</Group>
</Group>
@@ -51,58 +66,51 @@
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
<SubComponents>
<Component class="javax.swing.JTable" name="jTable1">
<Component class="javax.swing.JTable" name="ingestJobTable">
<Properties>
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
<Table columnCount="5" rowCount="0">
<Table columnCount="4" rowCount="0">
<Column editable="false" title="Content" type="java.lang.String"/>
<Column editable="false" title="Start Time" type="java.lang.String"/>
<Column editable="false" title="End Time" type="java.lang.String"/>
<Column editable="false" title="Ingest Status" type="java.lang.String"/>
<Column editable="false" title="Ingest Modules" type="java.lang.String"/>
</Table>
</Property>
<Property name="columnModel" type="javax.swing.table.TableColumnModel" editor="org.netbeans.modules.form.editors2.TableColumnModelEditor">
<TableColumnModel selectionModel="0">
<Column maxWidth="-1" minWidth="100" prefWidth="-1" resizable="true">
<TableColumnModel selectionModel="1">
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
<Title editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="IngestJobInfoPanel.jTable1.columnModel.title0" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="IngestJobInfoPanel.ingestJobTable.columnModel.title0" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Title>
<Editor/>
<Renderer/>
</Column>
<Column maxWidth="-1" minWidth="100" prefWidth="-1" resizable="true">
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
<Title editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="IngestJobInfoPanel.jTable1.columnModel.title1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="IngestJobInfoPanel.ingestJobTable.columnModel.title1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Title>
<Editor/>
<Renderer/>
</Column>
<Column maxWidth="-1" minWidth="100" prefWidth="-1" resizable="true">
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
<Title editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="IngestJobInfoPanel.jTable1.columnModel.title2" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="IngestJobInfoPanel.ingestJobTable.columnModel.title2" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Title>
<Editor/>
<Renderer/>
</Column>
<Column maxWidth="-1" minWidth="100" prefWidth="-1" resizable="true">
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
<Title editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="IngestJobInfoPanel.jTable1.columnModel.title3" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Title>
<Editor/>
<Renderer/>
</Column>
<Column maxWidth="-1" minWidth="150" prefWidth="250" resizable="true">
<Title editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="IngestJobInfoPanel.jTable1.columnModel.title4" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="IngestJobInfoPanel.ingestJobTable.columnModel.title3" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Title>
<Editor/>
<Renderer/>
</Column>
</TableColumnModel>
</Property>
<Property name="columnSelectionAllowed" type="boolean" value="true"/>
<Property name="tableHeader" type="javax.swing.table.JTableHeader" editor="org.netbeans.modules.form.editors2.JTableHeaderEditor">
<TableHeader reorderingAllowed="true" resizingAllowed="true"/>
<TableHeader reorderingAllowed="false" resizingAllowed="true"/>
</Property>
</Properties>
</Component>
@@ -118,5 +126,31 @@
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton1ActionPerformed"/>
</Events>
</Component>
<Container class="javax.swing.JScrollPane" name="jScrollPane2">
<AuxValues>
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
</AuxValues>
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
<SubComponents>
<Component class="javax.swing.JList" name="ingestModuleList">
<Properties>
<Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor">
<StringArray count="0"/>
</Property>
</Properties>
<AuxValues>
<AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="&lt;String&gt;"/>
</AuxValues>
</Component>
</SubComponents>
</Container>
<Component class="javax.swing.JLabel" name="jLabel1">
<Properties>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="IngestJobInfoPanel.jLabel1.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
</Component>
</SubComponents>
</Form>
@@ -10,7 +10,10 @@ import java.text.SimpleDateFormat;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.AbstractListModel;
import javax.swing.JOptionPane;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.DefaultTableModel;
import org.openide.util.NbBundle.Messages;
import org.sleuthkit.datamodel.IngestJobInfo;
@@ -23,8 +26,9 @@ import org.sleuthkit.datamodel.TskCoreException;
* @author oliver
*/
public class IngestJobInfoPanel extends javax.swing.JPanel {
private static final Logger logger = Logger.getLogger(IngestJobInfoPanel.class.getName());
private List<IngestJobInfo> ingestJobs;
/**
* Creates new form IngestJobInfoPanel
@@ -33,15 +37,53 @@ public class IngestJobInfoPanel extends javax.swing.JPanel {
initComponents();
customizeComponents();
}
@Messages({"IngestJobInfoPanel.loadIngestJob.error.text=Failed to load ingest jobs.",
"IngestJobInfoPanel.loadIngestJob.error.title=Load Failure"})
private void customizeComponents() {
SleuthkitCase skCase = Case.getCurrentCase().getSleuthkitCase();
DateFormat datetimeFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
this.jScrollPane1.setViewportView(this.jTable1);
DefaultTableModel model = (DefaultTableModel) this.ingestJobTable.getModel();
this.ingestJobTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
int selectedIndex = ingestJobTable.getSelectedRow();
if (selectedIndex != -1) {
IngestJobInfo selectedJob = ingestJobs.get(selectedIndex);
List<IngestModuleInfo> ingestModules = selectedJob.getIngestModuleInfo();
ingestModuleList.setModel(new AbstractListModel<String>() {
IngestModuleInfo[] ingestModuleInfo = ingestModules.toArray(new IngestModuleInfo[ingestModules.size()]);
@Override
public int getSize() {
return ingestModuleInfo.length;
}
@Override
public String getElementAt(int index) {
return ingestModuleInfo[index].getDisplayName() + " - " + ingestModuleInfo[index].getVersion();
}
});
} else {
ingestModuleList.setModel(new AbstractListModel<String>() {
@Override
public int getSize() {
return 0;
}
@Override
public String getElementAt(int index) {
return "";
}
});
}
}
});
try {
List<IngestJobInfo> ingestJobs = skCase.getIngestJobs();
this.ingestJobs = ingestJobs;
for (IngestJobInfo ingestJob : ingestJobs) {
Object[] row = new Object[5];
row[0] = skCase.getContentById(ingestJob.getObjectId()).getName();
@@ -56,9 +98,10 @@ public class IngestJobInfoPanel extends javax.swing.JPanel {
ingestModules = ingestModules.substring(0, ingestModules.length() - 2);
}
row[4] = ingestModules;
DefaultTableModel model = (DefaultTableModel) this.jTable1.getModel();
model.addRow(row);
}
} catch (TskCoreException ex) {
logger.log(Level.SEVERE, "Failed to load ingest jobs.", ex);
JOptionPane.showMessageDialog(null, Bundle.IngestJobInfoPanel_loadIngestJob_error_text(), Bundle.IngestJobInfoPanel_loadIngestJob_error_title(), JOptionPane.ERROR_MESSAGE);
@@ -75,24 +118,29 @@ public class IngestJobInfoPanel extends javax.swing.JPanel {
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
ingestJobTable = new javax.swing.JTable();
jButton1 = new javax.swing.JButton();
jScrollPane2 = new javax.swing.JScrollPane();
ingestModuleList = new javax.swing.JList<>();
jLabel1 = new javax.swing.JLabel();
setMinimumSize(new java.awt.Dimension(691, 451));
jScrollPane1.setBorder(null);
jTable1.setModel(new javax.swing.table.DefaultTableModel(
ingestJobTable.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
},
new String [] {
"Content", "Start Time", "End Time", "Ingest Status", "Ingest Modules"
"Content", "Start Time", "End Time", "Ingest Status"
}
) {
Class[] types = new Class [] {
java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
};
boolean[] canEdit = new boolean [] {
false, false, false, false, false
false, false, false, false
};
public Class getColumnClass(int columnIndex) {
@@ -103,19 +151,15 @@ public class IngestJobInfoPanel extends javax.swing.JPanel {
return canEdit [columnIndex];
}
});
jScrollPane1.setViewportView(jTable1);
if (jTable1.getColumnModel().getColumnCount() > 0) {
jTable1.getColumnModel().getColumn(0).setMinWidth(100);
jTable1.getColumnModel().getColumn(0).setHeaderValue(org.openide.util.NbBundle.getMessage(IngestJobInfoPanel.class, "IngestJobInfoPanel.jTable1.columnModel.title0")); // NOI18N
jTable1.getColumnModel().getColumn(1).setMinWidth(100);
jTable1.getColumnModel().getColumn(1).setHeaderValue(org.openide.util.NbBundle.getMessage(IngestJobInfoPanel.class, "IngestJobInfoPanel.jTable1.columnModel.title1")); // NOI18N
jTable1.getColumnModel().getColumn(2).setMinWidth(100);
jTable1.getColumnModel().getColumn(2).setHeaderValue(org.openide.util.NbBundle.getMessage(IngestJobInfoPanel.class, "IngestJobInfoPanel.jTable1.columnModel.title2")); // NOI18N
jTable1.getColumnModel().getColumn(3).setMinWidth(100);
jTable1.getColumnModel().getColumn(3).setHeaderValue(org.openide.util.NbBundle.getMessage(IngestJobInfoPanel.class, "IngestJobInfoPanel.jTable1.columnModel.title3")); // NOI18N
jTable1.getColumnModel().getColumn(4).setMinWidth(150);
jTable1.getColumnModel().getColumn(4).setPreferredWidth(250);
jTable1.getColumnModel().getColumn(4).setHeaderValue(org.openide.util.NbBundle.getMessage(IngestJobInfoPanel.class, "IngestJobInfoPanel.jTable1.columnModel.title4")); // NOI18N
ingestJobTable.setColumnSelectionAllowed(true);
ingestJobTable.getTableHeader().setReorderingAllowed(false);
jScrollPane1.setViewportView(ingestJobTable);
ingestJobTable.getColumnModel().getSelectionModel().setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
if (ingestJobTable.getColumnModel().getColumnCount() > 0) {
ingestJobTable.getColumnModel().getColumn(0).setHeaderValue(org.openide.util.NbBundle.getMessage(IngestJobInfoPanel.class, "IngestJobInfoPanel.ingestJobTable.columnModel.title0")); // NOI18N
ingestJobTable.getColumnModel().getColumn(1).setHeaderValue(org.openide.util.NbBundle.getMessage(IngestJobInfoPanel.class, "IngestJobInfoPanel.ingestJobTable.columnModel.title1")); // NOI18N
ingestJobTable.getColumnModel().getColumn(2).setHeaderValue(org.openide.util.NbBundle.getMessage(IngestJobInfoPanel.class, "IngestJobInfoPanel.ingestJobTable.columnModel.title2")); // NOI18N
ingestJobTable.getColumnModel().getColumn(3).setHeaderValue(org.openide.util.NbBundle.getMessage(IngestJobInfoPanel.class, "IngestJobInfoPanel.ingestJobTable.columnModel.title3")); // NOI18N
}
org.openide.awt.Mnemonics.setLocalizedText(jButton1, org.openide.util.NbBundle.getMessage(IngestJobInfoPanel.class, "IngestJobInfoPanel.jButton1.text")); // NOI18N
@@ -125,22 +169,34 @@ public class IngestJobInfoPanel extends javax.swing.JPanel {
}
});
jScrollPane2.setViewportView(ingestModuleList);
org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(IngestJobInfoPanel.class, "IngestJobInfoPanel.jLabel1.text")); // NOI18N
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addContainerGap(617, Short.MAX_VALUE)
.addComponent(jButton1)))
.addGap(0, 0, 0))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton1))
.addGroup(layout.createSequentialGroup()
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 470, Short.MAX_VALUE)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 203, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1)))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 416, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 422, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addGap(8, 8, 8)
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane2)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton1))
);
@@ -152,8 +208,11 @@ public class IngestJobInfoPanel extends javax.swing.JPanel {
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JTable ingestJobTable;
private javax.swing.JList<String> ingestModuleList;
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
private javax.swing.JScrollPane jScrollPane2;
// End of variables declaration//GEN-END:variables
}