From 929a72a19587e5e06018e04c47ac525f033b333c Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Thu, 8 Nov 2012 17:04:22 +0100 Subject: [PATCH] Grant roles when projects are created, not later during decorator phase --- .../java/org/sonar/plugins/core/CorePlugin.java | 2 -- .../org/sonar/batch/bootstrap/BatchModule.java | 2 ++ .../batch/index/DefaultResourcePersister.java | 8 +++++++- .../index/DefaultResourcePersisterTest.java | 16 +++++++++------- .../sonar/batch/phases/UpdateStatusJobTest.java | 3 ++- .../resource}/DefaultResourcePermissions.java | 9 +++++++-- .../DefaultResourcePermissionsTest.java | 3 ++- .../grantDefaultRoles-result.xml | 0 .../grantDefaultRoles.xml | 0 .../grantDefaultRoles_unknown_group-result.xml | 0 .../grantDefaultRoles_unknown_group.xml | 0 .../grantDefaultRoles_users-result.xml | 0 .../grantDefaultRoles_users.xml | 0 .../grantGroupRole-result.xml | 0 .../grantGroupRole.xml | 0 .../grantGroupRole_anyone-result.xml | 0 .../grantGroupRole_anyone.xml | 0 ...roupRole_ignore_if_group_not_found-result.xml | 0 .../grantGroupRole_ignore_if_group_not_found.xml | 0 ...tGroupRole_ignore_if_not_persisted-result.xml | 0 .../grantGroupRole_ignore_if_not_persisted.xml | 0 .../grantUserRole-result.xml | 0 .../grantUserRole.xml | 0 .../DefaultResourcePermissionsTest/hasRoles.xml | 0 .../java/org/sonar/server/platform/Platform.java | 2 ++ 25 files changed, 31 insertions(+), 14 deletions(-) rename {plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/security => sonar-core/src/main/java/org/sonar/core/resource}/DefaultResourcePermissions.java (95%) rename {plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/security => sonar-core/src/test/java/org/sonar/core/resource}/DefaultResourcePermissionsTest.java (98%) rename {plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security => sonar-core/src/test/resources/org/sonar/core/resource}/DefaultResourcePermissionsTest/grantDefaultRoles-result.xml (100%) rename {plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security => sonar-core/src/test/resources/org/sonar/core/resource}/DefaultResourcePermissionsTest/grantDefaultRoles.xml (100%) rename {plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security => sonar-core/src/test/resources/org/sonar/core/resource}/DefaultResourcePermissionsTest/grantDefaultRoles_unknown_group-result.xml (100%) rename {plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security => sonar-core/src/test/resources/org/sonar/core/resource}/DefaultResourcePermissionsTest/grantDefaultRoles_unknown_group.xml (100%) rename {plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security => sonar-core/src/test/resources/org/sonar/core/resource}/DefaultResourcePermissionsTest/grantDefaultRoles_users-result.xml (100%) rename {plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security => sonar-core/src/test/resources/org/sonar/core/resource}/DefaultResourcePermissionsTest/grantDefaultRoles_users.xml (100%) rename {plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security => sonar-core/src/test/resources/org/sonar/core/resource}/DefaultResourcePermissionsTest/grantGroupRole-result.xml (100%) rename {plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security => sonar-core/src/test/resources/org/sonar/core/resource}/DefaultResourcePermissionsTest/grantGroupRole.xml (100%) rename {plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security => sonar-core/src/test/resources/org/sonar/core/resource}/DefaultResourcePermissionsTest/grantGroupRole_anyone-result.xml (100%) rename {plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security => sonar-core/src/test/resources/org/sonar/core/resource}/DefaultResourcePermissionsTest/grantGroupRole_anyone.xml (100%) rename {plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security => sonar-core/src/test/resources/org/sonar/core/resource}/DefaultResourcePermissionsTest/grantGroupRole_ignore_if_group_not_found-result.xml (100%) rename {plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security => sonar-core/src/test/resources/org/sonar/core/resource}/DefaultResourcePermissionsTest/grantGroupRole_ignore_if_group_not_found.xml (100%) rename {plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security => sonar-core/src/test/resources/org/sonar/core/resource}/DefaultResourcePermissionsTest/grantGroupRole_ignore_if_not_persisted-result.xml (100%) rename {plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security => sonar-core/src/test/resources/org/sonar/core/resource}/DefaultResourcePermissionsTest/grantGroupRole_ignore_if_not_persisted.xml (100%) rename {plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security => sonar-core/src/test/resources/org/sonar/core/resource}/DefaultResourcePermissionsTest/grantUserRole-result.xml (100%) rename {plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security => sonar-core/src/test/resources/org/sonar/core/resource}/DefaultResourcePermissionsTest/grantUserRole.xml (100%) rename {plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security => sonar-core/src/test/resources/org/sonar/core/resource}/DefaultResourcePermissionsTest/hasRoles.xml (100%) diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/CorePlugin.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/CorePlugin.java index a3c2ff3561b..b7a2f0f003d 100644 --- a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/CorePlugin.java +++ b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/CorePlugin.java @@ -46,7 +46,6 @@ import org.sonar.plugins.core.filters.MyFavouritesFilter; import org.sonar.plugins.core.filters.ProjectFilter; import org.sonar.plugins.core.filters.TreeMapFilter; import org.sonar.plugins.core.security.ApplyProjectRolesDecorator; -import org.sonar.plugins.core.security.DefaultResourcePermissions; import org.sonar.plugins.core.sensors.BranchCoverageDecorator; import org.sonar.plugins.core.sensors.CheckAlertThresholds; import org.sonar.plugins.core.sensors.CommentDensityDecorator; @@ -475,7 +474,6 @@ public final class CorePlugin extends SonarPlugin { OverallLineCoverageDecorator.class, OverallCoverageDecorator.class, OverallBranchCoverageDecorator.class, - DefaultResourcePermissions.class, ApplyProjectRolesDecorator.class, ExcludedResourceFilter.class, CommentDensityDecorator.class, diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchModule.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchModule.java index 4974e73cb1e..de3fdcfffb0 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchModule.java +++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/BatchModule.java @@ -50,6 +50,7 @@ import org.sonar.core.notification.DefaultNotificationManager; import org.sonar.core.persistence.DaoUtils; import org.sonar.core.persistence.DatabaseVersion; import org.sonar.core.persistence.MyBatis; +import org.sonar.core.resource.DefaultResourcePermissions; import org.sonar.core.rule.CacheRuleFinder; import org.sonar.core.user.DefaultUserFinder; import org.sonar.jpa.dao.MeasuresDao; @@ -85,6 +86,7 @@ public class BatchModule extends Module { container.addSingleton(LinkPersister.class); container.addSingleton(MeasurePersister.class); container.addSingleton(MemoryOptimizer.class); + container.addSingleton(DefaultResourcePermissions.class); container.addSingleton(DefaultResourcePersister.class); container.addSingleton(SourcePersister.class); container.addSingleton(MeasuresDao.class); diff --git a/sonar-batch/src/main/java/org/sonar/batch/index/DefaultResourcePersister.java b/sonar-batch/src/main/java/org/sonar/batch/index/DefaultResourcePersister.java index 0917fa776b2..77b97879ced 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/index/DefaultResourcePersister.java +++ b/sonar-batch/src/main/java/org/sonar/batch/index/DefaultResourcePersister.java @@ -26,6 +26,7 @@ import org.sonar.api.database.DatabaseSession; import org.sonar.api.database.model.ResourceModel; import org.sonar.api.database.model.Snapshot; import org.sonar.api.resources.*; +import org.sonar.api.security.ResourcePermissions; import org.sonar.api.utils.SonarException; import javax.persistence.NonUniqueResultException; @@ -40,9 +41,11 @@ public final class DefaultResourcePersister implements ResourcePersister { private DatabaseSession session; private Map snapshotsByResource = Maps.newHashMap(); + private ResourcePermissions permissions; - public DefaultResourcePersister(DatabaseSession session) { + public DefaultResourcePersister(DatabaseSession session, ResourcePermissions permissions) { this.session = session; + this.permissions = permissions; } public Snapshot saveProject(Project project, Project parent) { @@ -84,6 +87,9 @@ public final class DefaultResourcePersister implements ResourcePersister { snapshot.setBuildDate(new Date()); snapshot = session.save(snapshot); session.commit(); + + permissions.grantDefaultRoles(project); + return snapshot; } diff --git a/sonar-batch/src/test/java/org/sonar/batch/index/DefaultResourcePersisterTest.java b/sonar-batch/src/test/java/org/sonar/batch/index/DefaultResourcePersisterTest.java index 21cd76173d4..3d35e195e0a 100644 --- a/sonar-batch/src/test/java/org/sonar/batch/index/DefaultResourcePersisterTest.java +++ b/sonar-batch/src/test/java/org/sonar/batch/index/DefaultResourcePersisterTest.java @@ -27,6 +27,7 @@ import org.sonar.api.resources.JavaFile; import org.sonar.api.resources.JavaPackage; import org.sonar.api.resources.Library; import org.sonar.api.resources.Project; +import org.sonar.api.security.ResourcePermissions; import org.sonar.jpa.test.AbstractDbUnitTestCase; import java.text.ParseException; @@ -36,6 +37,7 @@ import static org.fest.assertions.Assertions.assertThat; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.notNullValue; +import static org.mockito.Mockito.mock; public class DefaultResourcePersisterTest extends AbstractDbUnitTestCase { @@ -67,7 +69,7 @@ public class DefaultResourcePersisterTest extends AbstractDbUnitTestCase { public void shouldSaveNewProject() { setupData("shared"); - ResourcePersister persister = new DefaultResourcePersister(getSession()); + ResourcePersister persister = new DefaultResourcePersister(getSession(), mock(ResourcePermissions.class)); persister.saveProject(singleProject, null); checkTables("shouldSaveNewProject", new String[] {"build_date", "created_at"}, "projects", "snapshots"); @@ -81,7 +83,7 @@ public class DefaultResourcePersisterTest extends AbstractDbUnitTestCase { public void shouldSaveNewMultiModulesProject() { setupData("shared"); - ResourcePersister persister = new DefaultResourcePersister(getSession()); + ResourcePersister persister = new DefaultResourcePersister(getSession(), mock(ResourcePermissions.class)); persister.saveProject(multiModuleProject, null); persister.saveProject(moduleA, multiModuleProject); persister.saveProject(moduleB, multiModuleProject); @@ -94,7 +96,7 @@ public class DefaultResourcePersisterTest extends AbstractDbUnitTestCase { public void shouldSaveNewDirectory() { setupData("shared"); - ResourcePersister persister = new DefaultResourcePersister(getSession()); + ResourcePersister persister = new DefaultResourcePersister(getSession(), mock(ResourcePermissions.class)); persister.saveProject(singleProject, null); persister.saveResource(singleProject, new JavaPackage("org.foo").setEffectiveKey("foo:org.foo")); @@ -105,7 +107,7 @@ public class DefaultResourcePersisterTest extends AbstractDbUnitTestCase { public void shouldSaveNewLibrary() { setupData("shared"); - ResourcePersister persister = new DefaultResourcePersister(getSession()); + ResourcePersister persister = new DefaultResourcePersister(getSession(), mock(ResourcePermissions.class)); persister.saveProject(singleProject, null); persister.saveResource(singleProject, new Library("junit:junit", "4.8.2").setEffectiveKey("junit:junit")); persister.saveResource(singleProject, new Library("junit:junit", "4.8.2").setEffectiveKey("junit:junit"));// do nothing, already saved @@ -118,7 +120,7 @@ public class DefaultResourcePersisterTest extends AbstractDbUnitTestCase { public void shouldClearResourcesExceptProjects() { setupData("shared"); - DefaultResourcePersister persister = new DefaultResourcePersister(getSession()); + DefaultResourcePersister persister = new DefaultResourcePersister(getSession(), mock(ResourcePermissions.class)); persister.saveProject(multiModuleProject, null); persister.saveProject(moduleA, multiModuleProject); persister.saveResource(moduleA, new JavaPackage("org.foo").setEffectiveKey("a:org.foo")); @@ -134,7 +136,7 @@ public class DefaultResourcePersisterTest extends AbstractDbUnitTestCase { public void shouldUpdateExistingResource() { setupData("shouldUpdateExistingResource"); - ResourcePersister persister = new DefaultResourcePersister(getSession()); + ResourcePersister persister = new DefaultResourcePersister(getSession(), mock(ResourcePermissions.class)); singleProject.setName("new name"); singleProject.setDescription("new description"); persister.saveProject(singleProject, null); @@ -147,7 +149,7 @@ public class DefaultResourcePersisterTest extends AbstractDbUnitTestCase { public void shouldRemoveRootIndexIfResourceIsProject() { setupData("shouldRemoveRootIndexIfResourceIsProject"); - ResourcePersister persister = new DefaultResourcePersister(getSession()); + ResourcePersister persister = new DefaultResourcePersister(getSession(), mock(ResourcePermissions.class)); persister.saveProject(singleProject, null); checkTables("shouldRemoveRootIndexIfResourceIsProject", new String[] {"build_date", "created_at"}, "projects", "snapshots"); diff --git a/sonar-batch/src/test/java/org/sonar/batch/phases/UpdateStatusJobTest.java b/sonar-batch/src/test/java/org/sonar/batch/phases/UpdateStatusJobTest.java index 923eb3a98ce..f355311bce3 100644 --- a/sonar-batch/src/test/java/org/sonar/batch/phases/UpdateStatusJobTest.java +++ b/sonar-batch/src/test/java/org/sonar/batch/phases/UpdateStatusJobTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import org.sonar.api.config.Settings; import org.sonar.api.database.DatabaseSession; import org.sonar.api.database.model.Snapshot; +import org.sonar.api.security.ResourcePermissions; import org.sonar.batch.bootstrap.ServerClient; import org.sonar.batch.index.DefaultResourcePersister; import org.sonar.jpa.test.AbstractDbUnitTestCase; @@ -52,7 +53,7 @@ public class UpdateStatusJobTest extends AbstractDbUnitTestCase { setupData("sharedFixture", fixture); DatabaseSession session = getSession(); - UpdateStatusJob sensor = new UpdateStatusJob(new Settings(), mock(ServerClient.class), session, new DefaultResourcePersister(session), loadSnapshot(snapshotId)); + UpdateStatusJob sensor = new UpdateStatusJob(new Settings(), mock(ServerClient.class), session, new DefaultResourcePersister(session, mock(ResourcePermissions.class)), loadSnapshot(snapshotId)); sensor.execute(); checkTables(fixture, "snapshots"); diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/security/DefaultResourcePermissions.java b/sonar-core/src/main/java/org/sonar/core/resource/DefaultResourcePermissions.java similarity index 95% rename from plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/security/DefaultResourcePermissions.java rename to sonar-core/src/main/java/org/sonar/core/resource/DefaultResourcePermissions.java index 1a3e9e21e46..0ecb0964341 100644 --- a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/security/DefaultResourcePermissions.java +++ b/sonar-core/src/main/java/org/sonar/core/resource/DefaultResourcePermissions.java @@ -17,7 +17,7 @@ * License along with Sonar; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 */ -package org.sonar.plugins.core.security; +package org.sonar.core.resource; import org.apache.ibatis.session.SqlSession; import org.sonar.api.BatchExtension; @@ -28,7 +28,12 @@ import org.sonar.api.security.DefaultGroups; import org.sonar.api.security.ResourcePermissions; import org.sonar.api.web.UserRole; import org.sonar.core.persistence.MyBatis; -import org.sonar.core.user.*; +import org.sonar.core.user.GroupDto; +import org.sonar.core.user.GroupRoleDto; +import org.sonar.core.user.RoleMapper; +import org.sonar.core.user.UserDto; +import org.sonar.core.user.UserMapper; +import org.sonar.core.user.UserRoleDto; /** * @since 3.2 diff --git a/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/security/DefaultResourcePermissionsTest.java b/sonar-core/src/test/java/org/sonar/core/resource/DefaultResourcePermissionsTest.java similarity index 98% rename from plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/security/DefaultResourcePermissionsTest.java rename to sonar-core/src/test/java/org/sonar/core/resource/DefaultResourcePermissionsTest.java index 9d098414fbb..444f3dca6fa 100644 --- a/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/security/DefaultResourcePermissionsTest.java +++ b/sonar-core/src/test/java/org/sonar/core/resource/DefaultResourcePermissionsTest.java @@ -17,7 +17,7 @@ * License along with Sonar; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 */ -package org.sonar.plugins.core.security; +package org.sonar.core.resource; import org.junit.Test; import org.sonar.api.config.Settings; @@ -25,6 +25,7 @@ import org.sonar.api.resources.Project; import org.sonar.api.resources.Resource; import org.sonar.api.security.DefaultGroups; import org.sonar.core.persistence.AbstractDaoTestCase; +import org.sonar.core.resource.DefaultResourcePermissions; import static org.fest.assertions.Assertions.assertThat; diff --git a/plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantDefaultRoles-result.xml b/sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantDefaultRoles-result.xml similarity index 100% rename from plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantDefaultRoles-result.xml rename to sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantDefaultRoles-result.xml diff --git a/plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantDefaultRoles.xml b/sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantDefaultRoles.xml similarity index 100% rename from plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantDefaultRoles.xml rename to sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantDefaultRoles.xml diff --git a/plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantDefaultRoles_unknown_group-result.xml b/sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantDefaultRoles_unknown_group-result.xml similarity index 100% rename from plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantDefaultRoles_unknown_group-result.xml rename to sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantDefaultRoles_unknown_group-result.xml diff --git a/plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantDefaultRoles_unknown_group.xml b/sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantDefaultRoles_unknown_group.xml similarity index 100% rename from plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantDefaultRoles_unknown_group.xml rename to sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantDefaultRoles_unknown_group.xml diff --git a/plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantDefaultRoles_users-result.xml b/sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantDefaultRoles_users-result.xml similarity index 100% rename from plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantDefaultRoles_users-result.xml rename to sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantDefaultRoles_users-result.xml diff --git a/plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantDefaultRoles_users.xml b/sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantDefaultRoles_users.xml similarity index 100% rename from plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantDefaultRoles_users.xml rename to sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantDefaultRoles_users.xml diff --git a/plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantGroupRole-result.xml b/sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantGroupRole-result.xml similarity index 100% rename from plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantGroupRole-result.xml rename to sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantGroupRole-result.xml diff --git a/plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantGroupRole.xml b/sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantGroupRole.xml similarity index 100% rename from plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantGroupRole.xml rename to sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantGroupRole.xml diff --git a/plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantGroupRole_anyone-result.xml b/sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantGroupRole_anyone-result.xml similarity index 100% rename from plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantGroupRole_anyone-result.xml rename to sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantGroupRole_anyone-result.xml diff --git a/plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantGroupRole_anyone.xml b/sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantGroupRole_anyone.xml similarity index 100% rename from plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantGroupRole_anyone.xml rename to sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantGroupRole_anyone.xml diff --git a/plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantGroupRole_ignore_if_group_not_found-result.xml b/sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantGroupRole_ignore_if_group_not_found-result.xml similarity index 100% rename from plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantGroupRole_ignore_if_group_not_found-result.xml rename to sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantGroupRole_ignore_if_group_not_found-result.xml diff --git a/plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantGroupRole_ignore_if_group_not_found.xml b/sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantGroupRole_ignore_if_group_not_found.xml similarity index 100% rename from plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantGroupRole_ignore_if_group_not_found.xml rename to sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantGroupRole_ignore_if_group_not_found.xml diff --git a/plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantGroupRole_ignore_if_not_persisted-result.xml b/sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantGroupRole_ignore_if_not_persisted-result.xml similarity index 100% rename from plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantGroupRole_ignore_if_not_persisted-result.xml rename to sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantGroupRole_ignore_if_not_persisted-result.xml diff --git a/plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantGroupRole_ignore_if_not_persisted.xml b/sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantGroupRole_ignore_if_not_persisted.xml similarity index 100% rename from plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantGroupRole_ignore_if_not_persisted.xml rename to sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantGroupRole_ignore_if_not_persisted.xml diff --git a/plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantUserRole-result.xml b/sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantUserRole-result.xml similarity index 100% rename from plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantUserRole-result.xml rename to sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantUserRole-result.xml diff --git a/plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantUserRole.xml b/sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantUserRole.xml similarity index 100% rename from plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/grantUserRole.xml rename to sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/grantUserRole.xml diff --git a/plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/hasRoles.xml b/sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/hasRoles.xml similarity index 100% rename from plugins/sonar-core-plugin/src/test/resources/org/sonar/plugins/core/security/DefaultResourcePermissionsTest/hasRoles.xml rename to sonar-core/src/test/resources/org/sonar/core/resource/DefaultResourcePermissionsTest/hasRoles.xml diff --git a/sonar-server/src/main/java/org/sonar/server/platform/Platform.java b/sonar-server/src/main/java/org/sonar/server/platform/Platform.java index 5c5d8f46955..956d72cfb95 100644 --- a/sonar-server/src/main/java/org/sonar/server/platform/Platform.java +++ b/sonar-server/src/main/java/org/sonar/server/platform/Platform.java @@ -52,6 +52,7 @@ import org.sonar.core.persistence.DefaultDatabase; import org.sonar.core.persistence.DryRunDatabaseFactory; import org.sonar.core.persistence.MyBatis; import org.sonar.core.qualitymodel.DefaultModelFinder; +import org.sonar.core.resource.DefaultResourcePermissions; import org.sonar.core.rule.DefaultRuleFinder; import org.sonar.core.user.DefaultUserFinder; import org.sonar.core.workflow.ReviewDatabaseStore; @@ -243,6 +244,7 @@ public final class Platform { servicesContainer.addSingleton(MeasureFilterExecutor.class); servicesContainer.addSingleton(MeasureFilterEngine.class); servicesContainer.addSingleton(DryRunDatabaseFactory.class); + servicesContainer.addSingleton(DefaultResourcePermissions.class); // Notifications servicesContainer.addSingleton(EmailSettings.class); -- 2.39.5