From 441e671d6f7f0ca8b502454e7288a38439e67530 Mon Sep 17 00:00:00 2001 From: Erwan Sturzenegger Date: Mon, 6 Nov 2023 07:53:48 +0100 Subject: [PATCH] Fix: False positives on the folder name Verification of the project in addition to the file --- .../src/net/nodj/autoderivplugin/rules/TreeRule.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/AutoDerivPlugin/src/net/nodj/autoderivplugin/rules/TreeRule.java b/AutoDerivPlugin/src/net/nodj/autoderivplugin/rules/TreeRule.java index 0d5603e..812ef0f 100644 --- a/AutoDerivPlugin/src/net/nodj/autoderivplugin/rules/TreeRule.java +++ b/AutoDerivPlugin/src/net/nodj/autoderivplugin/rules/TreeRule.java @@ -73,18 +73,20 @@ public void applyOnResource(IResource res, IProgressMonitor progress) { fits = member.equals(res); break; case IResource.PROJECT: + //If same project -> true + fits = res.getProject().equals(member); + break; case IResource.ROOT: fits = true; break; case IResource.FOLDER : IFolder f = (IFolder) member; -// info("TreeRule.applyOnResource() a " + f.exists(res.getLocation())); -// info("TreeRule.applyOnResource() b " + f.exists(res.getFullPath())); IPath rp = res.getProjectRelativePath(); IPath fp = f.getProjectRelativePath(); -// info("TreeRule.applyOnResource() c " + fp.isPrefixOf(rp)); -// info("TreeRule.applyOnResource() d " + (f.findMember(res.getLocation()) != null)); - fits = fp.isPrefixOf(rp); + + //Can be true only if the two folders are in the same project + boolean sameProject = res.getProject().equals(member.getProject()); + fits = fp.isPrefixOf(rp) && sameProject; break; default: // should not happen: resource is not supposed to be a project or /