]> source.dussan.org Git - sonarqube.git/commitdiff
Remove BaseDao usage from ComponentDao 304/head
authorJulien Lancelot <julien.lancelot@sonarsource.com>
Wed, 13 May 2015 14:26:49 +0000 (16:26 +0200)
committerJulien Lancelot <julien.lancelot@sonarsource.com>
Mon, 18 May 2015 09:04:37 +0000 (11:04 +0200)
54 files changed:
server/sonar-server/src/main/java/org/sonar/server/batch/IssuesAction.java
server/sonar-server/src/main/java/org/sonar/server/batch/ProjectRepositoryLoader.java
server/sonar-server/src/main/java/org/sonar/server/component/ComponentCleanerService.java
server/sonar-server/src/main/java/org/sonar/server/component/ComponentService.java
server/sonar-server/src/main/java/org/sonar/server/component/db/ComponentDao.java
server/sonar-server/src/main/java/org/sonar/server/computation/ComputationService.java
server/sonar-server/src/main/java/org/sonar/server/computation/ReportQueue.java
server/sonar-server/src/main/java/org/sonar/server/duplication/ws/DuplicationsJsonWriter.java
server/sonar-server/src/main/java/org/sonar/server/duplication/ws/DuplicationsParser.java
server/sonar-server/src/main/java/org/sonar/server/duplication/ws/ShowAction.java
server/sonar-server/src/main/java/org/sonar/server/issue/ActionService.java
server/sonar-server/src/main/java/org/sonar/server/issue/IssueBulkChangeService.java
server/sonar-server/src/main/java/org/sonar/server/issue/IssueService.java
server/sonar-server/src/main/java/org/sonar/server/issue/ServerIssueStorage.java
server/sonar-server/src/main/java/org/sonar/server/permission/InternalPermissionService.java
server/sonar-server/src/main/java/org/sonar/server/source/ws/HashAction.java
server/sonar-server/src/main/java/org/sonar/server/source/ws/IndexAction.java
server/sonar-server/src/main/java/org/sonar/server/source/ws/LinesAction.java
server/sonar-server/src/main/java/org/sonar/server/source/ws/RawAction.java
server/sonar-server/src/main/java/org/sonar/server/source/ws/ScmAction.java
server/sonar-server/src/main/java/org/sonar/server/source/ws/ShowAction.java
server/sonar-server/src/main/java/org/sonar/server/test/ws/TestsListAction.java
server/sonar-server/src/main/java/org/sonar/server/ui/ws/ComponentNavigationAction.java
server/sonar-server/src/test/java/org/sonar/server/batch/IssuesActionTest.java
server/sonar-server/src/test/java/org/sonar/server/component/ComponentCleanerServiceMediumTest.java
server/sonar-server/src/test/java/org/sonar/server/component/db/ComponentDaoTest.java
server/sonar-server/src/test/java/org/sonar/server/component/ws/ProjectsGhostsActionTest.java
server/sonar-server/src/test/java/org/sonar/server/component/ws/ProjectsProvisionedActionTest.java
server/sonar-server/src/test/java/org/sonar/server/component/ws/SearchActionTest.java
server/sonar-server/src/test/java/org/sonar/server/computation/ComputationServiceTest.java
server/sonar-server/src/test/java/org/sonar/server/computation/ReportQueueTest.java
server/sonar-server/src/test/java/org/sonar/server/computation/step/PurgeRemovedViewsStepTest.java
server/sonar-server/src/test/java/org/sonar/server/design/ws/ShowActionTest.java
server/sonar-server/src/test/java/org/sonar/server/duplication/ws/DuplicationsJsonWriterTest.java
server/sonar-server/src/test/java/org/sonar/server/duplication/ws/DuplicationsParserTest.java
server/sonar-server/src/test/java/org/sonar/server/duplication/ws/ShowActionTest.java
server/sonar-server/src/test/java/org/sonar/server/issue/ActionServiceTest.java
server/sonar-server/src/test/java/org/sonar/server/issue/IssueBulkChangeServiceTest.java
server/sonar-server/src/test/java/org/sonar/server/issue/ServerIssueStorageTest.java
server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/QProfileDeleteActionTest.java
server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/QProfileProjectsActionTest.java
server/sonar-server/src/test/java/org/sonar/server/qualityprofile/ws/QProfileSearchActionTest.java
server/sonar-server/src/test/java/org/sonar/server/source/ws/HashActionTest.java
server/sonar-server/src/test/java/org/sonar/server/source/ws/IndexActionTest.java
server/sonar-server/src/test/java/org/sonar/server/source/ws/LinesActionTest.java
server/sonar-server/src/test/java/org/sonar/server/source/ws/RawActionTest.java
server/sonar-server/src/test/java/org/sonar/server/source/ws/ScmActionTest.java
server/sonar-server/src/test/java/org/sonar/server/source/ws/ShowActionTest.java
server/sonar-server/src/test/java/org/sonar/server/test/ws/TestsListActionTest.java
server/sonar-server/src/test/java/org/sonar/server/ui/ws/ComponentNavigationActionTest.java
server/sonar-server/src/test/java/org/sonar/server/view/index/ViewIndexerTest.java
sonar-core/src/main/java/org/sonar/core/component/ComponentDto.java
sonar-core/src/main/java/org/sonar/core/component/db/ComponentMapper.java
sonar-core/src/main/resources/org/sonar/core/component/db/ComponentMapper.xml

index e7177cea1c5c5a9f56d3da8ec9bad77b63804f9f..a710e2a2e25252da43d5d9338b97818b5f7cca25 100644 (file)
@@ -80,7 +80,7 @@ public class IssuesAction implements BatchWsAction {
     response.stream().setMediaType(MimeTypes.PROTOBUF);
     DbSession session = dbClient.openSession(false);
     try {
-      ComponentDto component = dbClient.componentDao().getByKey(session, moduleKey);
+      ComponentDto component = dbClient.componentDao().selectByKey(session, moduleKey);
       Map<String, String> keysByUUid = keysByUUid(session, component);
 
       BatchInput.ServerIssue.Builder issueBuilder = BatchInput.ServerIssue.newBuilder();
index c34159404e4b3af7326b690d8ac92740e6cca38f..573db15d4cb40b1a6ea5e8c01d778d9fb2525e53 100644 (file)
@@ -95,7 +95,7 @@ public class ProjectRepositoryLoader {
     try {
       ProjectRepositories ref = new ProjectRepositories();
       String projectKey = query.getModuleKey();
-      ComponentDto module = dbClient.componentDao().getNullableByKey(session, query.getModuleKey());
+      ComponentDto module = dbClient.componentDao().selectNullableByKey(session, query.getModuleKey());
       // Current project/module can be null when analysing a new project
       if (module != null) {
         // Scan permission is enough to analyze all projects but preview permission is limited to projects user can access
index cc24b47c12880c135fcfd90fd50f72cab59be310..89154e1231e1d40bf621496c28c6f79214a4f74c 100644 (file)
@@ -56,7 +56,7 @@ public class ComponentCleanerService {
   public void delete(String projectKey) {
     DbSession dbSession = dbClient.openSession(false);
     try {
-      ComponentDto project = dbClient.componentDao().getByKey(dbSession, projectKey);
+      ComponentDto project = dbClient.componentDao().selectByKey(dbSession, projectKey);
       if (!Scopes.PROJECT.equals(project.scope())) {
         throw new IllegalArgumentException("Only projects can be deleted");
       }
index 3b30c26faf4d811739a3c1bf10a196b854d5ae76..287f72738a273469bf97c6c8ac50fed253271551 100644 (file)
@@ -24,17 +24,10 @@ import com.google.common.base.Function;
 import com.google.common.base.Joiner;
 import com.google.common.collect.Collections2;
 import com.google.common.collect.Sets;
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Set;
-import javax.annotation.CheckForNull;
-import javax.annotation.Nullable;
 import org.sonar.api.ServerSide;
 import org.sonar.api.i18n.I18n;
 import org.sonar.api.resources.Scopes;
+import org.sonar.api.utils.System2;
 import org.sonar.api.utils.internal.Uuids;
 import org.sonar.api.web.UserRole;
 import org.sonar.core.component.ComponentDto;
@@ -49,6 +42,16 @@ import org.sonar.server.exceptions.NotFoundException;
 import org.sonar.server.permission.InternalPermissionService;
 import org.sonar.server.user.UserSession;
 
+import javax.annotation.CheckForNull;
+import javax.annotation.Nullable;
+
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+
 import static com.google.common.collect.Lists.newArrayList;
 
 @ServerSide
@@ -61,15 +64,17 @@ public class ComponentService {
   private final ResourceIndexerDao resourceIndexerDao;
   private final InternalPermissionService permissionService;
   private final UserSession userSession;
+  private final System2 system2;
 
   public ComponentService(DbClient dbClient, ResourceKeyUpdaterDao resourceKeyUpdaterDao, I18n i18n, ResourceIndexerDao resourceIndexerDao,
-    InternalPermissionService permissionService, UserSession userSession) {
+                          InternalPermissionService permissionService, UserSession userSession, System2 system2) {
     this.dbClient = dbClient;
     this.resourceKeyUpdaterDao = resourceKeyUpdaterDao;
     this.i18n = i18n;
     this.resourceIndexerDao = resourceIndexerDao;
     this.permissionService = permissionService;
     this.userSession = userSession;
+    this.system2 = system2;
   }
 
   public ComponentDto getByKey(String key) {
@@ -163,8 +168,7 @@ public class ComponentService {
       }
 
       String uuid = Uuids.create();
-      ComponentDto component = dbClient.componentDao().insert(session,
-        new ComponentDto()
+      ComponentDto component = new ComponentDto()
           .setUuid(uuid)
           .setModuleUuid(null)
           .setModuleUuidPath(ComponentDto.MODULE_UUID_PATH_SEP + uuid + ComponentDto.MODULE_UUID_PATH_SEP)
@@ -175,7 +179,9 @@ public class ComponentService {
           .setLongName(newComponent.name())
           .setScope(Scopes.PROJECT)
           .setQualifier(newComponent.qualifier())
-          .setCreatedAt(new Date()));
+          .setCreatedAt(new Date(system2.now()))
+        ;
+      dbClient.componentDao().insert(session, component);
       resourceIndexerDao.indexResource(session, component.getId());
       session.commit();
 
@@ -198,7 +204,7 @@ public class ComponentService {
   public Collection<String> componentUuids(DbSession session, @Nullable Collection<String> componentKeys, boolean ignoreMissingComponents) {
     Collection<String> componentUuids = newArrayList();
     if (componentKeys != null && !componentKeys.isEmpty()) {
-      List<ComponentDto> components = dbClient.componentDao().getByKeys(session, componentKeys);
+      List<ComponentDto> components = dbClient.componentDao().selectByKeys(session, componentKeys);
 
       if (!ignoreMissingComponents && components.size() < componentKeys.size()) {
         Collection<String> foundKeys = Collections2.transform(components, new Function<ComponentDto, String>() {
@@ -264,10 +270,10 @@ public class ComponentService {
 
   @CheckForNull
   private ComponentDto getNullableByKey(DbSession session, String key) {
-    return dbClient.componentDao().getNullableByKey(session, key);
+    return dbClient.componentDao().selectNullableByKey(session, key);
   }
 
   private ComponentDto getByKey(DbSession session, String key) {
-    return dbClient.componentDao().getByKey(session, key);
+    return dbClient.componentDao().selectByKey(session, key);
   }
 }
index eeb893b1cfb8daddc9ef11febc32f94dae8bdb25..497961498f600503b28d451f3376cb6dc1e094e4 100644 (file)
 package org.sonar.server.component.db;
 
 import com.google.common.base.Function;
+import com.google.common.collect.Lists;
 import org.apache.ibatis.session.RowBounds;
 import org.sonar.api.ServerSide;
 import org.sonar.api.resources.Qualifiers;
 import org.sonar.api.resources.Scopes;
-import org.sonar.api.utils.System2;
 import org.sonar.core.component.ComponentDto;
 import org.sonar.core.component.FilePathWithHashDto;
 import org.sonar.core.component.UuidWithProjectUuidDto;
@@ -33,12 +33,12 @@ import org.sonar.core.component.db.ComponentMapper;
 import org.sonar.core.persistence.DaoComponent;
 import org.sonar.core.persistence.DaoUtils;
 import org.sonar.core.persistence.DbSession;
-import org.sonar.server.db.BaseDao;
 import org.sonar.server.es.SearchOptions;
 import org.sonar.server.exceptions.NotFoundException;
 
 import javax.annotation.CheckForNull;
 import javax.annotation.Nullable;
+
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
@@ -50,11 +50,7 @@ import static com.google.common.collect.Maps.newHashMapWithExpectedSize;
  * @since 4.3
  */
 @ServerSide
-public class ComponentDao extends BaseDao<ComponentMapper, ComponentDto, String> implements DaoComponent {
-
-  public ComponentDao(System2 system) {
-    super(ComponentMapper.class, system);
-  }
+public class ComponentDao implements DaoComponent {
 
   public ComponentDto getById(Long id, DbSession session) {
     ComponentDto componentDto = getNullableById(id, session);
@@ -140,26 +136,35 @@ public class ComponentDao extends BaseDao<ComponentMapper, ComponentDto, String>
     });
   }
 
-  @Override
-  protected List<ComponentDto> doGetByKeys(DbSession session, Collection<String> keys) {
+  public List<ComponentDto> selectByKeys(DbSession session, Collection<String> keys) {
     return mapper(session).findByKeys(keys);
   }
 
-  @Override
+  public ComponentDto selectByKey(DbSession session, String key) {
+    ComponentDto value = selectNullableByKey(session, key);
+    if (value == null) {
+      throw new NotFoundException(String.format("Component key '%s' not found", key));
+    }
+    return mapper(session).selectByKey(key);
+  }
+
   @CheckForNull
-  protected ComponentDto doGetNullableByKey(DbSession session, String key) {
+  public ComponentDto selectNullableByKey(DbSession session, String key) {
     return mapper(session).selectByKey(key);
   }
 
-  @Override
-  protected ComponentDto doInsert(DbSession session, ComponentDto item) {
+  public void insert(DbSession session, ComponentDto item) {
     mapper(session).insert(item);
-    return item;
   }
 
-  @Override
-  protected void doDeleteByKey(DbSession session, String key) {
-    mapper(session).deleteByKey(key);
+  public void insert(DbSession session, Collection<ComponentDto> items) {
+    for (ComponentDto item : items) {
+      insert(session, item);
+    }
+  }
+
+  public void insert(DbSession session, ComponentDto item, ComponentDto... others) {
+    insert(session, Lists.asList(item, others));
   }
 
   public List<String> findProjectUuids(DbSession session) {
@@ -215,4 +220,8 @@ public class ComponentDao extends BaseDao<ComponentMapper, ComponentDto, String>
   private void addProjectQualifier(Map<String, String> parameters) {
     parameters.put("qualifier", Qualifiers.PROJECT);
   }
+
+  private ComponentMapper mapper(DbSession session) {
+    return session.getMapper(ComponentMapper.class);
+  }
 }
index 9154599fe20aabcb4c8b50ee34b8e17890f8aa73..5e4d2a435b4c526bf88c6f053b24706f90491d07 100644 (file)
@@ -128,7 +128,7 @@ public class ComputationService {
   private ComponentDto loadProject(ReportQueue.Item item) {
     DbSession session = dbClient.openSession(false);
     try {
-      return dbClient.componentDao().getByKey(session, item.dto.getProjectKey());
+      return dbClient.componentDao().selectByKey(session, item.dto.getProjectKey());
     } finally {
       MyBatis.closeQuietly(session);
     }
index 2c6a488a56f65271976511d4fddf0ec660f1d96c..a8820810169350cfdeafe112e76fe5a47bf880c5 100644 (file)
@@ -90,7 +90,7 @@ public class ReportQueue {
   }
 
   private void checkThatProjectExistsInDatabase(String projectKey, DbSession session) {
-    dbClient.componentDao().getByKey(session, projectKey);
+    dbClient.componentDao().selectByKey(session, projectKey);
   }
 
   public void remove(Item item) {
index 1db9158bbf3ed5992d2374f018add15f221e00c3..71d062cac167718a6d07511752713a9951a0986f 100644 (file)
@@ -90,7 +90,7 @@ public class DuplicationsJsonWriter {
     for (Map.Entry<String, String> entry : refByComponentKey.entrySet()) {
       String componentKey = entry.getKey();
       String ref = entry.getValue();
-      ComponentDto file = componentDao.getNullableByKey(session, componentKey);
+      ComponentDto file = componentDao.selectNullableByKey(session, componentKey);
       if (file != null) {
         json.name(ref).beginObject();
 
index ea6e5914aacbc43915ee27b0af3c715d7e84f189..9721fc23f49503c5dca987cf5b45793b1812afc8 100644 (file)
@@ -88,7 +88,7 @@ public class DuplicationsParser {
   private Duplication createDuplication(Map<String, ComponentDto> componentsByKey, String from, String size, String componentKey, DbSession session) {
     ComponentDto component = componentsByKey.get(componentKey);
     if (component == null) {
-      component = componentDao.getNullableByKey(session, componentKey);
+      component = componentDao.selectNullableByKey(session, componentKey);
       componentsByKey.put(componentKey, component);
     }
     return new Duplication(component, Integer.valueOf(from), Integer.valueOf(size));
index 53b6adea1e6b3b2a09e9be7b87a8d260c5efac87..f270db6220fe3126d7f58473df07f7196b19ad0d 100644 (file)
@@ -22,8 +22,6 @@ package org.sonar.server.duplication.ws;
 
 import com.google.common.base.Preconditions;
 import com.google.common.io.Resources;
-import java.util.List;
-import javax.annotation.CheckForNull;
 import org.sonar.api.measures.CoreMetrics;
 import org.sonar.api.server.ws.Request;
 import org.sonar.api.server.ws.RequestHandler;
@@ -41,6 +39,10 @@ import org.sonar.server.exceptions.NotFoundException;
 import org.sonar.server.measure.persistence.MeasureDao;
 import org.sonar.server.user.UserSession;
 
+import javax.annotation.CheckForNull;
+
+import java.util.List;
+
 public class ShowAction implements RequestHandler {
 
   private final DbClient dbClient;
@@ -113,7 +115,7 @@ public class ShowAction implements RequestHandler {
   }
 
   private ComponentDto findComponent(String key, DbSession session) {
-    ComponentDto componentDto = componentDao.getNullableByKey(session, key);
+    ComponentDto componentDto = componentDao.selectNullableByKey(session, key);
     if (componentDto == null) {
       throw new NotFoundException(String.format("Component with key '%s' not found", key));
     }
index 056d6e75575d1d3ae6a88f66371bad9813799917..0e65b4238a88ea5931606fcdc1cd22569ff43664 100644 (file)
@@ -111,7 +111,7 @@ public class ActionService {
       }
 
       IssueChangeContext changeContext = IssueChangeContext.createUser(new Date(), userSession.getLogin());
-      Component project = dbClient.componentDao().getByKey(session, issue.projectKey());
+      Component project = dbClient.componentDao().selectByKey(session, issue.projectKey());
       FunctionContext functionContext = new FunctionContext(issue, updater, changeContext, getProjectSettings(project));
       for (Function function : action.functions()) {
         function.execute(functionContext);
index e29eb8cde12417cddb123c3fda634508d0b52ee3..674b68ba43e426bb5a93ca2dfc780083702b21c1 100644 (file)
@@ -240,11 +240,11 @@ public class IssueBulkChangeService {
           rules.put(rule.ruleKey(), rule);
         }
 
-        for (ComponentDto file : dbClient.componentDao().getByKeys(session, componentKeys)) {
+        for (ComponentDto file : dbClient.componentDao().selectByKeys(session, componentKeys)) {
           components.put(file.getKey(), file);
         }
 
-        for (ComponentDto project : dbClient.componentDao().getByKeys(session, projectKeys)) {
+        for (ComponentDto project : dbClient.componentDao().selectByKeys(session, projectKeys)) {
           projects.put(project.getKey(), project);
         }
       } finally {
index 206c3bc8a89e808c8f72c25dd890c2621f39f1d0..6fd1351f76139e22e492e7a97c56ddad88b83364 100644 (file)
  */
 package org.sonar.server.issue;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import javax.annotation.CheckForNull;
-import javax.annotation.Nullable;
-
+import com.google.common.base.Objects;
+import com.google.common.base.Strings;
 import org.apache.commons.lang.StringUtils;
 import org.sonar.api.ServerSide;
 import org.sonar.api.issue.ActionPlan;
@@ -65,8 +57,15 @@ import org.sonar.server.user.UserSession;
 import org.sonar.server.user.index.UserDoc;
 import org.sonar.server.user.index.UserIndex;
 
-import com.google.common.base.Objects;
-import com.google.common.base.Strings;
+import javax.annotation.CheckForNull;
+import javax.annotation.Nullable;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
 
 @ServerSide
 public class IssueService {
@@ -247,7 +246,7 @@ public class IssueService {
 
     DbSession session = dbClient.openSession(false);
     try {
-      ComponentDto component = dbClient.componentDao().getByKey(session, componentKey);
+      ComponentDto component = dbClient.componentDao().selectByKey(session, componentKey);
       ComponentDto project = dbClient.componentDao().getByUuid(session, component.projectUuid());
 
       userSession.checkProjectPermission(UserRole.USER, project.getKey());
@@ -302,8 +301,8 @@ public class IssueService {
       .setIssue(issue)
       .setChangeAuthorLogin(context.login())
       .setRuleName(rule != null ? rule.getName() : null)
-      .setProject(dbClient.componentDao().getByKey(session, projectKey))
-      .setComponent(dbClient.componentDao().getNullableByKey(session, issue.componentKey()))
+      .setProject(dbClient.componentDao().selectByKey(session, projectKey))
+      .setComponent(dbClient.componentDao().selectNullableByKey(session, issue.componentKey()))
       .setComment(comment));
   }
 
index 04b899cc9126907601bf3bed3b8836610e03f7b9..190e71f59cf1cb4001863e5fb1afbeb264a147cd 100644 (file)
@@ -68,10 +68,10 @@ public class ServerIssueStorage extends IssueStorage {
   }
 
   protected ComponentDto component(DbSession session, DefaultIssue issue) {
-    return dbClient.componentDao().getByKey(session, issue.componentKey());
+    return dbClient.componentDao().selectByKey(session, issue.componentKey());
   }
 
   protected ComponentDto project(DbSession session, DefaultIssue issue) {
-    return dbClient.componentDao().getByKey(session, issue.projectKey());
+    return dbClient.componentDao().selectByKey(session, issue.projectKey());
   }
 }
index edf1fa7fe795dcb8846075aa6dfb4f229c1d4b94..70d38e82a30c773083a6034ff6989ad236c10255 100644 (file)
 
 package org.sonar.server.permission;
 
-import java.util.List;
-import java.util.Map;
-
-import javax.annotation.CheckForNull;
-import javax.annotation.Nullable;
-
 import org.sonar.api.ServerSide;
 import org.sonar.api.security.DefaultGroups;
 import org.sonar.api.web.UserRole;
@@ -42,6 +36,12 @@ import org.sonar.server.exceptions.ForbiddenException;
 import org.sonar.server.issue.index.IssueAuthorizationIndexer;
 import org.sonar.server.user.UserSession;
 
+import javax.annotation.CheckForNull;
+import javax.annotation.Nullable;
+
+import java.util.List;
+import java.util.Map;
+
 /**
  * Used by ruby code <pre>Internal.permissions</pre>
  */
@@ -124,7 +124,7 @@ public class InternalPermissionService {
 
     DbSession session = dbClient.openSession(false);
     try {
-      ComponentDto component = dbClient.componentDao().getByKey(session, componentKey);
+      ComponentDto component = dbClient.componentDao().selectByKey(session, componentKey);
       ResourceDto provisioned = dbClient.resourceDao().selectProvisionedProject(session, componentKey);
       if (provisioned == null) {
         checkProjectAdminPermission(componentKey);
@@ -162,7 +162,7 @@ public class InternalPermissionService {
       }
 
       for (String componentKey : query.getSelectedComponents()) {
-        ComponentDto component = dbClient.componentDao().getByKey(session, componentKey);
+        ComponentDto component = dbClient.componentDao().selectByKey(session, componentKey);
         permissionFacade.applyPermissionTemplate(session, query.getTemplateKey(), component.getId());
         projectsChanged = true;
       }
@@ -256,7 +256,7 @@ public class InternalPermissionService {
     if (componentKey == null) {
       return null;
     } else {
-      ComponentDto component = dbClient.componentDao().getByKey(session, componentKey);
+      ComponentDto component = dbClient.componentDao().selectByKey(session, componentKey);
       return component.getId();
     }
   }
index 69cbfada5c44b5e925ee60ff3f717c65bcdf342a..2ffe4c95ee57f0b4a046bbd038c62bcacf6e0435 100644 (file)
@@ -66,7 +66,7 @@ public class HashAction implements SourcesWsAction {
   public void handle(Request request, Response response) throws Exception {
     try (DbSession session = dbClient.openSession(false)) {
       final String componentKey = request.mandatoryParam("key");
-      final ComponentDto component = dbClient.componentDao().getByKey(session, componentKey);
+      final ComponentDto component = dbClient.componentDao().selectByKey(session, componentKey);
       userSession.checkProjectUuidPermission(UserRole.USER, component.projectUuid());
 
       response.stream().setMediaType("text/plain");
index 5a58c36fb65501f434031b73b57dd9edcd8c78c8..6f02cbe6f84f0d635f991bebaddd59b732b113f5 100644 (file)
@@ -21,7 +21,6 @@
 package org.sonar.server.source.ws;
 
 import com.google.common.io.Resources;
-import java.util.List;
 import org.sonar.api.server.ws.Request;
 import org.sonar.api.server.ws.Response;
 import org.sonar.api.server.ws.WebService;
@@ -33,6 +32,8 @@ import org.sonar.server.db.DbClient;
 import org.sonar.server.source.SourceService;
 import org.sonar.server.user.UserSession;
 
+import java.util.List;
+
 public class IndexAction implements SourcesWsAction {
 
   private final DbClient dbClient;
@@ -77,7 +78,7 @@ public class IndexAction implements SourcesWsAction {
     Integer from = request.mandatoryParamAsInt("from");
     Integer to = request.paramAsInt("to");
     try (DbSession session = dbClient.openSession(false)) {
-      ComponentDto componentDto = dbClient.componentDao().getByKey(session, fileKey);
+      ComponentDto componentDto = dbClient.componentDao().selectByKey(session, fileKey);
       List<String> lines = sourceService.getLinesAsTxt(componentDto.uuid(), from, to == null ? null : to - 1);
       JsonWriter json = response.newJsonWriter().beginArray().beginObject();
       Integer lineCounter = from;
index 7efb25586ec40c12ca7994cfb9c06c84972b6fbb..0834e31a3a8df9f18126c21e3fd1bc17b4dabd56 100644 (file)
@@ -20,8 +20,6 @@
 package org.sonar.server.source.ws;
 
 import com.google.common.io.Resources;
-import java.util.Date;
-import java.util.List;
 import org.apache.commons.lang.ObjectUtils;
 import org.sonar.api.server.ws.Request;
 import org.sonar.api.server.ws.Response;
@@ -39,6 +37,9 @@ import org.sonar.server.source.index.SourceLineDoc;
 import org.sonar.server.source.index.SourceLineIndex;
 import org.sonar.server.user.UserSession;
 
+import java.util.Date;
+import java.util.List;
+
 public class LinesAction implements SourcesWsAction {
 
   private static final String PARAM_UUID = "uuid";
@@ -153,7 +154,7 @@ public class LinesAction implements SourcesWsAction {
       }
       String fileKey = request.param(PARAM_KEY);
       if (fileKey != null) {
-        return dbClient.componentDao().getByKey(session, fileKey);
+        return dbClient.componentDao().selectByKey(session, fileKey);
       }
       throw new IllegalArgumentException(String.format("Param %s or param %s is missing", PARAM_UUID, PARAM_KEY));
     } finally {
index d94c6175671feaddb6823afcf258c38f87726af5..7d54fe0f8dc841307bd01f6a191ac299161bfb49 100644 (file)
@@ -68,7 +68,7 @@ public class RawAction implements SourcesWsAction {
     String fileKey = request.mandatoryParam("key");
     userSession.checkComponentPermission(UserRole.CODEVIEWER, fileKey);
     try (DbSession session = dbClient.openSession(false)) {
-      ComponentDto componentDto = dbClient.componentDao().getByKey(session, fileKey);
+      ComponentDto componentDto = dbClient.componentDao().selectByKey(session, fileKey);
       List<String> lines = sourceService.getLinesAsTxt(componentDto.uuid(), null, null);
       response.stream().setMediaType("text/plain");
       IOUtils.writeLines(lines, "\n", response.stream().output(), StandardCharsets.UTF_8);
index c62e0bd881c6aed5d4e10794422ea3b2365fe3ac..617c7f9f71fa5f416b7695acdff207c2cca535a7 100644 (file)
@@ -22,8 +22,6 @@ package org.sonar.server.source.ws;
 
 import com.google.common.base.Strings;
 import com.google.common.io.Resources;
-import java.util.Date;
-import java.util.List;
 import org.apache.commons.lang.ObjectUtils;
 import org.apache.commons.lang.builder.EqualsBuilder;
 import org.sonar.api.server.ws.Request;
@@ -40,6 +38,9 @@ import org.sonar.server.source.index.SourceLineDoc;
 import org.sonar.server.source.index.SourceLineIndex;
 import org.sonar.server.user.UserSession;
 
+import java.util.Date;
+import java.util.List;
+
 public class ScmAction implements SourcesWsAction {
 
   private final DbClient dbClient;
@@ -101,7 +102,7 @@ public class ScmAction implements SourcesWsAction {
 
     DbSession session = dbClient.openSession(false);
     try {
-      ComponentDto fileDto = dbClient.componentDao().getByKey(session, fileKey);
+      ComponentDto fileDto = dbClient.componentDao().selectByKey(session, fileKey);
       userSession.checkProjectUuidPermission(UserRole.CODEVIEWER, fileDto.projectUuid());
       List<SourceLineDoc> sourceLines = sourceLineIndex.getLines(fileDto.uuid(), from, to);
       if (sourceLines.isEmpty()) {
index 61be5be83fe2b9dd059274e4561753964fc8d225..f0712c6e0750ae4672e2cae56b01666b9a5f3dcb 100644 (file)
@@ -20,7 +20,6 @@
 package org.sonar.server.source.ws;
 
 import com.google.common.io.Resources;
-import java.util.List;
 import org.apache.commons.lang.ObjectUtils;
 import org.sonar.api.server.ws.Request;
 import org.sonar.api.server.ws.Response;
@@ -33,6 +32,8 @@ import org.sonar.server.db.DbClient;
 import org.sonar.server.source.SourceService;
 import org.sonar.server.user.UserSession;
 
+import java.util.List;
+
 public class ShowAction implements SourcesWsAction {
 
   private final SourceService sourceService;
@@ -86,7 +87,7 @@ public class ShowAction implements SourcesWsAction {
 
     DbSession session = dbClient.openSession(false);
     try {
-      ComponentDto componentDto = dbClient.componentDao().getByKey(session, fileKey);
+      ComponentDto componentDto = dbClient.componentDao().selectByKey(session, fileKey);
       List<String> linesHtml = sourceService.getLinesAsHtml(componentDto.uuid(), from, to);
       JsonWriter json = response.newJsonWriter().beginObject();
       writeSource(linesHtml, from, json);
index 06ee6f79ae02fb96249c2b372df1af64ff255d76..2625d09fe8898df55e810993a226ccfb6976214e 100644 (file)
@@ -23,9 +23,6 @@ package org.sonar.server.test.ws;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.common.io.Resources;
-import java.util.List;
-import java.util.Map;
-import javax.annotation.Nullable;
 import org.sonar.api.server.ws.Request;
 import org.sonar.api.server.ws.Response;
 import org.sonar.api.server.ws.WebService;
@@ -43,6 +40,11 @@ import org.sonar.server.test.index.TestDoc;
 import org.sonar.server.test.index.TestIndex;
 import org.sonar.server.user.UserSession;
 
+import javax.annotation.Nullable;
+
+import java.util.List;
+import java.util.Map;
+
 public class TestsListAction implements TestsWsAction {
   public static final String TEST_UUID = "testUuid";
   public static final String TEST_FILE_UUID = "testFileUuid";
@@ -205,7 +207,7 @@ public class TestsListAction implements TestsWsAction {
 
   private SearchResult<TestDoc> searchTestsByTestFileKey(DbSession dbSession, String testFileKey, SearchOptions searchOptions) {
     userSession.checkComponentPermission(UserRole.CODEVIEWER, testFileKey);
-    ComponentDto testFile = dbClient.componentDao().getByKey(dbSession, testFileKey);
+    ComponentDto testFile = dbClient.componentDao().selectByKey(dbSession, testFileKey);
 
     return testIndex.searchByTestFileUuid(testFile.uuid(), searchOptions);
   }
index cc6c4737360754642562bee6c3f7c32f6065e673..83cdb3b6c59cf6329e51759b8b9db060f8d8ab87 100644 (file)
@@ -107,7 +107,7 @@ public class ComponentNavigationAction implements NavigationWsAction {
     DbSession session = dbClient.openSession(false);
 
     try {
-      ComponentDto component = dbClient.componentDao().getByKey(session, componentKey);
+      ComponentDto component = dbClient.componentDao().selectByKey(session, componentKey);
 
       userSession.checkProjectUuidPermission(UserRole.USER, component.projectUuid());
 
index 7c377e4be94e0df456330a92301c74082e90bcd7..c127fb83405fdc6af5b5440be5321dd737fe89ef 100644 (file)
@@ -93,7 +93,7 @@ public class IssuesActionTest {
     es.truncateIndices();
     this.session = db.myBatis().openSession(false);
 
-    componentDao = new ComponentDao(mock(System2.class));
+    componentDao = new ComponentDao();
     DbClient dbClient = new DbClient(db.database(), db.myBatis(), new IssueDao(db.myBatis()), componentDao);
     issueIndex = new IssueIndex(es.client(), System2.INSTANCE, userSessionRule);
     issueIndexer = new IssueIndexer(null, es.client());
index e1d3b0dbfb8072310919dc7cc4e73c0e54580004..57b48cedd78bbadc98ad490bd3eb717ea8d43c4e 100644 (file)
@@ -85,7 +85,7 @@ public class ComponentCleanerServiceMediumTest {
 
     service.delete(project.getKey());
 
-    assertThat(db.componentDao().getNullableByKey(session, project.key())).isNull();
+    assertThat(db.componentDao().selectNullableByKey(session, project.key())).isNull();
   }
 
   @Test
index 4c784d43ed5950544a8b5bf2bb3f9127c23260c1..97794b91439bd58b0f520d4e1f15ea1578b523c8 100644 (file)
 
 package org.sonar.server.component.db;
 
-import org.apache.ibatis.exceptions.PersistenceException;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.ClassRule;
+import org.junit.Rule;
 import org.junit.Test;
+import org.junit.rules.ExpectedException;
 import org.sonar.api.utils.DateUtils;
-import org.sonar.api.utils.System2;
 import org.sonar.core.component.ComponentDto;
 import org.sonar.core.component.FilePathWithHashDto;
 import org.sonar.core.persistence.DbSession;
@@ -35,29 +35,26 @@ import org.sonar.server.es.SearchOptions;
 import org.sonar.server.exceptions.NotFoundException;
 
 import java.util.Collections;
-import java.util.Date;
 import java.util.List;
 
 import static com.google.common.collect.Lists.newArrayList;
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
 
 public class ComponentDaoTest {
 
+  @Rule
+  public ExpectedException thrown = ExpectedException.none();
+
   ComponentDao sut;
 
   @ClassRule
   public static DbTester db = new DbTester();
   DbSession session;
-  System2 system2;
-
 
   @Before
   public void createDao() {
     session = db.myBatis().openSession(false);
-    system2 = mock(System2.class);
-    sut = new ComponentDao(system2);
+    sut = new ComponentDao();
   }
 
   @After
@@ -120,8 +117,10 @@ public class ComponentDaoTest {
     assertThat(result.isEnabled()).isFalse();
   }
 
-  @Test(expected = NotFoundException.class)
+  @Test
   public void fail_to_get_by_uuid_when_component_not_found() {
+    thrown.expect(NotFoundException.class);
+
     loadBasicDataInDatabase();
 
     sut.getByUuid(session, "unknown");
@@ -131,7 +130,7 @@ public class ComponentDaoTest {
   public void get_by_key() {
     loadBasicDataInDatabase();
 
-    ComponentDto result = sut.getNullableByKey(session, "org.struts:struts-core:src/org/struts/RequestContext.java");
+    ComponentDto result = sut.selectNullableByKey(session, "org.struts:struts-core:src/org/struts/RequestContext.java");
     assertThat(result).isNotNull();
     assertThat(result.key()).isEqualTo("org.struts:struts-core:src/org/struts/RequestContext.java");
     assertThat(result.path()).isEqualTo("src/org/struts/RequestContext.java");
@@ -142,14 +141,23 @@ public class ComponentDaoTest {
     assertThat(result.language()).isEqualTo("java");
     assertThat(result.parentProjectId()).isEqualTo(2);
 
-    assertThat(sut.getNullableByKey(session, "unknown")).isNull();
+    assertThat(sut.selectNullableByKey(session, "unknown")).isNull();
+  }
+
+  @Test
+  public void fail_to_get_by_key_when_component_not_found() {
+    thrown.expect(NotFoundException.class);
+
+    loadBasicDataInDatabase();
+
+    sut.getByUuid(session, "unknown");
   }
 
   @Test
   public void get_by_key_on_disabled_component() {
     loadBasicDataInDatabase();
 
-    ComponentDto result = sut.getNullableByKey(session, "org.disabled.project");
+    ComponentDto result = sut.selectByKey(session, "org.disabled.project");
     assertThat(result).isNotNull();
     assertThat(result.isEnabled()).isFalse();
   }
@@ -158,7 +166,7 @@ public class ComponentDaoTest {
   public void get_by_key_on_a_root_project() {
     loadBasicDataInDatabase();
 
-    ComponentDto result = sut.getNullableByKey(session, "org.struts:struts");
+    ComponentDto result = sut.selectByKey(session, "org.struts:struts");
     assertThat(result).isNotNull();
     assertThat(result.key()).isEqualTo("org.struts:struts");
     assertThat(result.deprecatedKey()).isEqualTo("org.struts:struts");
@@ -176,7 +184,7 @@ public class ComponentDaoTest {
   public void get_by_keys() {
     loadBasicDataInDatabase();
 
-    List<ComponentDto> results = sut.getByKeys(session, "org.struts:struts-core:src/org/struts/RequestContext.java");
+    List<ComponentDto> results = sut.selectByKeys(session, Collections.singletonList("org.struts:struts-core:src/org/struts/RequestContext.java"));
     assertThat(results).hasSize(1);
 
     ComponentDto result = results.get(0);
@@ -190,7 +198,7 @@ public class ComponentDaoTest {
     assertThat(result.language()).isEqualTo("java");
     assertThat(result.parentProjectId()).isEqualTo(2);
 
-    assertThat(sut.getByKeys(session, "unknown")).isEmpty();
+    assertThat(sut.selectByKeys(session, Collections.singletonList("unknown"))).isEmpty();
   }
 
   @Test
@@ -446,7 +454,6 @@ public class ComponentDaoTest {
 
   @Test
   public void insert() {
-    when(system2.now()).thenReturn(DateUtils.parseDate("2014-06-18").getTime());
     db.prepareDbUnit(getClass(), "empty.xml");
 
     ComponentDto componentDto = new ComponentDto()
@@ -466,6 +473,7 @@ public class ComponentDaoTest {
       .setParentProjectId(3L)
       .setCopyResourceId(5L)
       .setEnabled(true)
+      .setCreatedAt(DateUtils.parseDate("2014-06-18"))
       .setAuthorizationUpdatedAt(123456789L);
 
     sut.insert(session, componentDto);
@@ -477,7 +485,6 @@ public class ComponentDaoTest {
 
   @Test
   public void insert_disabled_component() {
-    when(system2.now()).thenReturn(DateUtils.parseDate("2014-06-18").getTime());
     db.prepareDbUnit(getClass(), "empty.xml");
 
     ComponentDto componentDto = new ComponentDto()
@@ -495,6 +502,7 @@ public class ComponentDaoTest {
       .setPath("src/org/struts/RequestContext.java")
       .setParentProjectId(3L)
       .setEnabled(false)
+      .setCreatedAt(DateUtils.parseDate("2014-06-18"))
       .setAuthorizationUpdatedAt(123456789L);
 
     sut.insert(session, componentDto);
@@ -504,27 +512,6 @@ public class ComponentDaoTest {
     db.assertDbUnit(getClass(), "insert_disabled_component-result.xml", "projects");
   }
 
-  @Test(expected = IllegalStateException.class)
-  public void update() {
-    sut.update(session, new ComponentDto()
-        .setId(1L)
-        .setKey("org.struts:struts-core:src/org/struts/RequestContext.java")
-    );
-  }
-
-  @Test
-  public void delete() {
-    loadBasicDataInDatabase();
-
-    sut.delete(session, new ComponentDto()
-        .setId(1L)
-        .setKey("org.struts:struts-core:src/org/struts/RequestContext.java")
-    );
-    session.commit();
-
-    db.assertDbUnit(getClass(), "delete-result.xml", "projects");
-  }
-
   @Test
   public void find_project_uuids() {
     db.prepareDbUnit(getClass(), "find_project_uuids.xml");
@@ -532,11 +519,6 @@ public class ComponentDaoTest {
     assertThat(sut.findProjectUuids(session)).containsExactly("ABCD");
   }
 
-  @Test(expected = PersistenceException.class)
-  public void synchronize_after() {
-    sut.synchronizeAfter(session, new Date(0L));
-  }
-
   @Test
   public void select_views_and_sub_views() {
     db.prepareDbUnit(getClass(), "shared_views.xml");
index b6da49d99865738a3c383bb6475f045aef6bfee0..0c964c2a5dbc48447bf0e495e28d1d161c1f10b6 100644 (file)
@@ -60,7 +60,7 @@ public class ProjectsGhostsActionTest {
 
   @Before
   public void setUp() {
-    dbClient = new DbClient(db.database(), db.myBatis(), new ComponentDao(System2.INSTANCE), new SnapshotDao(System2.INSTANCE));
+    dbClient = new DbClient(db.database(), db.myBatis(), new ComponentDao(), new SnapshotDao(System2.INSTANCE));
     dbSession = dbClient.openSession(false);
     ws = new WsTester(new ProjectsWs(new ProjectsGhostsAction(dbClient, userSessionRule)));
     db.truncateTables();
@@ -150,14 +150,14 @@ public class ProjectsGhostsActionTest {
       .setKey("org.apache.hbas:hbase")
       .setName("HBase")
       .setCreatedAt(DateUtils.parseDateTime("2015-03-04T23:03:44+0100"));
-    hBaseProject = dbClient.componentDao().insert(dbSession, hBaseProject);
+    dbClient.componentDao().insert(dbSession, hBaseProject);
     dbClient.snapshotDao().insert(dbSession, SnapshotTesting.createForProject(hBaseProject)
       .setStatus(SnapshotDto.STATUS_UNPROCESSED));
     ComponentDto roslynProject = ComponentTesting.newProjectDto("c526ef20-131b-4486-9357-063fa64b5079")
       .setKey("com.microsoft.roslyn:roslyn")
       .setName("Roslyn")
       .setCreatedAt(DateUtils.parseDateTime("2013-03-04T23:03:44+0100"));
-    roslynProject = dbClient.componentDao().insert(dbSession, roslynProject);
+    dbClient.componentDao().insert(dbSession, roslynProject);
     dbClient.snapshotDao().insert(dbSession, SnapshotTesting.createForProject(roslynProject)
       .setStatus(SnapshotDto.STATUS_UNPROCESSED));
     dbSession.commit();
@@ -179,7 +179,7 @@ public class ProjectsGhostsActionTest {
       .newProjectDto("ghost-uuid-" + id)
       .setName("ghost-name-" + id)
       .setKey("ghost-key-" + id);
-    project = dbClient.componentDao().insert(dbSession, project);
+    dbClient.componentDao().insert(dbSession, project);
     SnapshotDto snapshot = SnapshotTesting.createForProject(project)
       .setStatus(SnapshotDto.STATUS_UNPROCESSED);
     dbClient.snapshotDao().insert(dbSession, snapshot);
@@ -191,7 +191,7 @@ public class ProjectsGhostsActionTest {
       .newProjectDto("analyzed-uuid-" + id)
       .setName("analyzed-name-" + id)
       .setKey("analyzed-key-" + id);
-    project = dbClient.componentDao().insert(dbSession, project);
+    dbClient.componentDao().insert(dbSession, project);
     SnapshotDto snapshot = SnapshotTesting.createForProject(project);
     dbClient.snapshotDao().insert(dbSession, snapshot);
     dbSession.commit();
index c6575fef314bb9ea638a90ae46702f649879781f..e0e7be965ffce21f68c7cfe6307a61efd3aa7b83 100644 (file)
@@ -67,7 +67,7 @@ public class ProjectsProvisionedActionTest {
 
   @Before
   public void setUp() {
-    dbClient = new DbClient(db.database(), db.myBatis(), new ComponentDao(system2), new SnapshotDao(System2.INSTANCE));
+    dbClient = new DbClient(db.database(), db.myBatis(), new ComponentDao(), new SnapshotDao(System2.INSTANCE));
     dbSession = dbClient.openSession(false);
     componentDao = dbClient.componentDao();
     db.truncateTables();
@@ -78,8 +78,7 @@ public class ProjectsProvisionedActionTest {
   public void all_provisioned_projects_without_analyzed_projects() throws Exception {
     userSessionRule.setGlobalPermissions(UserRole.ADMIN);
     ComponentDto analyzedProject = ComponentTesting.newProjectDto("analyzed-uuid-1");
-    componentDao.insert(dbSession, newProvisionedProject("1"), newProvisionedProject("2"));
-    analyzedProject = dbClient.componentDao().insert(dbSession, analyzedProject);
+    componentDao.insert(dbSession, newProvisionedProject("1"), newProvisionedProject("2"), analyzedProject);
     SnapshotDto snapshot = SnapshotTesting.createForProject(analyzedProject);
     dbClient.snapshotDao().insert(dbSession, snapshot);
     dbSession.commit();
@@ -140,11 +139,11 @@ public class ProjectsProvisionedActionTest {
     assertThat(componentDao.countProvisionedProjects(dbSession, "visioned-name-")).isEqualTo(2);
   }
 
-  private static ComponentDto newProvisionedProject(String id) {
+  private static ComponentDto newProvisionedProject(String uuid) {
     return ComponentTesting
-      .newProjectDto("provisioned-uuid-" + id)
-      .setName("provisioned-name-" + id)
-      .setKey("provisioned-key-" + id);
+      .newProjectDto("provisioned-uuid-" + uuid)
+      .setName("provisioned-name-" + uuid)
+      .setKey("provisioned-key-" + uuid);
   }
 
   @Test
index 629b2ff864a33523a01115b51ce1f55bfb8ac8fe..c63ff362391d97e9c33a0751a7ea0bf53e5c7ff1 100644 (file)
@@ -25,7 +25,6 @@ import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
-import org.sonar.api.utils.System2;
 import org.sonar.api.web.UserRole;
 import org.sonar.core.persistence.DbTester;
 import org.sonar.core.user.AuthorizationDao;
@@ -54,7 +53,7 @@ public class SearchActionTest {
   public void setUp() {
     dbTester.truncateTables();
     DbClient dbClient = new DbClient(dbTester.database(), dbTester.myBatis(),
-      new ComponentDao(mock(System2.class)), new AuthorizationDao(dbTester.myBatis()), new ComponentIndexDao()
+      new ComponentDao(), new AuthorizationDao(dbTester.myBatis()), new ComponentIndexDao()
       );
     tester = new WsTester(new ComponentsWs(mock(ComponentAppAction.class), new SearchAction(dbClient, userSessionRule)));
   }
index 38967d78e622de1762229ce2f20748570cb9131b..3d275761af4cb0b6b047e33677c8a088a961da7b 100644 (file)
@@ -52,7 +52,12 @@ import java.util.Arrays;
 
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.junit.Assert.fail;
-import static org.mockito.Mockito.*;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 public class ComputationServiceTest {
 
@@ -74,7 +79,7 @@ public class ComputationServiceTest {
 
   @Before
   public void setUp() {
-    DbClient dbClient = new DbClient(dbTester.database(), dbTester.myBatis(), new ComponentDao(system), new SnapshotDao(system));
+    DbClient dbClient = new DbClient(dbTester.database(), dbTester.myBatis(), new ComponentDao(), new SnapshotDao(system));
     sut = new ComputationService(dbClient, steps, activityService, settingsFactory, tempFolder, system);
 
     // db contains project with key "P1"
index 90655f3b337a51c6da39cd5a6df08a1da6179c29..ba5ec765781a4e6f065d86fc6d7babf693cac1ff 100644 (file)
@@ -71,7 +71,7 @@ public class ReportQueueTest {
     settings.setProperty(ProcessProperties.PATH_DATA, dataDir.getAbsolutePath());
     when(system.now()).thenReturn(NOW);
 
-    DbClient dbClient = new DbClient(db.database(), db.myBatis(), new ComponentDao(system), new AnalysisReportDao(system));
+    DbClient dbClient = new DbClient(db.database(), db.myBatis(), new ComponentDao(), new AnalysisReportDao(system));
     sut = new ReportQueue(dbClient, settings);
 
     try (DbSession session = dbClient.openSession(false)) {
index d91e2e35fdae9e86eb8a37c8735db3b0f4bba078..4ca0363f27dd74356c0b73d72cb43bade6e11fa1 100644 (file)
 
 package org.sonar.server.computation.step;
 
-import org.junit.*;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Rule;
+import org.junit.Test;
 import org.sonar.api.config.Settings;
 import org.sonar.api.resources.Qualifiers;
-import org.sonar.api.utils.System2;
 import org.sonar.core.component.ComponentDto;
 import org.sonar.core.persistence.DbSession;
 import org.sonar.core.persistence.DbTester;
@@ -60,7 +63,7 @@ public class PurgeRemovedViewsStepTest extends BaseStepTest {
   public void setUp() {
     esTester.truncateIndices();
     session = db.myBatis().openSession(false);
-    dbClient = new DbClient(db.database(), db.myBatis(), new IssueDao(db.myBatis()), new ComponentDao(mock(System2.class)));
+    dbClient = new DbClient(db.database(), db.myBatis(), new IssueDao(db.myBatis()), new ComponentDao());
     sut = new PurgeRemovedViewsStep(new ViewIndex(esTester.client()), dbClient);
   }
 
index b5771b3e0ebb77f1b4c12191b1b901267285bb1f..ecc362f865e80ba0a16764590da3b51b1269e0fd 100644 (file)
@@ -46,7 +46,6 @@ import org.sonar.server.ws.WsTester;
 
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.failBecauseExceptionWasNotThrown;
-import static org.mockito.Mockito.mock;
 
 public class ShowActionTest {
 
@@ -75,7 +74,7 @@ public class ShowActionTest {
   @Before
   public void setUp() {
     dbTester.truncateTables();
-    dbClient = new DbClient(dbTester.database(), dbTester.myBatis(), new ComponentDao(mock(System2.class)), new SnapshotDao(System2.INSTANCE), new FileDependencyDao());
+    dbClient = new DbClient(dbTester.database(), dbTester.myBatis(), new ComponentDao(), new SnapshotDao(System2.INSTANCE), new FileDependencyDao());
     session = dbClient.openSession(false);
     tester = new WsTester(new DependenciesWs(new ShowAction(dbClient, userSessionRule)));
     controller = tester.controller("api/dependencies");
index ca33eb4f1b9cc863f8c65315dba9c6ea934e3e54..95319b8da4cdddd2d23cc0f44c75e6f9ea0763bb 100644 (file)
@@ -37,7 +37,11 @@ import java.util.Collections;
 import java.util.List;
 
 import static com.google.common.collect.Lists.newArrayList;
-import static org.mockito.Mockito.*;
+import static org.mockito.Mockito.anyString;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 @RunWith(MockitoJUnitRunner.class)
 public class DuplicationsJsonWriterTest {
@@ -70,8 +74,8 @@ public class DuplicationsJsonWriterTest {
     String key2 = "org.codehaus.sonar:sonar-ws-client:src/main/java/org/sonar/wsclient/services/PropertyUpdateQuery.java";
     ComponentDto file2 = ComponentTesting.newFileDto(project).setId(11L).setQualifier("FIL").setKey(key2).setLongName("PropertyUpdateQuery").setParentProjectId(5L);
 
-    when(componentDao.getNullableByKey(session, key1)).thenReturn(file1);
-    when(componentDao.getNullableByKey(session, key2)).thenReturn(file2);
+    when(componentDao.selectNullableByKey(session, key1)).thenReturn(file1);
+    when(componentDao.selectNullableByKey(session, key2)).thenReturn(file2);
     when(componentDao.getNullableById(5L, session)).thenReturn(
       new ComponentDto().setId(5L).setKey("org.codehaus.sonar:sonar-ws-client").setLongName("SonarQube :: Web Service Client"));
     when(componentDao.getNullableByUuid(session, project.uuid())).thenReturn(project);
@@ -116,7 +120,7 @@ public class DuplicationsJsonWriterTest {
         "  }" +
         "}");
 
-    verify(componentDao, times(2)).getNullableByKey(eq(session), anyString());
+    verify(componentDao, times(2)).selectNullableByKey(eq(session), anyString());
     // Verify call to dao is cached when searching for project / sub project
     verify(componentDao, times(1)).getNullableByUuid(eq(session), eq(project.uuid()));
     verify(componentDao, times(1)).getNullableById(eq(5L), eq(session));
@@ -129,8 +133,8 @@ public class DuplicationsJsonWriterTest {
     String key2 = "org.codehaus.sonar:sonar-ws-client:src/main/java/org/sonar/wsclient/services/PropertyUpdateQuery.java";
     ComponentDto file2 = ComponentTesting.newFileDto(project).setId(11L).setKey(key2).setLongName("PropertyUpdateQuery");
 
-    when(componentDao.getNullableByKey(session, key1)).thenReturn(file1);
-    when(componentDao.getNullableByKey(session, key2)).thenReturn(file2);
+    when(componentDao.selectNullableByKey(session, key1)).thenReturn(file1);
+    when(componentDao.selectNullableByKey(session, key2)).thenReturn(file2);
     when(componentDao.getNullableByUuid(session, project.uuid())).thenReturn(project);
 
     List<DuplicationsParser.Block> blocks = newArrayList();
@@ -175,7 +179,7 @@ public class DuplicationsJsonWriterTest {
     String key1 = "org.codehaus.sonar:sonar-ws-client:src/main/java/org/sonar/wsclient/services/PropertyDeleteQuery.java";
     ComponentDto file1 = ComponentTesting.newFileDto(project).setId(10L).setKey(key1).setLongName("PropertyDeleteQuery");
 
-    when(componentDao.getNullableByKey(session, key1)).thenReturn(file1);
+    when(componentDao.selectNullableByKey(session, key1)).thenReturn(file1);
     when(componentDao.getNullableByUuid(session, project.uuid())).thenReturn(project);
 
     List<DuplicationsParser.Block> blocks = newArrayList();
index 0bbef9a73ddf22a107a25b317d3f7b160354e37e..d4b43ab4fc586ed371afbd61f3c4618291c518e5 100644 (file)
@@ -75,17 +75,17 @@ public class DuplicationsParserTest {
     // Current file
     String key1 = "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/utils/command/CommandExecutor.java";
     currentFile = ComponentTesting.newFileDto(project1).setId(10L).setKey(key1).setLongName("CommandExecutor");
-    when(componentDao.getNullableByKey(session, key1)).thenReturn(currentFile);
+    when(componentDao.selectNullableByKey(session, key1)).thenReturn(currentFile);
 
     // File on same project
     String key2 = "org.codehaus.sonar:sonar-plugin-api:src/main/java/com/sonar/orchestrator/util/CommandExecutor.java";
     fileOnSameProject = ComponentTesting.newFileDto(project1).setId(11L).setKey(key2).setLongName("CommandExecutor");
-    when(componentDao.getNullableByKey(session, key2)).thenReturn(fileOnSameProject);
+    when(componentDao.selectNullableByKey(session, key2)).thenReturn(fileOnSameProject);
 
     // File on different project
     String key3 = "com.sonarsource.orchestrator:sonar-orchestrator:src/main/java/com/sonar/orchestrator/util/CommandExecutor.java";
     fileOnDifferentProject = ComponentTesting.newFileDto(project2).setId(12L).setKey(key3).setLongName("CommandExecutor");
-    when(componentDao.getNullableByKey(session, key3)).thenReturn(fileOnDifferentProject);
+    when(componentDao.selectNullableByKey(session, key3)).thenReturn(fileOnDifferentProject);
 
     parser = new DuplicationsParser(componentDao);
   }
index 1ef7b6faed6847ab2952da0709732d629ee684b0..1f680181fca90d6804a04023eaafcd85e078923c 100644 (file)
@@ -21,7 +21,6 @@
 package org.sonar.server.duplication.ws;
 
 import com.google.common.collect.Lists;
-import java.util.List;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -41,6 +40,8 @@ import org.sonar.server.measure.persistence.MeasureDao;
 import org.sonar.server.tester.UserSessionRule;
 import org.sonar.server.ws.WsTester;
 
+import java.util.List;
+
 import static com.google.common.collect.Lists.newArrayList;
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.eq;
@@ -84,7 +85,7 @@ public class ShowActionTest {
     userSessionRule.addComponentPermission(UserRole.CODEVIEWER, "org.codehaus.sonar:sonar", componentKey);
 
     ComponentDto componentDto = new ComponentDto().setId(10L);
-    when(componentDao.getNullableByKey(session, componentKey)).thenReturn(componentDto);
+    when(componentDao.selectNullableByKey(session, componentKey)).thenReturn(componentDto);
 
     String data = "{duplications}";
     when(measureDao.findByComponentKeyAndMetricKey(session, componentKey, CoreMetrics.DUPLICATIONS_DATA_KEY)).thenReturn(
@@ -109,7 +110,7 @@ public class ShowActionTest {
     when(componentDao.getByUuid(session, uuid)).thenReturn(new ComponentDto().setKey(componentKey));
 
     ComponentDto componentDto = new ComponentDto().setId(10L);
-    when(componentDao.getNullableByKey(session, componentKey)).thenReturn(componentDto);
+    when(componentDao.selectNullableByKey(session, componentKey)).thenReturn(componentDto);
 
     String data = "{duplications}";
     when(measureDao.findByComponentKeyAndMetricKey(session, componentKey, CoreMetrics.DUPLICATIONS_DATA_KEY)).thenReturn(
@@ -131,7 +132,7 @@ public class ShowActionTest {
     userSessionRule.addComponentPermission(UserRole.CODEVIEWER, "org.codehaus.sonar:sonar", componentKey);
 
     ComponentDto componentDto = new ComponentDto().setId(10L);
-    when(componentDao.getNullableByKey(session, componentKey)).thenReturn(componentDto);
+    when(componentDao.selectNullableByKey(session, componentKey)).thenReturn(componentDto);
 
     when(measureDao.findByComponentKeyAndMetricKey(session, componentKey, CoreMetrics.DUPLICATIONS_DATA_KEY)).thenReturn(null);
 
index da1d066b7961ac0faf64326acfb2241395f0966a..29f8b0d496d8ccde7c77cbe4ad6014d24b8e54fd 100644 (file)
@@ -49,7 +49,14 @@ import java.util.List;
 import static com.google.common.collect.Lists.newArrayList;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.junit.Assert.fail;
-import static org.mockito.Mockito.*;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.anyString;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
 
 public class ActionServiceTest {
 
@@ -93,7 +100,7 @@ public class ActionServiceTest {
     Function function1 = mock(Function.class);
     Function function2 = mock(Function.class);
 
-    when(componentDao.getByKey(eq(session), anyString())).thenReturn(mock(ComponentDto.class));
+    when(componentDao.selectByKey(eq(session), anyString())).thenReturn(mock(ComponentDto.class));
     when(issueService.getByKeyForUpdate(session, "ABCD")).thenReturn(issue);
 
     actions.add("link-to-jira").setConditions(new AlwaysMatch()).setFunctions(function1, function2);
@@ -112,7 +119,7 @@ public class ActionServiceTest {
     UserSession userSession = mock(ThreadLocalUserSession.class);
     when(userSession.getLogin()).thenReturn("arthur");
 
-    when(componentDao.getByKey(eq(session), anyString())).thenReturn(mock(ComponentDto.class));
+    when(componentDao.selectByKey(eq(session), anyString())).thenReturn(mock(ComponentDto.class));
     when(issueService.getByKeyForUpdate(session, "ABCD")).thenReturn(issue);
 
     actions.add("link-to-jira").setConditions(new AlwaysMatch()).setFunctions(function);
@@ -129,7 +136,7 @@ public class ActionServiceTest {
     UserSession userSession = mock(ThreadLocalUserSession.class);
     when(userSession.getLogin()).thenReturn("arthur");
 
-    when(componentDao.getByKey(session, "struts")).thenReturn(new ComponentDto().setKey("struts"));
+    when(componentDao.selectByKey(session, "struts")).thenReturn(new ComponentDto().setKey("struts"));
     when(issueService.getByKeyForUpdate(session, "ABCD")).thenReturn(issue.setProjectKey("struts"));
 
     actions.add("link-to-jira").setConditions(new AlwaysMatch()).setFunctions(function);
@@ -142,7 +149,7 @@ public class ActionServiceTest {
   public void not_execute_function_if_action_not_found() {
     Function function = mock(Function.class);
 
-    when(componentDao.getByKey(eq(session), anyString())).thenReturn(mock(ComponentDto.class));
+    when(componentDao.selectByKey(eq(session), anyString())).thenReturn(mock(ComponentDto.class));
     when(issueService.getByKeyForUpdate(session, "ABCD")).thenReturn(issue);
 
     actions.add("link-to-jira").setConditions(new AlwaysMatch()).setFunctions(function);
@@ -159,7 +166,7 @@ public class ActionServiceTest {
   public void not_execute_function_if_action_is_not_supported() {
     Function function = mock(Function.class);
 
-    when(componentDao.getByKey(eq(session), anyString())).thenReturn(mock(ComponentDto.class));
+    when(componentDao.selectByKey(eq(session), anyString())).thenReturn(mock(ComponentDto.class));
     when(issueService.getByKeyForUpdate(session, "ABCD")).thenReturn(issue);
 
     actions.add("link-to-jira").setConditions(new NeverMatch()).setFunctions(function);
@@ -174,7 +181,7 @@ public class ActionServiceTest {
 
   @Test
   public void list_available_supported_actions() {
-    when(componentDao.getByKey(eq(session), anyString())).thenReturn(mock(ComponentDto.class));
+    when(componentDao.selectByKey(eq(session), anyString())).thenReturn(mock(ComponentDto.class));
     when(issueService.getByKeyForUpdate(session, "ABCD")).thenReturn(issue);
 
     actions.add("link-to-jira").setConditions(new AlwaysMatch());
@@ -184,7 +191,7 @@ public class ActionServiceTest {
 
   @Test
   public void return_no_action() {
-    when(componentDao.getByKey(eq(session), anyString())).thenReturn(mock(ComponentDto.class));
+    when(componentDao.selectByKey(eq(session), anyString())).thenReturn(mock(ComponentDto.class));
     when(issueService.getByKeyForUpdate(session, "ABCD")).thenReturn(issue);
 
     assertThat(actionService.listAvailableActions("ABCD")).isEmpty();
index c209432a407446269c5589be7ec79c29b4b064c8..ead28b575af4bda10c6c305fba32993e82c585c8 100644 (file)
@@ -58,14 +58,14 @@ public class IssueBulkChangeServiceTest {
 //      .setLongName("My Project")
 //      .setQualifier(Qualifiers.PROJECT)
 //      .setScope(Scopes.PROJECT);
-//    when(componentDao.getByKeys(dbSession, newHashSet(project.key()))).thenReturn(newArrayList(project));
+//    when(componentDao.selectByKeys(dbSession, newHashSet(project.key()))).thenReturn(newArrayList(project));
 //
 //    file = new ComponentDto()
 //      .setId(2L)
 //      .setParentProjectId(project.getId())
 //      .setKey("MyComponent")
 //      .setLongName("My Component");
-//    when(componentDao.getByKeys(dbSession, newHashSet(file.key()))).thenReturn(newArrayList(file));
+//    when(componentDao.selectByKeys(dbSession, newHashSet(file.key()))).thenReturn(newArrayList(file));
 //
 //    IssueDoc issueDto = IssueTesting.newDoc("ABCD", file).setRuleKey(rule.ruleKey().toString());
 //    issue = issueDto.toDefaultIssue();
index d5bd46f28679a8c4ca4492eb06752bd40c4c4358..a6ea52cbaf3ca1a389dc08c6ca1e5d0681d10570 100644 (file)
@@ -60,7 +60,7 @@ public class ServerIssueStorageTest extends AbstractDaoTestCase {
     System2 system = mock(System2.class);
     when(system.now()).thenReturn(2000000000L);
     dbClient = new DbClient(getDatabase(), getMyBatis(),
-      new ComponentDao(system),
+      new ComponentDao(),
       new IssueDao(getMyBatis()),
       new ResourceDao(getMyBatis(), system));
     session = dbClient.openSession(false);
index 64045de06198b508315d1654a8a6782a1465c1d6..c7ac2685824a47b97f73eb5c90a78f128ca04006 100644 (file)
@@ -73,7 +73,7 @@ public class QProfileDeleteActionTest {
   public void setUp() {
     dbTester.truncateTables();
     qualityProfileDao = new QualityProfileDao(dbTester.myBatis(), mock(System2.class));
-    componentDao = new ComponentDao(mock(System2.class));
+    componentDao = new ComponentDao();
 
     dbClient = new DbClient(dbTester.database(), dbTester.myBatis(), qualityProfileDao, new ActiveRuleDao(qualityProfileDao, new RuleDao(system2), system2));
     session = dbClient.openSession(false);
index 865db5a8539bdecdabe0b1e46a43e2536f642336..fd05411c6a0cc6eaf0cfb68e8ad2257bff09681d 100644 (file)
@@ -32,7 +32,11 @@ import org.sonar.core.persistence.DbSession;
 import org.sonar.core.persistence.DbTester;
 import org.sonar.core.qualityprofile.db.QualityProfileDao;
 import org.sonar.core.qualityprofile.db.QualityProfileDto;
-import org.sonar.core.user.*;
+import org.sonar.core.user.AuthorizationDao;
+import org.sonar.core.user.GroupRoleDto;
+import org.sonar.core.user.RoleDao;
+import org.sonar.core.user.UserDto;
+import org.sonar.core.user.UserRoleDto;
 import org.sonar.server.component.ComponentTesting;
 import org.sonar.server.component.db.ComponentDao;
 import org.sonar.server.db.DbClient;
@@ -75,7 +79,7 @@ public class QProfileProjectsActionTest {
     dbTester.truncateTables();
     dbClient = new DbClient(dbTester.database(), dbTester.myBatis(),
       new QualityProfileDao(dbTester.myBatis(), system2),
-      new ComponentDao(system2),
+      new ComponentDao(),
       new AuthorizationDao(dbTester.myBatis()));
     roleDao = new RoleDao();
     session = dbClient.openSession(false);
index c19b24104815155a9a2f9cacde41ef4970455b88..4c13287ec358008ab5a4ea57196330f4595913c8 100644 (file)
@@ -97,7 +97,7 @@ public class QProfileSearchActionTest {
       QualityProfileDto.createFor("my-sonar-way-xoo2-34567").setLanguage(xoo2.getKey()).setName("My Sonar way").setParentKee("sonar-way-xoo2-23456"),
       QualityProfileDto.createFor("sonar-way-other-666").setLanguage("other").setName("Sonar way").setDefault(true)
       );
-    new ComponentDao(mock(System2.class)).insert(session,
+    new ComponentDao().insert(session,
       ComponentTesting.newProjectDto("project-uuid1"),
       ComponentTesting.newProjectDto("project-uuid2"));
     qualityProfileDao.insertProjectProfileAssociation("project-uuid1", "sonar-way-xoo2-23456", session);
index 4131fc8ab9fccbd98d61413c9e6e4663bf440ea5..41b630e3e8c33d1b22ac89a5cadc0e2e00fd6dfa 100644 (file)
  */
 package org.sonar.server.source.ws;
 
-import org.junit.Rule;
-import org.sonar.api.utils.System2;
-import org.sonar.server.source.db.FileSourceDao;
-
 import org.junit.After;
 import org.junit.Before;
 import org.junit.ClassRule;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 import org.junit.runner.RunWith;
@@ -37,12 +34,13 @@ import org.sonar.server.component.db.ComponentDao;
 import org.sonar.server.db.DbClient;
 import org.sonar.server.exceptions.ForbiddenException;
 import org.sonar.server.exceptions.NotFoundException;
+import org.sonar.server.source.db.FileSourceDao;
 import org.sonar.server.tester.UserSessionRule;
 import org.sonar.server.ws.WsTester;
 import org.sonar.test.DbTests;
+
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.junit.Assert.fail;
-import static org.mockito.Mockito.mock;
 
 @RunWith(MockitoJUnitRunner.class)
 @Category(DbTests.class)
@@ -65,7 +63,7 @@ public class HashActionTest {
     db.truncateTables();
     this.session = db.myBatis().openSession(false);
 
-    DbClient dbClient = new DbClient(db.database(), db.myBatis(), new FileSourceDao(db.myBatis()), new ComponentDao(mock(System2.class)));
+    DbClient dbClient = new DbClient(db.database(), db.myBatis(), new FileSourceDao(db.myBatis()), new ComponentDao());
 
     tester = new WsTester(new SourcesWs(new HashAction(dbClient, userSessionRule)));
   }
index e73ffc217cc064d4a372df5cd22ca243869d428a..c1077e50e7fe58c910cc0b35e9d99f2b5a80fd6a 100644 (file)
@@ -75,7 +75,7 @@ public class IndexActionTest {
   public void get_json() throws Exception {
     String fileKey = "src/Foo.java";
     userSessionRule.addComponentPermission(UserRole.CODEVIEWER, "polop", fileKey);
-    when(componentDao.getByKey(session, fileKey)).thenReturn(file);
+    when(componentDao.selectByKey(session, fileKey)).thenReturn(file);
 
     when(sourceService.getLinesAsTxt(file.uuid(), 1, null)).thenReturn(newArrayList(
       "public class HelloWorld {",
@@ -90,7 +90,7 @@ public class IndexActionTest {
   public void limit_range() throws Exception {
     String fileKey = "src/Foo.java";
     userSessionRule.addComponentPermission(UserRole.CODEVIEWER, "polop", fileKey);
-    when(componentDao.getByKey(session, fileKey)).thenReturn(file);
+    when(componentDao.selectByKey(session, fileKey)).thenReturn(file);
 
     when(sourceService.getLinesAsTxt(file.uuid(), 1, 2)).thenReturn(newArrayList(
       "public class HelloWorld {",
@@ -111,7 +111,7 @@ public class IndexActionTest {
   public void close_db_session() throws Exception {
     String fileKey = "src/Foo.java";
     userSessionRule.addComponentPermission(UserRole.CODEVIEWER, "polop", fileKey);
-    when(componentDao.getByKey(session, fileKey)).thenThrow(new NotFoundException());
+    when(componentDao.selectByKey(session, fileKey)).thenThrow(new NotFoundException());
 
     WsTester.TestRequest request = tester.newGetRequest("api/sources", "index").setParam("resource", fileKey);
     try {
index 462264000ab87c75b29bb35949a85813167ac936..c34c04c58124c3a8f95970c192790f241186d707 100644 (file)
 package org.sonar.server.source.ws;
 
 import com.google.common.collect.ImmutableList;
-import java.util.Date;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 import org.sonar.api.config.Settings;
-import org.sonar.api.utils.System2;
 import org.sonar.api.web.UserRole;
 import org.sonar.core.component.ComponentDto;
 import org.sonar.core.persistence.DbSession;
@@ -46,10 +44,11 @@ import org.sonar.server.source.index.SourceLineIndexDefinition;
 import org.sonar.server.tester.UserSessionRule;
 import org.sonar.server.ws.WsTester;
 
+import java.util.Date;
+
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.failBecauseExceptionWasNotThrown;
 import static org.junit.Assert.fail;
-import static org.mockito.Mockito.mock;
 
 public class LinesActionTest {
 
@@ -81,7 +80,7 @@ public class LinesActionTest {
 
     htmlSourceDecorator = new HtmlSourceDecorator();
     sourceLineIndex = new SourceLineIndex(esTester.client());
-    componentDao = new ComponentDao(mock(System2.class));
+    componentDao = new ComponentDao();
     DbClient dbClient = new DbClient(dbTester.database(), dbTester.myBatis(), componentDao);
     session = dbClient.openSession(false);
     wsTester = new WsTester(new SourcesWs(new LinesAction(dbClient, sourceLineIndex, htmlSourceDecorator, userSessionRule)));
@@ -203,7 +202,7 @@ public class LinesActionTest {
         .setItCoveredConditions(null)
         .setDuplications(null)
         .setUpdateDate(new Date())
-    );
+      );
 
     WsTester.TestRequest request = wsTester
       .newGetRequest("api/sources", "lines")
@@ -236,7 +235,7 @@ public class LinesActionTest {
         .setItCoveredConditions(null)
         .setDuplications(null)
         .setUpdateDate(new Date())
-    );
+      );
 
     userSessionRule.login("login").addProjectUuidPermissions(UserRole.CODEVIEWER, PROJECT_UUID);
 
@@ -269,7 +268,7 @@ public class LinesActionTest {
       .execute();
   }
 
-  private void newFile(){
+  private void newFile() {
     ComponentDto project = ComponentTesting.newProjectDto(PROJECT_UUID);
     ComponentDto file = ComponentTesting.newFileDto(project, FILE_UUID).setKey(FILE_KEY);
     componentDao.insert(session, project, file);
index 6b53c32faa4557770c74df8324e84d0fb2761d3e..a3a3e91430389a4e761240c5d6a2ab2c5172cf40 100644 (file)
@@ -74,7 +74,7 @@ public class RawActionTest {
   public void get_txt() throws Exception {
     String fileKey = "src/Foo.java";
     userSessionRule.addComponentPermission(UserRole.CODEVIEWER, "polop", fileKey);
-    when(componentDao.getByKey(session, fileKey)).thenReturn(file);
+    when(componentDao.selectByKey(session, fileKey)).thenReturn(file);
 
     when(sourceService.getLinesAsTxt(file.uuid(), null, null)).thenReturn(newArrayList(
       "public class HelloWorld {",
index 74fae06142ca3fc4a66e3c0540d3f42a318ad8b3..345547dc3b7468f5953fff3062a0cc5aa075bb18 100644 (file)
@@ -20,7 +20,6 @@
 
 package org.sonar.server.source.ws;
 
-import java.util.Date;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.ClassRule;
@@ -28,7 +27,6 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.sonar.api.config.Settings;
 import org.sonar.api.utils.DateUtils;
-import org.sonar.api.utils.System2;
 import org.sonar.api.web.UserRole;
 import org.sonar.core.component.ComponentDto;
 import org.sonar.core.persistence.DbSession;
@@ -44,7 +42,7 @@ import org.sonar.server.source.index.SourceLineIndexDefinition;
 import org.sonar.server.tester.UserSessionRule;
 import org.sonar.server.ws.WsTester;
 
-import static org.mockito.Mockito.mock;
+import java.util.Date;
 
 public class ScmActionTest {
 
@@ -69,7 +67,7 @@ public class ScmActionTest {
   public void setUp() {
     dbTester.truncateTables();
     esTester.truncateIndices();
-    dbClient = new DbClient(dbTester.database(), dbTester.myBatis(), new ComponentDao(mock(System2.class)));
+    dbClient = new DbClient(dbTester.database(), dbTester.myBatis(), new ComponentDao());
     session = dbClient.openSession(false);
 
     tester = new WsTester(new SourcesWs(new ScmAction(dbClient, new SourceLineIndex(esTester.client()), userSessionRule)));
index f8647337c6073348e605818d6e6734567ff337ba..edbaceb13679a6c6b06e9350e5c735e578feb5f2 100644 (file)
@@ -75,7 +75,7 @@ public class ShowActionTest {
   public void show_source() throws Exception {
     String fileKey = "src/Foo.java";
     userSessionRule.addComponentPermission(UserRole.CODEVIEWER, "polop", fileKey);
-    when(componentDao.getByKey(session, fileKey)).thenReturn(file);
+    when(componentDao.selectByKey(session, fileKey)).thenReturn(file);
     when(sourceService.getLinesAsHtml(eq(file.uuid()), anyInt(), anyInt())).thenReturn(newArrayList(
       "/*",
       " * Header",
@@ -93,7 +93,7 @@ public class ShowActionTest {
   public void show_source_with_from_and_to_params() throws Exception {
     String fileKey = "src/Foo.java";
     userSessionRule.addComponentPermission(UserRole.CODEVIEWER, "polop", fileKey);
-    when(componentDao.getByKey(session, fileKey)).thenReturn(file);
+    when(componentDao.selectByKey(session, fileKey)).thenReturn(file);
     when(sourceService.getLinesAsHtml(file.uuid(), 3, 5)).thenReturn(newArrayList(
       " */",
       "",
@@ -111,7 +111,7 @@ public class ShowActionTest {
   public void show_source_accept_from_less_than_one() throws Exception {
     String fileKey = "src/Foo.java";
     userSessionRule.addComponentPermission(UserRole.CODEVIEWER, "polop", fileKey);
-    when(componentDao.getByKey(session, fileKey)).thenReturn(file);
+    when(componentDao.selectByKey(session, fileKey)).thenReturn(file);
     when(sourceService.getLinesAsHtml(file.uuid(), 1, 5)).thenReturn(newArrayList(
       " */",
       "",
index d6901eaccb7cb4c81f956207482cfc1d833a673b..a73dad722af16df1b28753f740dcf48cc7133b8b 100644 (file)
 
 package org.sonar.server.test.ws;
 
-import java.util.Arrays;
-import java.util.List;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 import org.sonar.api.config.Settings;
-import org.sonar.api.utils.System2;
 import org.sonar.api.web.UserRole;
 import org.sonar.core.component.ComponentDto;
 import org.sonar.core.persistence.DbSession;
@@ -44,7 +41,8 @@ import org.sonar.server.test.index.TestIndexDefinition;
 import org.sonar.server.tester.UserSessionRule;
 import org.sonar.server.ws.WsTester;
 
-import static org.mockito.Mockito.mock;
+import java.util.Arrays;
+import java.util.List;
 
 public class TestsListActionTest {
   DbClient dbClient;
@@ -62,7 +60,7 @@ public class TestsListActionTest {
 
   @Before
   public void setUp() {
-    dbClient = new DbClient(db.database(), db.myBatis(), new ComponentDao(mock(System2.class)));
+    dbClient = new DbClient(db.database(), db.myBatis(), new ComponentDao());
     dbSession = dbClient.openSession(false);
     db.truncateTables();
     es.truncateIndices();
index 00d5ab1c7a13e8fa3dcf59294558e7dfa23ca4e3..25b1b864cfe61378afab0f263bdf48250c06f37a 100644 (file)
@@ -19,8 +19,6 @@
  */
 package org.sonar.server.ui.ws;
 
-import java.util.Date;
-import java.util.Locale;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.ClassRule;
@@ -64,6 +62,9 @@ import org.sonar.server.ui.Views;
 import org.sonar.server.user.db.UserDao;
 import org.sonar.server.ws.WsTester;
 
+import java.util.Date;
+import java.util.Locale;
+
 import static org.mockito.Matchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
@@ -101,7 +102,7 @@ public class ComponentNavigationActionTest {
     activeDashboardDao = new ActiveDashboardDao(dbTester.myBatis());
     dbClient = new DbClient(
       dbTester.database(), dbTester.myBatis(), userDao, dashboardDao, activeDashboardDao,
-      new ComponentDao(system), new SnapshotDao(system), new PropertiesDao(dbTester.myBatis()),
+      new ComponentDao(), new SnapshotDao(system), new PropertiesDao(dbTester.myBatis()),
       new MeasureDao());
 
     i18n = mock(I18n.class);
@@ -163,8 +164,9 @@ public class ComponentNavigationActionTest {
   @Test
   public void no_snapshot_connected_user_and_favorite() throws Exception {
     int userId = 42;
-    ComponentDto project = dbClient.componentDao().insert(session, ComponentTesting.newProjectDto("abcd")
-      .setKey("polop").setName("Polop"));
+    ComponentDto project = ComponentTesting.newProjectDto("abcd")
+      .setKey("polop").setName("Polop");
+    dbClient.componentDao().insert(session, project);
     dbClient.propertiesDao().setProperty(new PropertyDto().setKey("favourite").setResourceId(project.getId()).setUserId((long) userId), session);
     session.commit();
 
@@ -181,8 +183,9 @@ public class ComponentNavigationActionTest {
     Date snapshotDate = DateUtils.parseDateTime("2015-04-22T11:44:00+0200");
 
     int userId = 42;
-    ComponentDto project = dbClient.componentDao().insert(session, ComponentTesting.newProjectDto("abcd")
-      .setKey("polop").setName("Polop"));
+    ComponentDto project = ComponentTesting.newProjectDto("abcd")
+      .setKey("polop").setName("Polop");
+    dbClient.componentDao().insert(session, project);
     dbClient.snapshotDao().insert(session, new SnapshotDto().setCreatedAt(snapshotDate.getTime()).setVersion("3.14")
       .setLast(true).setQualifier(project.qualifier()).setResourceId(project.getId()).setRootProjectId(project.getId()).setScope(project.scope()));
     session.commit();
@@ -231,8 +234,9 @@ public class ComponentNavigationActionTest {
 
   @Test
   public void with_extensions() throws Exception {
-    ComponentDto project = dbClient.componentDao().insert(session, ComponentTesting.newProjectDto("abcd")
-      .setKey("polop").setName("Polop").setLanguage("xoo"));
+    ComponentDto project = ComponentTesting.newProjectDto("abcd")
+      .setKey("polop").setName("Polop").setLanguage("xoo");
+    dbClient.componentDao().insert(session, project);
     dbClient.snapshotDao().insert(session, new SnapshotDto()
       .setLast(true).setQualifier(project.qualifier()).setResourceId(project.getId()).setRootProjectId(project.getId()).setScope(project.scope()));
     session.commit();
@@ -249,8 +253,9 @@ public class ComponentNavigationActionTest {
 
   @Test
   public void admin_with_extensions() throws Exception {
-    ComponentDto project = dbClient.componentDao().insert(session, ComponentTesting.newProjectDto("abcd")
-      .setKey("polop").setName("Polop").setLanguage("xoo"));
+    ComponentDto project = ComponentTesting.newProjectDto("abcd")
+      .setKey("polop").setName("Polop").setLanguage("xoo");
+    dbClient.componentDao().insert(session, project);
     dbClient.snapshotDao().insert(session, new SnapshotDto()
       .setLast(true).setQualifier(project.qualifier()).setResourceId(project.getId()).setRootProjectId(project.getId()).setScope(project.scope()));
     session.commit();
index ccd5484e7137fd608b8c2b4859477958b81f28e0..21db4db9539d22660aebc57e05d1ef7bdf7f80c3 100644 (file)
@@ -27,7 +27,6 @@ import org.junit.ClassRule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 import org.sonar.api.config.Settings;
-import org.sonar.api.utils.System2;
 import org.sonar.core.persistence.DbTester;
 import org.sonar.server.component.db.ComponentDao;
 import org.sonar.server.db.DbClient;
@@ -39,7 +38,6 @@ import java.util.Map;
 
 import static com.google.common.collect.Lists.newArrayList;
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.mock;
 
 @Category(DbTests.class)
 public class ViewIndexerTest {
@@ -56,7 +54,7 @@ public class ViewIndexerTest {
   public void setUp() {
     dbTester.truncateTables();
     esTester.truncateIndices();
-    indexer = new ViewIndexer(new DbClient(dbTester.database(), dbTester.myBatis(), new ComponentDao(mock(System2.class))), esTester.client());
+    indexer = new ViewIndexer(new DbClient(dbTester.database(), dbTester.myBatis(), new ComponentDao()), esTester.client());
     indexer.setEnabled(true);
   }
 
index b528ac47aecca346a9061388b644c2d7930e545b..5c934b984901c7357dce07d9e9a9483e960c726d 100644 (file)
@@ -22,14 +22,13 @@ package org.sonar.core.component;
 import org.apache.commons.lang.builder.ToStringBuilder;
 import org.sonar.api.component.Component;
 import org.sonar.api.resources.Scopes;
-import org.sonar.core.persistence.Dto;
 
 import javax.annotation.CheckForNull;
 import javax.annotation.Nullable;
 
 import java.util.Date;
 
-public class ComponentDto extends Dto<String> implements Component {
+public class ComponentDto implements Component {
 
   public static final String MODULE_UUID_PATH_SEP = ".";
 
@@ -51,6 +50,8 @@ public class ComponentDto extends Dto<String> implements Component {
   private String longName;
   private String language;
   private boolean enabled = true;
+
+  private Date createdAt;
   private Long authorizationUpdatedAt;
 
   public Long getId() {
@@ -212,6 +213,15 @@ public class ComponentDto extends Dto<String> implements Component {
     return this;
   }
 
+  public Date getCreatedAt() {
+    return createdAt;
+  }
+
+  public ComponentDto setCreatedAt(Date datetime) {
+    this.createdAt = datetime;
+    return this;
+  }
+
   /**
    * Only available on projects
    */
@@ -225,7 +235,6 @@ public class ComponentDto extends Dto<String> implements Component {
     return this;
   }
 
-  @Override
   public String getKey() {
     return key();
   }
@@ -284,15 +293,4 @@ public class ComponentDto extends Dto<String> implements Component {
       .toString();
   }
 
-  @Override
-  public ComponentDto setCreatedAt(Date datetime) {
-    super.setCreatedAt(datetime);
-    return this;
-  }
-
-  @Override
-  public ComponentDto setUpdatedAt(Date datetime) {
-    super.setUpdatedAt(datetime);
-    return this;
-  }
 }
index aa3960c874753d95bb6e0ca15d21c50c8cf82a9e..c1ecdb4d362f23daa7ac81b007a63804d6a20cf7 100644 (file)
@@ -102,8 +102,6 @@ public interface ComponentMapper {
 
   void insert(ComponentDto rule);
 
-  void deleteByKey(String key);
-
   List<ComponentDto> selectProvisionedProjects(Map<String, String> parameters, RowBounds rowBounds);
 
   int countProvisionedProjects(Map<String, String> parameters);
index 92d5d1180dcc6faab9dcee01f453f7ec4ffeae96..534029637de0193755b0cfee24bfaa40b0db7f64 100644 (file)
     #{language}, #{parentProjectId}, #{path}, #{copyResourceId}, #{enabled}, #{createdAt}, #{authorizationUpdatedAt})
   </insert>
 
-  <delete id="deleteByKey" parameterType="String">
-    delete from projects where kee=#{key}
-  </delete>
-
   <select id="selectProvisionedProjects" parameterType="map" resultType="Component">
     select <include refid="componentColumns"/>
     from projects p