]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-5560 - updated BaseDao for synchronizer params
authorStephane Gamard <stephane.gamard@sonarsource.com>
Fri, 12 Sep 2014 07:13:58 +0000 (09:13 +0200)
committerStephane Gamard <stephane.gamard@sonarsource.com>
Fri, 12 Sep 2014 07:14:05 +0000 (09:14 +0200)
server/sonar-server/src/main/java/org/sonar/server/db/BaseDao.java
server/sonar-server/src/main/java/org/sonar/server/db/Dao.java
server/sonar-server/src/main/java/org/sonar/server/issue/db/IssueAuthorizationDao.java

index bceb86eb7b201a7b0c9eee2695535098e663c262..415c43c7acf2d28a2e68c4d0adbab687e76a0582 100644 (file)
@@ -319,16 +319,25 @@ public abstract class BaseDao<MAPPER, DTO extends Dto<KEY>, KEY extends Serializ
   }
 
   protected Map getSynchronizationParams(Date date) {
-    Map<String, Object> params = newHashMap();
-    params.put("date", new Timestamp(date.getTime()));
-    return params;
+    return getSynchronizationParams(date, Collections.<String, String>emptyMap());
+  }
+
+  protected Map getSynchronizationParams(Date date, Map<String, String> params) {
+    Map<String, Object> finalParams = newHashMap();
+    finalParams.put("date", new Timestamp(date.getTime()));
+    return finalParams;
   }
 
   @Override
   public void synchronizeAfter(final DbSession session, Date date) {
+    this.synchronizeAfter(session, date, Collections.<String, String>emptyMap());
+  }
+
+  @Override
+  public void synchronizeAfter(final DbSession session, Date date, Map<String, String> params) {
     try {
       DbSynchronizationHandler handler = getSynchronizationResultHandler(session);
-      session.select(getSynchronizeStatementFQN(), getSynchronizationParams(date), handler);
+      session.select(getSynchronizeStatementFQN(), getSynchronizationParams(date, params), handler);
       handler.enqueueCollected();
     } catch (Exception e) {
       throw new IllegalStateException(e);
index 11ac312fa835b92a1837803f00734d47ab12f938..5d194a5484eb6a60480796e2a965dee8a56b0ac6 100644 (file)
@@ -24,9 +24,11 @@ import org.sonar.core.persistence.DbSession;
 import org.sonar.core.persistence.Dto;
 
 import javax.annotation.CheckForNull;
+
 import java.io.Serializable;
 import java.util.Collection;
 import java.util.Date;
+import java.util.Map;
 
 public interface Dao<DTO extends Dto<KEY>, KEY extends Serializable> extends ServerComponent {
 
@@ -80,4 +82,6 @@ public interface Dao<DTO extends Dto<KEY>, KEY extends Serializable> extends Ser
 
   void synchronizeAfter(DbSession session, Date date);
 
+  void synchronizeAfter(DbSession session, Date date, Map<String, String> params);
+
 }
index 6ff7ca364006b9820c04ff2343e3eb5a6f99d37a..ba3eb90f954f3006f6f0beece85d06ced129baa0 100644 (file)
@@ -44,6 +44,8 @@ import static com.google.common.collect.Maps.newHashMap;
 
 public class IssueAuthorizationDao extends BaseDao<IssueAuthorizationMapper, IssueAuthorizationDto, String> implements DaoComponent {
 
+  public static final String PROJECT_KEY = "project";
+
   public IssueAuthorizationDao() {
     this(System2.INSTANCE);
   }
@@ -96,11 +98,12 @@ public class IssueAuthorizationDao extends BaseDao<IssueAuthorizationMapper, Iss
   }
 
   @Override
-  protected Map getSynchronizationParams(Date date) {
-    Map<String, Object> params = super.getSynchronizationParams(date);
-    params.put("permission", UserRole.USER);
-    params.put("anyone", DefaultGroups.ANYONE);
-    return params;
+  protected Map getSynchronizationParams(Date date, Map<String, String> params) {
+    Map<String, Object> finalParams = super.getSynchronizationParams(date, params);
+    finalParams.put("permission", UserRole.USER);
+    finalParams.put("anyone", DefaultGroups.ANYONE);
+    finalParams.put(PROJECT_KEY, params.get(PROJECT_KEY));
+    return finalParams;
   }
 
   @Override