aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@sonarsource.com>2015-04-21 17:30:16 +0200
committerJulien Lancelot <julien.lancelot@sonarsource.com>2015-04-21 17:34:06 +0200
commite58da285fd128f71ad8ac8c4a31890a25d64bc36 (patch)
treebdf75aad7cc9892804b1eadb6ffa8b9541a6344d
parentc83af35f044f23b698ba23dca7097546b1eb2a13 (diff)
downloadsonarqube-e58da285fd128f71ad8ac8c4a31890a25d64bc36.tar.gz
sonarqube-e58da285fd128f71ad8ac8c4a31890a25d64bc36.zip
SONAR-6256 Drop dependencies.from_resource_id and dependencies.to_resource_id
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/db/migrations/MigrationSteps.java4
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/db/migrations/v52/AddDependenciesComponentUuidColumns.java6
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/db/migrations/v52/DropDependenciesComponentColumns.java55
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/db/migrations/v52/DropDependenciesComponentColumnsTest.java52
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/controllers/api/dependency_tree_controller.rb2
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/app/models/dependency.rb4
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/db/migrate/911_remove_dependencies_component_ids.rb31
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/index/DependencyPersister.java4
-rw-r--r--sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java2
-rw-r--r--sonar-core/src/main/resources/org/sonar/core/persistence/rows-h2.sql1
-rw-r--r--sonar-core/src/main/resources/org/sonar/core/persistence/schema-h2.ddl2
-rw-r--r--sonar-core/src/test/java/org/sonar/core/dependency/DependencyMapperTest.java46
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/dependency/DependencyMapperTest/fixture.xml6
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/purge/PurgeCommandsTest/shouldDeleteSnapshot-result.xml2
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/purge/PurgeCommandsTest/shouldDeleteSnapshot.xml6
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/purge/PurgeCommandsTest/shouldPurgeSnapshot-result.xml4
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/purge/PurgeCommandsTest/shouldPurgeSnapshot.xml8
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/design/DependencyDto.java30
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;
}