diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/Bundle.properties b/Core/src/org/sleuthkit/autopsy/casemodule/Bundle.properties index fe99087269..ccba954c84 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/casemodule/Bundle.properties @@ -193,8 +193,6 @@ 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. 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 NewCaseWizardAction.newCase.windowTitle.text=New Case Information NewCaseWizardAction.getName.text=New Case Wizard NewCaseWizardAction.databaseProblem1.text=Cannot open database. Cancelling case creation. @@ -264,3 +262,5 @@ CasePropertiesForm.tbDbType.text= CasePropertiesForm.lbDbName.text=Database Name: CasePropertiesForm.tbDbName.text= CaseExceptionWarning.CheckMultiUserOptions=Check Multi-user options. +CloseCaseWhileIngesting.Warning=Ingest is running. Are you sure you want to close the case? +CloseCaseWhileIngesting.Warning.title=Warning\: This will close the current case diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/CaseCloseAction.java b/Core/src/org/sleuthkit/autopsy/casemodule/CaseCloseAction.java index 1fc7c79575..ce97a09c9d 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/CaseCloseAction.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/CaseCloseAction.java @@ -28,6 +28,14 @@ import org.openide.util.HelpCtx; import org.openide.util.NbBundle; import org.openide.util.actions.CallableSystemAction; import org.openide.util.actions.Presenter; +import org.sleuthkit.autopsy.coreutils.Logger; +import org.sleuthkit.autopsy.ingest.IngestManager; +import java.util.logging.Level; +import org.openide.DialogDescriptor; +import org.openide.DialogDisplayer; +import org.openide.NotifyDescriptor; +import org.openide.windows.WindowManager; +import java.awt.Cursor; /** * The action to close the current Case. This class should be disabled on @@ -57,10 +65,32 @@ public final class CaseCloseAction extends CallableSystemAction implements Prese */ @Override public void actionPerformed(ActionEvent e) { + + // if ingest is ongoing, warn and get confirmaion before opening a different case + if (IngestManager.getInstance().isIngestRunning()) { + // show the confirmation first to close the current case and open the "New Case" wizard panel + String closeCurrentCase = NbBundle.getMessage(this.getClass(), "CloseCaseWhileIngesting.Warning"); + NotifyDescriptor descriptor = new NotifyDescriptor.Confirmation(closeCurrentCase, + NbBundle.getMessage(this.getClass(), "CloseCaseWhileIngesting.Warning.title"), + NotifyDescriptor.YES_NO_OPTION, NotifyDescriptor.WARNING_MESSAGE); + descriptor.setValue(NotifyDescriptor.NO_OPTION); + + Object res = DialogDisplayer.getDefault().notify(descriptor); + if (res != null && res == DialogDescriptor.YES_OPTION) { + try { + Case.getCurrentCase().closeCase(); // close the current case + } catch (Exception ex) { + Logger.getLogger(NewCaseWizardAction.class.getName()).log(Level.WARNING, "Error closing case.", ex); //NON-NLS + } + } else { + return; + } + } + if (Case.existsCurrentCase() == false) { return; } - + WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); new SwingWorker() { @Override @@ -76,6 +106,7 @@ public final class CaseCloseAction extends CallableSystemAction implements Prese @Override protected void done() { + WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); StartupWindowProvider.getInstance().open(); } }.execute(); diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java b/Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java index 2a03307cf5..63ddefebf8 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java @@ -32,6 +32,12 @@ import org.openide.util.lookup.ServiceProvider; import org.openide.windows.WindowManager; import org.sleuthkit.autopsy.coreutils.ModuleSettings; import org.sleuthkit.autopsy.coreutils.Version; +import org.openide.DialogDescriptor; +import org.openide.DialogDisplayer; +import org.openide.NotifyDescriptor; +import org.sleuthkit.autopsy.coreutils.Logger; +import java.util.logging.Level; +import org.sleuthkit.autopsy.ingest.IngestManager; /** * An action that opens an existing case. @@ -65,6 +71,28 @@ public final class CaseOpenAction implements ActionListener { */ @Override public void actionPerformed(ActionEvent e) { + + // if ingest is ongoing, warn and get confirmaion before opening a different case + if (IngestManager.getInstance().isIngestRunning()) { + // show the confirmation first to close the current case and open the "New Case" wizard panel + String closeCurrentCase = NbBundle.getMessage(this.getClass(), "CloseCaseWhileIngesting.Warning"); + NotifyDescriptor descriptor = new NotifyDescriptor.Confirmation(closeCurrentCase, + NbBundle.getMessage(this.getClass(), "CloseCaseWhileIngesting.Warning.title"), + NotifyDescriptor.YES_NO_OPTION, NotifyDescriptor.WARNING_MESSAGE); + descriptor.setValue(NotifyDescriptor.NO_OPTION); + + Object res = DialogDisplayer.getDefault().notify(descriptor); + if (res != null && res == DialogDescriptor.YES_OPTION) { + try { + Case.getCurrentCase().closeCase(); // close the current case + } catch (Exception ex) { + Logger.getLogger(NewCaseWizardAction.class.getName()).log(Level.WARNING, "Error closing case.", ex); //NON-NLS + } + } else { + return; + } + } + /** * Pop up a file chooser to allow the user to select a case meta data * file (.aut file) @@ -101,7 +129,7 @@ public final class CaseOpenAction implements ActionListener { StartupWindowProvider.getInstance().open(); } }); - } + } }).start(); } } diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/NewCaseWizardAction.java b/Core/src/org/sleuthkit/autopsy/casemodule/NewCaseWizardAction.java index 09659fcefa..491f66ba5e 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/NewCaseWizardAction.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/NewCaseWizardAction.java @@ -39,15 +39,9 @@ import javax.swing.JOptionPane; import org.sleuthkit.autopsy.casemodule.Case.CaseType; 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; +import org.sleuthkit.autopsy.ingest.IngestManager; /** * Action to open the New Case wizard. @@ -62,29 +56,30 @@ final class NewCaseWizardAction extends CallableSystemAction { @Override public void performAction() { - // there's a case open - if (Case.existsCurrentCase()) { - // show the confirmation first to close the current case and open the "New Case" wizard panel - String closeCurrentCase = NbBundle - .getMessage(this.getClass(), "NewCaseWizardAction.closeCurCase.confMsg.msg"); - NotifyDescriptor d = new NotifyDescriptor.Confirmation(closeCurrentCase, - NbBundle.getMessage(this.getClass(), - "NewCaseWizardAction.closeCurCase.confMsg.title"), - NotifyDescriptor.YES_NO_OPTION, NotifyDescriptor.WARNING_MESSAGE); - d.setValue(NotifyDescriptor.NO_OPTION); - Object res = DialogDisplayer.getDefault().notify(d); + // if ingest is ongoing, warn and get confirmaion before opening a different case + if (IngestManager.getInstance().isIngestRunning()) { + // show the confirmation first to close the current case and open the "New Case" wizard panel + String closeCurrentCase = NbBundle.getMessage(this.getClass(), "CloseCaseWhileIngesting.Warning"); + NotifyDescriptor descriptor = new NotifyDescriptor.Confirmation(closeCurrentCase, + NbBundle.getMessage(this.getClass(), "CloseCaseWhileIngesting.Warning.title"), + NotifyDescriptor.YES_NO_OPTION, NotifyDescriptor.WARNING_MESSAGE); + descriptor.setValue(NotifyDescriptor.NO_OPTION); + + Object res = DialogDisplayer.getDefault().notify(descriptor); if (res != null && res == DialogDescriptor.YES_OPTION) { try { Case.getCurrentCase().closeCase(); // close the current case - newCaseAction(); // start the new case creation process } catch (Exception ex) { Logger.getLogger(NewCaseWizardAction.class.getName()).log(Level.WARNING, "Error closing case.", ex); //NON-NLS } + } else { + return; } - } else { - newCaseAction(); } + + WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); + newCaseAction(); // start the new case creation process } /** @@ -120,6 +115,8 @@ final class NewCaseWizardAction extends CallableSystemAction { 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(); AddImageAction addImageAction = SystemAction.get(AddImageAction.class); addImageAction.actionPerformed(null); } catch (Exception ex) { diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/RecentItems.java b/Core/src/org/sleuthkit/autopsy/casemodule/RecentItems.java index 7782ba6230..8e9c989d5a 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/RecentItems.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/RecentItems.java @@ -28,6 +28,12 @@ import javax.swing.SwingUtilities; import org.openide.util.NbBundle; import org.openide.windows.WindowManager; import java.awt.Cursor; +import java.util.logging.Level; +import org.openide.DialogDescriptor; +import org.openide.DialogDisplayer; +import org.openide.NotifyDescriptor; +import org.sleuthkit.autopsy.coreutils.Logger; +import org.sleuthkit.autopsy.ingest.IngestManager; /** * This class is used to add the action to the recent case menu item. When the @@ -54,6 +60,28 @@ class RecentItems implements ActionListener { */ @Override public void actionPerformed(ActionEvent e) { + + // if ingest is ongoing, warn and get confirmaion before opening a different case + if (IngestManager.getInstance().isIngestRunning()) { + // show the confirmation first to close the current case and open the "New Case" wizard panel + String closeCurrentCase = NbBundle.getMessage(this.getClass(), "CloseCaseWhileIngesting.Warning"); + NotifyDescriptor descriptor = new NotifyDescriptor.Confirmation(closeCurrentCase, + NbBundle.getMessage(this.getClass(), "CloseCaseWhileIngesting.Warning.title"), + NotifyDescriptor.YES_NO_OPTION, NotifyDescriptor.WARNING_MESSAGE); + descriptor.setValue(NotifyDescriptor.NO_OPTION); + + Object res = DialogDisplayer.getDefault().notify(descriptor); + if (res != null && res == DialogDescriptor.YES_OPTION) { + try { + Case.getCurrentCase().closeCase(); // close the current case + } catch (Exception ex) { + Logger.getLogger(NewCaseWizardAction.class.getName()).log(Level.WARNING, "Error closing case.", ex); //NON-NLS + } + } else { + return; + } + } + // check if the file exists if (caseName.equals("") || casePath.equals("") || (!new File(casePath).exists())) { // throw an error here diff --git a/Core/src/org/sleuthkit/autopsy/core/UserPreferences.java b/Core/src/org/sleuthkit/autopsy/core/UserPreferences.java index a9909593b0..03c97a0479 100755 --- a/Core/src/org/sleuthkit/autopsy/core/UserPreferences.java +++ b/Core/src/org/sleuthkit/autopsy/core/UserPreferences.java @@ -30,6 +30,7 @@ import javax.crypto.spec.PBEKeySpec; import javax.crypto.spec.PBEParameterSpec; import org.openide.util.NbBundle; import org.openide.util.NbPreferences; +import org.sleuthkit.autopsy.coreutils.PlatformUtil; import org.sleuthkit.datamodel.CaseDbConnectionInfo; import org.sleuthkit.datamodel.TskData.DbType; @@ -39,6 +40,7 @@ import org.sleuthkit.datamodel.TskData.DbType; */ public final class UserPreferences { + private static final boolean isWindowsOS = PlatformUtil.isWindowsOS(); private static final Preferences preferences = NbPreferences.forModule(UserPreferences.class); public static final String KEEP_PREFERRED_VIEWER = "KeepPreferredViewer"; // NON-NLS public static final String HIDE_KNOWN_FILES_IN_DATA_SOURCES_TREE = "HideKnownFilesInDataSourcesTree"; //NON-NLS @@ -177,6 +179,9 @@ public final class UserPreferences { } public static boolean getIsMultiUserModeEnabled() { + if (!isWindowsOS) { + return false; + } return preferences.getBoolean(IS_MULTI_USER_MODE_ENABLED, false); } diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties index d2522a3a81..6daf3f2a79 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties @@ -153,6 +153,7 @@ MultiUserSettingsPanel.lbSolrSettings.text=Solr Settings MultiUserSettingsPanel.cbEnableMultiUser.text=Enable Multi-user cases MultiUserSettingsPanel.lbDatabaseSettings.text=Database Settings MultiUserSettingsPanel.validationErrMsg.incomplete=Fill in all values +MultiUserSettingsPanel.nonWindowsOs.msg=Multi-user cases are only available on Windows platforms MultiUserSettingsPanel.validationErrMsg.invalidDatabasePort=Invalid database port number MultiUserSettingsPanel.validationErrMsg.invalidMessageServicePort=Invalid message service port number MultiUserSettingsPanel.validationErrMsg.invalidIndexingServerPort=Invalid Solr server port number diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/MultiUserSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/corecomponents/MultiUserSettingsPanel.java index 88ab83e5e2..c484771edf 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/MultiUserSettingsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/MultiUserSettingsPanel.java @@ -23,6 +23,7 @@ import javax.swing.ImageIcon; import org.openide.util.ImageUtilities; import org.openide.util.Lookup; import org.sleuthkit.autopsy.core.UserPreferencesException; +import org.sleuthkit.autopsy.coreutils.PlatformUtil; import org.sleuthkit.autopsy.events.MessageServiceException; import org.sleuthkit.autopsy.keywordsearchservice.KeywordSearchService; import org.sleuthkit.autopsy.keywordsearchservice.KeywordSearchServiceException; @@ -39,7 +40,7 @@ public final class MultiUserSettingsPanel extends javax.swing.JPanel { private static final String INVALID_DB_PORT_MSG = NbBundle.getMessage(MultiUserSettingsPanel.class, "MultiUserSettingsPanel.validationErrMsg.invalidDatabasePort"); private static final String INVALID_MESSAGE_SERVICE_PORT_MSG = NbBundle.getMessage(MultiUserSettingsPanel.class, "MultiUserSettingsPanel.validationErrMsg.invalidMessageServicePort"); private static final String INVALID_INDEXING_SERVER_PORT_MSG = NbBundle.getMessage(MultiUserSettingsPanel.class, "MultiUserSettingsPanel.validationErrMsg.invalidIndexingServerPort"); - private static final int DEFAULT_MESSAGE_SERVICE_PORT = 61616; + private static final String NON_WINDOWS_OS_MSG = NbBundle.getMessage(MultiUserSettingsPanel.class, "MultiUserSettingsPanel.nonWindowsOs.msg"); private static final long serialVersionUID = 1L; private final MultiUserSettingsPanelController controller; private final Collection textBoxes = new ArrayList<>(); @@ -47,6 +48,7 @@ public final class MultiUserSettingsPanel extends javax.swing.JPanel { private static final Logger logger = Logger.getLogger(MultiUserSettingsPanel.class.getName()); private final ImageIcon goodIcon; private final ImageIcon badIcon; + private static final boolean isWindowsOS = PlatformUtil.isWindowsOS(); /** * Creates new form AutopsyMultiUserSettingsPanel @@ -105,6 +107,10 @@ public final class MultiUserSettingsPanel extends javax.swing.JPanel { addDocumentListeners(textBoxes, textBoxChangedListener); goodIcon = new ImageIcon(ImageUtilities.loadImage("org/sleuthkit/autopsy/images/good.png", false)); badIcon = new ImageIcon(ImageUtilities.loadImage("org/sleuthkit/autopsy/images/bad.png", false)); + if (!isWindowsOS) { + cbEnableMultiUser.setEnabled(false); + cbEnableMultiUser.setSelected(false); + } enableMultiUserComponents(textBoxes, cbEnableMultiUser.isSelected()); } @@ -460,7 +466,11 @@ public final class MultiUserSettingsPanel extends javax.swing.JPanel { private void cbEnableMultiUserItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cbEnableMultiUserItemStateChanged if (!cbEnableMultiUser.isSelected()) { - tbOops.setText(""); + if (!isWindowsOS) { + tbOops.setText(NON_WINDOWS_OS_MSG); + } else { + tbOops.setText(""); + } bnTestDatabase.setEnabled(false); lbTestDatabase.setIcon(null); bnTestSolr.setEnabled(false); @@ -643,6 +653,10 @@ public final class MultiUserSettingsPanel extends javax.swing.JPanel { } void store() { + if (!isWindowsOS) { + return; + } + DbType dbType = DbType.SQLITE; if (cbEnableMultiUser.isSelected()) { @@ -694,7 +708,11 @@ public final class MultiUserSettingsPanel extends javax.swing.JPanel { * @return true if it's okay, false otherwise. */ boolean valid() { - tbOops.setText(""); + if (!isWindowsOS) { + tbOops.setText(NON_WINDOWS_OS_MSG); + } else { + tbOops.setText(""); + } if (cbEnableMultiUser.isSelected()) { return checkFieldsAndEnableButtons() diff --git a/docs/doxygen-user/android.dox b/docs/doxygen-user/android.dox index 04733581eb..b8ccf83dc9 100644 --- a/docs/doxygen-user/android.dox +++ b/docs/doxygen-user/android.dox @@ -6,7 +6,7 @@ The Android Analyzer module allows you to analyze SQLite and other files from an Simply add your physical images or file system dumps as data sources and enable the Android Analyzer module. -NOTE: This module is not exhaustive with its support for Android. It was created as a starting point for others to contribute plug-ins for 3rd party apps. See the Developer docs (http://sleuthkit.org/autopsy/docs/api-docs/3.1/mod_mobile_page.html) for information on writing modules. +NOTE: This module is not exhaustive with its support for Android. It was created as a starting point for others to contribute plug-ins for 3rd party apps. See the Developer docs (http://sleuthkit.org/autopsy/docs/api-docs/4.0/mod_mobile_page.html) for information on writing modules. Analysis diff --git a/docs/doxygen-user/android_analyzer.dox b/docs/doxygen-user/android_analyzer.dox index f23df9714c..0943bd05c9 100755 --- a/docs/doxygen-user/android_analyzer.dox +++ b/docs/doxygen-user/android_analyzer.dox @@ -18,7 +18,7 @@ The module should be able to extract the following: NOTE: These database formats vary by version of OS and different vendors can place the databases in different places. Autopsy may not support all versions and vendors. -NOTE: This module is not exhaustive with its support for Android. It was created as a starting point for others to contribute plug-ins for 3rd party apps. See the Developer docs for information on writing modules. +NOTE: This module is not exhaustive with its support for Android. It was created as a starting point for others to contribute plug-ins for 3rd party apps. See the Developer docs for information on writing modules. Configuration diff --git a/docs/doxygen-user/main.dox b/docs/doxygen-user/main.dox index e3ded15e32..aa8724840b 100644 --- a/docs/doxygen-user/main.dox +++ b/docs/doxygen-user/main.dox @@ -4,7 +4,7 @@ Overview ----- -This is the User's Guide for the open source Autopsy platform. Autopsy allows you to examine a hard drive or mobile device and recover evidence from it. This guide should help you with using Autopsy. The developer's guide will help you develop your own Autopsy modules. +This is the User's Guide for the open source Autopsy platform. Autopsy allows you to examine a hard drive or mobile device and recover evidence from it. This guide should help you with using Autopsy. The developer's guide will help you develop your own Autopsy modules. Autopsy 4 (and 3) are a complete rewrite from Autopsy 2, and none of this document is relevant to Autopsy 2. diff --git a/docs/doxygen/main.dox b/docs/doxygen/main.dox index 17ba30d6e7..9b4510f820 100755 --- a/docs/doxygen/main.dox +++ b/docs/doxygen/main.dox @@ -18,7 +18,7 @@ If you want to write modules, then these pages are for you: - \subpage mod_content_page - \subpage mod_result_page - \subpage adv_dev_page -- \subpage query_database_page +- Query the Database - \subpage mod_mobile_page These pages are more detailed if you want to modify Autopsy code instead of writing add-on modules. diff --git a/docs/doxygen/modIngest.dox b/docs/doxygen/modIngest.dox index 0f3d4a1ebb..4a88c317b0 100755 --- a/docs/doxygen/modIngest.dox +++ b/docs/doxygen/modIngest.dox @@ -43,7 +43,7 @@ ingest modules. \section ingest_modules_lifecycle Ingest Module Life Cycle -Before we dive into the details of creating a module, it is important to understand the life cycle of the module. Note that this life cycle is much different for Autopsy 3.1 modules compared to Autopsy 3.0 modules. This section only talks about 3.1 modules. +Before we dive into the details of creating a module, it is important to understand the life cycle of the module. Note that this life cycle is much different for Autopsy 3.1 and newer modules compared to Autopsy 3.0 modules. This section only talks about 3.1 and newer modules. You will need to implement at least two classes to make an ingest module: -# A factory class that will be created when Autopsy starts and will provide configuration panels to Autopsy and will create instances of your ingest module. @@ -319,7 +319,7 @@ databases from the hash databases manager. -\section ingest_modules_api_migration Migrating 3.0 Java Ingest Modules to the 3.1 API +\section ingest_modules_api_migration Migrating 3.0 Java Ingest Modules to the 3.1 and newer API This section is a guide for module developers who wrote modules for the 3.0 API. These API changes occurred so that we could make parallel pipelines of the file-level ingest modules. This section assumes you've read the above description of the new API. diff --git a/nbproject/platform.properties b/nbproject/platform.properties index b7dde1d50c..6c3e50c82d 100644 --- a/nbproject/platform.properties +++ b/nbproject/platform.properties @@ -1,5 +1,4 @@ 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 @@ -14,12 +13,15 @@ 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,\ @@ -31,6 +33,7 @@ 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,\ @@ -43,6 +46,8 @@ 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,\ @@ -64,16 +69,21 @@ 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,\ @@ -85,6 +95,7 @@ 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,\ @@ -105,6 +116,8 @@ 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,\ @@ -117,6 +130,7 @@ 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 + org.netbeans.spi.java.hints \ No newline at end of file