Переглянути джерело

Rename ResourceKeyUpdaterDao to ComponentKeyUpdaterDao

tags/6.1-RC1
Teryk Bellahsene 7 роки тому
джерело
коміт
099d46d398
15 змінених файлів з 27 додано та 27 видалено
  1. 3
    3
      server/sonar-server/src/main/java/org/sonar/server/component/ComponentService.java
  2. 1
    1
      server/sonar-server/src/main/java/org/sonar/server/component/ws/BulkUpdateKeyAction.java
  3. 2
    2
      sonar-db/src/main/java/org/sonar/db/DaoModule.java
  4. 5
    5
      sonar-db/src/main/java/org/sonar/db/DbClient.java
  5. 2
    2
      sonar-db/src/main/java/org/sonar/db/MyBatis.java
  6. 10
    10
      sonar-db/src/main/java/org/sonar/db/component/ComponentKeyUpdaterDao.java
  7. 1
    1
      sonar-db/src/main/java/org/sonar/db/component/ComponentKeyUpdaterMapper.java
  8. 1
    1
      sonar-db/src/main/resources/org/sonar/db/component/ComponentKeyUpdaterMapper.xml
  9. 2
    2
      sonar-db/src/test/java/org/sonar/db/component/ComponentKeyUpdaterDaoTest.java
  10. 0
    0
      sonar-db/src/test/resources/org/sonar/db/component/ComponentKeyUpdaterDaoTest/shared.xml
  11. 0
    0
      sonar-db/src/test/resources/org/sonar/db/component/ComponentKeyUpdaterDaoTest/shouldBulkUpdateKey-result.xml
  12. 0
    0
      sonar-db/src/test/resources/org/sonar/db/component/ComponentKeyUpdaterDaoTest/shouldBulkUpdateKeyOnOnlyOneSubmodule-result.xml
  13. 0
    0
      sonar-db/src/test/resources/org/sonar/db/component/ComponentKeyUpdaterDaoTest/shouldNotUpdateAllSubmodules-result.xml
  14. 0
    0
      sonar-db/src/test/resources/org/sonar/db/component/ComponentKeyUpdaterDaoTest/shouldNotUpdateAllSubmodules.xml
  15. 0
    0
      sonar-db/src/test/resources/org/sonar/db/component/ComponentKeyUpdaterDaoTest/shouldUpdateKey-result.xml

+ 3
- 3
server/sonar-server/src/main/java/org/sonar/server/component/ComponentService.java Переглянути файл

@@ -123,7 +123,7 @@ public class ComponentService {
checkIsProjectOrModule(component);
checkProjectOrModuleKeyFormat(newKey);

dbClient.resourceKeyUpdaterDao().updateKey(component.uuid(), newKey);
dbClient.componentKeyUpdaterDao().updateKey(component.uuid(), newKey);
}

public Map<String, String> checkModuleKeysBeforeRenaming(String projectKey, String stringToReplace, String replacementString) {
@@ -131,7 +131,7 @@ public class ComponentService {
try {
ComponentDto project = getByKey(projectKey);
userSession.checkComponentUuidPermission(UserRole.ADMIN, project.projectUuid());
return dbClient.resourceKeyUpdaterDao().checkModuleKeysBeforeRenaming(project.uuid(), stringToReplace, replacementString);
return dbClient.componentKeyUpdaterDao().checkModuleKeysBeforeRenaming(project.uuid(), stringToReplace, replacementString);
} finally {
session.close();
}
@@ -141,7 +141,7 @@ public class ComponentService {
ComponentDto project = getByKey(dbSession, projectKey);
userSession.checkComponentUuidPermission(UserRole.ADMIN, project.projectUuid());
checkIsProjectOrModule(project);
dbClient.resourceKeyUpdaterDao().bulkUpdateKey(dbSession, project.uuid(), stringToReplace, replacementString);
dbClient.componentKeyUpdaterDao().bulkUpdateKey(dbSession, project.uuid(), stringToReplace, replacementString);
}

public void bulkUpdateKey(String projectKey, String stringToReplace, String replacementString) {

+ 1
- 1
server/sonar-server/src/main/java/org/sonar/server/component/ws/BulkUpdateKeyAction.java Переглянути файл

@@ -55,7 +55,7 @@ public class BulkUpdateKeyAction implements ComponentsWsAction {

public BulkUpdateKeyAction(DbClient dbClient, ComponentFinder componentFinder, UserSession userSession) {
this.dbClient = dbClient;
this.componentKeyUpdater = dbClient.resourceKeyUpdaterDao();
this.componentKeyUpdater = dbClient.componentKeyUpdaterDao();
this.componentFinder = componentFinder;
this.userSession = userSession;
}

+ 2
- 2
sonar-db/src/main/java/org/sonar/db/DaoModule.java Переглянути файл

@@ -29,7 +29,7 @@ import org.sonar.db.component.ComponentDao;
import org.sonar.db.component.ComponentLinkDao;
import org.sonar.db.component.ResourceDao;
import org.sonar.db.component.ResourceIndexDao;
import org.sonar.db.component.ResourceKeyUpdaterDao;
import org.sonar.db.component.ComponentKeyUpdaterDao;
import org.sonar.db.component.SnapshotDao;
import org.sonar.db.dashboard.ActiveDashboardDao;
import org.sonar.db.dashboard.DashboardDao;
@@ -109,7 +109,7 @@ public class DaoModule extends Module {
ActiveRuleDao.class,
ResourceIndexDao.class,
ResourceDao.class,
ResourceKeyUpdaterDao.class,
ComponentKeyUpdaterDao.class,
RoleDao.class,
SnapshotDao.class,
UserDao.class,

+ 5
- 5
sonar-db/src/main/java/org/sonar/db/DbClient.java Переглянути файл

@@ -29,7 +29,7 @@ import org.sonar.db.component.ComponentDao;
import org.sonar.db.component.ComponentLinkDao;
import org.sonar.db.component.ResourceDao;
import org.sonar.db.component.ResourceIndexDao;
import org.sonar.db.component.ResourceKeyUpdaterDao;
import org.sonar.db.component.ComponentKeyUpdaterDao;
import org.sonar.db.component.SnapshotDao;
import org.sonar.db.dashboard.ActiveDashboardDao;
import org.sonar.db.dashboard.DashboardDao;
@@ -79,7 +79,7 @@ public class DbClient {
private final SnapshotDao snapshotDao;
private final ComponentDao componentDao;
private final ResourceDao resourceDao;
private final ResourceKeyUpdaterDao resourceKeyUpdaterDao;
private final ComponentKeyUpdaterDao componentKeyUpdaterDao;
private final MeasureDao measureDao;
private final MeasureFilterDao measureFilterDao;
private final MeasureFilterFavouriteDao measureFilterFavouriteDao;
@@ -134,7 +134,7 @@ public class DbClient {
snapshotDao = getDao(map, SnapshotDao.class);
componentDao = getDao(map, ComponentDao.class);
resourceDao = getDao(map, ResourceDao.class);
resourceKeyUpdaterDao = getDao(map, ResourceKeyUpdaterDao.class);
componentKeyUpdaterDao = getDao(map, ComponentKeyUpdaterDao.class);
measureDao = getDao(map, MeasureDao.class);
measureFilterDao = getDao(map, MeasureFilterDao.class);
measureFilterFavouriteDao = getDao(map, MeasureFilterFavouriteDao.class);
@@ -234,8 +234,8 @@ public class DbClient {
return resourceDao;
}

public ResourceKeyUpdaterDao resourceKeyUpdaterDao() {
return resourceKeyUpdaterDao;
public ComponentKeyUpdaterDao componentKeyUpdaterDao() {
return componentKeyUpdaterDao;
}

public MeasureDao measureDao() {

+ 2
- 2
sonar-db/src/main/java/org/sonar/db/MyBatis.java Переглянути файл

@@ -42,7 +42,7 @@ import org.sonar.db.component.FilePathWithHashDto;
import org.sonar.db.component.ResourceDto;
import org.sonar.db.component.ResourceIndexDto;
import org.sonar.db.component.ResourceIndexMapper;
import org.sonar.db.component.ResourceKeyUpdaterMapper;
import org.sonar.db.component.ComponentKeyUpdaterMapper;
import org.sonar.db.component.ResourceMapper;
import org.sonar.db.component.SnapshotDto;
import org.sonar.db.component.SnapshotMapper;
@@ -225,7 +225,7 @@ public class MyBatis {
IsAliveMapper.class,
LoadedTemplateMapper.class, MeasureFilterMapper.class, MeasureFilterFavouriteMapper.class,
PermissionTemplateMapper.class, PermissionTemplateCharacteristicMapper.class,
PropertiesMapper.class, PurgeMapper.class, ResourceKeyUpdaterMapper.class, ResourceIndexMapper.class, RoleMapper.class, RuleMapper.class,
PropertiesMapper.class, PurgeMapper.class, ComponentKeyUpdaterMapper.class, ResourceIndexMapper.class, RoleMapper.class, RuleMapper.class,
SchemaMigrationMapper.class, WidgetMapper.class, WidgetPropertyMapper.class,
UserMapper.class, GroupMapper.class, UserGroupMapper.class, UserTokenMapper.class,
FileSourceMapper.class,

sonar-db/src/main/java/org/sonar/db/component/ResourceKeyUpdaterDao.java → sonar-db/src/main/java/org/sonar/db/component/ComponentKeyUpdaterDao.java Переглянути файл

@@ -44,18 +44,18 @@ import static org.sonar.core.component.ComponentKeys.isValidModuleKey;
*
* @since 3.2
*/
public class ResourceKeyUpdaterDao implements Dao {
public class ComponentKeyUpdaterDao implements Dao {
private static final Set<String> PROJECT_OR_MODULE_QUALIFIERS = ImmutableSet.of(Qualifiers.PROJECT, Qualifiers.MODULE);

private MyBatis mybatis;

public ResourceKeyUpdaterDao(MyBatis mybatis) {
public ComponentKeyUpdaterDao(MyBatis mybatis) {
this.mybatis = mybatis;
}

public void updateKey(String projectUuid, String newKey) {
DbSession session = mybatis.openSession(true);
ResourceKeyUpdaterMapper mapper = session.getMapper(ResourceKeyUpdaterMapper.class);
ComponentKeyUpdaterMapper mapper = session.getMapper(ComponentKeyUpdaterMapper.class);
try {
if (mapper.countResourceByKey(newKey) > 0) {
throw new IllegalArgumentException("Impossible to update key: a component with key \"" + newKey + "\" already exists.");
@@ -78,7 +78,7 @@ public class ResourceKeyUpdaterDao implements Dao {

public Map<String, String> checkModuleKeysBeforeRenaming(String projectUuid, String stringToReplace, String replacementString) {
SqlSession session = mybatis.openSession(false);
ResourceKeyUpdaterMapper mapper = session.getMapper(ResourceKeyUpdaterMapper.class);
ComponentKeyUpdaterMapper mapper = session.getMapper(ComponentKeyUpdaterMapper.class);
Map<String, String> result = Maps.newHashMap();
try {
Set<ResourceDto> modules = collectAllModules(projectUuid, stringToReplace, mapper);
@@ -120,7 +120,7 @@ public class ResourceKeyUpdaterDao implements Dao {
}

public void bulkUpdateKey(DbSession session, String projectUuid, String stringToReplace, String replacementString) {
ResourceKeyUpdaterMapper mapper = session.getMapper(ResourceKeyUpdaterMapper.class);
ComponentKeyUpdaterMapper mapper = session.getMapper(ComponentKeyUpdaterMapper.class);
// must SELECT first everything
Set<ResourceDto> modules = collectAllModules(projectUuid, stringToReplace, mapper);
checkNewNameOfAllModules(modules, stringToReplace, replacementString, mapper);
@@ -143,7 +143,7 @@ public class ResourceKeyUpdaterDao implements Dao {
return resource.getKey().replaceAll(stringToReplace, replacementString);
}

private static void runBatchUpdateForAllResources(Collection<ResourceDto> resources, String oldKey, String newKey, ResourceKeyUpdaterMapper mapper) {
private static void runBatchUpdateForAllResources(Collection<ResourceDto> resources, String oldKey, String newKey, ComponentKeyUpdaterMapper mapper) {
for (ResourceDto resource : resources) {
String oldResourceKey = resource.getKey();
String newResourceKey = newKey + oldResourceKey.substring(oldKey.length(), oldResourceKey.length());
@@ -157,7 +157,7 @@ public class ResourceKeyUpdaterDao implements Dao {
}
}

private static Set<ResourceDto> collectAllModules(String projectUuid, String stringToReplace, ResourceKeyUpdaterMapper mapper) {
private static Set<ResourceDto> collectAllModules(String projectUuid, String stringToReplace, ComponentKeyUpdaterMapper mapper) {
ResourceDto project = mapper.selectProject(projectUuid);
Set<ResourceDto> modules = Sets.newHashSet();
if (project.getKey().contains(stringToReplace)) {
@@ -169,7 +169,7 @@ public class ResourceKeyUpdaterDao implements Dao {
return modules;
}

private static void checkNewNameOfAllModules(Set<ResourceDto> modules, String stringToReplace, String replacementString, ResourceKeyUpdaterMapper mapper) {
private static void checkNewNameOfAllModules(Set<ResourceDto> modules, String stringToReplace, String replacementString, ComponentKeyUpdaterMapper mapper) {
for (ResourceDto module : modules) {
String newKey = computeNewKey(module, stringToReplace, replacementString);
checkArgument(isValidModuleKey(newKey), "Malformed key for '%s'. Allowed characters are alphanumeric, '-', '_', '.' and ':', with at least one non-digit.", newKey);
@@ -179,7 +179,7 @@ public class ResourceKeyUpdaterDao implements Dao {
}
}

private ResourceKeyUpdaterMapper mapper(DbSession dbSession) {
return dbSession.getMapper(ResourceKeyUpdaterMapper.class);
private static ComponentKeyUpdaterMapper mapper(DbSession dbSession) {
return dbSession.getMapper(ComponentKeyUpdaterMapper.class);
}
}

sonar-db/src/main/java/org/sonar/db/component/ResourceKeyUpdaterMapper.java → sonar-db/src/main/java/org/sonar/db/component/ComponentKeyUpdaterMapper.java Переглянути файл

@@ -25,7 +25,7 @@ import org.apache.ibatis.annotations.Param;
/**
* @since 3.2
*/
public interface ResourceKeyUpdaterMapper {
public interface ComponentKeyUpdaterMapper {

int countResourceByKey(String key);


sonar-db/src/main/resources/org/sonar/db/component/ResourceKeyUpdaterMapper.xml → sonar-db/src/main/resources/org/sonar/db/component/ComponentKeyUpdaterMapper.xml Переглянути файл

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="org.sonar.db.component.ResourceKeyUpdaterMapper">
<mapper namespace="org.sonar.db.component.ComponentKeyUpdaterMapper">

<resultMap id="resourceResultMap" type="Resource">
<id property="id" column="id"/>

sonar-db/src/test/java/org/sonar/db/component/ResourceKeyUpdaterDaoTest.java → sonar-db/src/test/java/org/sonar/db/component/ComponentKeyUpdaterDaoTest.java Переглянути файл

@@ -34,7 +34,7 @@ import static org.assertj.core.api.Assertions.entry;
import static org.sonar.db.component.ComponentTesting.newFileDto;
import static org.sonar.db.component.ComponentTesting.newProjectDto;

public class ResourceKeyUpdaterDaoTest {
public class ComponentKeyUpdaterDaoTest {

@Rule
public ExpectedException thrown = ExpectedException.none();
@@ -44,7 +44,7 @@ public class ResourceKeyUpdaterDaoTest {
private DbSession dbSession = db.getSession();
ComponentDbTester componentDb = new ComponentDbTester(db);

ResourceKeyUpdaterDao underTest = db.getDbClient().resourceKeyUpdaterDao();
ComponentKeyUpdaterDao underTest = db.getDbClient().componentKeyUpdaterDao();

@Test
public void shouldUpdateKey() {

sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shared.xml → sonar-db/src/test/resources/org/sonar/db/component/ComponentKeyUpdaterDaoTest/shared.xml Переглянути файл


sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldBulkUpdateKey-result.xml → sonar-db/src/test/resources/org/sonar/db/component/ComponentKeyUpdaterDaoTest/shouldBulkUpdateKey-result.xml Переглянути файл


sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldBulkUpdateKeyOnOnlyOneSubmodule-result.xml → sonar-db/src/test/resources/org/sonar/db/component/ComponentKeyUpdaterDaoTest/shouldBulkUpdateKeyOnOnlyOneSubmodule-result.xml Переглянути файл


sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldNotUpdateAllSubmodules-result.xml → sonar-db/src/test/resources/org/sonar/db/component/ComponentKeyUpdaterDaoTest/shouldNotUpdateAllSubmodules-result.xml Переглянути файл


sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldNotUpdateAllSubmodules.xml → sonar-db/src/test/resources/org/sonar/db/component/ComponentKeyUpdaterDaoTest/shouldNotUpdateAllSubmodules.xml Переглянути файл


sonar-db/src/test/resources/org/sonar/db/component/ResourceKeyUpdaterDaoTest/shouldUpdateKey-result.xml → sonar-db/src/test/resources/org/sonar/db/component/ComponentKeyUpdaterDaoTest/shouldUpdateKey-result.xml Переглянути файл


Завантаження…
Відмінити
Зберегти