aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@gmail.com>2013-07-15 18:06:20 +0200
committerSimon Brandhof <simon.brandhof@gmail.com>2013-07-15 18:13:35 +0200
commit5b745f6619eb0dea2380e4428e135dbb1c2124d5 (patch)
tree4c5d1ae76819999c71453306107be758fec6050b
parent02459fcf2a9c7bf30ca8e3f14b79738d30248caf (diff)
downloadsonarqube-5b745f6619eb0dea2380e4428e135dbb1c2124d5.tar.gz
sonarqube-5b745f6619eb0dea2380e4428e135dbb1c2124d5.zip
SONAR-2860 API: remove the dependency on commons-configuration
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/ResourceDatabaseConfiguration.java83
-rw-r--r--sonar-core/src/main/java/org/sonar/api/database/configuration/DatabaseConfiguration.java73
-rw-r--r--sonar-core/src/main/java/org/sonar/core/config/ConfigurationUtils.java11
-rw-r--r--sonar-core/src/test/java/org/sonar/api/database/configuration/DatabaseConfigurationTest.java40
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/DefaultFormulaContext.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/measures/FormulaContext.java4
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/rules/RuleUtils.java2
7 files changed, 10 insertions, 207 deletions
diff --git a/sonar-batch/src/main/java/org/sonar/batch/ResourceDatabaseConfiguration.java b/sonar-batch/src/main/java/org/sonar/batch/ResourceDatabaseConfiguration.java
deleted file mode 100644
index cbb39798eb6..00000000000
--- a/sonar-batch/src/main/java/org/sonar/batch/ResourceDatabaseConfiguration.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2013 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * SonarQube is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-package org.sonar.batch;
-
-import org.apache.commons.configuration.BaseConfiguration;
-
-import org.sonar.api.database.DatabaseSession;
-import org.sonar.api.database.configuration.Property;
-import org.sonar.api.database.model.ResourceModel;
-
-import java.util.List;
-
-public class ResourceDatabaseConfiguration extends BaseConfiguration {
- private final DatabaseSession session;
- private Integer resourceId = null;
-
- public ResourceDatabaseConfiguration(DatabaseSession session, ResourceModel resource) {
- this.session = session;
- if (resource != null) {
- this.resourceId = resource.getId();
- }
- load();
- }
-
- public ResourceDatabaseConfiguration(DatabaseSession session, Integer resourceId) {
- this.session = session;
- this.resourceId = resourceId;
- load();
- }
-
- public ResourceDatabaseConfiguration(DatabaseSession session, String resourceKey) {
- this.session = session;
-
- ResourceModel resource = session.getSingleResult(ResourceModel.class, "key", resourceKey);
- if (resource != null) {
- this.resourceId = resource.getId();
- }
- load();
- }
-
- public void load() {
- clear();
-
- loadResourceProperties();
- }
-
- private void loadResourceProperties() {
- if (resourceId != null) {
- List<Property> properties = session
- .createQuery("from " + Property.class.getSimpleName() + " p where p.resourceId=:resourceId")
- .setParameter("resourceId", resourceId)
- .getResultList();
-
- registerProperties(properties);
- }
- }
-
- private void registerProperties(List<Property> properties) {
- if (properties != null) {
- for (Property property : properties) {
- setProperty(property.getKey(), property.getValue());
- }
- }
- }
-
-}
diff --git a/sonar-core/src/main/java/org/sonar/api/database/configuration/DatabaseConfiguration.java b/sonar-core/src/main/java/org/sonar/api/database/configuration/DatabaseConfiguration.java
deleted file mode 100644
index c281654ca37..00000000000
--- a/sonar-core/src/main/java/org/sonar/api/database/configuration/DatabaseConfiguration.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2013 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * SonarQube is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-package org.sonar.api.database.configuration;
-
-import org.apache.commons.configuration.BaseConfiguration;
-import org.sonar.api.database.DatabaseSession;
-import org.sonar.jpa.session.DatabaseSessionFactory;
-
-import java.util.List;
-
-/**
- * IMPORTANT : This class can't be moved to org.sonar.jpa.dao for backward-compatibility reasons.
- * This class is still used in some plugins.
- *
- * @since 1.10
- */
-public class DatabaseConfiguration extends BaseConfiguration {
- private DatabaseSessionFactory sessionFactory;
- private DatabaseSession session;
-
- public DatabaseConfiguration(DatabaseSessionFactory sessionFactory) {
- this.sessionFactory = sessionFactory;
- load();
- }
-
- public DatabaseConfiguration(DatabaseSession session) {
- this.session = session;
- load();
- }
-
- public final void load() {
- clear();
-
- // Ugly workaround before the move to myBatis
- // Session is not up-to-date when Ruby on Rails inserts new rows in its own transaction. Seems like
- // Hibernate keeps a cache...
- getSession().commit();
-
- List<Property> properties = getSession()
- .createQuery("from " + Property.class.getSimpleName() + " p where p.resourceId is null and p.userId is null")
- .getResultList();
-
- if (properties != null) {
- for (Property property : properties) {
- setProperty(property.getKey(), property.getValue());
- }
- }
- }
-
- private DatabaseSession getSession() {
- if (session != null) {
- return session;
- }
- return sessionFactory.getSession();
- }
-} \ No newline at end of file
diff --git a/sonar-core/src/main/java/org/sonar/core/config/ConfigurationUtils.java b/sonar-core/src/main/java/org/sonar/core/config/ConfigurationUtils.java
index 3086aad7bd9..0d6067199e8 100644
--- a/sonar-core/src/main/java/org/sonar/core/config/ConfigurationUtils.java
+++ b/sonar-core/src/main/java/org/sonar/core/config/ConfigurationUtils.java
@@ -19,13 +19,11 @@
*/
package org.sonar.core.config;
-import org.apache.commons.configuration.Configuration;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.text.StrSubstitutor;
import javax.annotation.WillClose;
-
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
@@ -83,13 +81,4 @@ public final class ConfigurationUtils {
}
return result;
}
-
- public static void copyToCommonsConfiguration(Map<String, String> input, Configuration commonsConfig) {
- // update deprecated configuration
- commonsConfig.clear();
- for (Map.Entry<String, String> entry : input.entrySet()) {
- String key = entry.getKey();
- commonsConfig.setProperty(key, entry.getValue());
- }
- }
}
diff --git a/sonar-core/src/test/java/org/sonar/api/database/configuration/DatabaseConfigurationTest.java b/sonar-core/src/test/java/org/sonar/api/database/configuration/DatabaseConfigurationTest.java
deleted file mode 100644
index 6edd7162a54..00000000000
--- a/sonar-core/src/test/java/org/sonar/api/database/configuration/DatabaseConfigurationTest.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2013 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * SonarQube is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-package org.sonar.api.database.configuration;
-
-import org.junit.Test;
-import org.sonar.jpa.test.AbstractDbUnitTestCase;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-
-public class DatabaseConfigurationTest extends AbstractDbUnitTestCase {
-
- @Test
- public void shouldLoadPropertiesFromDatabase() {
- setupData("some-properties");
-
- DatabaseConfiguration configuration = new DatabaseConfiguration(getSessionFactory());
-
- assertEquals("value1", configuration.getString("key1"));
- assertEquals("value2", configuration.getString("key2"));
- assertNull(configuration.getString("keyxxxx"));
- }
-}
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/DefaultFormulaContext.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/DefaultFormulaContext.java
index d48391a08d7..d5d8d04e474 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/DefaultFormulaContext.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/DefaultFormulaContext.java
@@ -44,6 +44,10 @@ public class DefaultFormulaContext implements FormulaContext {
return decoratorContext.getResource();
}
+ /**
+ * @deprecated in 3.7. Use {@link org.sonar.api.config.Settings}.
+ */
+ @Deprecated
public Configuration getConfiguration() {
return decoratorContext.getProject().getConfiguration();
}
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/measures/FormulaContext.java b/sonar-plugin-api/src/main/java/org/sonar/api/measures/FormulaContext.java
index d0c4177efa0..67aa4823932 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/measures/FormulaContext.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/measures/FormulaContext.java
@@ -31,6 +31,10 @@ public interface FormulaContext {
Resource getResource();
+ /**
+ * @deprecated in 3.7. Use {@link org.sonar.api.config.Settings}.
+ */
+ @Deprecated
Configuration getConfiguration();
} \ No newline at end of file
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/rules/RuleUtils.java b/sonar-plugin-api/src/main/java/org/sonar/api/rules/RuleUtils.java
index 2d8f4c9baec..c6f2953d62d 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/rules/RuleUtils.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/rules/RuleUtils.java
@@ -27,7 +27,9 @@ import org.sonar.api.utils.KeyValueFormat;
/**
* A utility class to manipulate concepts around rules
+ * @deprecated in 3.7. Commons Configuration must be replaced by {@link org.sonar.api.config.Settings}
*/
+@Deprecated
public final class RuleUtils {
private RuleUtils() {