diff options
author | Jean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com> | 2015-03-18 10:19:11 +0100 |
---|---|---|
committer | Jean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com> | 2015-03-18 13:19:47 +0100 |
commit | 687a7c52ce233822635bb566a3632f1d8bfa55d6 (patch) | |
tree | e69e069d9107c40c5655c22e8758a48aa2dd2f02 /server/sonar-server | |
parent | 94ab0b3fb528418dbe747d0ab7f59b8dbb7bf177 (diff) | |
download | sonarqube-687a7c52ce233822635bb566a3632f1d8bfa55d6.tar.gz sonarqube-687a7c52ce233822635bb566a3632f1d8bfa55d6.zip |
SONAR-6236 Remove BaseDao from WidgetDao and WidgetPropertyDao
Diffstat (limited to 'server/sonar-server')
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(); |