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