diff options
author | Julien HENRY <julien.henry@sonarsource.com> | 2014-10-24 15:31:59 +0200 |
---|---|---|
committer | Julien HENRY <julien.henry@sonarsource.com> | 2014-10-24 15:31:59 +0200 |
commit | 5119dc8f3678bfc07a7a65fcd35023d7749aa585 (patch) | |
tree | b4fa0861483d1a080c54cb44eadeb06deb882c18 /sonar-batch | |
parent | 9ecb47a39818940fcc47f79b430cd15fc022d8d9 (diff) | |
download | sonarqube-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.java | 10 |
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) { |