diff --git a/Core/src/org/sleuthkit/autopsy/persona/Bundle.properties b/Core/src/org/sleuthkit/autopsy/persona/Bundle.properties
index 59ec5eaeed..508c0d1370 100644
--- a/Core/src/org/sleuthkit/autopsy/persona/Bundle.properties
+++ b/Core/src/org/sleuthkit/autopsy/persona/Bundle.properties
@@ -1,14 +1,15 @@
CTL_OpenPersonas=Personas
CTL_PersonasTopComponentAction=PersonasTopComponent
CTL_PersonasTopComponent=Personas
-PersonasTopComponent.searchField.text=John Doe
-PersonasTopComponent.searchBtn.text=Search
-PersonasTopComponent.searchNameRadio.text=Name
-PersonasTopComponent.searchAccountRadio.text=Account
-PersonasTopComponent.filterResultsTable.columnModel.title1=Name
-PersonasTopComponent.filterResultsTable.columnModel.title0=ID
-PersonasTopComponent.resultAccountsLbl.text=Accounts:
-PersonasTopComponent.resultAliasesLbl.text=Aliases:
-PersonasTopComponent.resultNameLbl.text=Name:
-PersonasTopComponent.resultCasesLbl.text=Cases found in:
-PersonasTopComponent.resultNameField.text=Johnathan Dough
+PersonaDetailsTopComponent.resultNameLbl.text=Name:
+PersonaDetailsTopComponent.resultCasesLbl.text=Cases found in:
+PersonaDetailsTopComponent.resultAccountsLbl.text=Accounts:
+PersonaDetailsTopComponent.resultAliasesLbl.text=Aliases:
+PersonaDetailsTopComponent.resultNameField.text=Johnathan Dough
+PersonaSearchTopComponent.searchAccountRadio.text=Account
+PersonaSearchTopComponent.searchNameRadio.text=Name
+PersonaSearchTopComponent.searchField.text=
+PersonaSearchTopComponent.searchBtn.text=Search
+PersonaSearchTopComponent.filterResultsTable.columnModel.title1=Name
+PersonaSearchTopComponent.filterResultsTable.columnModel.title0=ID
+PersonaSearchTopComponent.filterResultsTable.toolTipText=
diff --git a/Core/src/org/sleuthkit/autopsy/persona/PersonaDetailsTopComponent.form b/Core/src/org/sleuthkit/autopsy/persona/PersonaDetailsTopComponent.form
new file mode 100644
index 0000000000..fbfd7ded76
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/persona/PersonaDetailsTopComponent.form
@@ -0,0 +1,230 @@
+
+
+
+
+
diff --git a/Core/src/org/sleuthkit/autopsy/persona/PersonasTopComponent.java b/Core/src/org/sleuthkit/autopsy/persona/PersonaDetailsTopComponent.java
similarity index 55%
rename from Core/src/org/sleuthkit/autopsy/persona/PersonasTopComponent.java
rename to Core/src/org/sleuthkit/autopsy/persona/PersonaDetailsTopComponent.java
index 5631f80a78..fdc0af6e0d 100644
--- a/Core/src/org/sleuthkit/autopsy/persona/PersonasTopComponent.java
+++ b/Core/src/org/sleuthkit/autopsy/persona/PersonaDetailsTopComponent.java
@@ -18,33 +18,26 @@
*/
package org.sleuthkit.autopsy.persona;
+import org.openide.windows.TopComponent;
import org.openide.util.NbBundle.Messages;
import org.openide.windows.RetainLocation;
-import org.openide.windows.TopComponent;
import org.openide.windows.WindowManager;
/**
- * Top component for the Personas tool
- *
+ * Top component for persona details
*/
@TopComponent.Description(preferredID = "PersonasTopComponent", persistenceType = TopComponent.PERSISTENCE_NEVER)
-@TopComponent.Registration(mode = "personas", openAtStartup = false)
-@RetainLocation("personas")
+@TopComponent.Registration(mode = "personadetails", openAtStartup = false)
+@RetainLocation("personadetails")
@SuppressWarnings("PMD.SingularField")
-public final class PersonasTopComponent extends TopComponent {
+public final class PersonaDetailsTopComponent extends TopComponent {
@Messages({
- "PTopComponent_Name=Personas"
+ "PDTopComponent_Name=Persona Details"
})
- public PersonasTopComponent() {
+ public PersonaDetailsTopComponent() {
initComponents();
- setName(Bundle.PTopComponent_Name());
- }
-
- @Override
- public void componentOpened() {
- super.componentOpened();
- WindowManager.getDefault().setTopComponentFloating(this, true);
+ setName(Bundle.PDTopComponent_Name());
}
/**
@@ -55,15 +48,6 @@ public final class PersonasTopComponent extends TopComponent {
// //GEN-BEGIN:initComponents
private void initComponents() {
- searchButtonGroup = new javax.swing.ButtonGroup();
- splitPane = new javax.swing.JSplitPane();
- searchPanel = new javax.swing.JPanel();
- searchField = new javax.swing.JTextField();
- searchNameRadio = new javax.swing.JRadioButton();
- searchAccountRadio = new javax.swing.JRadioButton();
- filterResultsPane = new javax.swing.JScrollPane();
- filterResultsTable = new javax.swing.JTable();
- searchBtn = new javax.swing.JButton();
detailsPanel = new javax.swing.JPanel();
resultNameLbl = new javax.swing.JLabel();
resultNameField = new javax.swing.JTextField();
@@ -77,102 +61,19 @@ public final class PersonasTopComponent extends TopComponent {
aliasesListPane = new javax.swing.JScrollPane();
aliasesList = new javax.swing.JList<>();
- setMinimumSize(new java.awt.Dimension(400, 400));
-
- searchField.setText(org.openide.util.NbBundle.getMessage(PersonasTopComponent.class, "PersonasTopComponent.searchField.text")); // NOI18N
-
- searchButtonGroup.add(searchNameRadio);
- searchNameRadio.setSelected(true);
- org.openide.awt.Mnemonics.setLocalizedText(searchNameRadio, org.openide.util.NbBundle.getMessage(PersonasTopComponent.class, "PersonasTopComponent.searchNameRadio.text")); // NOI18N
- searchNameRadio.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- searchNameRadioActionPerformed(evt);
- }
- });
-
- searchButtonGroup.add(searchAccountRadio);
- org.openide.awt.Mnemonics.setLocalizedText(searchAccountRadio, org.openide.util.NbBundle.getMessage(PersonasTopComponent.class, "PersonasTopComponent.searchAccountRadio.text")); // NOI18N
-
- filterResultsTable.setModel(new javax.swing.table.DefaultTableModel(
- new Object [][] {
- {"0", "Johnathn Dough"},
- {"3", "Joe Schmoe"},
- {"2", "Michael Schmoe"},
- {"1", "Ethan Schmoe"}
- },
- new String [] {
- "ID", "Name"
- }
- ) {
- Class[] types = new Class [] {
- java.lang.String.class, java.lang.String.class
- };
-
- public Class getColumnClass(int columnIndex) {
- return types [columnIndex];
- }
- });
- filterResultsPane.setViewportView(filterResultsTable);
- if (filterResultsTable.getColumnModel().getColumnCount() > 0) {
- filterResultsTable.getColumnModel().getColumn(0).setMaxWidth(25);
- filterResultsTable.getColumnModel().getColumn(0).setHeaderValue(org.openide.util.NbBundle.getMessage(PersonasTopComponent.class, "PersonasTopComponent.filterResultsTable.columnModel.title0")); // NOI18N
- filterResultsTable.getColumnModel().getColumn(1).setHeaderValue(org.openide.util.NbBundle.getMessage(PersonasTopComponent.class, "PersonasTopComponent.filterResultsTable.columnModel.title1")); // NOI18N
- }
-
- org.openide.awt.Mnemonics.setLocalizedText(searchBtn, org.openide.util.NbBundle.getMessage(PersonasTopComponent.class, "PersonasTopComponent.searchBtn.text")); // NOI18N
-
- javax.swing.GroupLayout searchPanelLayout = new javax.swing.GroupLayout(searchPanel);
- searchPanel.setLayout(searchPanelLayout);
- searchPanelLayout.setHorizontalGroup(
- searchPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(searchPanelLayout.createSequentialGroup()
- .addContainerGap()
- .addGroup(searchPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(filterResultsPane, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
- .addGroup(searchPanelLayout.createSequentialGroup()
- .addGroup(searchPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(searchField)
- .addGroup(searchPanelLayout.createSequentialGroup()
- .addGroup(searchPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(searchPanelLayout.createSequentialGroup()
- .addComponent(searchNameRadio)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(searchAccountRadio))
- .addComponent(searchBtn))
- .addGap(0, 25, Short.MAX_VALUE)))
- .addContainerGap())))
- );
- searchPanelLayout.setVerticalGroup(
- searchPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(searchPanelLayout.createSequentialGroup()
- .addContainerGap()
- .addComponent(searchField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(searchPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(searchNameRadio)
- .addComponent(searchAccountRadio))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(searchBtn)
- .addGap(18, 18, 18)
- .addComponent(filterResultsPane, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
- .addContainerGap())
- );
-
- splitPane.setLeftComponent(searchPanel);
-
- org.openide.awt.Mnemonics.setLocalizedText(resultNameLbl, org.openide.util.NbBundle.getMessage(PersonasTopComponent.class, "PersonasTopComponent.resultNameLbl.text")); // NOI18N
+ org.openide.awt.Mnemonics.setLocalizedText(resultNameLbl, org.openide.util.NbBundle.getMessage(PersonaDetailsTopComponent.class, "PersonaDetailsTopComponent.resultNameLbl.text")); // NOI18N
resultNameField.setEditable(false);
- resultNameField.setText(org.openide.util.NbBundle.getMessage(PersonasTopComponent.class, "PersonasTopComponent.resultNameField.text")); // NOI18N
+ resultNameField.setText(org.openide.util.NbBundle.getMessage(PersonaDetailsTopComponent.class, "PersonaDetailsTopComponent.resultNameField.text")); // NOI18N
resultNameField.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
resultNameFieldActionPerformed(evt);
}
});
- org.openide.awt.Mnemonics.setLocalizedText(resultAliasesLbl, org.openide.util.NbBundle.getMessage(PersonasTopComponent.class, "PersonasTopComponent.resultAliasesLbl.text")); // NOI18N
+ org.openide.awt.Mnemonics.setLocalizedText(resultAliasesLbl, org.openide.util.NbBundle.getMessage(PersonaDetailsTopComponent.class, "PersonaDetailsTopComponent.resultAliasesLbl.text")); // NOI18N
- org.openide.awt.Mnemonics.setLocalizedText(resultAccountsLbl, org.openide.util.NbBundle.getMessage(PersonasTopComponent.class, "PersonasTopComponent.resultAccountsLbl.text")); // NOI18N
+ org.openide.awt.Mnemonics.setLocalizedText(resultAccountsLbl, org.openide.util.NbBundle.getMessage(PersonaDetailsTopComponent.class, "PersonaDetailsTopComponent.resultAccountsLbl.text")); // NOI18N
accountsTable.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
@@ -202,7 +103,7 @@ public final class PersonasTopComponent extends TopComponent {
});
accountsTablePane.setViewportView(accountsTable);
- org.openide.awt.Mnemonics.setLocalizedText(resultCasesLbl, org.openide.util.NbBundle.getMessage(PersonasTopComponent.class, "PersonasTopComponent.resultCasesLbl.text")); // NOI18N
+ org.openide.awt.Mnemonics.setLocalizedText(resultCasesLbl, org.openide.util.NbBundle.getMessage(PersonaDetailsTopComponent.class, "PersonaDetailsTopComponent.resultCasesLbl.text")); // NOI18N
casesList.setModel(new javax.swing.AbstractListModel() {
String[] strings = { "Investigation 13", "Scene 5" };
@@ -259,26 +160,30 @@ public final class PersonasTopComponent extends TopComponent {
.addContainerGap())
);
- splitPane.setRightComponent(detailsPanel);
-
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(splitPane)
+ .addGap(0, 505, Short.MAX_VALUE)
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(layout.createSequentialGroup()
+ .addGap(0, 0, Short.MAX_VALUE)
+ .addComponent(detailsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(0, 0, Short.MAX_VALUE)))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(splitPane)
+ .addGap(0, 555, Short.MAX_VALUE)
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(layout.createSequentialGroup()
+ .addGap(0, 0, Short.MAX_VALUE)
+ .addComponent(detailsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(0, 0, Short.MAX_VALUE)))
);
}// //GEN-END:initComponents
- private void searchNameRadioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_searchNameRadioActionPerformed
- // TODO add your handling code here:
- }//GEN-LAST:event_searchNameRadioActionPerformed
-
private void resultNameFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_resultNameFieldActionPerformed
- // TODO add your handling code here:
+
}//GEN-LAST:event_resultNameFieldActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
@@ -289,20 +194,16 @@ public final class PersonasTopComponent extends TopComponent {
private javax.swing.JList casesList;
private javax.swing.JScrollPane casesListPane;
private javax.swing.JPanel detailsPanel;
- private javax.swing.JScrollPane filterResultsPane;
- private javax.swing.JTable filterResultsTable;
private javax.swing.JLabel resultAccountsLbl;
private javax.swing.JLabel resultAliasesLbl;
private javax.swing.JLabel resultCasesLbl;
private javax.swing.JTextField resultNameField;
private javax.swing.JLabel resultNameLbl;
- private javax.swing.JRadioButton searchAccountRadio;
- private javax.swing.JButton searchBtn;
- private javax.swing.ButtonGroup searchButtonGroup;
- private javax.swing.JTextField searchField;
- private javax.swing.JRadioButton searchNameRadio;
- private javax.swing.JPanel searchPanel;
- private javax.swing.JSplitPane splitPane;
// End of variables declaration//GEN-END:variables
-
+
+ @Override
+ public void componentOpened() {
+ super.componentOpened();
+ WindowManager.getDefault().setTopComponentFloating(this, true);
+ }
}
diff --git a/Core/src/org/sleuthkit/autopsy/persona/PersonaSearchTopComponent.form b/Core/src/org/sleuthkit/autopsy/persona/PersonaSearchTopComponent.form
new file mode 100644
index 0000000000..ec91c8bb53
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/persona/PersonaSearchTopComponent.form
@@ -0,0 +1,178 @@
+
+
+
+
+
diff --git a/Core/src/org/sleuthkit/autopsy/persona/PersonaSearchTopComponent.java b/Core/src/org/sleuthkit/autopsy/persona/PersonaSearchTopComponent.java
new file mode 100644
index 0000000000..7cf22279db
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/persona/PersonaSearchTopComponent.java
@@ -0,0 +1,217 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2020 Basis Technology Corp.
+ * Contact: carrier sleuthkit org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.persona;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.Collection;
+import java.util.Collections;
+import javax.swing.JTable;
+import javax.swing.ListSelectionModel;
+import javax.swing.table.DefaultTableModel;
+import org.openide.util.Exceptions;
+import org.openide.util.NbBundle.Messages;
+import org.openide.windows.RetainLocation;
+import org.openide.windows.TopComponent;
+import org.openide.windows.WindowManager;
+import org.sleuthkit.autopsy.centralrepository.datamodel.CentralRepoException;
+import org.sleuthkit.autopsy.centralrepository.datamodel.Persona;
+
+/**
+ * Top component for the Personas tool
+ *
+ */
+@TopComponent.Description(preferredID = "PersonasTopComponent", persistenceType = TopComponent.PERSISTENCE_NEVER)
+@TopComponent.Registration(mode = "personasearch", openAtStartup = false)
+@RetainLocation("personasearch")
+@SuppressWarnings("PMD.SingularField")
+public final class PersonaSearchTopComponent extends TopComponent {
+
+ @Messages({
+ "PSTopComponent_Name=Persona Search"
+ })
+ public PersonaSearchTopComponent() {
+ initComponents();
+ setName(Bundle.PSTopComponent_Name());
+ executeSearch();
+
+ searchBtn.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ executeSearch();
+ }
+ });
+ }
+
+ /**
+ * Table model for the persona search results
+ */
+ final class PersonaFilterTableModel extends DefaultTableModel {
+ private static final long serialVersionUID = 1L;
+
+ PersonaFilterTableModel(Object[][] rows, String[] colNames) {
+ super(rows, colNames);
+ }
+
+ @Override
+ public boolean isCellEditable(int row, int column) {
+ return false;
+ }
+ }
+
+ private void updateResultsTable(Collection results) {
+ Object[][] rows = new Object[results.size()][2];
+ int i = 0;
+ for (Persona result : results) {
+ rows[i] = new String[]{String.valueOf(result.getId()), result.getName()};
+ i++;
+ }
+ DefaultTableModel updatedTableModel = new PersonaFilterTableModel(
+ rows,
+ new String[]{"ID", "Name"}
+ );
+
+ filterResultsTable.setModel(updatedTableModel);
+
+ // Formatting
+ filterResultsTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+ filterResultsTable.getColumnModel().getColumn(0).setMaxWidth(100);
+ filterResultsTable.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
+ }
+
+ private void executeSearch() {
+ Collection results = Collections.EMPTY_LIST;
+ try {
+ results = Persona.getPersonaByName(searchField.getText());
+ } catch (CentralRepoException ex) {
+ Exceptions.printStackTrace(ex);
+ }
+ updateResultsTable(results);
+ }
+
+ @Override
+ public void componentOpened() {
+ super.componentOpened();
+ WindowManager.getDefault().setTopComponentFloating(this, true);
+ }
+
+ /**
+ * This method is called from within the constructor to initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is always
+ * regenerated by the Form Editor.
+ */
+ // //GEN-BEGIN:initComponents
+ private void initComponents() {
+
+ searchButtonGroup = new javax.swing.ButtonGroup();
+ searchPanel = new javax.swing.JPanel();
+ searchField = new javax.swing.JTextField();
+ searchNameRadio = new javax.swing.JRadioButton();
+ searchAccountRadio = new javax.swing.JRadioButton();
+ filterResultsPane = new javax.swing.JScrollPane();
+ filterResultsTable = new javax.swing.JTable();
+ searchBtn = new javax.swing.JButton();
+
+ setMinimumSize(new java.awt.Dimension(400, 400));
+
+ searchField.setText(org.openide.util.NbBundle.getMessage(PersonaSearchTopComponent.class, "PersonaSearchTopComponent.searchField.text")); // NOI18N
+
+ searchButtonGroup.add(searchNameRadio);
+ searchNameRadio.setSelected(true);
+ org.openide.awt.Mnemonics.setLocalizedText(searchNameRadio, org.openide.util.NbBundle.getMessage(PersonaSearchTopComponent.class, "PersonaSearchTopComponent.searchNameRadio.text")); // NOI18N
+ searchNameRadio.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ searchNameRadioActionPerformed(evt);
+ }
+ });
+
+ searchButtonGroup.add(searchAccountRadio);
+ org.openide.awt.Mnemonics.setLocalizedText(searchAccountRadio, org.openide.util.NbBundle.getMessage(PersonaSearchTopComponent.class, "PersonaSearchTopComponent.searchAccountRadio.text")); // NOI18N
+
+ filterResultsTable.setToolTipText(org.openide.util.NbBundle.getMessage(PersonaSearchTopComponent.class, "PersonaSearchTopComponent.filterResultsTable.toolTipText")); // NOI18N
+ filterResultsTable.getTableHeader().setReorderingAllowed(false);
+ filterResultsPane.setViewportView(filterResultsTable);
+ if (filterResultsTable.getColumnModel().getColumnCount() > 0) {
+ filterResultsTable.getColumnModel().getColumn(0).setMaxWidth(25);
+ filterResultsTable.getColumnModel().getColumn(0).setHeaderValue(org.openide.util.NbBundle.getMessage(PersonaSearchTopComponent.class, "PersonaSearchTopComponent.filterResultsTable.columnModel.title0")); // NOI18N
+ filterResultsTable.getColumnModel().getColumn(1).setHeaderValue(org.openide.util.NbBundle.getMessage(PersonaSearchTopComponent.class, "PersonaSearchTopComponent.filterResultsTable.columnModel.title1")); // NOI18N
+ }
+
+ org.openide.awt.Mnemonics.setLocalizedText(searchBtn, org.openide.util.NbBundle.getMessage(PersonaSearchTopComponent.class, "PersonaSearchTopComponent.searchBtn.text")); // NOI18N
+
+ javax.swing.GroupLayout searchPanelLayout = new javax.swing.GroupLayout(searchPanel);
+ searchPanel.setLayout(searchPanelLayout);
+ searchPanelLayout.setHorizontalGroup(
+ searchPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(searchPanelLayout.createSequentialGroup()
+ .addContainerGap()
+ .addGroup(searchPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(filterResultsPane, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
+ .addComponent(searchField)
+ .addGroup(searchPanelLayout.createSequentialGroup()
+ .addComponent(searchNameRadio)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(searchAccountRadio)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 155, Short.MAX_VALUE)
+ .addComponent(searchBtn)))
+ .addContainerGap())
+ );
+ searchPanelLayout.setVerticalGroup(
+ searchPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(searchPanelLayout.createSequentialGroup()
+ .addContainerGap()
+ .addComponent(searchField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(searchPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(searchNameRadio)
+ .addComponent(searchAccountRadio)
+ .addComponent(searchBtn))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(filterResultsPane, javax.swing.GroupLayout.DEFAULT_SIZE, 320, Short.MAX_VALUE)
+ .addContainerGap())
+ );
+
+ javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+ this.setLayout(layout);
+ layout.setHorizontalGroup(
+ layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(searchPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ );
+ layout.setVerticalGroup(
+ layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(searchPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ );
+ }// //GEN-END:initComponents
+
+ private void searchNameRadioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_searchNameRadioActionPerformed
+ // TODO add your handling code here:
+ }//GEN-LAST:event_searchNameRadioActionPerformed
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JScrollPane filterResultsPane;
+ private javax.swing.JTable filterResultsTable;
+ private javax.swing.JRadioButton searchAccountRadio;
+ private javax.swing.JButton searchBtn;
+ private javax.swing.ButtonGroup searchButtonGroup;
+ private javax.swing.JTextField searchField;
+ private javax.swing.JRadioButton searchNameRadio;
+ private javax.swing.JPanel searchPanel;
+ // End of variables declaration//GEN-END:variables
+
+}
diff --git a/Core/src/org/sleuthkit/autopsy/persona/PersonasTopComponent.form b/Core/src/org/sleuthkit/autopsy/persona/PersonasTopComponent.form
deleted file mode 100644
index 83638e2f02..0000000000
--- a/Core/src/org/sleuthkit/autopsy/persona/PersonasTopComponent.form
+++ /dev/null
@@ -1,381 +0,0 @@
-
-
-
-
-