mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
221109: Apply fix and add regression
This commit is contained in:
parent
6a00c11154
commit
90846e6bfa
2 changed files with 232 additions and 158 deletions
|
@ -13,10 +13,15 @@ package org.eclipse.cdt.ui.tests.text.doctools;
|
||||||
import junit.framework.Test;
|
import junit.framework.Test;
|
||||||
import junit.framework.TestSuite;
|
import junit.framework.TestSuite;
|
||||||
|
|
||||||
import org.eclipse.cdt.core.model.ICProject;
|
import org.eclipse.core.resources.IProject;
|
||||||
|
import org.eclipse.core.resources.IResource;
|
||||||
|
import org.eclipse.core.resources.ResourcesPlugin;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.core.model.CoreModel;
|
||||||
import org.eclipse.cdt.core.testplugin.CProjectHelper;
|
import org.eclipse.cdt.core.testplugin.CProjectHelper;
|
||||||
import org.eclipse.cdt.core.testplugin.util.BaseTestCase;
|
import org.eclipse.cdt.core.testplugin.util.BaseTestCase;
|
||||||
import org.eclipse.cdt.ui.text.doctools.IDocCommentOwner;
|
import org.eclipse.cdt.ui.text.doctools.IDocCommentOwner;
|
||||||
|
import org.eclipse.cdt.ui.text.doctools.IDocCommentOwnershipListener;
|
||||||
|
|
||||||
import org.eclipse.cdt.internal.ui.text.doctools.DocCommentOwnerManager;
|
import org.eclipse.cdt.internal.ui.text.doctools.DocCommentOwnerManager;
|
||||||
import org.eclipse.cdt.internal.ui.text.doctools.NullDocCommentOwner;
|
import org.eclipse.cdt.internal.ui.text.doctools.NullDocCommentOwner;
|
||||||
|
@ -30,14 +35,14 @@ public class CommentOwnerManagerTests extends BaseTestCase {
|
||||||
IDocCommentOwner OWNER_3;
|
IDocCommentOwner OWNER_3;
|
||||||
DocCommentOwnerManager manager;
|
DocCommentOwnerManager manager;
|
||||||
|
|
||||||
ICProject projectA, projectB, projectC;
|
IProject projectA, projectB, projectC;
|
||||||
|
|
||||||
protected void setUp() throws Exception {
|
protected void setUp() throws Exception {
|
||||||
manager= DocCommentOwnerManager.getInstance();
|
manager= DocCommentOwnerManager.getInstance();
|
||||||
|
|
||||||
projectA= CProjectHelper.createCCProject("projectA", null);
|
projectA= CProjectHelper.createCCProject("projectA", null).getProject();
|
||||||
projectB= CProjectHelper.createCCProject("projectB", null);
|
projectB= CProjectHelper.createCCProject("projectB", null).getProject();
|
||||||
projectC= CProjectHelper.createCCProject("projectC", null);
|
projectC= CProjectHelper.createCCProject("projectC", null).getProject();
|
||||||
|
|
||||||
IDocCommentOwner[] owners= manager.getRegisteredOwners();
|
IDocCommentOwner[] owners= manager.getRegisteredOwners();
|
||||||
OWNER_1= manager.getOwner("org.cdt.test.DCOM1");
|
OWNER_1= manager.getOwner("org.cdt.test.DCOM1");
|
||||||
|
@ -47,13 +52,13 @@ public class CommentOwnerManagerTests extends BaseTestCase {
|
||||||
|
|
||||||
protected void tearDown() throws Exception {
|
protected void tearDown() throws Exception {
|
||||||
if(projectA != null) {
|
if(projectA != null) {
|
||||||
CProjectHelper.delete(projectA);
|
CProjectHelper.delete(CoreModel.getDefault().create(projectA));
|
||||||
}
|
}
|
||||||
if(projectB != null) {
|
if(projectB != null) {
|
||||||
CProjectHelper.delete(projectB);
|
CProjectHelper.delete(CoreModel.getDefault().create(projectB));
|
||||||
}
|
}
|
||||||
if(projectC != null) {
|
if(projectC != null) {
|
||||||
CProjectHelper.delete(projectC);
|
CProjectHelper.delete(CoreModel.getDefault().create(projectC));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -62,57 +67,57 @@ public class CommentOwnerManagerTests extends BaseTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testProjectLevel() throws Exception {
|
public void testProjectLevel() throws Exception {
|
||||||
manager.setCommentOwner(projectA.getProject(), OWNER_3, true);
|
manager.setCommentOwner(projectA, OWNER_3, true);
|
||||||
manager.setCommentOwner(projectB.getProject(), OWNER_2, true);
|
manager.setCommentOwner(projectB, OWNER_2, true);
|
||||||
manager.setCommentOwner(projectC.getProject(), OWNER_1, true);
|
manager.setCommentOwner(projectC, OWNER_1, true);
|
||||||
|
|
||||||
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectA.getProject()).getID());
|
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectA).getID());
|
||||||
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectA.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectA.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectA.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectA.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getProject()).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB).getID());
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getProject()).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC).getID());
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
manager.setCommentOwner(projectA.getProject(), OWNER_2, true);
|
manager.setCommentOwner(projectA, OWNER_2, true);
|
||||||
manager.setCommentOwner(projectB.getProject(), OWNER_1, true);
|
manager.setCommentOwner(projectB, OWNER_1, true);
|
||||||
manager.setCommentOwner(projectC.getProject(), OWNER_3, true);
|
manager.setCommentOwner(projectC, OWNER_3, true);
|
||||||
|
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectA.getProject()).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectA).getID());
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectA.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectA.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectA.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectA.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectB.getProject()).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectB).getID());
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectB.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectB.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectB.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectB.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectC.getProject()).getID());
|
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectC).getID());
|
||||||
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectC.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectC.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectC.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectC.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
projectA.getProject().close(NPM);
|
projectA.close(NPM);
|
||||||
projectB.getProject().close(NPM);
|
projectB.close(NPM);
|
||||||
projectC.getProject().close(NPM);
|
projectC.close(NPM);
|
||||||
|
|
||||||
projectA.getProject().open(NPM);
|
projectA.open(NPM);
|
||||||
projectB.getProject().open(NPM);
|
projectB.open(NPM);
|
||||||
projectC.getProject().open(NPM);
|
projectC.open(NPM);
|
||||||
|
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectA.getProject()).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectA).getID());
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectA.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectA.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectA.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectA.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectB.getProject()).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectB).getID());
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectB.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectB.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectB.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectB.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectC.getProject()).getID());
|
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectC).getID());
|
||||||
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectC.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectC.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectC.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectC.getFolder("foo/bar")).getID());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testBoundaryConditions1() throws Exception {
|
public void testBoundaryConditions1() throws Exception {
|
||||||
|
@ -130,136 +135,199 @@ public class CommentOwnerManagerTests extends BaseTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testWorkspaceRootLevel() throws Exception {
|
public void testWorkspaceRootLevel() throws Exception {
|
||||||
manager.setCommentOwner(projectA.getProject(), null, true);
|
manager.setCommentOwner(projectA, null, true);
|
||||||
manager.setCommentOwner(projectB.getProject(), null, true);
|
manager.setCommentOwner(projectB, null, true);
|
||||||
manager.setCommentOwner(projectC.getProject(), null, true);
|
manager.setCommentOwner(projectC, null, true);
|
||||||
|
|
||||||
manager.setWorkspaceCommentOwner(OWNER_1);
|
manager.setWorkspaceCommentOwner(OWNER_1);
|
||||||
|
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectA.getProject()).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectA).getID());
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectA.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectA.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectA.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectA.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectB.getProject()).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectB).getID());
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectB.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectB.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectB.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectB.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getProject()).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC).getID());
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
manager.setWorkspaceCommentOwner(OWNER_2);
|
manager.setWorkspaceCommentOwner(OWNER_2);
|
||||||
|
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectA.getProject()).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectA).getID());
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectA.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectA.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectA.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectA.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getProject()).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB).getID());
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectC.getProject()).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectC).getID());
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectC.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectC.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectC.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectC.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
manager.setWorkspaceCommentOwner(OWNER_3);
|
manager.setWorkspaceCommentOwner(OWNER_3);
|
||||||
|
|
||||||
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectA.getProject()).getID());
|
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectA).getID());
|
||||||
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectA.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectA.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectA.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectA.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectB.getProject()).getID());
|
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectB).getID());
|
||||||
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectB.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectB.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectB.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectB.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectC.getProject()).getID());
|
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectC).getID());
|
||||||
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectC.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectC.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectC.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectC.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
manager.setCommentOwner(projectA.getProject(), OWNER_3, true);
|
manager.setCommentOwner(projectA, OWNER_3, true);
|
||||||
manager.setCommentOwner(projectB.getProject(), OWNER_2, true);
|
manager.setCommentOwner(projectB, OWNER_2, true);
|
||||||
manager.setCommentOwner(projectC.getProject(), OWNER_1, true);
|
manager.setCommentOwner(projectC, OWNER_1, true);
|
||||||
|
|
||||||
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectA.getProject()).getID());
|
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectA).getID());
|
||||||
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectA.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectA.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectA.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectA.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getProject()).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB).getID());
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getProject()).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC).getID());
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
manager.setWorkspaceCommentOwner(NullDocCommentOwner.INSTANCE);
|
manager.setWorkspaceCommentOwner(NullDocCommentOwner.INSTANCE);
|
||||||
|
|
||||||
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectA.getProject()).getID());
|
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectA).getID());
|
||||||
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectA.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectA.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectA.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_3.getID(), manager.getCommentOwner(projectA.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getProject()).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB).getID());
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getProject()).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC).getID());
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
manager.setCommentOwner(projectA.getProject(), null, true);
|
manager.setCommentOwner(projectA, null, true);
|
||||||
|
|
||||||
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectA.getProject()).getID());
|
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectA).getID());
|
||||||
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectA.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectA.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectA.getProject().getFolder("foo/bar")).getID());
|
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectA.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getProject()).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB).getID());
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getProject()).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC).getID());
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
manager.setCommentOwner(projectC.getProject(), null, true);
|
manager.setCommentOwner(projectC, null, true);
|
||||||
|
|
||||||
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectA.getProject()).getID());
|
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectA).getID());
|
||||||
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectA.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectA.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectA.getProject().getFolder("foo/bar")).getID());
|
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectA.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getProject()).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB).getID());
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_2.getID(), manager.getCommentOwner(projectB.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectC.getProject()).getID());
|
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectC).getID());
|
||||||
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectC.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectC.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectC.getProject().getFolder("foo/bar")).getID());
|
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectC.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
manager.setCommentOwner(projectB.getProject(), null, true);
|
manager.setCommentOwner(projectB, null, true);
|
||||||
|
|
||||||
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectA.getProject()).getID());
|
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectA).getID());
|
||||||
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectA.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectA.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectA.getProject().getFolder("foo/bar")).getID());
|
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectA.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectB.getProject()).getID());
|
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectB).getID());
|
||||||
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectB.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectB.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectB.getProject().getFolder("foo/bar")).getID());
|
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectB.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectC.getProject()).getID());
|
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectC).getID());
|
||||||
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectC.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectC.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectC.getProject().getFolder("foo/bar")).getID());
|
assertEquals(NullDocCommentOwner.INSTANCE.getID(), manager.getCommentOwner(projectC.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
manager.setWorkspaceCommentOwner(OWNER_1);
|
manager.setWorkspaceCommentOwner(OWNER_1);
|
||||||
|
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectA.getProject()).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectA).getID());
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectA.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectA.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectA.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectA.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectB.getProject()).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectB).getID());
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectB.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectB.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectB.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectB.getFolder("foo/bar")).getID());
|
||||||
|
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getProject()).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC).getID());
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getProject().getFile("foo/bar/baz")).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getFile("foo/bar/baz")).getID());
|
||||||
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getProject().getFolder("foo/bar")).getID());
|
assertEquals(OWNER_1.getID(), manager.getCommentOwner(projectC.getFolder("foo/bar")).getID());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testDocListenerEvents_221109() {
|
||||||
|
TestListener tl= new TestListener();
|
||||||
|
|
||||||
|
manager.setCommentOwner(projectA, null, true);
|
||||||
|
manager.setCommentOwner(projectB, null, true);
|
||||||
|
manager.setCommentOwner(projectC, null, true);
|
||||||
|
manager.setWorkspaceCommentOwner(OWNER_1);
|
||||||
|
manager.addListener(tl);
|
||||||
|
|
||||||
|
tl.reset();
|
||||||
|
manager.setCommentOwner(projectA, OWNER_1, true);
|
||||||
|
assertEquals(0, tl.prjEvents);
|
||||||
|
assertEquals(0, tl.wkspcEvents);
|
||||||
|
|
||||||
|
tl.reset();
|
||||||
|
manager.setCommentOwner(projectA, OWNER_2, true);
|
||||||
|
assertEquals(1, tl.prjEvents);
|
||||||
|
assertEquals(0, tl.wkspcEvents);
|
||||||
|
|
||||||
|
tl.reset();
|
||||||
|
manager.setCommentOwner(projectA, OWNER_3, true);
|
||||||
|
assertEquals(1, tl.prjEvents);
|
||||||
|
assertEquals(0, tl.wkspcEvents);
|
||||||
|
|
||||||
|
tl.reset();
|
||||||
|
manager.setCommentOwner(projectA, OWNER_1, true);
|
||||||
|
assertEquals(1, tl.prjEvents);
|
||||||
|
assertEquals(0, tl.wkspcEvents);
|
||||||
|
|
||||||
|
tl.reset();
|
||||||
|
manager.setCommentOwner(ResourcesPlugin.getWorkspace().getRoot(), OWNER_2, true);
|
||||||
|
assertEquals(0, tl.prjEvents);
|
||||||
|
assertEquals(1, tl.wkspcEvents);
|
||||||
|
|
||||||
|
tl.reset();
|
||||||
|
manager.setWorkspaceCommentOwner(OWNER_3);
|
||||||
|
assertEquals(0, tl.prjEvents);
|
||||||
|
assertEquals(1, tl.wkspcEvents);
|
||||||
|
|
||||||
|
tl.reset();
|
||||||
|
manager.setWorkspaceCommentOwner(OWNER_3);
|
||||||
|
assertEquals(0, tl.prjEvents);
|
||||||
|
assertEquals(0, tl.wkspcEvents);
|
||||||
|
|
||||||
|
manager.removeListener(tl);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class TestListener implements IDocCommentOwnershipListener {
|
||||||
|
public int prjEvents, wkspcEvents;
|
||||||
|
public void ownershipChanged(IResource resource,
|
||||||
|
boolean submappingsRemoved, IDocCommentOwner oldOwner,
|
||||||
|
IDocCommentOwner newOwner) {
|
||||||
|
prjEvents++;
|
||||||
|
}
|
||||||
|
public void workspaceOwnershipChanged(IDocCommentOwner oldOwner,
|
||||||
|
IDocCommentOwner newOwner) {
|
||||||
|
wkspcEvents++;
|
||||||
|
}
|
||||||
|
public void reset() {
|
||||||
|
prjEvents= wkspcEvents= 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -89,18 +89,21 @@ public class DocCommentOwnerManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param owner the non-null doc-comment owner
|
* @param newOwner the non-null doc-comment owner
|
||||||
*/
|
*/
|
||||||
public void setWorkspaceCommentOwner(IDocCommentOwner owner) {
|
public void setWorkspaceCommentOwner(IDocCommentOwner newOwner) {
|
||||||
if(owner == null)
|
if(newOwner == null)
|
||||||
throw new IllegalArgumentException();
|
throw new IllegalArgumentException();
|
||||||
IDocCommentOwner old= fWorkspaceOwner;
|
|
||||||
fWorkspaceOwner= owner;
|
if(!fWorkspaceOwner.getID().equals(newOwner.getID())) {
|
||||||
|
IDocCommentOwner oldOwner= fWorkspaceOwner;
|
||||||
|
fWorkspaceOwner= newOwner;
|
||||||
|
|
||||||
Preferences prefs= new InstanceScope().getNode(QUALIFIER).node(WORKSPACE_DOC_TOOL_NODE);
|
Preferences prefs= new InstanceScope().getNode(QUALIFIER).node(WORKSPACE_DOC_TOOL_NODE);
|
||||||
prefs.put(PREFKEY_WORKSPACE_DEFAULT, owner.getID());
|
prefs.put(PREFKEY_WORKSPACE_DEFAULT, newOwner.getID());
|
||||||
|
|
||||||
fireWorkspaceOwnershipChanged(old, fWorkspaceOwner);
|
fireWorkspaceOwnershipChanged(oldOwner, fWorkspaceOwner);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -142,26 +145,29 @@ public class DocCommentOwnerManager {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param resource a non-null resource to map a comment owner to
|
* @param resource a non-null resource to map a comment owner to
|
||||||
* @param owner the new owner to assign, or null to inherit the parent's mapping
|
* @param newOwner the new owner to assign, or null to inherit the parent's mapping
|
||||||
* @param removeSubMappings if the resource is an {@link IContainer}, then remove any mappings
|
* @param removeSubMappings if the resource is an {@link IContainer}, then remove any mappings
|
||||||
* children have. <em>This is currently unimplemented.</em>
|
* children have. <em>This is currently unimplemented.</em>
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Note - this implementation currently ignores removeSubMappings.
|
* Note - this implementation currently ignores removeSubMappings.
|
||||||
*/
|
*/
|
||||||
public void setCommentOwner(IResource resource, IDocCommentOwner owner, boolean removeSubMappings) {
|
public void setCommentOwner(IResource resource, IDocCommentOwner newOwner, boolean removeSubMappings) {
|
||||||
Assert.isNotNull(resource);
|
Assert.isNotNull(resource);
|
||||||
|
|
||||||
if(ResourcesPlugin.getWorkspace().getRoot().equals(resource)) {
|
if(ResourcesPlugin.getWorkspace().getRoot().equals(resource)) {
|
||||||
setWorkspaceCommentOwner(owner);
|
setWorkspaceCommentOwner(newOwner);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ProjectMap pm= getProjectMap(resource);
|
ProjectMap pm= getProjectMap(resource);
|
||||||
IDocCommentOwner old= getCommentOwner(resource);
|
IDocCommentOwner oldOwner= getCommentOwner(resource);
|
||||||
pm.setCommentOwner(resource, owner);
|
pm.setCommentOwner(resource, newOwner);
|
||||||
IDocCommentOwner n3w= getCommentOwner(resource);
|
|
||||||
fireOwnershipChanged(resource, removeSubMappings, old, n3w);
|
IDocCommentOwner newLogicalOwner= getCommentOwner(resource);
|
||||||
|
if(!newLogicalOwner.getID().equals(oldOwner.getID())) {
|
||||||
|
fireOwnershipChanged(resource, removeSubMappings, oldOwner, newLogicalOwner);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -186,7 +192,7 @@ public class DocCommentOwnerManager {
|
||||||
* @param listener removes a listener from those registered for doc-comment ownership events
|
* @param listener removes a listener from those registered for doc-comment ownership events
|
||||||
*/
|
*/
|
||||||
public void removeListener(IDocCommentOwnershipListener listener) {
|
public void removeListener(IDocCommentOwnershipListener listener) {
|
||||||
fListeners.add(listener);
|
fListeners.remove(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -243,15 +249,15 @@ public class DocCommentOwnerManager {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void fireOwnershipChanged(IResource resource, boolean recursive, IDocCommentOwner old, IDocCommentOwner n3w) {
|
private void fireOwnershipChanged(IResource resource, boolean submappingsRemoved, IDocCommentOwner oldOwner, IDocCommentOwner newOwner) {
|
||||||
for(Iterator i= fListeners.iterator(); i.hasNext();) {
|
for(Iterator i= fListeners.iterator(); i.hasNext();) {
|
||||||
((IDocCommentOwnershipListener)i.next()).ownershipChanged(resource, recursive, old, n3w);
|
((IDocCommentOwnershipListener)i.next()).ownershipChanged(resource, submappingsRemoved, oldOwner, newOwner);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void fireWorkspaceOwnershipChanged(IDocCommentOwner old, IDocCommentOwner n3w) {
|
private void fireWorkspaceOwnershipChanged(IDocCommentOwner oldOwner, IDocCommentOwner newOwner) {
|
||||||
for(Iterator i= fListeners.iterator(); i.hasNext();) {
|
for(Iterator i= fListeners.iterator(); i.hasNext();) {
|
||||||
((IDocCommentOwnershipListener)i.next()).workspaceOwnershipChanged(old, n3w);
|
((IDocCommentOwnershipListener)i.next()).workspaceOwnershipChanged(oldOwner, newOwner);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue