]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-8134 improve PermissionTemplateDao
authorSimon Brandhof <simon.brandhof@sonarsource.com>
Mon, 17 Oct 2016 16:02:46 +0000 (18:02 +0200)
committerSimon Brandhof <simon.brandhof@sonarsource.com>
Thu, 20 Oct 2016 13:10:13 +0000 (15:10 +0200)
- deprecate the methods that do not support organizations

- do not commit session in DAO

server/sonar-server/src/main/java/org/sonar/server/permission/ws/template/UpdateTemplateAction.java
sonar-db/src/main/java/org/sonar/db/permission/template/PermissionTemplateDao.java
sonar-db/src/main/resources/org/sonar/db/permission/template/PermissionTemplateMapper.xml
sonar-db/src/test/java/org/sonar/db/permission/template/PermissionTemplateDaoTest.java

index e13e202767c214f5dc25c82d59b1f188a748b684..229e043b4b9a589169f13c43f5bdb3126fd1e570 100644 (file)
@@ -104,6 +104,7 @@ public class UpdateTemplateAction implements PermissionsWsAction {
 
       validateTemplate(dbSession, templateToUpdate);
       PermissionTemplateDto updatedTemplate = updateTemplate(dbSession, templateToUpdate);
+      dbSession.commit();
 
       return buildResponse(updatedTemplate);
     }
index 8fda58aa11b4ebf1a3518d0d23c10e3ac5ea19de..49d96caaf2516d134fa94c212ac63d634e24e54b 100644 (file)
@@ -69,6 +69,10 @@ public class PermissionTemplateDao implements Dao {
     return mapper(dbSession).selectUserPermissionsByTemplateIdAndUserLogins(templateId, Collections.emptyList());
   }
 
+  /**
+   * @deprecated does not support organizations. Should return group ids.
+   */
+  @Deprecated
   public List<String> selectGroupNamesByQueryAndTemplate(DbSession session, PermissionQuery query, long templateId) {
     return mapper(session).selectGroupNamesByQueryAndTemplate(query, templateId, new RowBounds(query.getPageOffset(), query.getPageSize()));
   }
@@ -97,11 +101,19 @@ public class PermissionTemplateDao implements Dao {
     return mapper(session).selectByUuid(templateUuid);
   }
 
+  /**
+   * @deprecated does not support organizations. Should return group ids.
+   */
+  @Deprecated
   public List<PermissionTemplateDto> selectAll(DbSession session, String nameMatch) {
     String uppercaseNameMatch = toUppercaseSqlQuery(nameMatch);
     return mapper(session).selectAll(uppercaseNameMatch);
   }
 
+  /**
+   * @deprecated does not support organizations. Should return group ids.
+   */
+  @Deprecated
   public List<PermissionTemplateDto> selectAll(DbSession session) {
     return mapper(session).selectAll(null);
   }
@@ -112,11 +124,9 @@ public class PermissionTemplateDao implements Dao {
 
   }
 
-  public PermissionTemplateDto insert(DbSession session, PermissionTemplateDto permissionTemplate) {
-    mapper(session).insert(permissionTemplate);
-    session.commit();
-
-    return permissionTemplate;
+  public PermissionTemplateDto insert(DbSession session, PermissionTemplateDto dto) {
+    mapper(session).insert(dto);
+    return dto;
   }
 
   /**
@@ -160,8 +170,6 @@ public class PermissionTemplateDao implements Dao {
 
   public PermissionTemplateDto update(DbSession session, PermissionTemplateDto permissionTemplate) {
     mapper(session).update(permissionTemplate);
-    session.commit();
-
     return permissionTemplate;
   }
 
@@ -220,7 +228,7 @@ public class PermissionTemplateDao implements Dao {
   /**
    * Remove a group from all templates (used when removing a group)
    */
-  public void deleteByGroup(DbSession session, Long groupId) {
+  public void deleteByGroup(DbSession session, long groupId) {
     session.getMapper(PermissionTemplateMapper.class).deleteByGroupId(groupId);
   }
 
index 8d4e454219c1f473f49b1df12d1f95b5ebbe723b..a930b0bb31bd4fcc0e6a9e9344c5785437f0e32a 100644 (file)
@@ -75,8 +75,8 @@
   </delete>
 
   <delete id="deleteByGroupId" parameterType="long">
-    DELETE FROM perm_templates_groups
-    WHERE group_id = #{groupId}
+    delete from perm_templates_groups
+    where group_id = #{groupId,jdbcType=BIGINT}
   </delete>
 
   <select id="selectUserLoginsByQueryAndTemplate" parameterType="map" resultType="string">
index b0d5bba35b389f0a1998bf3e7fdf1610475872e9..1805f9f807e7bc866edc1b6a1024ecdcd9609071 100644 (file)
@@ -32,7 +32,6 @@ import org.junit.Test;
 import org.junit.rules.ExpectedException;
 import org.sonar.api.utils.System2;
 import org.sonar.api.web.UserRole;
-import org.sonar.db.DbClient;
 import org.sonar.db.DbSession;
 import org.sonar.db.DbTester;
 import org.sonar.db.user.GroupDto;
@@ -56,7 +55,6 @@ public class PermissionTemplateDaoTest {
   public ExpectedException expectedException = ExpectedException.none();
   @Rule
   public DbTester db = DbTester.create(system);
-  private DbClient dbClient = db.getDbClient();
   private DbSession dbSession = db.getSession();
   private PermissionTemplateDbTester templateDb = new PermissionTemplateDbTester(db);
 
@@ -73,6 +71,7 @@ public class PermissionTemplateDaoTest {
       .setName("my template")
       .setDescription("my description")
       .setKeyPattern("myregexp"));
+    db.commit();
     assertThat(permissionTemplate).isNotNull();
     assertThat(permissionTemplate.getId()).isEqualTo(1L);
 
@@ -116,6 +115,7 @@ public class PermissionTemplateDaoTest {
       .setDescription("new_description")
       .setKeyPattern("new_regexp");
     underTest.update(dbSession, dto);
+    db.commit();
 
     db.assertDbUnitTable(getClass(), "updatePermissionTemplate-result.xml", "permission_templates", "id", "name", "kee", "description");
   }