diff options
author | Stephane Gamard <stephane.gamard@searchbox.com> | 2014-07-03 15:05:05 +0200 |
---|---|---|
committer | Stephane Gamard <stephane.gamard@searchbox.com> | 2014-07-03 16:22:48 +0200 |
commit | cbf482f5add9956ca1803fedd759460c3e45b7fa (patch) | |
tree | 64fbaea7d90d63f3a9e28f0397f5a767eda8101d /sonar-server/src | |
parent | dd5fd97c77396e9d08a7ad4d0186e80ebd67f714 (diff) | |
download | sonarqube-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')
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 { |