From 31257a6efa2fe9b8abb7c625fadae205b8aa3947 Mon Sep 17 00:00:00 2001 From: Godin Date: Tue, 30 Nov 2010 13:19:12 +0000 Subject: [PATCH] SONAR-1450: Revert some changes made yesterday --- .../org/sonar/batch/index/DefaultIndex.java | 25 ++++--------------- .../index/DefaultPersistenceManager.java | 9 ++----- .../sonar/batch/index/PersistenceManager.java | 5 +--- .../sonar/batch/index/ViolationPersister.java | 9 ++++--- .../sonar/api/batch/DecoratorBarriers.java | 10 +++++--- 5 files changed, 19 insertions(+), 39 deletions(-) diff --git a/sonar-batch/src/main/java/org/sonar/batch/index/DefaultIndex.java b/sonar-batch/src/main/java/org/sonar/batch/index/DefaultIndex.java index fca1ee8f04b..59c28501c5b 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/index/DefaultIndex.java +++ b/sonar-batch/src/main/java/org/sonar/batch/index/DefaultIndex.java @@ -28,7 +28,6 @@ import org.slf4j.LoggerFactory; import org.sonar.api.batch.Event; import org.sonar.api.batch.SonarIndex; import org.sonar.api.database.model.ResourceModel; -import org.sonar.api.database.model.RuleFailureModel; import org.sonar.api.design.Dependency; import org.sonar.api.measures.*; import org.sonar.api.profiles.RulesProfile; @@ -65,7 +64,6 @@ public final class DefaultIndex extends SonarIndex { private Set dependencies = Sets.newHashSet(); private Map> outgoingDependenciesByResource = Maps.newHashMap(); private Map> incomingDependenciesByResource = Maps.newHashMap(); - private Map> violationsByResource = Maps.newHashMap(); private ProjectTree projectTree; public DefaultIndex(PersistenceManager persistence, DefaultResourceCreationLock lock, ProjectTree projectTree, MetricFinder metricFinder) { @@ -183,10 +181,10 @@ public final class DefaultIndex extends SonarIndex { if (!StringUtils.equals(Resource.SCOPE_SET, resource.getScope())) { // not a project nor a library effectiveKey = new StringBuilder(ResourceModel.KEY_SIZE) - .append(project.getKey()) - .append(':') - .append(resource.getKey()) - .toString(); + .append(project.getKey()) + .append(':') + .append(resource.getKey()) + .toString(); } return effectiveKey; } @@ -401,21 +399,8 @@ public final class DefaultIndex extends SonarIndex { } private void doAddViolation(Violation violation, Bucket bucket) { - Resource resource = violation.getResource(); - if (!violationsByResource.containsKey(resource)) { - violationsByResource.put(resource, persistence.loadPreviousViolations(resource)); - } - RuleFailureModel found = null; - List pastViolations = violationsByResource.get(resource); - for (RuleFailureModel pastViolation : pastViolations) { - // TODO Compare pastViolation to violation - if (pastViolation.getLine() == violation.getLineId() && StringUtils.equals(pastViolation.getMessage(), violation.getMessage())) { - found = pastViolation; - break; - } - } bucket.addViolation(violation); - persistence.saveOrUpdateViolation(currentProject, violation, found); + persistence.saveViolation(currentProject, violation); } // diff --git a/sonar-batch/src/main/java/org/sonar/batch/index/DefaultPersistenceManager.java b/sonar-batch/src/main/java/org/sonar/batch/index/DefaultPersistenceManager.java index 2bf06968097..f03147a4ede 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/index/DefaultPersistenceManager.java +++ b/sonar-batch/src/main/java/org/sonar/batch/index/DefaultPersistenceManager.java @@ -20,7 +20,6 @@ package org.sonar.batch.index; import org.sonar.api.batch.Event; -import org.sonar.api.database.model.RuleFailureModel; import org.sonar.api.database.model.Snapshot; import org.sonar.api.design.Dependency; import org.sonar.api.measures.Measure; @@ -87,12 +86,8 @@ public final class DefaultPersistenceManager implements PersistenceManager { dependencyPersister.saveDependency(project, dependency, parentDependency); } - public List loadPreviousViolations(Resource resource) { - return violationPersister.getPreviousViolations(resource); - } - - public void saveOrUpdateViolation(Project project, Violation violation, RuleFailureModel oldModel) { - violationPersister.saveOrUpdateViolation(project, violation, oldModel); + public void saveViolation(Project project, Violation violation) { + violationPersister.saveViolation(project, violation); } public void saveLink(Project project, ProjectLink link) { diff --git a/sonar-batch/src/main/java/org/sonar/batch/index/PersistenceManager.java b/sonar-batch/src/main/java/org/sonar/batch/index/PersistenceManager.java index ebb3d2ea152..f53248feff2 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/index/PersistenceManager.java +++ b/sonar-batch/src/main/java/org/sonar/batch/index/PersistenceManager.java @@ -20,7 +20,6 @@ package org.sonar.batch.index; import org.sonar.api.batch.Event; -import org.sonar.api.database.model.RuleFailureModel; import org.sonar.api.database.model.Snapshot; import org.sonar.api.design.Dependency; import org.sonar.api.measures.Measure; @@ -48,9 +47,7 @@ public interface PersistenceManager { void saveDependency(Project project, Dependency dependency, Dependency parentDependency); - List loadPreviousViolations(Resource resource); - - void saveOrUpdateViolation(Project project, Violation violation, RuleFailureModel oldModel); + void saveViolation(Project project, Violation violation); void saveLink(Project project, ProjectLink link); diff --git a/sonar-batch/src/main/java/org/sonar/batch/index/ViolationPersister.java b/sonar-batch/src/main/java/org/sonar/batch/index/ViolationPersister.java index ef085b35680..2a799a7632e 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/index/ViolationPersister.java +++ b/sonar-batch/src/main/java/org/sonar/batch/index/ViolationPersister.java @@ -35,7 +35,7 @@ public final class ViolationPersister { private DatabaseSession session; private ResourcePersister resourcePersister; - private RuleFinder ruleFinder; + private RuleFinder ruleFinder; public ViolationPersister(DatabaseSession session, ResourcePersister resourcePersister, RuleFinder ruleFinder) { this.session = session; @@ -52,11 +52,12 @@ public final class ViolationPersister { return session.getResults(RuleFailureModel.class, "snapshotId", previousLastSnapshot.getId()); } + public void saveViolation(Project project, Violation violation) { + saveOrUpdateViolation(project, violation, null); + } + public void saveOrUpdateViolation(Project project, Violation violation, RuleFailureModel oldModel) { Snapshot snapshot = resourcePersister.saveResource(project, violation.getResource()); - if (snapshot == null) { - return; // TODO Godin why ? when? - } RuleFailureModel model; if (oldModel != null) { // update diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/DecoratorBarriers.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/DecoratorBarriers.java index abbc3cbfdc3..8fc96512794 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/DecoratorBarriers.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/DecoratorBarriers.java @@ -21,18 +21,18 @@ package org.sonar.api.batch; /** * Barriers are used to define the order of execution of Decorators. - * + * * @since 2.3 */ public interface DecoratorBarriers { - String START_VIOLATIONS_GENERATION = "START_VIOLATIONS_GENERATION"; /** * This barrier is used by a decorator in order to : *
    - *
  • be executed after all the decorators which generate violations : @DependsUpon(value=DecoratorBarriers.END_OF_VIOLATIONS_GENERATION
  • + *
  • be executed after all the decorators which generate violations : + * @DependsUpon(value=DecoratorBarriers.END_OF_VIOLATIONS_GENERATION
  • *
  • declare that it generates violations : @DependedUpon(value=DecoratorBarriers.END_OF_VIOLATIONS_GENERATION
  • *
*/ @@ -40,7 +40,9 @@ public interface DecoratorBarriers { /** * Any kinds of time machine data are calculated before this barrier. Decorators executed after this barrier can use - * Measure#getDiffValueX() and Measure#getTendency() methods + * Measure#getDiffValueX() and Measure#getTendency() methods. + * + * @since 2.5 */ String END_OF_TIME_MACHINE = "END_OF_TIME_MACHINE"; } -- 2.39.5