import com.google.common.collect.HashBiMap;
import com.google.common.collect.Maps;
import org.apache.commons.lang.StringUtils;
+import org.hibernate.Hibernate;
import org.sonar.api.database.DatabaseSession;
import org.sonar.api.rule.RuleKey;
import org.sonar.api.rules.Rule;
import javax.annotation.CheckForNull;
import javax.persistence.Query;
+
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
rulesByKey.put(repositoryKey, repository);
for (Rule rule : findAll(RuleQuery.create().withRepositoryKey(repositoryKey))) {
+ hibernateHack(rule);
repository.put(rule.getKey(), rule);
rulesById.put(rule.getId(), rule);
}
return repository;
}
+ private void hibernateHack(Rule rule) {
+ Hibernate.initialize(rule.getParams());
+ }
+
protected final Rule doFindById(int ruleId) {
DatabaseSession session = sessionFactory.getSession();
return session.getSingleResult(
null);
}
-
@Override
@CheckForNull
public Rule findByKey(RuleKey key) {