aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-server
diff options
context:
space:
mode:
authorJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>2015-03-18 10:19:11 +0100
committerJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>2015-03-18 13:19:47 +0100
commit687a7c52ce233822635bb566a3632f1d8bfa55d6 (patch)
treee69e069d9107c40c5655c22e8758a48aa2dd2f02 /server/sonar-server
parent94ab0b3fb528418dbe747d0ab7f59b8dbb7bf177 (diff)
downloadsonarqube-687a7c52ce233822635bb566a3632f1d8bfa55d6.tar.gz
sonarqube-687a7c52ce233822635bb566a3632f1d8bfa55d6.zip
SONAR-6236 Remove BaseDao from WidgetDao and WidgetPropertyDao
Diffstat (limited to 'server/sonar-server')
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/dashboard/db/WidgetDao.java41
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/dashboard/db/WidgetPropertyDao.java45
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/startup/RenameIssueWidgets.java9
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/startup/RenameIssueWidgetsTest.java12
4 files changed, 84 insertions, 23 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/dashboard/db/WidgetDao.java b/server/sonar-server/src/main/java/org/sonar/server/dashboard/db/WidgetDao.java
index d6d12e4c0f5..3b3c6476fbd 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/dashboard/db/WidgetDao.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/dashboard/db/WidgetDao.java
@@ -19,27 +19,45 @@
*/
package org.sonar.server.dashboard.db;
-import org.sonar.api.utils.System2;
import org.sonar.core.dashboard.WidgetDto;
import org.sonar.core.dashboard.WidgetMapper;
+import org.sonar.core.persistence.DaoComponent;
import org.sonar.core.persistence.DbSession;
-import org.sonar.server.db.BaseDao;
+import org.sonar.core.persistence.MyBatis;
import java.util.Collection;
-public class WidgetDao extends BaseDao<WidgetMapper, WidgetDto, Long> {
+public class WidgetDao implements DaoComponent {
- public WidgetDao(System2 system2) {
- super(WidgetMapper.class, system2);
+ private MyBatis myBatis;
+
+ public WidgetDao(MyBatis myBatis) {
+ this.myBatis = myBatis;
+ }
+
+ public WidgetDto getNullableByKey(Long widgetId) {
+ DbSession session = myBatis.openSession(false);
+ try {
+ return getNullableByKey(session, widgetId);
+ } finally {
+ MyBatis.closeQuietly(session);
+ }
}
- @Override
- protected WidgetDto doGetNullableByKey(DbSession session, Long widgetId) {
+ public WidgetDto getNullableByKey(DbSession session, Long widgetId) {
return mapper(session).selectById(widgetId);
}
- @Override
- protected WidgetDto doUpdate(DbSession session, WidgetDto item) {
+ public WidgetDto update(WidgetDto item) {
+ DbSession session = myBatis.openSession(false);
+ try {
+ return update(session, item);
+ } finally {
+ MyBatis.closeQuietly(session);
+ }
+ }
+
+ public WidgetDto update(DbSession session, WidgetDto item) {
mapper(session).update(item);
return item;
}
@@ -51,4 +69,9 @@ public class WidgetDao extends BaseDao<WidgetMapper, WidgetDto, Long> {
public Collection<WidgetDto> findAll(DbSession session) {
return mapper(session).selectAll();
}
+
+ private WidgetMapper mapper(DbSession session) {
+ return session.getMapper(WidgetMapper.class);
+ }
+
}
diff --git a/server/sonar-server/src/main/java/org/sonar/server/dashboard/db/WidgetPropertyDao.java b/server/sonar-server/src/main/java/org/sonar/server/dashboard/db/WidgetPropertyDao.java
index 9aeead48d6a..763d1843469 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/dashboard/db/WidgetPropertyDao.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/dashboard/db/WidgetPropertyDao.java
@@ -19,29 +19,53 @@
*/
package org.sonar.server.dashboard.db;
-import org.sonar.api.utils.System2;
import org.sonar.core.dashboard.WidgetPropertyDto;
import org.sonar.core.dashboard.WidgetPropertyMapper;
+import org.sonar.core.persistence.DaoComponent;
import org.sonar.core.persistence.DbSession;
-import org.sonar.server.db.BaseDao;
+import org.sonar.core.persistence.MyBatis;
import java.util.Collection;
import java.util.List;
-public class WidgetPropertyDao extends BaseDao<WidgetPropertyMapper, WidgetPropertyDto, Long> {
+public class WidgetPropertyDao implements DaoComponent {
- public WidgetPropertyDao(System2 system2) {
- super(WidgetPropertyMapper.class, system2);
+ private final MyBatis myBatis;
+
+ public WidgetPropertyDao(MyBatis myBatis) {
+ this.myBatis = myBatis;
+ }
+
+ public WidgetPropertyDto insert(WidgetPropertyDto item) {
+ DbSession session = myBatis.openSession(false);
+ try {
+ return insert(session, item);
+ } finally {
+ MyBatis.closeQuietly(session);
+ }
}
- @Override
- protected WidgetPropertyDto doInsert(DbSession session, WidgetPropertyDto item) {
+ public WidgetPropertyDto insert(DbSession session, WidgetPropertyDto item) {
mapper(session).insert(item);
return item;
}
- @Override
- protected WidgetPropertyDto doGetNullableByKey(DbSession session, Long propertyId) {
+ public void insert(DbSession session, Collection<WidgetPropertyDto> items) {
+ for (WidgetPropertyDto item : items) {
+ insert(session, item);
+ }
+ }
+
+ public WidgetPropertyDto getNullableByKey(Long propertyId) {
+ DbSession session = myBatis.openSession(false);
+ try {
+ return getNullableByKey(session, propertyId);
+ } finally {
+ MyBatis.closeQuietly(session);
+ }
+ }
+
+ public WidgetPropertyDto getNullableByKey(DbSession session, Long propertyId) {
return mapper(session).selectById(propertyId);
}
@@ -53,4 +77,7 @@ public class WidgetPropertyDao extends BaseDao<WidgetPropertyMapper, WidgetPrope
mapper(session).deleteByWidgetIds(widgetIdsWithPropertiesToDelete);
}
+ private WidgetPropertyMapper mapper(DbSession session) {
+ return session.getMapper(WidgetPropertyMapper.class);
+ }
}
diff --git a/server/sonar-server/src/main/java/org/sonar/server/startup/RenameIssueWidgets.java b/server/sonar-server/src/main/java/org/sonar/server/startup/RenameIssueWidgets.java
index e0fbf821209..92be6491333 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/startup/RenameIssueWidgets.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/startup/RenameIssueWidgets.java
@@ -21,6 +21,7 @@ package org.sonar.server.startup;
import com.google.common.collect.Lists;
import org.picocontainer.Startable;
+import org.sonar.api.utils.System2;
import org.sonar.api.utils.log.Loggers;
import org.sonar.core.dashboard.WidgetDto;
import org.sonar.core.dashboard.WidgetPropertyDto;
@@ -30,6 +31,7 @@ import org.sonar.core.persistence.MyBatis;
import org.sonar.core.template.LoadedTemplateDto;
import org.sonar.server.db.DbClient;
+import java.util.Date;
import java.util.List;
public class RenameIssueWidgets implements Startable {
@@ -40,8 +42,11 @@ public class RenameIssueWidgets implements Startable {
private final DbClient dbClient;
- public RenameIssueWidgets(DbClient dbClient) {
+ private final System2 system;
+
+ public RenameIssueWidgets(DbClient dbClient, System2 system) {
this.dbClient = dbClient;
+ this.system = system;
}
@Override
@@ -67,6 +72,7 @@ public class RenameIssueWidgets implements Startable {
List<Long> widgetIdsWithPropertiesToDelete = Lists.newArrayList();
List<WidgetPropertyDto> widgetPropertiesToCreate = Lists.newArrayList();
+ Date now = system.newDate();
for (WidgetDto widget : dbClient.widgetDao().findAll(session)) {
switch (widget.getWidgetKey()) {
@@ -139,6 +145,7 @@ public class RenameIssueWidgets implements Startable {
private void updateWidget(DbSession session, List<Long> widgetIdsWithPropertiesToDelete, WidgetDto widget) {
dbClient.widgetDao().update(session,
widget.setWidgetKey(PROJECT_ISSUE_FILTER_WIDGET_KEY)
+ .setUpdatedAt(system.newDate())
.setConfigured(true));
widgetIdsWithPropertiesToDelete.add(widget.getId());
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/startup/RenameIssueWidgetsTest.java b/server/sonar-server/src/test/java/org/sonar/server/startup/RenameIssueWidgetsTest.java
index 95047b5c59b..92d8e2c5ca8 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/startup/RenameIssueWidgetsTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/startup/RenameIssueWidgetsTest.java
@@ -32,6 +32,8 @@ import org.sonar.server.dashboard.db.WidgetPropertyDao;
import org.sonar.server.db.DbClient;
import org.sonar.test.DbTests;
+import java.util.Date;
+
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -66,17 +68,19 @@ public class RenameIssueWidgetsTest {
private void doStart() {
System2 system2 = mock(System2.class);
- when(system2.now()).thenReturn(DateUtils.parseDateTime("2003-03-23T01:23:45+0100").getTime());
+ Date now = DateUtils.parseDateTime("2003-03-23T01:23:45+0100");
+ when(system2.newDate()).thenReturn(now);
RenameIssueWidgets task = new RenameIssueWidgets(
new DbClient(
dbTester.database(),
dbTester.myBatis(),
- new WidgetDao(system2),
- new WidgetPropertyDao(system2),
+ new WidgetDao(dbTester.myBatis()),
+ new WidgetPropertyDao(dbTester.myBatis()),
new IssueFilterDao(dbTester.myBatis()),
new LoadedTemplateDao(dbTester.myBatis())
- ));
+ ),
+ system2);
task.start();
task.stop();