You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by lk...@apache.org on 2022/04/19 15:38:00 UTC

[netbeans] branch master updated: Fix WeakListener usage in Gradle modules

This is an automated email from the ASF dual-hosted git repository.

lkishalmi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git


The following commit(s) were added to refs/heads/master by this push:
     new dc859714ee Fix WeakListener usage in Gradle modules
dc859714ee is described below

commit dc859714eedc8eb723372aa324703229a4116f26
Author: Laszlo Kishalmi <la...@gmail.com>
AuthorDate: Mon Apr 18 08:26:53 2022 -0700

    Fix WeakListener usage in Gradle modules
---
 .../src/org/netbeans/modules/gradle/GradleProjectConnection.java    | 2 +-
 .../modules/gradle/actions/ProjectActionMappingProviderImpl.java    | 2 +-
 .../src/org/netbeans/modules/gradle/nodes/SubProjectsNode.java      | 6 ++++--
 .../modules/gradle/java/classpath/AbstractGradleClassPathImpl.java  | 2 +-
 .../modules/gradle/java/classpath/ClassPathProviderImpl.java        | 4 ++--
 .../org/netbeans/modules/gradle/java/nodes/BootCPNodeFactory.java   | 2 +-
 .../modules/gradle/java/queries/GradleCompilerOptionsQuery.java     | 5 ++---
 .../netbeans/modules/gradle/java/queries/GradleSourceForBinary.java | 2 +-
 .../netbeans/modules/gradle/java/queries/GradleSourceLevelImpl.java | 2 +-
 9 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/extide/gradle/src/org/netbeans/modules/gradle/GradleProjectConnection.java b/extide/gradle/src/org/netbeans/modules/gradle/GradleProjectConnection.java
index 768490c282..b0a40c65fa 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/GradleProjectConnection.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/GradleProjectConnection.java
@@ -121,7 +121,7 @@ public final class GradleProjectConnection implements ProjectConnection {
             GradleConnector gconn = GradleConnector.newConnector();
             GradleDistributionProvider pvd = project.getLookup().lookup(GradleDistributionProvider.class);
             if (pvd != null) {
-                pvd.addChangeListener(WeakListeners.change(listener, null));
+                pvd.addChangeListener(WeakListeners.change(listener, pvd));
                 GradleDistribution dist = pvd.getGradleDistribution();
                 if (dist != null) {
                     conn = createConnection(dist, projectDir);
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/actions/ProjectActionMappingProviderImpl.java b/extide/gradle/src/org/netbeans/modules/gradle/actions/ProjectActionMappingProviderImpl.java
index 58f296cb51..8baddce9c6 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/actions/ProjectActionMappingProviderImpl.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/actions/ProjectActionMappingProviderImpl.java
@@ -78,7 +78,7 @@ public class ProjectActionMappingProviderImpl implements ProjectActionMappingPro
                 }
             }
         };
-        NbGradleProject.addPropertyChangeListener(project, WeakListeners.propertyChange(pcl, null));
+        NbGradleProject.addPropertyChangeListener(project, WeakListeners.propertyChange(pcl, NbGradleProject.get(project)));
         File projectDir = FileUtil.toFile(project.getProjectDirectory());
         projectMappingFile = new File(projectDir, GradleFiles.GRADLE_PROPERTIES_NAME);
         loadProjectCustomMappings();
diff --git a/extide/gradle/src/org/netbeans/modules/gradle/nodes/SubProjectsNode.java b/extide/gradle/src/org/netbeans/modules/gradle/nodes/SubProjectsNode.java
index 1aed38b5fd..234ca9925d 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/nodes/SubProjectsNode.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/nodes/SubProjectsNode.java
@@ -53,6 +53,7 @@ import java.util.Set;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.prefs.PreferenceChangeListener;
+import java.util.prefs.Preferences;
 import org.netbeans.api.project.ProjectUtils;
 import org.netbeans.modules.gradle.api.GradleBaseProject;
 import org.netbeans.modules.gradle.spi.GradleSettings;
@@ -124,14 +125,15 @@ public class SubProjectsNode extends AbstractNode {
                     refresh(false);
                 }
             };
-            NbGradleProject.addPropertyChangeListener(project, WeakListeners.propertyChange(propListener, proj));
+            NbGradleProject.addPropertyChangeListener(project, WeakListeners.propertyChange(propListener, NbGradleProject.get(project)));
 
             prefListener = (evt) -> {
                 if (GradleSettings.PROP_DISPLAY_DESCRIPTION.equals(evt.getKey())) {
                     refresh(false);
                 }
             };
-            GradleSettings.getDefault().getPreferences().addPreferenceChangeListener(WeakListeners.create(PreferenceChangeListener.class, prefListener, null));
+            Preferences prefs = GradleSettings.getDefault().getPreferences();
+            prefs.addPreferenceChangeListener(WeakListeners.create(PreferenceChangeListener.class, prefListener, prefs));
         }
 
         @Override
diff --git a/java/gradle.java/src/org/netbeans/modules/gradle/java/classpath/AbstractGradleClassPathImpl.java b/java/gradle.java/src/org/netbeans/modules/gradle/java/classpath/AbstractGradleClassPathImpl.java
index dce286de1d..303f5c6a43 100644
--- a/java/gradle.java/src/org/netbeans/modules/gradle/java/classpath/AbstractGradleClassPathImpl.java
+++ b/java/gradle.java/src/org/netbeans/modules/gradle/java/classpath/AbstractGradleClassPathImpl.java
@@ -76,7 +76,7 @@ abstract class AbstractGradleClassPathImpl implements FlaggedClassPathImplementa
             }
             support.firePropertyChange(FlaggedClassPathImplementation.PROP_FLAGS, null, null);
         };
-        watcher.addPropertyChangeListener(WeakListeners.propertyChange(listener, null));
+        watcher.addPropertyChangeListener(WeakListeners.propertyChange(listener, watcher));
     }
 
     @Override
diff --git a/java/gradle.java/src/org/netbeans/modules/gradle/java/classpath/ClassPathProviderImpl.java b/java/gradle.java/src/org/netbeans/modules/gradle/java/classpath/ClassPathProviderImpl.java
index 9003585693..70fbc148fe 100644
--- a/java/gradle.java/src/org/netbeans/modules/gradle/java/classpath/ClassPathProviderImpl.java
+++ b/java/gradle.java/src/org/netbeans/modules/gradle/java/classpath/ClassPathProviderImpl.java
@@ -90,13 +90,13 @@ public final class ClassPathProviderImpl extends ProjectOpenedHook implements Cl
                 updateResources(uri);
             }
         };
-        this.wPcl = WeakListeners.propertyChange(pcl, null, project);
         // by some miracle, the project might have been loaded!
         NbGradleProject gp = NbGradleProject.get(project);
+        this.wPcl = WeakListeners.propertyChange(pcl, null, gp);
         if (gp.isGradleProjectLoaded()) {
             updateGroups();
         }
-        NbGradleProject.addPropertyChangeListener(project, wPcl);
+        gp.addPropertyChangeListener(wPcl);
     }
     
     private void updateResources(URI uri) {
diff --git a/java/gradle.java/src/org/netbeans/modules/gradle/java/nodes/BootCPNodeFactory.java b/java/gradle.java/src/org/netbeans/modules/gradle/java/nodes/BootCPNodeFactory.java
index ff99904ca2..f78199253f 100644
--- a/java/gradle.java/src/org/netbeans/modules/gradle/java/nodes/BootCPNodeFactory.java
+++ b/java/gradle.java/src/org/netbeans/modules/gradle/java/nodes/BootCPNodeFactory.java
@@ -384,7 +384,7 @@ public class BootCPNodeFactory implements NodeFactory {
             Preferences prefs = NbGradleProject.getPreferences(project, false);
             prefs.addPreferenceChangeListener(
                     WeakListeners.create(PreferenceChangeListener.class, this, prefs));
-            NbGradleProject.addPropertyChangeListener(project, WeakListeners.propertyChange(this,project));
+            NbGradleProject.addPropertyChangeListener(project, WeakListeners.propertyChange(this, NbGradleProject.get(project)));
             
             if (this.boot != null) {
                 this.boot.addPropertyChangeListener(WeakListeners.propertyChange(this, this.boot));
diff --git a/java/gradle.java/src/org/netbeans/modules/gradle/java/queries/GradleCompilerOptionsQuery.java b/java/gradle.java/src/org/netbeans/modules/gradle/java/queries/GradleCompilerOptionsQuery.java
index 03e36f8384..286e5553b7 100644
--- a/java/gradle.java/src/org/netbeans/modules/gradle/java/queries/GradleCompilerOptionsQuery.java
+++ b/java/gradle.java/src/org/netbeans/modules/gradle/java/queries/GradleCompilerOptionsQuery.java
@@ -49,9 +49,8 @@ public final class GradleCompilerOptionsQuery implements CompilerOptionsQueryImp
 
     public GradleCompilerOptionsQuery(Project project) {
         this.project = project;
-        final NbGradleProject watcher = NbGradleProject.get(project);
         listener = (evt) -> {
-            if (watcher.isUnloadable()) return;
+            if (NbGradleProject.get(project).isUnloadable()) return;
             if (NbGradleProject.PROP_PROJECT_INFO.equals(evt.getPropertyName())) {
                 //TODO: How shall we handle source set removal?
                 synchronized(GradleCompilerOptionsQuery.this) {
@@ -61,7 +60,7 @@ public final class GradleCompilerOptionsQuery implements CompilerOptionsQueryImp
                 }
             }
         };
-        watcher.addPropertyChangeListener(WeakListeners.propertyChange(listener, project));
+        NbGradleProject.addPropertyChangeListener(project, WeakListeners.propertyChange(listener, NbGradleProject.get(project)));
     }
 
     @Override
diff --git a/java/gradle.java/src/org/netbeans/modules/gradle/java/queries/GradleSourceForBinary.java b/java/gradle.java/src/org/netbeans/modules/gradle/java/queries/GradleSourceForBinary.java
index e342089e60..e27921c790 100644
--- a/java/gradle.java/src/org/netbeans/modules/gradle/java/queries/GradleSourceForBinary.java
+++ b/java/gradle.java/src/org/netbeans/modules/gradle/java/queries/GradleSourceForBinary.java
@@ -132,7 +132,7 @@ public class GradleSourceForBinary implements SourceForBinaryQueryImplementation
                     support.fireChange();
                 }
             };
-            NbGradleProject.get(project).addPropertyChangeListener(WeakListeners.propertyChange(listener, project));
+            NbGradleProject.addPropertyChangeListener(project, WeakListeners.propertyChange(listener, NbGradleProject.get(project)));
         }
 
         @Override
diff --git a/java/gradle.java/src/org/netbeans/modules/gradle/java/queries/GradleSourceLevelImpl.java b/java/gradle.java/src/org/netbeans/modules/gradle/java/queries/GradleSourceLevelImpl.java
index dfa4870998..f06cc23304 100644
--- a/java/gradle.java/src/org/netbeans/modules/gradle/java/queries/GradleSourceLevelImpl.java
+++ b/java/gradle.java/src/org/netbeans/modules/gradle/java/queries/GradleSourceLevelImpl.java
@@ -78,7 +78,7 @@ public class GradleSourceLevelImpl implements SourceLevelQueryImplementation2 {
 
         private final FileObject javaFile;
         private final ChangeSupport cs = new ChangeSupport(this);
-        private final PropertyChangeListener pcl = WeakListeners.propertyChange(this, project.getLookup().lookup(NbGradleProject.class));
+        private final PropertyChangeListener pcl = WeakListeners.propertyChange(this, NbGradleProject.get(project));
         private String cachedLevel = null;
         private SourceLevelQuery.Profile cachedProfile;
         private final Object CACHE_LOCK = new Object();


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists