import java.util.ArrayList;
import java.util.List;
-public class PmdRule implements Comparable<String> {
+public class PmdRule {
private String ref;
public class CustomHibernateConnectionProvider extends InjectedDataSourceConnectionProvider {
- static DataSource datasource;
-
+ private static DataSource datasourceForConfig;
+
+ static void setDatasourceForConfig(DataSource ds) {
+ CustomHibernateConnectionProvider.datasourceForConfig = ds;
+ }
+
@Override
public void configure(Properties props) {
- setDataSource(datasource);
+ setDataSource(datasourceForConfig);
super.configure(props);
}
}
private void createDatasource() {
try {
- CustomHibernateConnectionProvider.datasource = database.getDataSource();
+ CustomHibernateConnectionProvider.setDatasourceForConfig(database.getDataSource());
} catch (Exception e) {
throw new SonarException("Fail to connect to database", e);
}
import com.google.common.collect.HashMultiset;
import com.google.common.collect.Multiset;
+/**
+ * Note: this class has a natural ordering that is inconsistent with equals
+ */
public final class FeedbackCycle implements Iterable<FeedbackEdge>, Comparable<FeedbackCycle> {
private List<FeedbackEdge> orderedFeedbackEdges;
}
public int compareTo(FeedbackCycle feedbackCycle) {
- if (getTotalOccurrencesOfEdgesInCycle() < feedbackCycle.getTotalOccurrencesOfEdgesInCycle()) {
+ if (getTotalOccurrencesOfEdgesInCycle() < feedbackCycle.getTotalOccurrencesOfEdgesInCycle()) {//NOSONAR this class has a natural ordering that is inconsistent with equals
return -1;
}
if (getTotalOccurrencesOfEdgesInCycle() == feedbackCycle.getTotalOccurrencesOfEdgesInCycle()) {
@Override
public boolean equals(Object obj) {
- if (!(obj.getClass().equals(RuleMeasure.class))) {
+ if (obj == null) {
+ return false;
+ }
+ if (!(obj.getClass().equals(RuleMeasure.class))) {//NOSONAR should be refactored but kept in the current state
+ // for the moment.
return false;
}
if (this == obj) {