Bringing the Scan On Demand module up to latest APIs provided by NetBeans 7.0
authorJaroslav Tulach <jtulach@netbeans.org>
Thu, 10 Mar 2011 08:38:28 +0100
changeset 1731180cc318f59b8
parent 17310 77235f099ff6
child 17312 32e8e2f50c2d
Bringing the Scan On Demand module up to latest APIs provided by NetBeans 7.0
scanondemand/manifest.mf
scanondemand/nbproject/project.properties
scanondemand/nbproject/project.xml
scanondemand/src/org/netbeans/modules/scanondemand/Bundle.properties
scanondemand/src/org/netbeans/modules/scanondemand/NoIndexingActivity.java
scanondemand/src/org/netbeans/modules/scanondemand/RefreshAllAction.java
scanondemand/src/org/netbeans/modules/scanondemand/RefreshFolderAction.java
scanondemand/src/org/netbeans/modules/scanondemand/layer.xml
     1.1 --- a/scanondemand/manifest.mf	Wed Mar 09 19:14:56 2011 -0500
     1.2 +++ b/scanondemand/manifest.mf	Thu Mar 10 08:38:28 2011 +0100
     1.3 @@ -1,6 +1,5 @@
     1.4  Manifest-Version: 1.0
     1.5  OpenIDE-Module: org.netbeans.modules.scanondemand
     1.6  OpenIDE-Module-Install: org/netbeans/modules/scanondemand/Installer.class
     1.7 -OpenIDE-Module-Layer: org/netbeans/modules/scanondemand/layer.xml
     1.8  OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/scanondemand/Bundle.properties
     1.9  AutoUpdate-Show-In-Client: true
     2.1 --- a/scanondemand/nbproject/project.properties	Wed Mar 09 19:14:56 2011 -0500
     2.2 +++ b/scanondemand/nbproject/project.properties	Thu Mar 10 08:38:28 2011 +0100
     2.3 @@ -40,4 +40,4 @@
     2.4  javac.source=1.5
     2.5  javac.compilerargs=-Xlint -Xlint:-serial
     2.6  nbm.homepage=http://wiki.netbeans.org/ScanOnDemand
     2.7 -spec.version.base=1.15.0
     2.8 +spec.version.base=1.20
     3.1 --- a/scanondemand/nbproject/project.xml	Wed Mar 09 19:14:56 2011 -0500
     3.2 +++ b/scanondemand/nbproject/project.xml	Thu Mar 10 08:38:28 2011 +0100
     3.3 @@ -37,7 +37,7 @@
     3.4                      <build-prerequisite/>
     3.5                      <compile-dependency/>
     3.6                      <run-dependency>
     3.7 -                        <specification-version>7.8</specification-version>
     3.8 +                        <specification-version>7.28</specification-version>
     3.9                      </run-dependency>
    3.10                  </dependency>
    3.11                  <dependency>
    3.12 @@ -45,7 +45,7 @@
    3.13                      <build-prerequisite/>
    3.14                      <compile-dependency/>
    3.15                      <run-dependency>
    3.16 -                        <specification-version>7.21</specification-version>
    3.17 +                        <specification-version>7.44</specification-version>
    3.18                      </run-dependency>
    3.19                  </dependency>
    3.20                  <dependency>
     4.1 --- a/scanondemand/src/org/netbeans/modules/scanondemand/Bundle.properties	Wed Mar 09 19:14:56 2011 -0500
     4.2 +++ b/scanondemand/src/org/netbeans/modules/scanondemand/Bundle.properties	Thu Mar 10 08:38:28 2011 +0100
     4.3 @@ -1,13 +1,12 @@
     4.4 -Actions/System/org-netbeans-modules-scanondemand-RefreshAction.instance=Refresh All
     4.5 -CTL_RefreshAction=Refresh All
     4.6 -CTL_RefreshFolderAction=Refresh Folder
     4.7 +CTL_RefreshAction=&Refresh All
     4.8 +CTL_RefreshFolderAction=&Refresh Folder
     4.9  OpenIDE-Module-Long-Description=\
    4.10      With this module you can get more control over the scanning your IDE performs to keep internal information about your sources up to date.\n\n\
    4.11 -    This module disables automatic scanning on start and after the main window gets focus. \
    4.12 -    Instead you need to do it manually by invokig "refresh" action from various menus.\n\n\
    4.13 +    This module disables automatic scanning on start and after activation of main window (however the IDE continues to listens on changes in sources via native \
    4.14 +    file system listeners). \
    4.15 +    In case your IDE indices get out of data, you need to refresh them manually by invoking "refresh" action from various menus.\n\n\
    4.16      Alternatively you can also create a configuration file and prevent changes in these files to trigger rescan.
    4.17  OpenIDE-Module-Name=Scan On Demand
    4.18  OpenIDE-Module-Display-Category=Infrastructure
    4.19  
    4.20  OpenIDE-Module-Short-Description=Are seeking for a way to control source scanning?
    4.21 -refreshFolder=Refresh Folder
     5.1 --- a/scanondemand/src/org/netbeans/modules/scanondemand/NoIndexingActivity.java	Wed Mar 09 19:14:56 2011 -0500
     5.2 +++ b/scanondemand/src/org/netbeans/modules/scanondemand/NoIndexingActivity.java	Thu Mar 10 08:38:28 2011 +0100
     5.3 @@ -50,7 +50,6 @@
     5.4  import java.util.regex.Pattern;
     5.5  import org.netbeans.modules.parsing.impl.indexing.friendapi.IndexingActivityInterceptor;
     5.6  import org.openide.filesystems.FileEvent;
     5.7 -import org.openide.util.Exceptions;
     5.8  import org.openide.util.NbPreferences;
     5.9  import org.openide.util.lookup.ServiceProvider;
    5.10  
    5.11 @@ -60,7 +59,7 @@
    5.12   * @author Pavel Flaska
    5.13   */
    5.14  @ServiceProvider(service=IndexingActivityInterceptor.class)
    5.15 -public class NoIndexingActivity implements IndexingActivityInterceptor, PreferenceChangeListener {
    5.16 +public final class NoIndexingActivity implements IndexingActivityInterceptor, PreferenceChangeListener {
    5.17      static final Logger LOG = Logger.getLogger(NoIndexingActivity.class.getPackage().getName());
    5.18  
    5.19      private final Preferences includeExclude = NbPreferences.forModule(NoIndexingActivity.class);
     6.1 --- a/scanondemand/src/org/netbeans/modules/scanondemand/RefreshAllAction.java	Wed Mar 09 19:14:56 2011 -0500
     6.2 +++ b/scanondemand/src/org/netbeans/modules/scanondemand/RefreshAllAction.java	Thu Mar 10 08:38:28 2011 +0100
     6.3 @@ -46,18 +46,19 @@
     6.4  import org.netbeans.api.project.Project;
     6.5  import org.netbeans.api.project.ui.OpenProjects;
     6.6  import org.netbeans.modules.parsing.api.indexing.IndexingManager;
     6.7 +import org.openide.awt.ActionID;
     6.8 +import org.openide.awt.ActionReference;
     6.9 +import org.openide.awt.ActionRegistration;
    6.10  import org.openide.filesystems.FileUtil;
    6.11 -import org.openide.util.RequestProcessor;
    6.12  
    6.13 -public final class RefreshAllAction implements ActionListener, Runnable {
    6.14  
    6.15 -    private static Logger TIMER = Logger.getLogger("TIMER.RefreshAllAction");
    6.16 +@ActionID(id = "org.netbeans.modules.scanondemand.RefreshAllAction", category = "System")
    6.17 +@ActionRegistration(iconInMenu = true, displayName = "#CTL_RefreshAction", asynchronous=true)
    6.18 +@ActionReference(path = "Menu/File", name = "org-netbeans-modules-scanondemand-RefreshAction", position = 1850, separatorAfter=1875)
    6.19 +public final class RefreshAllAction implements ActionListener {
    6.20 +    private static final Logger TIMER = Logger.getLogger("TIMER.RefreshAllAction");
    6.21  
    6.22      public void actionPerformed(ActionEvent e) {
    6.23 -        RequestProcessor.getDefault().post(this);
    6.24 -    }
    6.25 -
    6.26 -    public void run() {
    6.27          long start = System.currentTimeMillis();
    6.28          FileUtil.refreshAll();
    6.29          for (Project p : OpenProjects.getDefault().getOpenProjects()) {
     7.1 --- a/scanondemand/src/org/netbeans/modules/scanondemand/RefreshFolderAction.java	Wed Mar 09 19:14:56 2011 -0500
     7.2 +++ b/scanondemand/src/org/netbeans/modules/scanondemand/RefreshFolderAction.java	Thu Mar 10 08:38:28 2011 +0100
     7.3 @@ -44,13 +44,18 @@
     7.4  import java.net.MalformedURLException;
     7.5  import java.util.List;
     7.6  import org.netbeans.modules.parsing.api.indexing.IndexingManager;
     7.7 +import org.openide.awt.ActionID;
     7.8 +import org.openide.awt.ActionReference;
     7.9 +import org.openide.awt.ActionRegistration;
    7.10  import org.openide.filesystems.FileObject;
    7.11  import org.openide.filesystems.FileUtil;
    7.12  import org.openide.loaders.DataFolder;
    7.13  import org.openide.util.Exceptions;
    7.14  
    7.15 +@ActionID(category="System", id="org.netbeans.modules.scanondemand.RefreshFolderAction")
    7.16 +@ActionRegistration(displayName="#CTL_RefreshFolderAction", asynchronous=true)
    7.17 +@ActionReference(path="Loaders/folder/any/Actions/", position=1525)
    7.18  public final class RefreshFolderAction implements ActionListener {
    7.19 -
    7.20      private final List<DataFolder> context;
    7.21  
    7.22      public RefreshFolderAction(List<DataFolder> context) {
     8.1 --- a/scanondemand/src/org/netbeans/modules/scanondemand/layer.xml	Wed Mar 09 19:14:56 2011 -0500
     8.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.3 @@ -1,51 +0,0 @@
     8.4 -<?xml version="1.0" encoding="UTF-8"?>
     8.5 -<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
     8.6 -<filesystem>
     8.7 -    <folder name="Actions">
     8.8 -        <folder name="System">
     8.9 -            <file name="org-netbeans-modules-scanondemand-RefreshAllAction.instance">
    8.10 -                <attr name="SystemFileSystem.localizingBundle" stringvalue="org.netbeans.modules.scanondemand.Bundle"/>
    8.11 -                <attr name="delegate" newvalue="org.netbeans.modules.scanondemand.RefreshAllAction"/>
    8.12 -                <attr name="displayName" bundlevalue="org.netbeans.modules.scanondemand.Bundle#CTL_RefreshAction"/>
    8.13 -                <attr name="instanceCreate" methodvalue="org.openide.awt.Actions.alwaysEnabled"/>
    8.14 -                <attr name="noIconInMenu" boolvalue="false"/>
    8.15 -            </file>
    8.16 -            <file name="org-netbeans-modules-scanondemand-RefreshFolderAction.instance">
    8.17 -                <attr name="delegate" methodvalue="org.openide.awt.Actions.inject"/>
    8.18 -                <attr name="displayName" bundlevalue="org.netbeans.modules.scanondemand.Bundle#CTL_RefreshFolderAction"/>
    8.19 -                <attr name="injectable" stringvalue="org.netbeans.modules.scanondemand.RefreshFolderAction"/>
    8.20 -                <attr name="instanceCreate" methodvalue="org.openide.awt.Actions.context"/>
    8.21 -                <attr name="noIconInMenu" boolvalue="false"/>
    8.22 -                <attr name="selectionType" stringvalue="ANY"/>
    8.23 -                <attr name="type" stringvalue="org.openide.loaders.DataFolder"/>
    8.24 -                <attr name="asynchronous" boolvalue="true"/>
    8.25 -            </file>
    8.26 -        </folder>
    8.27 -    </folder>
    8.28 -    <folder name="Menu">
    8.29 -        <folder name="File">
    8.30 -            <file name="org-netbeans-modules-scanondemand-RefreshAction-separatorAfter.instance">
    8.31 -                <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
    8.32 -                <attr name="position" intvalue="1875"/>
    8.33 -            </file>
    8.34 -            <file name="org-netbeans-modules-scanondemand-RefreshAction.shadow">
    8.35 -                <attr name="originalFile" stringvalue="Actions/System/org-netbeans-modules-scanondemand-RefreshAllAction.instance"/>
    8.36 -                <attr name="position" intvalue="1850"/>
    8.37 -            </file>
    8.38 -        </folder>
    8.39 -    </folder>
    8.40 -    
    8.41 -    <folder name="Loaders">
    8.42 -        <folder name="folder">
    8.43 -            <folder name="any">
    8.44 -                <folder name="Actions">
    8.45 -                    <file name="org-netbeans-modules-scanondemand-RefreshFolderAction.shadow">
    8.46 -                        <attr name="originalFile" stringvalue="Actions/System/org-netbeans-modules-scanondemand-RefreshFolderAction.instance"/>
    8.47 -                        <attr name="position" intvalue="1525"/>
    8.48 -                    </file>
    8.49 -                </folder>
    8.50 -            </folder>
    8.51 -        </folder>
    8.52 -    </folder>
    8.53 -    
    8.54 -</filesystem>