aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-core
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@sonarsource.com>2014-06-12 10:03:11 +0200
committerJulien Lancelot <julien.lancelot@sonarsource.com>2014-06-12 10:03:11 +0200
commit514afb17e20ff7c070674ccbcd1d5b6f9921816f (patch)
treed397f9d714529d229c7994a0ac1eb8859d222fc1 /sonar-core
parent959cb697cf777b944557cf7d03b02eeab282d634 (diff)
downloadsonarqube-514afb17e20ff7c070674ccbcd1d5b6f9921816f.tar.gz
sonarqube-514afb17e20ff7c070674ccbcd1d5b6f9921816f.zip
SONAR-5392 Fix issue on Oracle
Diffstat (limited to 'sonar-core')
-rw-r--r--sonar-core/src/main/java/org/sonar/core/persistence/MyBatis.java69
-rw-r--r--sonar-core/src/main/java/org/sonar/core/technicaldebt/db/CharacteristicMapper.java3
-rw-r--r--sonar-core/src/main/java/org/sonar/core/technicaldebt/db/RequirementMigrationDto.java160
-rw-r--r--sonar-core/src/main/resources/org/sonar/core/technicaldebt/db/CharacteristicMapper.xml2
4 files changed, 172 insertions, 62 deletions
diff --git a/sonar-core/src/main/java/org/sonar/core/persistence/MyBatis.java b/sonar-core/src/main/java/org/sonar/core/persistence/MyBatis.java
index faef9bd177b..dc840a99b50 100644
--- a/sonar-core/src/main/java/org/sonar/core/persistence/MyBatis.java
+++ b/sonar-core/src/main/java/org/sonar/core/persistence/MyBatis.java
@@ -24,11 +24,7 @@ import com.google.common.io.Closeables;
import org.apache.ibatis.builder.xml.XMLMapperBuilder;
import org.apache.ibatis.logging.LogFactory;
import org.apache.ibatis.mapping.Environment;
-import org.apache.ibatis.session.Configuration;
-import org.apache.ibatis.session.ExecutorType;
-import org.apache.ibatis.session.SqlSession;
-import org.apache.ibatis.session.SqlSessionFactory;
-import org.apache.ibatis.session.SqlSessionFactoryBuilder;
+import org.apache.ibatis.session.*;
import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory;
import org.apache.ibatis.type.JdbcType;
import org.slf4j.LoggerFactory;
@@ -39,14 +35,7 @@ import org.sonar.core.cluster.WorkQueue;
import org.sonar.core.component.ComponentDto;
import org.sonar.core.component.db.ComponentMapper;
import org.sonar.core.config.Logback;
-import org.sonar.core.dashboard.ActiveDashboardDto;
-import org.sonar.core.dashboard.ActiveDashboardMapper;
-import org.sonar.core.dashboard.DashboardDto;
-import org.sonar.core.dashboard.DashboardMapper;
-import org.sonar.core.dashboard.WidgetDto;
-import org.sonar.core.dashboard.WidgetMapper;
-import org.sonar.core.dashboard.WidgetPropertyDto;
-import org.sonar.core.dashboard.WidgetPropertyMapper;
+import org.sonar.core.dashboard.*;
import org.sonar.core.dependency.DependencyDto;
import org.sonar.core.dependency.DependencyMapper;
import org.sonar.core.dependency.ResourceSnapshotDto;
@@ -55,19 +44,7 @@ import org.sonar.core.duplication.DuplicationMapper;
import org.sonar.core.duplication.DuplicationUnitDto;
import org.sonar.core.graph.jdbc.GraphDto;
import org.sonar.core.graph.jdbc.GraphDtoMapper;
-import org.sonar.core.issue.db.ActionPlanDto;
-import org.sonar.core.issue.db.ActionPlanMapper;
-import org.sonar.core.issue.db.ActionPlanStatsDto;
-import org.sonar.core.issue.db.ActionPlanStatsMapper;
-import org.sonar.core.issue.db.IssueChangeDto;
-import org.sonar.core.issue.db.IssueChangeMapper;
-import org.sonar.core.issue.db.IssueDto;
-import org.sonar.core.issue.db.IssueFilterDto;
-import org.sonar.core.issue.db.IssueFilterFavouriteDto;
-import org.sonar.core.issue.db.IssueFilterFavouriteMapper;
-import org.sonar.core.issue.db.IssueFilterMapper;
-import org.sonar.core.issue.db.IssueMapper;
-import org.sonar.core.issue.db.IssueStatsMapper;
+import org.sonar.core.issue.db.*;
import org.sonar.core.log.db.LogDto;
import org.sonar.core.log.db.LogMapper;
import org.sonar.core.measure.db.MeasureDto;
@@ -76,33 +53,14 @@ import org.sonar.core.measure.db.MeasureFilterMapper;
import org.sonar.core.measure.db.MeasureMapper;
import org.sonar.core.notification.db.NotificationQueueDto;
import org.sonar.core.notification.db.NotificationQueueMapper;
-import org.sonar.core.permission.GroupWithPermissionDto;
-import org.sonar.core.permission.PermissionTemplateDto;
-import org.sonar.core.permission.PermissionTemplateGroupDto;
-import org.sonar.core.permission.PermissionTemplateMapper;
-import org.sonar.core.permission.PermissionTemplateUserDto;
-import org.sonar.core.permission.UserWithPermissionDto;
+import org.sonar.core.permission.*;
import org.sonar.core.properties.PropertiesMapper;
import org.sonar.core.properties.PropertyDto;
import org.sonar.core.purge.PurgeMapper;
import org.sonar.core.purge.PurgeableSnapshotDto;
-import org.sonar.core.qualitygate.db.ProjectQgateAssociationDto;
-import org.sonar.core.qualitygate.db.ProjectQgateAssociationMapper;
-import org.sonar.core.qualitygate.db.QualityGateConditionDto;
-import org.sonar.core.qualitygate.db.QualityGateConditionMapper;
-import org.sonar.core.qualitygate.db.QualityGateDto;
-import org.sonar.core.qualitygate.db.QualityGateMapper;
-import org.sonar.core.qualityprofile.db.ActiveRuleDto;
-import org.sonar.core.qualityprofile.db.ActiveRuleMapper;
-import org.sonar.core.qualityprofile.db.ActiveRuleParamDto;
-import org.sonar.core.qualityprofile.db.QualityProfileDto;
-import org.sonar.core.qualityprofile.db.QualityProfileMapper;
-import org.sonar.core.resource.ResourceDto;
-import org.sonar.core.resource.ResourceIndexDto;
-import org.sonar.core.resource.ResourceIndexerMapper;
-import org.sonar.core.resource.ResourceKeyUpdaterMapper;
-import org.sonar.core.resource.ResourceMapper;
-import org.sonar.core.resource.SnapshotDto;
+import org.sonar.core.qualitygate.db.*;
+import org.sonar.core.qualityprofile.db.*;
+import org.sonar.core.resource.*;
import org.sonar.core.rule.RuleDto;
import org.sonar.core.rule.RuleMapper;
import org.sonar.core.rule.RuleParamDto;
@@ -111,18 +69,10 @@ import org.sonar.core.source.db.SnapshotDataMapper;
import org.sonar.core.source.db.SnapshotSourceMapper;
import org.sonar.core.technicaldebt.db.CharacteristicDto;
import org.sonar.core.technicaldebt.db.CharacteristicMapper;
+import org.sonar.core.technicaldebt.db.RequirementMigrationDto;
import org.sonar.core.template.LoadedTemplateDto;
import org.sonar.core.template.LoadedTemplateMapper;
-import org.sonar.core.user.AuthorDto;
-import org.sonar.core.user.AuthorMapper;
-import org.sonar.core.user.GroupDto;
-import org.sonar.core.user.GroupMembershipDto;
-import org.sonar.core.user.GroupMembershipMapper;
-import org.sonar.core.user.GroupRoleDto;
-import org.sonar.core.user.RoleMapper;
-import org.sonar.core.user.UserDto;
-import org.sonar.core.user.UserMapper;
-import org.sonar.core.user.UserRoleDto;
+import org.sonar.core.user.*;
import java.io.InputStream;
@@ -201,6 +151,7 @@ public class MyBatis implements BatchComponent, ServerComponent {
loadAlias(conf, "QualityProfile", QualityProfileDto.class);
loadAlias(conf, "ActiveRule", ActiveRuleDto.class);
loadAlias(conf, "ActiveRuleParam", ActiveRuleParamDto.class);
+ loadAlias(conf, "RequirementMigration", RequirementMigrationDto.class);
loadAlias(conf, "Log", LogDto.class);
// AuthorizationMapper has to be loaded before IssueMapper because this last one used it
diff --git a/sonar-core/src/main/java/org/sonar/core/technicaldebt/db/CharacteristicMapper.java b/sonar-core/src/main/java/org/sonar/core/technicaldebt/db/CharacteristicMapper.java
index 123a216a32d..ea734f081f8 100644
--- a/sonar-core/src/main/java/org/sonar/core/technicaldebt/db/CharacteristicMapper.java
+++ b/sonar-core/src/main/java/org/sonar/core/technicaldebt/db/CharacteristicMapper.java
@@ -23,7 +23,6 @@ package org.sonar.core.technicaldebt.db;
import org.apache.ibatis.annotations.Param;
import java.util.List;
-import java.util.Map;
public interface CharacteristicMapper {
@@ -51,5 +50,5 @@ public interface CharacteristicMapper {
void deleteRequirementsFromCharacteristicsTable();
- List<Map<String, Object>> selectDeprecatedRequirements();
+ List<RequirementMigrationDto> selectDeprecatedRequirements();
}
diff --git a/sonar-core/src/main/java/org/sonar/core/technicaldebt/db/RequirementMigrationDto.java b/sonar-core/src/main/java/org/sonar/core/technicaldebt/db/RequirementMigrationDto.java
new file mode 100644
index 00000000000..ac4cb026c0d
--- /dev/null
+++ b/sonar-core/src/main/java/org/sonar/core/technicaldebt/db/RequirementMigrationDto.java
@@ -0,0 +1,160 @@
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * SonarQube is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+package org.sonar.core.technicaldebt.db;
+
+import javax.annotation.CheckForNull;
+import javax.annotation.Nullable;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * Only used in {@link org.sonar.server.startup.CopyRequirementsFromCharacteristicsToRules}
+ */
+public class RequirementMigrationDto implements Serializable {
+
+ private Integer id;
+ private Integer parentId;
+ private Integer rootId;
+ private Integer ruleId;
+ private String functionKey;
+ private Double coefficientValue;
+ private String coefficientUnit;
+ private Double offsetValue;
+ private String offsetUnit;
+ private Date createdAt;
+ private Date updatedAt;
+ private boolean enabled;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public RequirementMigrationDto setId(Integer id) {
+ this.id = id;
+ return this;
+ }
+
+ public Integer getParentId() {
+ return parentId;
+ }
+
+ public RequirementMigrationDto setParentId(Integer i) {
+ this.parentId = i;
+ return this;
+ }
+
+ public Integer getRootId() {
+ return rootId;
+ }
+
+ public RequirementMigrationDto setRootId(Integer rootId) {
+ this.rootId = rootId;
+ return this;
+ }
+
+ public Integer getRuleId() {
+ return ruleId;
+ }
+
+ public RequirementMigrationDto setRuleId(Integer ruleId) {
+ this.ruleId = ruleId;
+ return this;
+ }
+
+ public String getFunction() {
+ return functionKey;
+ }
+
+ public RequirementMigrationDto setFunction(String function) {
+ this.functionKey = function;
+ return this;
+ }
+
+ @CheckForNull
+ public Double getCoefficientValue() {
+ return coefficientValue;
+ }
+
+ public RequirementMigrationDto setCoefficientValue(@Nullable Double coefficientValue) {
+ this.coefficientValue = coefficientValue;
+ return this;
+ }
+
+ @CheckForNull
+ public String getCoefficientUnit() {
+ return coefficientUnit;
+ }
+
+ public RequirementMigrationDto setCoefficientUnit(@Nullable String coefficientUnit) {
+ this.coefficientUnit = coefficientUnit;
+ return this;
+ }
+
+ @CheckForNull
+ public Double getOffsetValue() {
+ return offsetValue;
+ }
+
+ public RequirementMigrationDto setOffsetValue(@Nullable Double offset) {
+ this.offsetValue = offset;
+ return this;
+ }
+
+ @CheckForNull
+ public String getOffsetUnit() {
+ return offsetUnit;
+ }
+
+ public RequirementMigrationDto setOffsetUnit(@Nullable String offsetUnit) {
+ this.offsetUnit = offsetUnit;
+ return this;
+ }
+
+ public Date getCreatedAt() {
+ return createdAt;
+ }
+
+ public RequirementMigrationDto setCreatedAt(Date createdAt) {
+ this.createdAt = createdAt;
+ return this;
+ }
+
+ @CheckForNull
+ public Date getUpdatedAt() {
+ return updatedAt;
+ }
+
+ public RequirementMigrationDto setUpdatedAt(@Nullable Date updatedAt) {
+ this.updatedAt = updatedAt;
+ return this;
+ }
+
+ public boolean isEnabled() {
+ return enabled;
+ }
+
+ public RequirementMigrationDto setEnabled(boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+}
diff --git a/sonar-core/src/main/resources/org/sonar/core/technicaldebt/db/CharacteristicMapper.xml b/sonar-core/src/main/resources/org/sonar/core/technicaldebt/db/CharacteristicMapper.xml
index 5857ba78a87..abce6386373 100644
--- a/sonar-core/src/main/resources/org/sonar/core/technicaldebt/db/CharacteristicMapper.xml
+++ b/sonar-core/src/main/resources/org/sonar/core/technicaldebt/db/CharacteristicMapper.xml
@@ -107,7 +107,7 @@
where id=#{id}
</update>
- <select id="selectDeprecatedRequirements" resultType="map">
+ <select id="selectDeprecatedRequirements" resultType="RequirementMigration">
select id as "id",
parent_id as "parentId",
root_id as "rootId",