From 5b0e47e7f845ea348bac95f0697b4efb5845b543 Mon Sep 17 00:00:00 2001 From: Teryk Bellahsene Date: Wed, 13 May 2015 15:55:11 +0200 Subject: [PATCH] remove several hardcoded classpath in dao classes --- .../sonar/core/permission/PermissionDao.java | 10 ++++-- .../core/permission/PermissionMapper.java | 33 +++++++++++++++++++ .../permission/PermissionTemplateDao.java | 32 +++++++++--------- .../permission/PermissionTemplateMapper.java | 9 +++++ .../db/ProjectQgateAssociationDao.java | 6 +++- .../db/ProjectQgateAssociationMapper.java | 4 +++ .../sonar/core/user/GroupMembershipDao.java | 8 +++-- .../core/user/GroupMembershipMapper.java | 6 ++++ .../core/component/db/ComponentMapper.xml | 4 +++ 9 files changed, 90 insertions(+), 22 deletions(-) create mode 100644 sonar-core/src/main/java/org/sonar/core/permission/PermissionMapper.java diff --git a/sonar-core/src/main/java/org/sonar/core/permission/PermissionDao.java b/sonar-core/src/main/java/org/sonar/core/permission/PermissionDao.java index 7899d000524..a6c83bd1744 100644 --- a/sonar-core/src/main/java/org/sonar/core/permission/PermissionDao.java +++ b/sonar-core/src/main/java/org/sonar/core/permission/PermissionDao.java @@ -55,7 +55,8 @@ public class PermissionDao { Map params = newHashMap(); params.put(QUERY_PARAMETER, query); params.put(COMPONENT_ID_PARAMETER, componentId); - return session.selectList("org.sonar.core.permission.PermissionMapper.selectUsers", params, new RowBounds(offset, limit)); + + return mapper(session).selectUsers(params, new RowBounds(offset, limit)); } finally { MyBatis.closeQuietly(session); } @@ -78,10 +79,15 @@ public class PermissionDao { params.put(QUERY_PARAMETER, query); params.put(COMPONENT_ID_PARAMETER, componentId); params.put("anyoneGroup", DefaultGroups.ANYONE); - return session.selectList("org.sonar.core.permission.PermissionMapper.selectGroups", params); + + return mapper(session).selectGroups(params); } finally { MyBatis.closeQuietly(session); } } + private PermissionMapper mapper(SqlSession session) { + return session.getMapper(PermissionMapper.class); + } + } diff --git a/sonar-core/src/main/java/org/sonar/core/permission/PermissionMapper.java b/sonar-core/src/main/java/org/sonar/core/permission/PermissionMapper.java new file mode 100644 index 00000000000..59a2c8538f0 --- /dev/null +++ b/sonar-core/src/main/java/org/sonar/core/permission/PermissionMapper.java @@ -0,0 +1,33 @@ +/* + * SonarQube, open source software quality management tool. + * Copyright (C) 2008-2014 SonarSource + * mailto:contact AT sonarsource DOT com + * + * SonarQube is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * SonarQube is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +package org.sonar.core.permission; + +import org.apache.ibatis.session.RowBounds; + +import java.util.List; +import java.util.Map; + +public interface PermissionMapper { + + List selectUsers(Map parameters, RowBounds rowBounds); + + List selectGroups(Map parameters); +} diff --git a/sonar-core/src/main/java/org/sonar/core/permission/PermissionTemplateDao.java b/sonar-core/src/main/java/org/sonar/core/permission/PermissionTemplateDao.java index adbc3ae2528..d6d5d5c77ba 100644 --- a/sonar-core/src/main/java/org/sonar/core/permission/PermissionTemplateDao.java +++ b/sonar-core/src/main/java/org/sonar/core/permission/PermissionTemplateDao.java @@ -64,7 +64,7 @@ public class PermissionTemplateDao { Map params = newHashMap(); params.put(QUERY_PARAMETER, query); params.put(TEMPLATE_ID_PARAMETER, templateId); - return session.selectList("org.sonar.core.permission.PermissionTemplateMapper.selectUsers", params, new RowBounds(offset, limit)); + return mapper(session).selectUsers(params, new RowBounds(offset, limit)); } finally { MyBatis.closeQuietly(session); } @@ -87,7 +87,7 @@ public class PermissionTemplateDao { params.put(QUERY_PARAMETER, query); params.put(TEMPLATE_ID_PARAMETER, templateId); params.put("anyoneGroup", DefaultGroups.ANYONE); - return session.selectList("org.sonar.core.permission.PermissionTemplateMapper.selectGroups", params); + return mapper(session).selectGroups(params); } finally { MyBatis.closeQuietly(session); } @@ -95,7 +95,7 @@ public class PermissionTemplateDao { @CheckForNull public PermissionTemplateDto selectTemplateByKey(DbSession session, String templateKey) { - return session.getMapper(PermissionTemplateMapper.class).selectByKey(templateKey); + return mapper(session).selectByKey(templateKey); } @CheckForNull @@ -111,7 +111,7 @@ public class PermissionTemplateDao { @CheckForNull public PermissionTemplateDto selectPermissionTemplate(DbSession session, String templateKey) { PermissionTemplateDto permissionTemplate = null; - PermissionTemplateMapper mapper = session.getMapper(PermissionTemplateMapper.class); + PermissionTemplateMapper mapper = mapper(session); permissionTemplate = mapper.selectByKey(templateKey); PermissionTemplateDto templateUsersPermissions = mapper.selectTemplateUsersPermissions(templateKey); if (templateUsersPermissions != null) { @@ -158,8 +158,7 @@ public class PermissionTemplateDao { .setUpdatedAt(creationDate); SqlSession session = myBatis.openSession(false); try { - PermissionTemplateMapper mapper = session.getMapper(PermissionTemplateMapper.class); - mapper.insert(permissionTemplate); + mapper(session).insert(permissionTemplate); session.commit(); } finally { MyBatis.closeQuietly(session); @@ -170,7 +169,7 @@ public class PermissionTemplateDao { public void deletePermissionTemplate(Long templateId) { SqlSession session = myBatis.openSession(false); try { - PermissionTemplateMapper mapper = session.getMapper(PermissionTemplateMapper.class); + PermissionTemplateMapper mapper = mapper(session); mapper.deleteUsersPermissions(templateId); mapper.deleteGroupsPermissions(templateId); mapper.delete(templateId); @@ -189,8 +188,7 @@ public class PermissionTemplateDao { .setUpdatedAt(now()); SqlSession session = myBatis.openSession(false); try { - PermissionTemplateMapper mapper = session.getMapper(PermissionTemplateMapper.class); - mapper.update(permissionTemplate); + mapper(session).update(permissionTemplate); session.commit(); } finally { MyBatis.closeQuietly(session); @@ -206,8 +204,7 @@ public class PermissionTemplateDao { .setUpdatedAt(now()); SqlSession session = myBatis.openSession(false); try { - PermissionTemplateMapper mapper = session.getMapper(PermissionTemplateMapper.class); - mapper.insertUserPermission(permissionTemplateUser); + mapper(session).insertUserPermission(permissionTemplateUser); session.commit(); } finally { MyBatis.closeQuietly(session); @@ -221,8 +218,7 @@ public class PermissionTemplateDao { .setUserId(userId); SqlSession session = myBatis.openSession(false); try { - PermissionTemplateMapper mapper = session.getMapper(PermissionTemplateMapper.class); - mapper.deleteUserPermission(permissionTemplateUser); + mapper(session).deleteUserPermission(permissionTemplateUser); session.commit(); } finally { MyBatis.closeQuietly(session); @@ -238,8 +234,7 @@ public class PermissionTemplateDao { .setUpdatedAt(now()); SqlSession session = myBatis.openSession(false); try { - PermissionTemplateMapper mapper = session.getMapper(PermissionTemplateMapper.class); - mapper.insertGroupPermission(permissionTemplateGroup); + mapper(session).insertGroupPermission(permissionTemplateGroup); session.commit(); } finally { MyBatis.closeQuietly(session); @@ -253,8 +248,7 @@ public class PermissionTemplateDao { .setGroupId(groupId); SqlSession session = myBatis.openSession(false); try { - PermissionTemplateMapper mapper = session.getMapper(PermissionTemplateMapper.class); - mapper.deleteGroupPermission(permissionTemplateGroup); + mapper(session).deleteGroupPermission(permissionTemplateGroup); session.commit(); } finally { MyBatis.closeQuietly(session); @@ -279,4 +273,8 @@ public class PermissionTemplateDao { private Date now() { return new Date(system.now()); } + + private PermissionTemplateMapper mapper(SqlSession session) { + return session.getMapper(PermissionTemplateMapper.class); + } } diff --git a/sonar-core/src/main/java/org/sonar/core/permission/PermissionTemplateMapper.java b/sonar-core/src/main/java/org/sonar/core/permission/PermissionTemplateMapper.java index 79e50415ffd..732ced344a9 100644 --- a/sonar-core/src/main/java/org/sonar/core/permission/PermissionTemplateMapper.java +++ b/sonar-core/src/main/java/org/sonar/core/permission/PermissionTemplateMapper.java @@ -20,6 +20,11 @@ package org.sonar.core.permission; +import org.apache.ibatis.session.RowBounds; + +import java.util.List; +import java.util.Map; + /** * @since 3.7 */ @@ -50,4 +55,8 @@ public interface PermissionTemplateMapper { void deleteGroupPermission(PermissionTemplateGroupDto permissionTemplateGroup); void deleteByGroupId(long groupId); + + List selectGroups(Map params); + + List selectUsers(Map params, RowBounds rowBounds); } diff --git a/sonar-core/src/main/java/org/sonar/core/qualitygate/db/ProjectQgateAssociationDao.java b/sonar-core/src/main/java/org/sonar/core/qualitygate/db/ProjectQgateAssociationDao.java index f8e64eb715c..24e70bac628 100644 --- a/sonar-core/src/main/java/org/sonar/core/qualitygate/db/ProjectQgateAssociationDao.java +++ b/sonar-core/src/main/java/org/sonar/core/qualitygate/db/ProjectQgateAssociationDao.java @@ -41,7 +41,7 @@ public class ProjectQgateAssociationDao { SqlSession session = mybatis.openSession(false); try { Map params = ImmutableMap.of("query", query, "gateId", gateId.toString()); - return session.selectList("org.sonar.core.qualitygate.db.ProjectQgateAssociationMapper.selectProjects", params, new RowBounds(offset, limit)); + return mapper(session).selectProjects(params, new RowBounds(offset, limit)); } finally { MyBatis.closeQuietly(session); } @@ -52,4 +52,8 @@ public class ProjectQgateAssociationDao { return selectProjects(query, gateId, 0, Integer.MAX_VALUE); } + private ProjectQgateAssociationMapper mapper(SqlSession session) { + return session.getMapper(ProjectQgateAssociationMapper.class); + } + } diff --git a/sonar-core/src/main/java/org/sonar/core/qualitygate/db/ProjectQgateAssociationMapper.java b/sonar-core/src/main/java/org/sonar/core/qualitygate/db/ProjectQgateAssociationMapper.java index 76b4181b0d9..4caa0a7a755 100644 --- a/sonar-core/src/main/java/org/sonar/core/qualitygate/db/ProjectQgateAssociationMapper.java +++ b/sonar-core/src/main/java/org/sonar/core/qualitygate/db/ProjectQgateAssociationMapper.java @@ -19,10 +19,14 @@ */ package org.sonar.core.qualitygate.db; +import org.apache.ibatis.session.RowBounds; + import java.util.List; +import java.util.Map; public interface ProjectQgateAssociationMapper { List selectProjects(ProjectQgateAssociationQuery query); + List selectProjects(Map params, RowBounds rowBounds); } diff --git a/sonar-core/src/main/java/org/sonar/core/user/GroupMembershipDao.java b/sonar-core/src/main/java/org/sonar/core/user/GroupMembershipDao.java index 145bef37faa..8338a3d070b 100644 --- a/sonar-core/src/main/java/org/sonar/core/user/GroupMembershipDao.java +++ b/sonar-core/src/main/java/org/sonar/core/user/GroupMembershipDao.java @@ -50,12 +50,12 @@ public class GroupMembershipDao implements DaoComponent { public List selectGroups(SqlSession session, GroupMembershipQuery query, Long userId, int offset, int limit) { Map params = ImmutableMap.of("query", query, "userId", userId); - return session.selectList("org.sonar.core.user.GroupMembershipMapper.selectGroups", params, new RowBounds(offset, limit)); + return mapper(session).selectGroups(params, new RowBounds(offset, limit)); } public int countGroups(SqlSession session, GroupMembershipQuery query, Long userId) { Map params = ImmutableMap.of("query", query, "userId", userId); - return session.selectOne("org.sonar.core.user.GroupMembershipMapper.countGroups", params); + return mapper(session).countGroups(params); } @VisibleForTesting @@ -63,4 +63,8 @@ public class GroupMembershipDao implements DaoComponent { return selectGroups(query, userId, 0, Integer.MAX_VALUE); } + private GroupMembershipMapper mapper(SqlSession session) { + return session.getMapper(GroupMembershipMapper.class); + } + } diff --git a/sonar-core/src/main/java/org/sonar/core/user/GroupMembershipMapper.java b/sonar-core/src/main/java/org/sonar/core/user/GroupMembershipMapper.java index 763baf13e54..22efebd01ac 100644 --- a/sonar-core/src/main/java/org/sonar/core/user/GroupMembershipMapper.java +++ b/sonar-core/src/main/java/org/sonar/core/user/GroupMembershipMapper.java @@ -19,10 +19,16 @@ */ package org.sonar.core.user; +import org.apache.ibatis.session.RowBounds; + import java.util.List; +import java.util.Map; public interface GroupMembershipMapper { List selectGroups(GroupMembershipQuery query); + List selectGroups(Map params, RowBounds rowBounds); + + int countGroups(Map params); } diff --git a/sonar-core/src/main/resources/org/sonar/core/component/db/ComponentMapper.xml b/sonar-core/src/main/resources/org/sonar/core/component/db/ComponentMapper.xml index 8c5c6abcbd7..92d5d1180dc 100644 --- a/sonar-core/src/main/resources/org/sonar/core/component/db/ComponentMapper.xml +++ b/sonar-core/src/main/resources/org/sonar/core/component/db/ComponentMapper.xml @@ -246,10 +246,12 @@ and p.enabled=${_true} and p.qualifier=#{qualifier} and p.copy_resource_id is null + and ( UPPER(p.name) like #{query} or UPPER(p.kee) like #{query} ) +