summaryrefslogtreecommitdiffstats
path: root/sonar-server/src
diff options
context:
space:
mode:
authorStephane Gamard <stephane.gamard@searchbox.com>2014-07-03 15:05:05 +0200
committerStephane Gamard <stephane.gamard@searchbox.com>2014-07-03 16:22:48 +0200
commitcbf482f5add9956ca1803fedd759460c3e45b7fa (patch)
tree64fbaea7d90d63f3a9e28f0397f5a767eda8101d /sonar-server/src
parentdd5fd97c77396e9d08a7ad4d0186e80ebd67f714 (diff)
downloadsonarqube-cbf482f5add9956ca1803fedd759460c3e45b7fa.tar.gz
sonarqube-cbf482f5add9956ca1803fedd759460c3e45b7fa.zip
SONAR-5007 - added createdAt and updatedAt fields for ActiveRuleDto
Conflicts: sonar-server/src/test/java/org/sonar/server/qualityprofile/RuleActivatorMediumTest.java
Diffstat (limited to 'sonar-server/src')
-rw-r--r--sonar-server/src/main/java/org/sonar/server/db/BaseDao.java24
-rw-r--r--sonar-server/src/main/java/org/sonar/server/qualityprofile/ActiveRule.java5
-rw-r--r--sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleDoc.java12
-rw-r--r--sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleNormalizer.java14
4 files changed, 42 insertions, 13 deletions
diff --git a/sonar-server/src/main/java/org/sonar/server/db/BaseDao.java b/sonar-server/src/main/java/org/sonar/server/db/BaseDao.java
index b79ee901583..f14365889f8 100644
--- a/sonar-server/src/main/java/org/sonar/server/db/BaseDao.java
+++ b/sonar-server/src/main/java/org/sonar/server/db/BaseDao.java
@@ -146,7 +146,7 @@ public abstract class BaseDao<M, E extends Dto<K>, K extends Serializable> imple
return doGetNullableByKey(session, key);
}
- public E getByKey(DbSession session, K key) {
+ public final E getByKey(DbSession session, K key) {
E value = doGetNullableByKey(session, key);
if (value == null) {
throw new NotFoundException(String.format("Key '%s' not found", key));
@@ -155,14 +155,14 @@ public abstract class BaseDao<M, E extends Dto<K>, K extends Serializable> imple
}
@Override
- public E update(DbSession session, E item) {
+ public final E update(DbSession session, E item) {
Date now = new Date(system2.now());
update(session, item, now);
return item;
}
@Override
- public E update(DbSession session, E item, E... others) {
+ public final E update(DbSession session, E item, E... others) {
Date now = new Date(system2.now());
update(session, item, now);
for (E other : others) {
@@ -172,7 +172,7 @@ public abstract class BaseDao<M, E extends Dto<K>, K extends Serializable> imple
}
@Override
- public Collection<E> update(DbSession session, Collection<E> items) {
+ public final Collection<E> update(DbSession session, Collection<E> items) {
Date now = new Date(system2.now());
for (E item : items) {
update(session, item, now);
@@ -189,13 +189,13 @@ public abstract class BaseDao<M, E extends Dto<K>, K extends Serializable> imple
}
@Override
- public E insert(DbSession session, E item) {
+ public final E insert(DbSession session, E item) {
insert(session, item, new Date(system2.now()));
return item;
}
@Override
- public Collection<E> insert(DbSession session, Collection<E> items) {
+ public final Collection<E> insert(DbSession session, Collection<E> items) {
Date now = new Date(system2.now());
for (E item : items) {
insert(session, item, now);
@@ -204,7 +204,7 @@ public abstract class BaseDao<M, E extends Dto<K>, K extends Serializable> imple
}
@Override
- public E insert(DbSession session, E item, E... others) {
+ public final E insert(DbSession session, E item, E... others) {
Date now = new Date(system2.now());
insert(session, item, now);
for (E other : others) {
@@ -225,12 +225,12 @@ public abstract class BaseDao<M, E extends Dto<K>, K extends Serializable> imple
}
@Override
- public void delete(DbSession session, E item) {
+ public final void delete(DbSession session, E item) {
deleteByKey(session, item.getKey());
}
@Override
- public void delete(DbSession session, E item, E... others) {
+ public final void delete(DbSession session, E item, E... others) {
delete(session, item);
for (E e : others) {
delete(session, e);
@@ -238,14 +238,14 @@ public abstract class BaseDao<M, E extends Dto<K>, K extends Serializable> imple
}
@Override
- public void delete(DbSession session, Collection<E> items) {
+ public final void delete(DbSession session, Collection<E> items) {
for (E item : items) {
delete(session, item);
}
}
@Override
- public void deleteByKey(DbSession session, K key) {
+ public final void deleteByKey(DbSession session, K key) {
Preconditions.checkNotNull(key, "Missing key");
doDeleteByKey(session, key);
if (hasIndex()) {
@@ -253,7 +253,7 @@ public abstract class BaseDao<M, E extends Dto<K>, K extends Serializable> imple
}
}
- protected void enqueueUpdate(Object nestedItem, K key, DbSession session) {
+ protected final void enqueueUpdate(Object nestedItem, K key, DbSession session) {
if (hasIndex()) {
session.enqueue(new EmbeddedIndexAction<K>(
this.getIndexType(), IndexAction.Method.UPSERT, key, nestedItem));
diff --git a/sonar-server/src/main/java/org/sonar/server/qualityprofile/ActiveRule.java b/sonar-server/src/main/java/org/sonar/server/qualityprofile/ActiveRule.java
index 5258c43bc15..649ef441a13 100644
--- a/sonar-server/src/main/java/org/sonar/server/qualityprofile/ActiveRule.java
+++ b/sonar-server/src/main/java/org/sonar/server/qualityprofile/ActiveRule.java
@@ -23,6 +23,7 @@ import com.google.common.collect.ImmutableList;
import org.sonar.core.qualityprofile.db.ActiveRuleKey;
import javax.annotation.CheckForNull;
+import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -33,6 +34,10 @@ public interface ActiveRule {
public static final List<Inheritance> ALL = ImmutableList.of(NONE, OVERRIDES, INHERITED);
}
+ Date createdAt();
+
+ Date updatedAt();
+
ActiveRuleKey key();
String severity();
diff --git a/sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleDoc.java b/sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleDoc.java
index 24ce64dd9e4..66048c8ba45 100644
--- a/sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleDoc.java
+++ b/sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleDoc.java
@@ -23,8 +23,10 @@ import com.google.common.base.Preconditions;
import org.sonar.core.qualityprofile.db.ActiveRuleKey;
import org.sonar.server.qualityprofile.ActiveRule;
import org.sonar.server.search.BaseDoc;
+import org.sonar.server.search.IndexUtils;
import javax.annotation.CheckForNull;
+import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -40,6 +42,16 @@ public class ActiveRuleDoc extends BaseDoc implements ActiveRule {
}
@Override
+ public Date createdAt() {
+ return IndexUtils.parseDateTime((String) getNullableField(ActiveRuleNormalizer.ActiveRuleField.CREATED_AT.field()));
+ }
+
+ @Override
+ public Date updatedAt() {
+ return IndexUtils.parseDateTime((String) getNullableField(ActiveRuleNormalizer.ActiveRuleField.UPDATED_AT.field()));
+ }
+
+ @Override
public ActiveRuleKey key() {
return this.key;
}
diff --git a/sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleNormalizer.java b/sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleNormalizer.java
index 3160acf8854..e3fa5b12271 100644
--- a/sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleNormalizer.java
+++ b/sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleNormalizer.java
@@ -37,7 +37,12 @@ import org.sonar.server.search.Indexable;
import org.sonar.server.search.es.ListUpdate;
import java.lang.reflect.Field;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
public class ActiveRuleNormalizer extends BaseNormalizer<ActiveRuleDto, ActiveRuleKey> {
@@ -51,6 +56,9 @@ public class ActiveRuleNormalizer extends BaseNormalizer<ActiveRuleDto, ActiveRu
public static final IndexField RULE_KEY = add(IndexField.Type.STRING, "ruleKey");
public static final IndexField PARAMS = addEmbedded("params", ActiveRuleParamField.ALL_FIELDS);
+ public static final IndexField CREATED_AT = addSortable(IndexField.Type.DATE, "createdAt");
+ public static final IndexField UPDATED_AT = addSortable(IndexField.Type.DATE, UPDATED_AT_FIELD);
+
public static Set<IndexField> ALL_FIELDS = getAllFields();
private static Set<IndexField> getAllFields() {
@@ -123,6 +131,10 @@ public class ActiveRuleNormalizer extends BaseNormalizer<ActiveRuleDto, ActiveRu
activeRuleDto.getInheritance() :
ActiveRule.Inheritance.NONE.name());
newRule.put(ActiveRuleField.SEVERITY.field(), activeRuleDto.getSeverityString());
+ newRule.put(ActiveRuleField.KEY.field(), key.toString());
+
+ newRule.put(ActiveRuleField.CREATED_AT.field(), activeRuleDto.getCreatedAt());
+ newRule.put(ActiveRuleField.UPDATED_AT.field(), activeRuleDto.getUpdatedAt());
DbSession session = db.openSession(false);
try {