aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-batch
diff options
context:
space:
mode:
authorJulien HENRY <julien.henry@sonarsource.com>2014-10-24 15:31:59 +0200
committerJulien HENRY <julien.henry@sonarsource.com>2014-10-24 15:31:59 +0200
commit5119dc8f3678bfc07a7a65fcd35023d7749aa585 (patch)
treeb4fa0861483d1a080c54cb44eadeb06deb882c18 /sonar-batch
parent9ecb47a39818940fcc47f79b430cd15fc022d8d9 (diff)
downloadsonarqube-5119dc8f3678bfc07a7a65fcd35023d7749aa585.tar.gz
sonarqube-5119dc8f3678bfc07a7a65fcd35023d7749aa585.zip
SONAR-5755 Update uuids on existing resources to deal with project structure changes
Diffstat (limited to 'sonar-batch')
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/index/DefaultResourcePersister.java10
1 files changed, 5 insertions, 5 deletions
diff --git a/sonar-batch/src/main/java/org/sonar/batch/index/DefaultResourcePersister.java b/sonar-batch/src/main/java/org/sonar/batch/index/DefaultResourcePersister.java
index 45621a3718f..ac4c026b667 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/index/DefaultResourcePersister.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/index/DefaultResourcePersister.java
@@ -280,7 +280,7 @@ public final class DefaultResourcePersister implements ResourcePersister {
}
}
- private ResourceModel findOrCreateModel(Resource resource, @Nullable Resource parentReference) {
+ private ResourceModel findOrCreateModel(Resource resource, @Nullable Resource parentResource) {
ResourceModel model;
try {
model = session.getSingleResult(ResourceModel.class, "key", resource.getEffectiveKey());
@@ -288,11 +288,12 @@ public final class DefaultResourcePersister implements ResourcePersister {
if (StringUtils.isBlank(resource.getEffectiveKey())) {
throw new SonarException("Unable to persist resource " + resource.toString() + ". Resource effective key is blank. This may be caused by an outdated plugin.");
}
- model = createModel(resource, parentReference);
+ model = createModel(resource, parentResource);
} else {
mergeModel(model, resource);
}
+ updateUuids(resource, parentResource, model);
return model;
} catch (NonUniqueResultException e) {
@@ -305,7 +306,7 @@ public final class DefaultResourcePersister implements ResourcePersister {
model.setEnabled(Boolean.TRUE);
model.setDescription(resource.getDescription());
model.setKey(resource.getEffectiveKey());
- setUuids(resource, parentResource, model);
+ model.setUuid(UUID.randomUUID().toString());
model.setPath(resource.getPath());
Language language = resource.getLanguage();
if (language != null) {
@@ -322,8 +323,7 @@ public final class DefaultResourcePersister implements ResourcePersister {
return model;
}
- private void setUuids(Resource resource, Resource parentResource, ResourceModel model) {
- model.setUuid(UUID.randomUUID().toString());
+ private void updateUuids(Resource resource, Resource parentResource, ResourceModel model) {
if (parentResource != null) {
ResourceModel parentModel = session.getSingleResult(ResourceModel.class, "id", parentResource.getId());
if (parentModel.getProjectUuid() != null) {