mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-14 17:06:16 +00:00
Merge latest
This commit is contained in:
commit
d5fd5778c3
@ -192,7 +192,6 @@ MissingImageDialog.ErrorSettingImage=Error setting image path. Please try again.
|
||||
NewCaseVisualPanel1.getName.text=Case Info
|
||||
NewCaseVisualPanel1.caseDirBrowse.selectButton.text=Select
|
||||
NewCaseVisualPanel1.badCredentials.text=Bad multi-user settings (see Tools, Options, Multi-user) or services are down.
|
||||
NewCaseVisualPanel1.MultiUserDisabled.text=Multi-user cases are not enabled. See Tools, Options, Multi-user.
|
||||
NewCaseVisualPanel2.getName.text=Additional Information
|
||||
NewCaseWizardAction.closeCurCase.confMsg.msg=Do you want to save and close this case and proceed with the new case creation?
|
||||
NewCaseWizardAction.closeCurCase.confMsg.title=Warning\: Closing the Current Case
|
||||
@ -255,9 +254,13 @@ SingleUserCaseImporter.WillNotImport=Will not import:
|
||||
SingleUserCaseImporter.None=None
|
||||
SingleUserCaseImporter.ContinueWithImport=Continue with import?
|
||||
SingleUserCaseImporter.Cancelled=Cancelled
|
||||
NewCaseVisualPanel1.caseParentDirWarningLabel.text=Case directory warning label
|
||||
NewCaseVisualPanel1.caseParentDirWarningLabel.text=
|
||||
NewCaseVisualPanel1.multiUserCaseRadioButton.text=Multi-user
|
||||
NewCaseVisualPanel1.singleUserCaseRadioButton.text=Single-user
|
||||
NewCaseVisualPanel1.multiUserSettingsWarningLabel.text=Multi-user settings warning label
|
||||
Case.deleteReports.deleteFromDiskException.log.msg=Unable to delete the report from the disk.
|
||||
Case.deleteReports.deleteFromDiskException.msg=Unable to delete the report {0} from the disk.\nYou may manually delete it from {1}
|
||||
CasePropertiesForm.lbDbType.text=Case Type:
|
||||
CasePropertiesForm.tbDbType.text=
|
||||
CasePropertiesForm.lbDbName.text=Database Name:
|
||||
CasePropertiesForm.tbDbName.text=
|
||||
CaseExceptionWarning.CheckMultiUserOptions=Check Multi-user options.
|
||||
|
@ -18,6 +18,7 @@
|
||||
*/
|
||||
package org.sleuthkit.autopsy.casemodule;
|
||||
|
||||
import java.awt.Cursor;
|
||||
import java.awt.Frame;
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.beans.PropertyChangeSupport;
|
||||
@ -322,6 +323,9 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
||||
Case oldCase = Case.currentCase;
|
||||
Case.currentCase = null;
|
||||
if (oldCase != null) {
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
||||
});
|
||||
doCaseChange(null); //closes windows, etc
|
||||
if (null != oldCase.tskErrorReporter) {
|
||||
oldCase.tskErrorReporter.shutdown(); // stop listening for TSK errors for the old case
|
||||
@ -370,6 +374,9 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
||||
} else {
|
||||
Logger.setLogDirectory(PlatformUtil.getLogDirectory());
|
||||
}
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -453,9 +460,11 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
||||
db = SleuthkitCase.newCase(dbName, UserPreferences.getDatabaseConnectionInfo(), caseDir);
|
||||
}
|
||||
} catch (TskCoreException ex) {
|
||||
logger.log(Level.SEVERE, "Error creating a case: " + caseName + " in dir " + caseDir, ex); //NON-NLS
|
||||
throw new CaseActionException(
|
||||
NbBundle.getMessage(Case.class, "Case.create.exception.msg", caseName, caseDir), ex);
|
||||
logger.log(Level.SEVERE, "Error creating a case: " + caseName + " in dir " + caseDir + " " + ex.getMessage(), ex); //NON-NLS
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
||||
});
|
||||
throw new CaseActionException(ex.getMessage(), ex); //NON-NLS
|
||||
} catch (UserPreferencesException ex) {
|
||||
logger.log(Level.SEVERE, "Error accessing case database connection info", ex); //NON-NLS
|
||||
throw new CaseActionException(
|
||||
@ -615,19 +624,29 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
||||
Case openedCase = new Case(caseName, caseNumber, examiner, caseMetadataFilePath, xmlcm, db, caseType);
|
||||
changeCase(openedCase);
|
||||
|
||||
} catch (CaseMetadataException | TskCoreException ex) {
|
||||
} catch (CaseMetadataException ex) {
|
||||
/**
|
||||
* Clean-up the case if it was actually opened. TODO: Do this
|
||||
* better.
|
||||
*/
|
||||
try {
|
||||
Case badCase = Case.getCurrentCase();
|
||||
badCase.closeCase();
|
||||
} catch (IllegalStateException unused) {
|
||||
// Already logged.
|
||||
}
|
||||
throw new CaseActionException(NbBundle.getMessage(Case.class, "Case.open.exception.gen.msg") + ": " + ex.getMessage(), ex); //NON-NLS
|
||||
} catch (TskCoreException ex) {
|
||||
try {
|
||||
Case badCase = Case.getCurrentCase();
|
||||
badCase.closeCase();
|
||||
} catch (CaseActionException | IllegalStateException unused) {
|
||||
// Already logged.
|
||||
}
|
||||
|
||||
throw new CaseActionException(NbBundle.getMessage(Case.class, "Case.open.exception.gen.msg") + ". " + ex.getMessage(), ex);
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
||||
});
|
||||
throw new CaseActionException(ex.getMessage(), ex); //NON-NLS
|
||||
}
|
||||
}
|
||||
|
||||
@ -654,8 +673,7 @@ public class Case implements SleuthkitCase.ErrorObserver {
|
||||
for (Map.Entry<Long, String> entry : imgPaths.entrySet()) {
|
||||
long obj_id = entry.getKey();
|
||||
String path = entry.getValue();
|
||||
boolean fileExists = (pathExists(path)
|
||||
|| driveExists(path));
|
||||
boolean fileExists = (pathExists(path) || driveExists(path));
|
||||
if (!fileExists) {
|
||||
int ret = JOptionPane.showConfirmDialog(null,
|
||||
NbBundle.getMessage(Case.class,
|
||||
|
@ -18,6 +18,7 @@
|
||||
*/
|
||||
package org.sleuthkit.autopsy.casemodule;
|
||||
|
||||
import java.awt.Cursor;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.io.File;
|
||||
@ -80,18 +81,22 @@ public final class CaseOpenAction implements ActionListener {
|
||||
}
|
||||
|
||||
/**
|
||||
* Try to open the caswe associated with the case meta data file the
|
||||
* Try to open the case associated with the case meta data file the
|
||||
* user selected.
|
||||
*/
|
||||
final String path = fileChooser.getSelectedFile().getPath();
|
||||
String dirPath = fileChooser.getSelectedFile().getParent();
|
||||
ModuleSettings.setConfigSetting(ModuleSettings.MAIN_SETTINGS, PROP_BASECASE, dirPath.substring(0, dirPath.lastIndexOf(File.separator)));
|
||||
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
||||
new Thread(() -> {
|
||||
try {
|
||||
Case.open(path);
|
||||
} catch (CaseActionException ex) {
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
JOptionPane.showMessageDialog(null, ex.getMessage(), NbBundle.getMessage(this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"), JOptionPane.ERROR_MESSAGE);
|
||||
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
||||
JOptionPane.showMessageDialog(WindowManager.getDefault().getMainWindow(), ex.getMessage() + " "
|
||||
+ NbBundle.getMessage(this.getClass(), "CaseExceptionWarning.CheckMultiUserOptions"),
|
||||
NbBundle.getMessage(this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"), JOptionPane.ERROR_MESSAGE); //NON-NLS
|
||||
if (!Case.isCaseOpen()) {
|
||||
StartupWindowProvider.getInstance().open();
|
||||
}
|
||||
@ -100,5 +105,4 @@ public final class CaseOpenAction implements ActionListener {
|
||||
}).start();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
<?xml version="1.1" encoding="UTF-8" ?>
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
|
||||
<NonVisualComponents>
|
||||
@ -37,48 +37,43 @@
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="casePropLabel" pref="440" max="32767" attributes="0"/>
|
||||
<Component id="imagesTableScrollPane" alignment="0" pref="440" max="32767" attributes="0"/>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="caseNameLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="caseNumberLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="examinerLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="caseDirLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="crDateLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="lbDbType" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace type="separate" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="caseNameTextField" alignment="0" pref="245" max="32767" attributes="1"/>
|
||||
<Component id="caseNumberTextField" alignment="0" pref="245" max="32767" attributes="1"/>
|
||||
<Component id="examinerTextField" alignment="0" pref="245" max="32767" attributes="1"/>
|
||||
<Component id="crDateTextField" alignment="0" max="32767" attributes="1"/>
|
||||
<Component id="jScrollPane2" alignment="0" max="32767" attributes="0"/>
|
||||
<Component id="tbDbType" alignment="0" max="32767" attributes="0"/>
|
||||
<Component id="tbDbName" alignment="0" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="deleteCaseButton" max="32767" attributes="1"/>
|
||||
<Component id="updateCaseNameButton" max="32767" attributes="1"/>
|
||||
</Group>
|
||||
</Group>
|
||||
<Group type="102" attributes="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="genInfoLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="imgInfoLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="imagesTableScrollPane" alignment="0" pref="440" max="32767" attributes="0"/>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace min="-2" pref="181" max="-2" attributes="0"/>
|
||||
<Component id="OKButton" min="-2" pref="78" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Group type="103" groupAlignment="1" attributes="0">
|
||||
<Group type="102" alignment="1" attributes="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="caseNameLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="caseNumberLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace min="-2" pref="25" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="caseNameTextField" pref="246" max="32767" attributes="1"/>
|
||||
<Component id="caseNumberTextField" alignment="0" pref="246" max="32767" attributes="1"/>
|
||||
</Group>
|
||||
</Group>
|
||||
<Group type="102" attributes="0">
|
||||
<Component id="examinerLabel" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="45" max="-2" attributes="0"/>
|
||||
<Component id="examinerTextField" pref="246" max="32767" attributes="1"/>
|
||||
</Group>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="caseDirLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="crDateLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace type="separate" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="jScrollPane2" pref="246" max="32767" attributes="0"/>
|
||||
<Component id="crDateTextField" alignment="0" pref="246" max="32767" attributes="1"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="updateCaseNameButton" min="-2" max="-2" attributes="1"/>
|
||||
<Component id="deleteCaseButton" alignment="0" max="32767" attributes="1"/>
|
||||
<Component id="lbDbName" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
@ -92,39 +87,52 @@
|
||||
<Component id="casePropLabel" min="-2" pref="33" max="-2" attributes="0"/>
|
||||
<EmptySpace type="separate" max="-2" attributes="0"/>
|
||||
<Component id="genInfoLabel" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="3" attributes="0">
|
||||
<Component id="caseNameLabel" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="caseNameTextField" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="updateCaseNameButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="3" attributes="0">
|
||||
<Component id="caseNumberLabel" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="caseNumberTextField" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace type="separate" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="3" attributes="0">
|
||||
<Component id="examinerLabel" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="examinerTextField" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace pref="19" max="32767" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="3" attributes="0">
|
||||
<Component id="crDateLabel" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="crDateTextField" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Group type="102" attributes="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="caseDirLabel" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="jScrollPane2" min="-2" pref="40" max="-2" attributes="0"/>
|
||||
<Component id="caseDirLabel" min="-2" pref="14" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace min="-2" pref="39" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="3" attributes="0">
|
||||
<Component id="tbDbType" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="lbDbType" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Group type="103" groupAlignment="3" attributes="0">
|
||||
<Component id="lbDbName" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="tbDbName" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace type="separate" max="-2" attributes="0"/>
|
||||
<Component id="imgInfoLabel" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace min="-2" pref="9" max="-2" attributes="0"/>
|
||||
<Component id="deleteCaseButton" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||
<Component id="imagesTableScrollPane" min="-2" pref="170" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
@ -253,11 +261,11 @@
|
||||
<SubComponents>
|
||||
<Component class="javax.swing.JTextArea" name="caseDirTextArea">
|
||||
<Properties>
|
||||
<Property name="editable" type="boolean" value="false"/>
|
||||
<Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="f0" green="f0" red="f0" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="columns" type="int" value="20"/>
|
||||
<Property name="editable" type="boolean" value="false"/>
|
||||
<Property name="rows" type="int" value="1"/>
|
||||
<Property name="requestFocusEnabled" type="boolean" value="false"/>
|
||||
</Properties>
|
||||
@ -304,5 +312,35 @@
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="lbDbType">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CasePropertiesForm.lbDbType.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
<Component class="javax.swing.JTextField" name="tbDbType">
|
||||
<Properties>
|
||||
<Property name="editable" type="boolean" value="false"/>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CasePropertiesForm.tbDbType.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="lbDbName">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CasePropertiesForm.lbDbName.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
<Component class="javax.swing.JTextField" name="tbDbName">
|
||||
<Properties>
|
||||
<Property name="editable" type="boolean" value="false"/>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CasePropertiesForm.tbDbName.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
</Form>
|
||||
|
@ -24,12 +24,11 @@
|
||||
*/
|
||||
package org.sleuthkit.autopsy.casemodule;
|
||||
|
||||
import java.awt.*;
|
||||
import java.nio.file.Paths;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.io.File;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import org.openide.util.NbBundle;
|
||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||
import javax.swing.JOptionPane;
|
||||
@ -47,7 +46,9 @@ import org.openide.util.actions.CallableSystemAction;
|
||||
*/
|
||||
class CasePropertiesForm extends javax.swing.JPanel {
|
||||
|
||||
Case current = null;
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Case current = null;
|
||||
private static JPanel caller; // panel for error
|
||||
|
||||
// Shrink a path to fit in targetLength (if necessary), by replaceing part
|
||||
@ -78,16 +79,25 @@ class CasePropertiesForm extends javax.swing.JPanel {
|
||||
/**
|
||||
* Creates new form CasePropertiesForm
|
||||
*/
|
||||
CasePropertiesForm(Case currentCase, String crDate, String caseDir, Map<Long, String> imgPaths) {
|
||||
CasePropertiesForm(Case currentCase, String crDate, String caseDir, Map<Long, String> imgPaths) throws CaseMetadata.CaseMetadataException {
|
||||
initComponents();
|
||||
caseNameTextField.setText(currentCase.getName());
|
||||
caseNumberTextField.setText(currentCase.getNumber());
|
||||
examinerTextField.setText(currentCase.getExaminer());
|
||||
crDateTextField.setText(crDate);
|
||||
caseDirTextArea.setText(caseDir);
|
||||
|
||||
current = currentCase;
|
||||
|
||||
CaseMetadata caseMetadata = new CaseMetadata(Paths.get(currentCase.getConfigFilePath()));
|
||||
tbDbName.setText(caseMetadata.getCaseDatabaseName());
|
||||
Case.CaseType caseType = caseMetadata.getCaseType();
|
||||
tbDbType.setText(caseType.toString());
|
||||
if (caseType == Case.CaseType.SINGLE_USER_CASE) {
|
||||
deleteCaseButton.setEnabled(true);
|
||||
} else {
|
||||
deleteCaseButton.setEnabled(false);
|
||||
}
|
||||
|
||||
int totalImages = imgPaths.size();
|
||||
|
||||
// create the headers and add all the rows
|
||||
@ -186,12 +196,16 @@ class CasePropertiesForm extends javax.swing.JPanel {
|
||||
examinerLabel = new javax.swing.JLabel();
|
||||
caseNumberTextField = new javax.swing.JTextField();
|
||||
examinerTextField = new javax.swing.JTextField();
|
||||
lbDbType = new javax.swing.JLabel();
|
||||
tbDbType = new javax.swing.JTextField();
|
||||
lbDbName = new javax.swing.JLabel();
|
||||
tbDbName = new javax.swing.JTextField();
|
||||
|
||||
jTextArea1.setColumns(20);
|
||||
jTextArea1.setRows(5);
|
||||
jScrollPane1.setViewportView(jTextArea1);
|
||||
|
||||
casePropLabel.setFont(casePropLabel.getFont().deriveFont(Font.BOLD, 24));
|
||||
casePropLabel.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
|
||||
casePropLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
|
||||
casePropLabel.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.casePropLabel.text")); // NOI18N
|
||||
|
||||
@ -213,11 +227,10 @@ class CasePropertiesForm extends javax.swing.JPanel {
|
||||
}
|
||||
});
|
||||
|
||||
genInfoLabel.setFont(genInfoLabel.getFont().deriveFont(Font.BOLD, 14));
|
||||
genInfoLabel.setText(
|
||||
org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.genInfoLabel.text")); // NOI18N
|
||||
genInfoLabel.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
|
||||
genInfoLabel.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.genInfoLabel.text")); // NOI18N
|
||||
|
||||
imgInfoLabel.setFont(imgInfoLabel.getFont().deriveFont(Font.BOLD, 14));
|
||||
imgInfoLabel.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
|
||||
imgInfoLabel.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.imgInfoLabel.text")); // NOI18N
|
||||
|
||||
OKButton.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.OKButton.text")); // NOI18N
|
||||
@ -227,7 +240,7 @@ class CasePropertiesForm extends javax.swing.JPanel {
|
||||
|
||||
},
|
||||
new String [] {
|
||||
"Path", "Remove" //NON-NLS
|
||||
"Path", "Remove"
|
||||
}
|
||||
) {
|
||||
boolean[] canEdit = new boolean [] {
|
||||
@ -244,9 +257,9 @@ class CasePropertiesForm extends javax.swing.JPanel {
|
||||
imagesTable.setUpdateSelectionOnSort(false);
|
||||
imagesTableScrollPane.setViewportView(imagesTable);
|
||||
|
||||
caseDirTextArea.setEditable(false);
|
||||
caseDirTextArea.setBackground(new java.awt.Color(240, 240, 240));
|
||||
caseDirTextArea.setColumns(20);
|
||||
caseDirTextArea.setEditable(false);
|
||||
caseDirTextArea.setRows(1);
|
||||
caseDirTextArea.setRequestFocusEnabled(false);
|
||||
jScrollPane2.setViewportView(caseDirTextArea);
|
||||
@ -268,6 +281,16 @@ class CasePropertiesForm extends javax.swing.JPanel {
|
||||
examinerTextField.setEditable(false);
|
||||
examinerTextField.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.examinerTextField.text")); // NOI18N
|
||||
|
||||
lbDbType.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.lbDbType.text")); // NOI18N
|
||||
|
||||
tbDbType.setEditable(false);
|
||||
tbDbType.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.tbDbType.text")); // NOI18N
|
||||
|
||||
lbDbName.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.lbDbName.text")); // NOI18N
|
||||
|
||||
tbDbName.setEditable(false);
|
||||
tbDbName.setText(org.openide.util.NbBundle.getMessage(CasePropertiesForm.class, "CasePropertiesForm.tbDbName.text")); // NOI18N
|
||||
|
||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
||||
this.setLayout(layout);
|
||||
layout.setHorizontalGroup(
|
||||
@ -276,38 +299,37 @@ class CasePropertiesForm extends javax.swing.JPanel {
|
||||
.addContainerGap()
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(casePropLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 440, Short.MAX_VALUE)
|
||||
.addComponent(genInfoLabel)
|
||||
.addComponent(imgInfoLabel)
|
||||
.addComponent(imagesTableScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 440, Short.MAX_VALUE)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGap(181, 181, 181)
|
||||
.addComponent(OKButton, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(caseNameLabel)
|
||||
.addComponent(caseNumberLabel))
|
||||
.addGap(25, 25, 25)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(caseNameTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 246, Short.MAX_VALUE)
|
||||
.addComponent(caseNumberTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 246, Short.MAX_VALUE)))
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(caseNumberLabel)
|
||||
.addComponent(examinerLabel)
|
||||
.addGap(45, 45, 45)
|
||||
.addComponent(examinerTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 246, Short.MAX_VALUE))
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(caseDirLabel)
|
||||
.addComponent(crDateLabel))
|
||||
.addComponent(crDateLabel)
|
||||
.addComponent(lbDbType))
|
||||
.addGap(18, 18, 18)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 246, Short.MAX_VALUE)
|
||||
.addComponent(crDateTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 246, Short.MAX_VALUE))))
|
||||
.addComponent(caseNameTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 245, Short.MAX_VALUE)
|
||||
.addComponent(caseNumberTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 245, Short.MAX_VALUE)
|
||||
.addComponent(examinerTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 245, Short.MAX_VALUE)
|
||||
.addComponent(crDateTextField)
|
||||
.addComponent(jScrollPane2)
|
||||
.addComponent(tbDbType)
|
||||
.addComponent(tbDbName))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(updateCaseNameButton)
|
||||
.addComponent(deleteCaseButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
|
||||
.addComponent(deleteCaseButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(updateCaseNameButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(genInfoLabel)
|
||||
.addComponent(imgInfoLabel)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGap(181, 181, 181)
|
||||
.addComponent(OKButton, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addComponent(lbDbName))
|
||||
.addGap(0, 0, Short.MAX_VALUE)))
|
||||
.addContainerGap())
|
||||
);
|
||||
layout.setVerticalGroup(
|
||||
@ -317,32 +339,42 @@ class CasePropertiesForm extends javax.swing.JPanel {
|
||||
.addComponent(casePropLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addGap(18, 18, 18)
|
||||
.addComponent(genInfoLabel)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(caseNameLabel)
|
||||
.addComponent(caseNameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(updateCaseNameButton))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(caseNumberLabel)
|
||||
.addComponent(caseNumberTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGap(18, 18, 18)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(examinerLabel)
|
||||
.addComponent(examinerTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 19, Short.MAX_VALUE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(crDateLabel)
|
||||
.addComponent(crDateTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(caseDirLabel)
|
||||
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGap(39, 39, 39)
|
||||
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(caseDirLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(tbDbType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(lbDbType))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(lbDbName)
|
||||
.addComponent(tbDbName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGap(18, 18, 18)
|
||||
.addComponent(imgInfoLabel))
|
||||
.addComponent(deleteCaseButton))
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGap(9, 9, 9)
|
||||
.addComponent(deleteCaseButton)))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addComponent(imagesTableScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
@ -445,6 +477,10 @@ class CasePropertiesForm extends javax.swing.JPanel {
|
||||
private javax.swing.JScrollPane jScrollPane1;
|
||||
private javax.swing.JScrollPane jScrollPane2;
|
||||
private javax.swing.JTextArea jTextArea1;
|
||||
private javax.swing.JLabel lbDbName;
|
||||
private javax.swing.JLabel lbDbType;
|
||||
private javax.swing.JTextField tbDbName;
|
||||
private javax.swing.JTextField tbDbType;
|
||||
private javax.swing.JButton updateCaseNameButton;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
|
||||
|
@ -43,7 +43,6 @@
|
||||
<EmptySpace min="-2" pref="26" max="-2" attributes="0"/>
|
||||
<Component id="caseNameTextField" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
<Component id="multiUserSettingsWarningLabel" alignment="1" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||
<Component id="caseDirBrowseButton" min="-2" max="-2" attributes="0"/>
|
||||
@ -93,9 +92,7 @@
|
||||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="caseParentDirWarningLabel" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace min="-2" pref="1" max="-2" attributes="0"/>
|
||||
<Component id="multiUserSettingsWarningLabel" min="-2" pref="23" max="-2" attributes="0"/>
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
<EmptySpace pref="35" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
@ -190,16 +187,6 @@
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="multiUserCaseRadioButtonActionPerformed"/>
|
||||
</Events>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="multiUserSettingsWarningLabel">
|
||||
<Properties>
|
||||
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
<Color blue="0" green="0" red="ff" type="rgb"/>
|
||||
</Property>
|
||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="NewCaseVisualPanel1.multiUserSettingsWarningLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||
</Property>
|
||||
</Properties>
|
||||
</Component>
|
||||
<Component class="javax.swing.JLabel" name="caseParentDirWarningLabel">
|
||||
<Properties>
|
||||
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
|
||||
|
@ -62,11 +62,9 @@ final class NewCaseVisualPanel1 extends JPanel implements DocumentListener {
|
||||
if (UserPreferences.getIsMultiUserModeEnabled()) {
|
||||
multiUserCaseRadioButton.setEnabled(true);
|
||||
multiUserCaseRadioButton.setSelected(true);
|
||||
multiUserSettingsWarningLabel.setVisible(false);
|
||||
} else {
|
||||
multiUserCaseRadioButton.setEnabled(false);
|
||||
singleUserCaseRadioButton.setSelected(true);
|
||||
multiUserSettingsWarningLabel.setText(NbBundle.getMessage(this.getClass(), "NewCaseVisualPanel1.MultiUserDisabled.text"));
|
||||
}
|
||||
validateSettings();
|
||||
}
|
||||
@ -214,7 +212,6 @@ final class NewCaseVisualPanel1 extends JPanel implements DocumentListener {
|
||||
caseDirTextField = new javax.swing.JTextField();
|
||||
singleUserCaseRadioButton = new javax.swing.JRadioButton();
|
||||
multiUserCaseRadioButton = new javax.swing.JRadioButton();
|
||||
multiUserSettingsWarningLabel = new javax.swing.JLabel();
|
||||
caseParentDirWarningLabel = new javax.swing.JLabel();
|
||||
|
||||
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
|
||||
@ -256,9 +253,6 @@ final class NewCaseVisualPanel1 extends JPanel implements DocumentListener {
|
||||
}
|
||||
});
|
||||
|
||||
multiUserSettingsWarningLabel.setForeground(new java.awt.Color(255, 0, 0));
|
||||
org.openide.awt.Mnemonics.setLocalizedText(multiUserSettingsWarningLabel, org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.multiUserSettingsWarningLabel.text")); // NOI18N
|
||||
|
||||
caseParentDirWarningLabel.setForeground(new java.awt.Color(255, 0, 0));
|
||||
org.openide.awt.Mnemonics.setLocalizedText(caseParentDirWarningLabel, org.openide.util.NbBundle.getMessage(NewCaseVisualPanel1.class, "NewCaseVisualPanel1.caseParentDirWarningLabel.text")); // NOI18N
|
||||
|
||||
@ -285,8 +279,7 @@ final class NewCaseVisualPanel1 extends JPanel implements DocumentListener {
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(caseNameLabel)
|
||||
.addGap(26, 26, 26)
|
||||
.addComponent(caseNameTextField))
|
||||
.addComponent(multiUserSettingsWarningLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addComponent(caseNameTextField)))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addComponent(caseDirBrowseButton)))
|
||||
.addContainerGap())
|
||||
@ -323,9 +316,7 @@ final class NewCaseVisualPanel1 extends JPanel implements DocumentListener {
|
||||
.addComponent(multiUserCaseRadioButton))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(caseParentDirWarningLabel)
|
||||
.addGap(1, 1, 1)
|
||||
.addComponent(multiUserSettingsWarningLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addContainerGap(35, Short.MAX_VALUE))
|
||||
);
|
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
|
||||
@ -370,7 +361,6 @@ final class NewCaseVisualPanel1 extends JPanel implements DocumentListener {
|
||||
private javax.swing.JLabel jLabel1;
|
||||
private javax.swing.JLabel jLabel2;
|
||||
private javax.swing.JRadioButton multiUserCaseRadioButton;
|
||||
private javax.swing.JLabel multiUserSettingsWarningLabel;
|
||||
private javax.swing.JRadioButton singleUserCaseRadioButton;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
|
||||
|
@ -41,12 +41,21 @@ import org.sleuthkit.autopsy.core.UserPreferences;
|
||||
import org.sleuthkit.datamodel.CaseDbConnectionInfo;
|
||||
import org.sleuthkit.datamodel.SleuthkitCase;
|
||||
import org.sleuthkit.datamodel.TskData.DbType;
|
||||
import java.awt.HeadlessException;
|
||||
import java.util.MissingResourceException;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import org.openide.windows.WindowManager;
|
||||
import org.sleuthkit.datamodel.TskCoreException;
|
||||
import java.awt.Cursor;
|
||||
import org.sleuthkit.autopsy.core.UserPreferencesException;
|
||||
|
||||
/**
|
||||
* Action to open the New Case wizard.
|
||||
*/
|
||||
final class NewCaseWizardAction extends CallableSystemAction {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private WizardDescriptor.Panel<WizardDescriptor>[] panels;
|
||||
|
||||
private static final Logger logger = Logger.getLogger(NewCaseWizardAction.class.getName());
|
||||
@ -102,39 +111,32 @@ final class NewCaseWizardAction extends CallableSystemAction {
|
||||
final String caseName = (String) wizardDescriptor.getProperty("caseName"); //NON-NLS
|
||||
String createdDirectory = (String) wizardDescriptor.getProperty("createdDirectory"); //NON-NLS
|
||||
CaseType caseType = CaseType.values()[(int) wizardDescriptor.getProperty("caseType")]; //NON-NLS
|
||||
|
||||
Case.create(createdDirectory, caseName, caseNumber, examiner, caseType);
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void done() {
|
||||
final String caseName = (String) wizardDescriptor.getProperty("caseName"); //NON-NLS
|
||||
try {
|
||||
get();
|
||||
CaseType currentCaseType = CaseType.values()[(int) wizardDescriptor.getProperty("caseType")]; //NON-NLS
|
||||
CaseDbConnectionInfo info = UserPreferences.getDatabaseConnectionInfo();
|
||||
if ((currentCaseType == CaseType.SINGLE_USER_CASE) || ((info.getDbType() != DbType.SQLITE) && SleuthkitCase.tryConnectOld(info.getHost(), info.getPort(), info.getUserName(), info.getPassword(), info.getDbType()))) {
|
||||
AddImageAction addImageAction = SystemAction.get(AddImageAction.class);
|
||||
addImageAction.actionPerformed(null);
|
||||
} else {
|
||||
// @@@ Should we log here?
|
||||
JOptionPane.showMessageDialog(null,
|
||||
NbBundle.getMessage(this.getClass(), "NewCaseWizardAction.databaseProblem1.text"),
|
||||
NbBundle.getMessage(this.getClass(), "NewCaseWizardAction.databaseProblem2.text"),
|
||||
JOptionPane.ERROR_MESSAGE);
|
||||
doFailedCaseCleanup(wizardDescriptor);
|
||||
}
|
||||
|
||||
} catch (Exception ex) {
|
||||
logger.log(Level.SEVERE, "Error creating case", ex); //NON-NLS
|
||||
|
||||
final String caseName = (String) wizardDescriptor.getProperty("caseName"); //NON-NLS
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
JOptionPane.showMessageDialog(null, NbBundle.getMessage(this.getClass(),
|
||||
"CaseCreateAction.msgDlg.cantCreateCase.msg") + " " + caseName,
|
||||
NbBundle.getMessage(this.getClass(),
|
||||
"CaseOpenAction.msgDlg.cantOpenCase.title"),
|
||||
JOptionPane.ERROR_MESSAGE);
|
||||
JOptionPane.showMessageDialog(WindowManager.getDefault().getMainWindow(), ex.getCause().getMessage() + " "
|
||||
+ NbBundle.getMessage(this.getClass(), "CaseExceptionWarning.CheckMultiUserOptions"),
|
||||
NbBundle.getMessage(this.getClass(), "CaseCreateAction.msgDlg.cantCreateCase.msg"),
|
||||
JOptionPane.ERROR_MESSAGE); //NON-NLS
|
||||
|
||||
try {
|
||||
StartupWindowProvider.getInstance().close();
|
||||
} catch (Exception unused) {
|
||||
}
|
||||
if (!Case.isCaseOpen()) {
|
||||
StartupWindowProvider.getInstance().open();
|
||||
}
|
||||
});
|
||||
doFailedCaseCleanup(wizardDescriptor);
|
||||
}
|
||||
@ -154,6 +156,9 @@ final class NewCaseWizardAction extends CallableSystemAction {
|
||||
logger.log(Level.INFO, "Deleting a created case directory due to an error, dir: {0}", createdDirectory); //NON-NLS
|
||||
Case.deleteCaseDirectory(new File(createdDirectory));
|
||||
}
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -28,6 +28,8 @@ import javax.swing.SwingUtilities;
|
||||
import javax.swing.table.AbstractTableModel;
|
||||
import org.openide.util.NbBundle;
|
||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||
import org.openide.windows.WindowManager;
|
||||
import java.awt.Cursor;
|
||||
|
||||
/**
|
||||
* Panel show from the splash dialog that shows recent cases and allows them to
|
||||
@ -196,7 +198,7 @@ class OpenRecentCasePanel extends javax.swing.JPanel {
|
||||
}
|
||||
// Open the recent cases
|
||||
if (caseName.equals("") || casePath.equals("") || (!new File(casePath).exists())) {
|
||||
JOptionPane.showMessageDialog(null,
|
||||
JOptionPane.showMessageDialog(WindowManager.getDefault().getMainWindow(),
|
||||
NbBundle.getMessage(this.getClass(),
|
||||
"OpenRecentCasePanel.openCase.msgDlg.caseDoesntExist.msg",
|
||||
caseName),
|
||||
@ -211,12 +213,17 @@ class OpenRecentCasePanel extends javax.swing.JPanel {
|
||||
}
|
||||
|
||||
} else {
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
||||
});
|
||||
new Thread(() -> {
|
||||
try {
|
||||
Case.open(casePath);
|
||||
} catch (CaseActionException ex) {
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
JOptionPane.showMessageDialog(null, ex.getMessage(), NbBundle.getMessage(this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"), JOptionPane.ERROR_MESSAGE);
|
||||
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
||||
JOptionPane.showMessageDialog(WindowManager.getDefault().getMainWindow(), ex.getMessage(),
|
||||
NbBundle.getMessage(this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"), JOptionPane.ERROR_MESSAGE); //NON-NLS
|
||||
if (!Case.isCaseOpen()) {
|
||||
StartupWindowProvider.getInstance().open();
|
||||
}
|
||||
|
@ -26,6 +26,8 @@ import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.SwingUtilities;
|
||||
import org.openide.util.NbBundle;
|
||||
import org.openide.windows.WindowManager;
|
||||
import java.awt.Cursor;
|
||||
|
||||
/**
|
||||
* This class is used to add the action to the recent case menu item. When the
|
||||
@ -70,13 +72,18 @@ class RecentItems implements ActionListener {
|
||||
|
||||
}
|
||||
} else {
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
|
||||
});
|
||||
new Thread(() -> {
|
||||
// Create case.
|
||||
try {
|
||||
Case.open(casePath);
|
||||
} catch (CaseActionException ex) {
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
JOptionPane.showMessageDialog(null, ex.getMessage(), NbBundle.getMessage(RecentItems.this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"), JOptionPane.ERROR_MESSAGE);
|
||||
WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
||||
JOptionPane.showMessageDialog(WindowManager.getDefault().getMainWindow(), ex.getMessage(),
|
||||
NbBundle.getMessage(RecentItems.this.getClass(), "CaseOpenAction.msgDlg.cantOpenCase.title"), JOptionPane.ERROR_MESSAGE); //NON-NLS
|
||||
if (!Case.isCaseOpen()) {
|
||||
StartupWindowProvider.getInstance().open();
|
||||
}
|
||||
|
@ -27,7 +27,7 @@ Format_OperatingSystem_Value={0} version {1} running on {2}
|
||||
LBL_Copyright=<div style\="font-size\: 12pt; font-family\: Verdana, 'Verdana CE', Arial, 'Arial CE', 'Lucida Grande CE', lucida, 'Helvetica CE', sans-serif; ">Autopsy™ is a digital forensics platform based on The Sleuth Kit™ and other tools. <br><ul><li>General Information: <a style\="color\: \#1E2A60;" href\="http\://www.sleuthkit.org">http\://www.sleuthkit.org</a>.</li><li>Training: <a style\="color\: \#1E2A60;" href\="http://www.basistech.com/autopsy-training">http://www.basistech.com/autopsy-training</a></li><li>Commercial Support: <a style\="color\: \#1E2A60;" href\="http://www.basistech.com/digital-forensics/autopsy/support/">http://www.basistech.com/digital-forensics/autopsy/support/</a></li></ul>Copyright © 2003-2014. </div>
|
||||
URL_ON_IMG=http://www.sleuthkit.org/
|
||||
|
||||
URL_ON_HELP=http://sleuthkit.org/autopsy/docs/user-docs/3.1/
|
||||
URL_ON_HELP=http://sleuthkit.org/autopsy/docs/user-docs/4.0/
|
||||
|
||||
FILE_FOR_LOCAL_HELP=file:///
|
||||
INDEX_FOR_LOCAL_HELP=/docs/index.html
|
||||
|
@ -16,15 +16,19 @@
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="pnOverallPanel" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="jScrollPane" alignment="0" pref="555" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Component id="pnOverallPanel" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="jScrollPane" alignment="0" pref="559" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
</Layout>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JScrollPane" name="jScrollPane">
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JPanel" name="pnOverallPanel">
|
||||
|
||||
@ -517,4 +521,6 @@
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Form>
|
||||
|
@ -149,6 +149,7 @@ public final class MultiUserSettingsPanel extends javax.swing.JPanel {
|
||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||
private void initComponents() {
|
||||
|
||||
jScrollPane = new javax.swing.JScrollPane();
|
||||
pnOverallPanel = new javax.swing.JPanel();
|
||||
pnDatabaseSettings = new javax.swing.JPanel();
|
||||
tbDbHostname = new javax.swing.JTextField();
|
||||
@ -438,15 +439,17 @@ public final class MultiUserSettingsPanel extends javax.swing.JPanel {
|
||||
.addContainerGap(39, Short.MAX_VALUE))
|
||||
);
|
||||
|
||||
jScrollPane.setViewportView(pnOverallPanel);
|
||||
|
||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
||||
this.setLayout(layout);
|
||||
layout.setHorizontalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(pnOverallPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 555, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(jScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 555, Short.MAX_VALUE)
|
||||
);
|
||||
layout.setVerticalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(pnOverallPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 559, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(jScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 559, Short.MAX_VALUE)
|
||||
);
|
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
|
||||
@ -818,6 +821,7 @@ public final class MultiUserSettingsPanel extends javax.swing.JPanel {
|
||||
private javax.swing.JButton bnTestMessageService;
|
||||
private javax.swing.JButton bnTestSolr;
|
||||
private javax.swing.JCheckBox cbEnableMultiUser;
|
||||
private javax.swing.JScrollPane jScrollPane;
|
||||
private javax.swing.JLabel lbDatabaseSettings;
|
||||
private javax.swing.JLabel lbMessageServiceSettings;
|
||||
private javax.swing.JLabel lbSolrSettings;
|
||||
|
@ -158,7 +158,6 @@ public class Server {
|
||||
public static final Charset DEFAULT_INDEXED_TEXT_CHARSET = Charset.forName("UTF-8"); ///< default Charset to index text as
|
||||
private static final int MAX_SOLR_MEM_MB = 512; //TODO set dynamically based on avail. system resources
|
||||
private Process curSolrProcess = null;
|
||||
private static Ingester ingester = null;
|
||||
static final String PROPERTIES_FILE = KeywordSearchSettings.MODULE_NAME;
|
||||
static final String PROPERTIES_CURRENT_SERVER_PORT = "IndexingServerPort"; //NON-NLS
|
||||
static final String PROPERTIES_CURRENT_STOP_PORT = "IndexingServerStopPort"; //NON-NLS
|
||||
@ -168,6 +167,7 @@ public class Server {
|
||||
static final int DEFAULT_SOLR_STOP_PORT = 34343;
|
||||
private int currentSolrServerPort = 0;
|
||||
private int currentSolrStopPort = 0;
|
||||
private volatile Core currentCore = null;
|
||||
private static final boolean DEBUG = false;//(Version.getBuildType() == Version.Type.DEVELOPMENT);
|
||||
private final UNCPathUtilities uncPathUtilities = new UNCPathUtilities();
|
||||
|
||||
@ -183,7 +183,7 @@ public class Server {
|
||||
// This could be a local or remote server.
|
||||
private HttpSolrServer currentSolrServer;
|
||||
|
||||
private final String instanceDir;
|
||||
// private final String instanceDir;
|
||||
private final File solrFolder;
|
||||
private final ServerAction serverAction;
|
||||
private InputStreamPrinterThread errorRedirectThread;
|
||||
@ -198,7 +198,7 @@ public class Server {
|
||||
this.localSolrServer = new HttpSolrServer("http://localhost:" + currentSolrServerPort + "/solr"); //NON-NLS
|
||||
serverAction = new ServerAction();
|
||||
solrFolder = InstalledFileLocator.getDefault().locate("solr", Server.class.getPackage().getName(), false); //NON-NLS
|
||||
instanceDir = solrFolder.getAbsolutePath() + File.separator + "solr"; //NON-NLS
|
||||
// instanceDir = solrFolder.getAbsolutePath() + File.separator + "solr"; //NON-NLS
|
||||
javaPath = PlatformUtil.getJavaPath();
|
||||
|
||||
logger.log(Level.INFO, "Created Server instance"); //NON-NLS
|
||||
@ -291,13 +291,12 @@ public class Server {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
InputStreamReader isr = new InputStreamReader(stream);
|
||||
|
||||
try (InputStreamReader isr = new InputStreamReader(stream);
|
||||
BufferedReader br = new BufferedReader(isr);
|
||||
OutputStreamWriter osw = null;
|
||||
BufferedWriter bw = null;
|
||||
try {
|
||||
osw = new OutputStreamWriter(out, PlatformUtil.getDefaultPlatformCharset());
|
||||
bw = new BufferedWriter(osw);
|
||||
OutputStreamWriter osw = new OutputStreamWriter(out, PlatformUtil.getDefaultPlatformCharset());
|
||||
BufferedWriter bw = new BufferedWriter(osw);) {
|
||||
|
||||
String line = null;
|
||||
while (doRun && (line = br.readLine()) != null) {
|
||||
bw.write(line);
|
||||
@ -309,22 +308,7 @@ public class Server {
|
||||
}
|
||||
bw.flush();
|
||||
} catch (IOException ex) {
|
||||
logger.log(Level.WARNING, "Error redirecting Solr output stream"); //NON-NLS
|
||||
} finally {
|
||||
if (bw != null) {
|
||||
try {
|
||||
bw.close();
|
||||
} catch (IOException ex) {
|
||||
logger.log(Level.WARNING, "Error closing Solr output stream writer"); //NON-NLS
|
||||
}
|
||||
}
|
||||
if (br != null) {
|
||||
try {
|
||||
br.close();
|
||||
} catch (IOException ex) {
|
||||
logger.log(Level.WARNING, "Error closing Solr output stream reader"); //NON-NLS
|
||||
}
|
||||
}
|
||||
logger.log(Level.SEVERE, "Error redirecting Solr output stream", ex); //NON-NLS
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -357,7 +341,7 @@ public class Server {
|
||||
void killSolr() {
|
||||
List<Long> solrPids = getSolrPIDs();
|
||||
for (long pid : solrPids) {
|
||||
logger.log(Level.INFO, "Trying to kill old Solr process, PID: " + pid); //NON-NLS
|
||||
logger.log(Level.INFO, "Trying to kill old Solr process, PID: {0}", pid); //NON-NLS
|
||||
PlatformUtil.killProcess(pid);
|
||||
}
|
||||
}
|
||||
@ -399,22 +383,12 @@ public class Server {
|
||||
}
|
||||
}
|
||||
|
||||
logger.log(Level.INFO, "Starting Solr server from: " + solrFolder.getAbsolutePath()); //NON-NLS
|
||||
logger.log(Level.INFO, "Starting Solr server from: {0}", solrFolder.getAbsolutePath()); //NON-NLS
|
||||
|
||||
if (isPortAvailable(currentSolrServerPort)) {
|
||||
logger.log(Level.INFO, "Port [" + currentSolrServerPort + "] available, starting Solr"); //NON-NLS
|
||||
logger.log(Level.INFO, "Port [{0}] available, starting Solr", currentSolrServerPort); //NON-NLS
|
||||
try {
|
||||
final String MAX_SOLR_MEM_MB_PAR = "-Xmx" + Integer.toString(MAX_SOLR_MEM_MB) + "m"; //NON-NLS
|
||||
|
||||
// String loggingPropertiesOpt = "-Djava.util.logging.config.file="; //NON-NLS
|
||||
// String loggingPropertiesFilePath = instanceDir + File.separator + "conf" + File.separator; //NON-NLS
|
||||
//
|
||||
// if (DEBUG) {
|
||||
// loggingPropertiesFilePath += "logging-development.properties"; //NON-NLS
|
||||
// } else {
|
||||
// loggingPropertiesFilePath += "logging-release.properties"; //NON-NLS
|
||||
// }
|
||||
// final String loggingProperties = loggingPropertiesOpt + loggingPropertiesFilePath;
|
||||
List<String> commandLine = new ArrayList<>();
|
||||
commandLine.add(javaPath);
|
||||
commandLine.add(MAX_SOLR_MEM_MB_PAR);
|
||||
@ -434,7 +408,7 @@ public class Server {
|
||||
Path solrStderrPath = Paths.get(Places.getUserDirectory().getAbsolutePath(), "var", "log", "solr.log.stderr");
|
||||
solrProcessBuilder.redirectError(solrStderrPath.toFile());
|
||||
|
||||
logger.log(Level.INFO, "Starting Solr using: " + solrProcessBuilder.command()); //NON-NLS
|
||||
logger.log(Level.INFO, "Starting Solr using: {0}", solrProcessBuilder.command()); //NON-NLS
|
||||
curSolrProcess = solrProcessBuilder.start();
|
||||
logger.log(Level.INFO, "Finished starting Solr"); //NON-NLS
|
||||
|
||||
@ -447,7 +421,7 @@ public class Server {
|
||||
}
|
||||
|
||||
final List<Long> pids = this.getSolrPIDs();
|
||||
logger.log(Level.INFO, "New Solr process PID: " + pids); //NON-NLS
|
||||
logger.log(Level.INFO, "New Solr process PID: {0}", pids); //NON-NLS
|
||||
} catch (SecurityException ex) {
|
||||
logger.log(Level.SEVERE, "Could not start Solr process!", ex); //NON-NLS
|
||||
throw new KeywordSearchModuleException(
|
||||
@ -526,7 +500,7 @@ public class Server {
|
||||
}
|
||||
|
||||
try {
|
||||
logger.log(Level.INFO, "Stopping Solr server from: " + solrFolder.getAbsolutePath()); //NON-NLS
|
||||
logger.log(Level.INFO, "Stopping Solr server from: {0}", solrFolder.getAbsolutePath()); //NON-NLS
|
||||
|
||||
//try graceful shutdown
|
||||
final String[] SOLR_STOP_CMD = {
|
||||
@ -613,10 +587,10 @@ public class Server {
|
||||
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
|
||||
/*
|
||||
* ** Convenience methods for use while we only open one case at a time ***
|
||||
*/
|
||||
private volatile Core currentCore = null;
|
||||
|
||||
synchronized void openCore() throws KeywordSearchModuleException {
|
||||
if (currentCore != null) {
|
||||
@ -1278,6 +1252,7 @@ public class Server {
|
||||
}
|
||||
|
||||
class ServerAction extends AbstractAction {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
@ -1289,11 +1264,12 @@ public class Server {
|
||||
* Exception thrown if solr port not available
|
||||
*/
|
||||
class SolrServerNoPortException extends SocketException {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* the port number that is not available
|
||||
*/
|
||||
private int port;
|
||||
private final int port;
|
||||
|
||||
SolrServerNoPortException(int port) {
|
||||
super(NbBundle.getMessage(Server.class, "Server.solrServerNoPortException.msg", port,
|
||||
|
@ -1,5 +1,5 @@
|
||||
#Updated by build script
|
||||
#Tue, 13 Oct 2015 17:00:33 -0400
|
||||
#Fri, 23 Oct 2015 09:28:23 -0400
|
||||
LBL_splash_window_title=Starting Autopsy
|
||||
SPLASH_HEIGHT=314
|
||||
SPLASH_WIDTH=538
|
||||
|
@ -1,4 +1,4 @@
|
||||
#Updated by build script
|
||||
#Tue, 13 Oct 2015 17:00:33 -0400
|
||||
#Fri, 23 Oct 2015 09:28:23 -0400
|
||||
CTL_MainWindow_Title=Autopsy 3.1.3
|
||||
CTL_MainWindow_Title_No_Project=Autopsy 3.1.3
|
||||
|
@ -1,4 +1,5 @@
|
||||
branding.token=autopsy
|
||||
nbjdk.active=JDK_1.8_66
|
||||
# Version of platform that is automatically downloaded
|
||||
# Note build.xml has similar definitions that should be kept in sync (manually)
|
||||
netbeans-plat-version=8.0.2
|
||||
@ -13,15 +14,12 @@ cluster.path=\
|
||||
${nbplatform.active.dir}/java:\
|
||||
${nbplatform.active.dir}/platform
|
||||
disabled.modules=\
|
||||
org.apache.tools.ant.module,\
|
||||
org.netbeans.api.debugger.jpda,\
|
||||
org.netbeans.api.java,\
|
||||
org.netbeans.api.maven,\
|
||||
org.netbeans.lib.nbjavac,\
|
||||
org.netbeans.libs.cglib,\
|
||||
org.netbeans.libs.javacapi,\
|
||||
org.netbeans.libs.javacimpl,\
|
||||
org.netbeans.libs.javafx,\
|
||||
org.netbeans.libs.springframework,\
|
||||
org.netbeans.modules.ant.browsetask,\
|
||||
org.netbeans.modules.ant.debugger,\
|
||||
@ -33,7 +31,6 @@ disabled.modules=\
|
||||
org.netbeans.modules.dbschema,\
|
||||
org.netbeans.modules.debugger.jpda,\
|
||||
org.netbeans.modules.debugger.jpda.ant,\
|
||||
org.netbeans.modules.debugger.jpda.js,\
|
||||
org.netbeans.modules.debugger.jpda.kit,\
|
||||
org.netbeans.modules.debugger.jpda.projects,\
|
||||
org.netbeans.modules.debugger.jpda.ui,\
|
||||
@ -46,8 +43,6 @@ disabled.modules=\
|
||||
org.netbeans.modules.form.nb,\
|
||||
org.netbeans.modules.form.refactoring,\
|
||||
org.netbeans.modules.hibernate,\
|
||||
org.netbeans.modules.hibernate4lib,\
|
||||
org.netbeans.modules.hibernatelib,\
|
||||
org.netbeans.modules.hudson.ant,\
|
||||
org.netbeans.modules.hudson.maven,\
|
||||
org.netbeans.modules.i18n,\
|
||||
@ -69,21 +64,16 @@ disabled.modules=\
|
||||
org.netbeans.modules.java.examples,\
|
||||
org.netbeans.modules.java.freeform,\
|
||||
org.netbeans.modules.java.guards,\
|
||||
org.netbeans.modules.java.helpset,\
|
||||
org.netbeans.modules.java.hints,\
|
||||
org.netbeans.modules.java.hints.declarative,\
|
||||
org.netbeans.modules.java.hints.declarative.test,\
|
||||
org.netbeans.modules.java.hints.legacy.spi,\
|
||||
org.netbeans.modules.java.hints.test,\
|
||||
org.netbeans.modules.java.hints.ui,\
|
||||
org.netbeans.modules.java.j2sedeploy,\
|
||||
org.netbeans.modules.java.j2seembedded,\
|
||||
org.netbeans.modules.java.j2seplatform,\
|
||||
org.netbeans.modules.java.j2seprofiles,\
|
||||
org.netbeans.modules.java.j2seproject,\
|
||||
org.netbeans.modules.java.kit,\
|
||||
org.netbeans.modules.java.lexer,\
|
||||
org.netbeans.modules.java.metrics,\
|
||||
org.netbeans.modules.java.navigation,\
|
||||
org.netbeans.modules.java.platform,\
|
||||
org.netbeans.modules.java.preprocessorbridge,\
|
||||
@ -95,7 +85,6 @@ disabled.modules=\
|
||||
org.netbeans.modules.java.sourceui,\
|
||||
org.netbeans.modules.java.testrunner,\
|
||||
org.netbeans.modules.javadoc,\
|
||||
org.netbeans.modules.javaee.injection,\
|
||||
org.netbeans.modules.javawebstart,\
|
||||
org.netbeans.modules.jellytools.java,\
|
||||
org.netbeans.modules.junit,\
|
||||
@ -116,8 +105,6 @@ disabled.modules=\
|
||||
org.netbeans.modules.maven.repository,\
|
||||
org.netbeans.modules.maven.search,\
|
||||
org.netbeans.modules.maven.spring,\
|
||||
org.netbeans.modules.nashorn.execution,\
|
||||
org.netbeans.modules.performance,\
|
||||
org.netbeans.modules.performance.java,\
|
||||
org.netbeans.modules.projectimport.eclipse.core,\
|
||||
org.netbeans.modules.projectimport.eclipse.j2se,\
|
||||
@ -130,8 +117,6 @@ disabled.modules=\
|
||||
org.netbeans.modules.websvc.jaxws21,\
|
||||
org.netbeans.modules.websvc.jaxws21api,\
|
||||
org.netbeans.modules.websvc.saas.codegen.java,\
|
||||
org.netbeans.modules.whitelist,\
|
||||
org.netbeans.modules.xml.jaxb,\
|
||||
org.netbeans.modules.xml.tools.java,\
|
||||
org.netbeans.spi.java.hints
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user