diff options
author | Julien Lancelot <julien.lancelot@sonarsource.com> | 2015-04-21 17:30:16 +0200 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@sonarsource.com> | 2015-04-21 17:34:06 +0200 |
commit | e58da285fd128f71ad8ac8c4a31890a25d64bc36 (patch) | |
tree | bdf75aad7cc9892804b1eadb6ffa8b9541a6344d | |
parent | c83af35f044f23b698ba23dca7097546b1eb2a13 (diff) | |
download | sonarqube-e58da285fd128f71ad8ac8c4a31890a25d64bc36.tar.gz sonarqube-e58da285fd128f71ad8ac8c4a31890a25d64bc36.zip |
SONAR-6256 Drop dependencies.from_resource_id and dependencies.to_resource_id
18 files changed, 212 insertions, 53 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/db/migrations/MigrationSteps.java b/server/sonar-server/src/main/java/org/sonar/server/db/migrations/MigrationSteps.java index 127709ccafd..2da008de6de 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/db/migrations/MigrationSteps.java +++ b/server/sonar-server/src/main/java/org/sonar/server/db/migrations/MigrationSteps.java @@ -65,6 +65,7 @@ import org.sonar.server.db.migrations.v51.RemovePermissionsOnModulesMigrationSte import org.sonar.server.db.migrations.v51.RenameComponentRelatedParamsInIssueFilters; import org.sonar.server.db.migrations.v51.UpdateProjectsModuleUuidPath; import org.sonar.server.db.migrations.v52.AddDependenciesComponentUuidColumns; +import org.sonar.server.db.migrations.v52.DropDependenciesComponentColumns; import org.sonar.server.db.migrations.v52.FeedDependenciesComponentUuids; import org.sonar.server.db.migrations.v52.FeedEventsComponentUuid; import org.sonar.server.db.migrations.v52.FeedProjectLinksComponentUuid; @@ -139,6 +140,7 @@ public interface MigrationSteps { FeedEventsComponentUuid.class, MoveProjectProfileAssociation.class, AddDependenciesComponentUuidColumns.class, - FeedDependenciesComponentUuids.class + FeedDependenciesComponentUuids.class, + DropDependenciesComponentColumns.class ); } diff --git a/server/sonar-server/src/main/java/org/sonar/server/db/migrations/v52/AddDependenciesComponentUuidColumns.java b/server/sonar-server/src/main/java/org/sonar/server/db/migrations/v52/AddDependenciesComponentUuidColumns.java index 276cc572ab9..e4f6d31c061 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/db/migrations/v52/AddDependenciesComponentUuidColumns.java +++ b/server/sonar-server/src/main/java/org/sonar/server/db/migrations/v52/AddDependenciesComponentUuidColumns.java @@ -26,6 +26,8 @@ import org.sonar.server.db.migrations.DdlChange; import java.sql.SQLException; +import static org.sonar.server.db.migrations.AddColumnsBuilder.ColumnDef.Type.STRING; + /** * Add the following columns to the dependencies table : * - from_component_uuid @@ -50,14 +52,14 @@ public class AddDependenciesComponentUuidColumns extends DdlChange { .addColumn( new AddColumnsBuilder.ColumnDef() .setName("from_component_uuid") - .setType(AddColumnsBuilder.ColumnDef.Type.STRING) + .setType(STRING) .setLimit(50) .setNullable(true) ) .addColumn( new AddColumnsBuilder.ColumnDef() .setName("to_component_uuid") - .setType(AddColumnsBuilder.ColumnDef.Type.STRING) + .setType(STRING) .setLimit(50) .setNullable(true) ) diff --git a/server/sonar-server/src/main/java/org/sonar/server/db/migrations/v52/DropDependenciesComponentColumns.java b/server/sonar-server/src/main/java/org/sonar/server/db/migrations/v52/DropDependenciesComponentColumns.java new file mode 100644 index 00000000000..973d38aa53e --- /dev/null +++ b/server/sonar-server/src/main/java/org/sonar/server/db/migrations/v52/DropDependenciesComponentColumns.java @@ -0,0 +1,55 @@ +/* + * 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.server.db.migrations.v52; + +import com.google.common.annotations.VisibleForTesting; +import org.sonar.core.persistence.Database; +import org.sonar.server.db.migrations.DdlChange; +import org.sonar.server.db.migrations.DropColumnsBuilder; + +import java.sql.SQLException; + +/** + * Remove the following columns from the dependencies table : + * - from_resource_id + * - to_resource_id + */ +public class DropDependenciesComponentColumns extends DdlChange { + + private final Database db; + + public DropDependenciesComponentColumns(Database db) { + super(db); + this.db = db; + } + + @Override + public void execute(Context context) throws SQLException { + context.execute(generateSql()); + } + + @VisibleForTesting + String generateSql() { + return new DropColumnsBuilder(db.getDialect(), "dependencies", "from_resource_id", "to_resource_id") + .build(); + } + +} diff --git a/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v52/DropDependenciesComponentColumnsTest.java b/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v52/DropDependenciesComponentColumnsTest.java new file mode 100644 index 00000000000..3147195b99c --- /dev/null +++ b/server/sonar-server/src/test/java/org/sonar/server/db/migrations/v52/DropDependenciesComponentColumnsTest.java @@ -0,0 +1,52 @@ +/* + * 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.server.db.migrations.v52; + +import org.junit.Before; +import org.junit.Test; +import org.sonar.core.persistence.Database; +import org.sonar.core.persistence.dialect.PostgreSql; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +public class DropDependenciesComponentColumnsTest { + + DropDependenciesComponentColumns migration; + + Database database; + + @Before + public void setUp() throws Exception { + database = mock(Database.class); + migration = new DropDependenciesComponentColumns(database); + } + + @Test + public void generate_sql_on_postgresql() throws Exception { + when(database.getDialect()).thenReturn(new PostgreSql()); + assertThat(migration.generateSql()).isEqualTo( + "ALTER TABLE dependencies DROP COLUMN from_resource_id, DROP COLUMN to_resource_id" + ); + } + +} diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/dependency_tree_controller.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/dependency_tree_controller.rb index 0d93e544c18..12222ce82fc 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/dependency_tree_controller.rb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/dependency_tree_controller.rb @@ -66,7 +66,7 @@ class Api::DependencyTreeController < Api::ApiController dependencies.each do |dep| hash={ :did => dep.id.to_s, - :rid => dep.to_resource_id.to_s, + :rid => dep.to.id.to_s, :w => dep.weight, :u => dep.usage, :s => dep.to_scope, diff --git a/server/sonar-web/src/main/webapp/WEB-INF/app/models/dependency.rb b/server/sonar-web/src/main/webapp/WEB-INF/app/models/dependency.rb index c6ff4617d0f..7505640f1ca 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/app/models/dependency.rb +++ b/server/sonar-web/src/main/webapp/WEB-INF/app/models/dependency.rb @@ -18,10 +18,10 @@ # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # class Dependency < ActiveRecord::Base - belongs_to :from, :class_name => 'Project', :foreign_key => 'from_resource_id' + belongs_to :from, :class_name => 'Project', :foreign_key => 'from_component_uuid', :primary_key => 'uuid' belongs_to :from_snapshot, :class_name => 'Snapshot', :foreign_key => 'from_snapshot_id' - belongs_to :to, :class_name => 'Project', :foreign_key => 'to_resource_id' + belongs_to :to, :class_name => 'Project', :foreign_key => 'to_component_uuid', :primary_key => 'uuid' belongs_to :to_snapshot, :class_name => 'Snapshot', :foreign_key => 'to_snapshot_id' belongs_to :project, :class_name => 'Project', :foreign_key => 'project_id' diff --git a/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/911_remove_dependencies_component_ids.rb b/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/911_remove_dependencies_component_ids.rb new file mode 100644 index 00000000000..623c6e36709 --- /dev/null +++ b/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/911_remove_dependencies_component_ids.rb @@ -0,0 +1,31 @@ +# +# 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. +# + +# +# SonarQube 5.2 +# SONAR-6256 +# +class RemoveDependenciesComponentIds < ActiveRecord::Migration + + def self.up + execute_java_migration('org.sonar.server.db.migrations.v52.DropDependenciesComponentColumns') + end + +end diff --git a/sonar-batch/src/main/java/org/sonar/batch/index/DependencyPersister.java b/sonar-batch/src/main/java/org/sonar/batch/index/DependencyPersister.java index 13c73e278f5..c882eb9ef68 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/index/DependencyPersister.java +++ b/sonar-batch/src/main/java/org/sonar/batch/index/DependencyPersister.java @@ -64,11 +64,11 @@ public final class DependencyPersister { model.setUsage(dependency.getUsage()); model.setWeight(dependency.getWeight()); - model.setFromResourceId(fromResource.resource().getId()); + model.setFromComponentUuid(fromResource.resource().getUuid()); model.setFromScope(fromResource.resource().getScope()); model.setFromSnapshotId(fromResource.snapshotId()); - model.setToResourceId(toResource.resource().getId()); + model.setToComponentUuid(toResource.resource().getUuid()); model.setToScope(toResource.resource().getScope()); model.setToSnapshotId(toResource.snapshotId()); diff --git a/sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java b/sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java index 87410d7a8cb..531a662b6bf 100644 --- a/sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java +++ b/sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java @@ -33,7 +33,7 @@ import java.util.List; */ public class DatabaseVersion implements BatchComponent, ServerComponent { - public static final int LAST_VERSION = 910; + public static final int LAST_VERSION = 911; /** * List of all the tables.n diff --git a/sonar-core/src/main/resources/org/sonar/core/persistence/rows-h2.sql b/sonar-core/src/main/resources/org/sonar/core/persistence/rows-h2.sql index 1f19a2ff695..97fa66aea45 100644 --- a/sonar-core/src/main/resources/org/sonar/core/persistence/rows-h2.sql +++ b/sonar-core/src/main/resources/org/sonar/core/persistence/rows-h2.sql @@ -334,6 +334,7 @@ INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('907'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('908'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('909'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('910'); +INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('911'); INSERT INTO USERS(ID, LOGIN, NAME, EMAIL, CRYPTED_PASSWORD, SALT, CREATED_AT, UPDATED_AT, REMEMBER_TOKEN, REMEMBER_TOKEN_EXPIRES_AT) VALUES (1, 'admin', 'Administrator', '', 'a373a0e667abb2604c1fd571eb4ad47fe8cc0878', '48bc4b0d93179b5103fd3885ea9119498e9d161b', '1418215735482', '1418215735482', null, null); ALTER TABLE USERS ALTER COLUMN ID RESTART WITH 2; diff --git a/sonar-core/src/main/resources/org/sonar/core/persistence/schema-h2.ddl b/sonar-core/src/main/resources/org/sonar/core/persistence/schema-h2.ddl index 78b7586205d..77e26efde37 100644 --- a/sonar-core/src/main/resources/org/sonar/core/persistence/schema-h2.ddl +++ b/sonar-core/src/main/resources/org/sonar/core/persistence/schema-h2.ddl @@ -6,10 +6,8 @@ CREATE TABLE "GROUPS_USERS" ( CREATE TABLE "DEPENDENCIES" ( "ID" BIGINT NOT NULL GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1), "FROM_SNAPSHOT_ID" INTEGER, - "FROM_RESOURCE_ID" INTEGER, "FROM_COMPONENT_UUID" VARCHAR(50), "TO_SNAPSHOT_ID" INTEGER, - "TO_RESOURCE_ID" INTEGER, "TO_COMPONENT_UUID" VARCHAR(50), "DEP_USAGE" VARCHAR(30), "DEP_WEIGHT" INTEGER, diff --git a/sonar-core/src/test/java/org/sonar/core/dependency/DependencyMapperTest.java b/sonar-core/src/test/java/org/sonar/core/dependency/DependencyMapperTest.java index 5c16ce4108e..e42fa5ff68d 100644 --- a/sonar-core/src/test/java/org/sonar/core/dependency/DependencyMapperTest.java +++ b/sonar-core/src/test/java/org/sonar/core/dependency/DependencyMapperTest.java @@ -22,32 +22,46 @@ package org.sonar.core.dependency; import com.google.common.collect.Lists; import org.apache.ibatis.session.ResultContext; import org.apache.ibatis.session.ResultHandler; -import org.apache.ibatis.session.SqlSession; +import org.junit.After; +import org.junit.Before; +import org.junit.ClassRule; import org.junit.Test; -import org.sonar.core.persistence.AbstractDaoTestCase; -import org.sonar.core.persistence.MyBatis; +import org.sonar.core.persistence.DbSession; +import org.sonar.core.persistence.DbTester; import java.util.List; import static org.assertj.core.api.Assertions.assertThat; -public class DependencyMapperTest extends AbstractDaoTestCase { +public class DependencyMapperTest { + + @ClassRule + public static DbTester dbtester = new DbTester(); + + DbSession session; + + @Before + public void setUp() throws Exception { + dbtester.truncateTables(); + session = dbtester.myBatis().openSession(false); + } + + @After + public void tearDown() throws Exception { + session.close(); + } + @Test - public void should_find_all() { - setupData("fixture"); + public void select_all_dependencies() { + dbtester.prepareDbUnit(getClass(), "fixture.xml"); final List<DependencyDto> dependencies = Lists.newArrayList(); - SqlSession session = getMyBatis().openSession(); - try { - session.getMapper(DependencyMapper.class).selectAll(new ResultHandler() { - public void handleResult(ResultContext context) { - dependencies.add((DependencyDto) context.getResultObject()); - } - }); - } finally { - MyBatis.closeQuietly(session); - } + session.getMapper(DependencyMapper.class).selectAll(new ResultHandler() { + public void handleResult(ResultContext context) { + dependencies.add((DependencyDto) context.getResultObject()); + } + }); assertThat(dependencies).hasSize(2); diff --git a/sonar-core/src/test/resources/org/sonar/core/dependency/DependencyMapperTest/fixture.xml b/sonar-core/src/test/resources/org/sonar/core/dependency/DependencyMapperTest/fixture.xml index 7e8a8e9f677..f190e3a4221 100644 --- a/sonar-core/src/test/resources/org/sonar/core/dependency/DependencyMapperTest/fixture.xml +++ b/sonar-core/src/test/resources/org/sonar/core/dependency/DependencyMapperTest/fixture.xml @@ -1,4 +1,4 @@ <dataset> - <dependencies id="1" from_resource_id="100" to_resource_id="101" from_snapshot_id="1000" to_snapshot_id="1001" dep_usage="compile" dep_weight="1" /> - <dependencies id="2" from_resource_id="200" to_resource_id="201" from_snapshot_id="2000" to_snapshot_id="2001" dep_usage="provided" dep_weight="1" /> -</dataset>
\ No newline at end of file + <dependencies id="1" from_component_uuid="ABCD" to_component_uuid="EFGH" from_snapshot_id="1000" to_snapshot_id="1001" dep_usage="compile" dep_weight="1" /> + <dependencies id="2" from_component_uuid="DCBA" to_component_uuid="HGFE" from_snapshot_id="2000" to_snapshot_id="2001" dep_usage="provided" dep_weight="1" /> +</dataset> diff --git a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeCommandsTest/shouldDeleteSnapshot-result.xml b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeCommandsTest/shouldDeleteSnapshot-result.xml index 9a0a675bc24..286d4dd8447 100644 --- a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeCommandsTest/shouldDeleteSnapshot-result.xml +++ b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeCommandsTest/shouldDeleteSnapshot-result.xml @@ -22,7 +22,7 @@ person_id="[null]" text_value="[null]" tendency="[null]" measure_date="[null]" project_id="[null]" alert_status="[null]" description="[null]" measure_data="[null]"/> - <dependencies id="1" from_resource_id="1" from_component_uuid="A" from_snapshot_id="1" to_resource_id="30" to_component_uuid="CC" to_snapshot_id="30" + <dependencies id="1" from_component_uuid="A" from_snapshot_id="1" to_component_uuid="CC" to_snapshot_id="30" parent_dependency_id="[null]" project_snapshot_id="1" dep_usage="USES" dep_weight="1" from_scope="PRJ" to_scope="LIB"/> <events id="1" name="Version 1.0" component_uuid="1" snapshot_id="1" category="VERSION" description="[null]" diff --git a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeCommandsTest/shouldDeleteSnapshot.xml b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeCommandsTest/shouldDeleteSnapshot.xml index 4c5a6d70b1c..a6280de86f8 100644 --- a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeCommandsTest/shouldDeleteSnapshot.xml +++ b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeCommandsTest/shouldDeleteSnapshot.xml @@ -21,7 +21,7 @@ person_id="[null]" text_value="[null]" tendency="[null]" measure_date="[null]" project_id="[null]" alert_status="[null]" description="[null]" measure_data="[null]"/> - <dependencies id="1" from_resource_id="1" from_component_uuid="A" from_snapshot_id="1" to_resource_id="30" to_component_uuid="CC" to_snapshot_id="30" + <dependencies id="1" from_component_uuid="A" from_snapshot_id="1" to_component_uuid="CC" to_snapshot_id="30" parent_dependency_id="[null]" project_snapshot_id="1" dep_usage="USES" dep_weight="1" from_scope="PRJ" to_scope="LIB"/> <events id="1" name="Version 1.0" component_uuid="1" snapshot_id="1" category="VERSION" description="[null]" @@ -51,10 +51,10 @@ person_id="[null]" text_value="[null]" tendency="[null]" measure_date="[null]" project_id="[null]" alert_status="[null]" description="[null]" measure_data="[null]"/> - <dependencies id="2" from_resource_id="10" from_component_uuid="AA" from_snapshot_id="10" to_resource_id="5" to_component_uuid="E" to_snapshot_id="5" + <dependencies id="2" from_component_uuid="AA" from_snapshot_id="10" to_component_uuid="E" to_snapshot_id="5" parent_dependency_id="[null]" project_snapshot_id="5" dep_usage="USES" dep_weight="1" from_scope="PRJ" to_scope="LIB"/> - <dependencies id="3" from_resource_id="5" from_component_uuid="C" from_snapshot_id="5" to_resource_id="300" to_component_uuid="CCC" to_snapshot_id="300" + <dependencies id="3" from_component_uuid="C" from_snapshot_id="5" to_component_uuid="CCC" to_snapshot_id="300" parent_dependency_id="[null]" project_snapshot_id="5" dep_usage="USES" dep_weight="1" from_scope="PRJ" to_scope="LIB"/> <events id="2" name="Version 1.0" component_uuid="5" snapshot_id="5" category="VERSION" description="[null]" diff --git a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeCommandsTest/shouldPurgeSnapshot-result.xml b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeCommandsTest/shouldPurgeSnapshot-result.xml index 92b18f08cf7..1a70186c778 100644 --- a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeCommandsTest/shouldPurgeSnapshot-result.xml +++ b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeCommandsTest/shouldPurgeSnapshot-result.xml @@ -72,11 +72,11 @@ Note that measures, events and reviews are not deleted. text_value="[null]" tendency="[null]" measure_date="[null]" alert_status="[null]" description="[null]" measure_data="[null]"/> - <dependencies id="3" from_resource_id="33" from_component_uuid="CC" from_snapshot_id="33" to_resource_id="44" to_component_uuid="DD" to_snapshot_id="44" + <dependencies id="3" from_component_uuid="CC" from_snapshot_id="33" to_component_uuid="DD" to_snapshot_id="44" parent_dependency_id="[null]" project_snapshot_id="[null]" dep_usage="USES" dep_weight="1" from_scope="PRJ" to_scope="LIB"/> - <dependencies id="4" from_resource_id="55" from_component_uuid="EE" from_snapshot_id="55" to_resource_id="66" to_component_uuid="FF" to_snapshot_id="66" + <dependencies id="4" from_component_uuid="EE" from_snapshot_id="55" to_component_uuid="FF" to_snapshot_id="66" parent_dependency_id="[null]" project_snapshot_id="2" dep_usage="USES" dep_weight="1" from_scope="LIB" to_scope="PRJ"/> diff --git a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeCommandsTest/shouldPurgeSnapshot.xml b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeCommandsTest/shouldPurgeSnapshot.xml index 7881def58d3..2aa70e077c0 100644 --- a/sonar-core/src/test/resources/org/sonar/core/purge/PurgeCommandsTest/shouldPurgeSnapshot.xml +++ b/sonar-core/src/test/resources/org/sonar/core/purge/PurgeCommandsTest/shouldPurgeSnapshot.xml @@ -18,11 +18,11 @@ tendency="[null]" measure_date="[null]" alert_status="[null]" description="[null]" measure_data="[null]"/> - <dependencies id="1" from_resource_id="1" from_component_uuid="A" from_snapshot_id="1" to_resource_id="2" to_component_uuid="B" to_snapshot_id="2" + <dependencies id="1" from_component_uuid="A" from_snapshot_id="1" to_component_uuid="B" to_snapshot_id="2" parent_dependency_id="[null]" project_snapshot_id="[null]" dep_usage="USES" dep_weight="1" from_scope="PRJ" to_scope="LIB"/> - <dependencies id="2" from_resource_id="3" from_component_uuid="C" from_snapshot_id="3" to_resource_id="1" to_component_uuid="A" to_snapshot_id="1" + <dependencies id="2" from_component_uuid="C" from_snapshot_id="3" to_component_uuid="A" to_snapshot_id="1" parent_dependency_id="[null]" project_snapshot_id="2" dep_usage="USES" dep_weight="1" from_scope="LIB" to_scope="PRJ"/> @@ -56,11 +56,11 @@ text_value="[null]" tendency="[null]" measure_date="[null]" alert_status="[null]" description="[null]" measure_data="[null]"/> - <dependencies id="3" from_resource_id="33" from_component_uuid="CC" from_snapshot_id="33" to_resource_id="44" to_component_uuid="DD" to_snapshot_id="44" + <dependencies id="3" from_component_uuid="CC" from_snapshot_id="33" to_component_uuid="DD" to_snapshot_id="44" parent_dependency_id="[null]" project_snapshot_id="[null]" dep_usage="USES" dep_weight="1" from_scope="PRJ" to_scope="LIB"/> - <dependencies id="4" from_resource_id="55" from_component_uuid="EE" from_snapshot_id="55" to_resource_id="66" to_component_uuid="FF" to_snapshot_id="66" + <dependencies id="4" from_component_uuid="EE" from_snapshot_id="55" to_component_uuid="FF" to_snapshot_id="66" parent_dependency_id="[null]" project_snapshot_id="2" dep_usage="USES" dep_weight="1" from_scope="LIB" to_scope="PRJ"/> diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/design/DependencyDto.java b/sonar-plugin-api/src/main/java/org/sonar/api/design/DependencyDto.java index 80075f7ee0c..5e575bc09e2 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/design/DependencyDto.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/design/DependencyDto.java @@ -24,7 +24,11 @@ import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ReflectionToStringBuilder; import org.apache.commons.lang.builder.ToStringStyle; -import javax.persistence.*; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Table; @Entity @Table(name = "dependencies") @@ -38,8 +42,8 @@ public class DependencyDto { @Column(name = "from_snapshot_id", updatable = true, nullable = false) private Integer fromSnapshotId; - @Column(name = "from_resource_id", updatable = true, nullable = false) - private Integer fromResourceId; + @Column(name = "from_component_uuid", updatable = true, nullable = false) + private String fromComponentUuid; @Column(name = "from_scope", updatable = true, nullable = true) private String fromScope; @@ -47,8 +51,8 @@ public class DependencyDto { @Column(name = "to_snapshot_id", updatable = true, nullable = false) private Integer toSnapshotId; - @Column(name = "to_resource_id", updatable = true, nullable = false) - private Integer toResourceId; + @Column(name = "to_component_uuid", updatable = true, nullable = false) + private String toComponentUuid; @Column(name = "to_scope", updatable = true, nullable = true) private String toScope; @@ -82,12 +86,12 @@ public class DependencyDto { return this; } - public Integer getFromResourceId() { - return fromResourceId; + public String getFromComponentUuid() { + return fromComponentUuid; } - public DependencyDto setFromResourceId(Integer fromResourceId) { - this.fromResourceId = fromResourceId; + public DependencyDto setFromComponentUuid(String fromComponentUuid) { + this.fromComponentUuid = fromComponentUuid; return this; } @@ -100,12 +104,12 @@ public class DependencyDto { return this; } - public Integer getToResourceId() { - return toResourceId; + public String getToComponentUuid() { + return toComponentUuid; } - public DependencyDto setToResourceId(Integer toResourceId) { - this.toResourceId = toResourceId; + public DependencyDto setToComponentUuid(String toComponentUuid) { + this.toComponentUuid = toComponentUuid; return this; } |