]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-2860 API: remove the dependency on commons-configuration
authorSimon Brandhof <simon.brandhof@gmail.com>
Mon, 15 Jul 2013 16:06:20 +0000 (18:06 +0200)
committerSimon Brandhof <simon.brandhof@gmail.com>
Mon, 15 Jul 2013 16:13:35 +0000 (18:13 +0200)
sonar-batch/src/main/java/org/sonar/batch/ResourceDatabaseConfiguration.java [deleted file]
sonar-core/src/main/java/org/sonar/api/database/configuration/DatabaseConfiguration.java [deleted file]
sonar-core/src/main/java/org/sonar/core/config/ConfigurationUtils.java
sonar-core/src/test/java/org/sonar/api/database/configuration/DatabaseConfigurationTest.java [deleted file]
sonar-plugin-api/src/main/java/org/sonar/api/batch/DefaultFormulaContext.java
sonar-plugin-api/src/main/java/org/sonar/api/measures/FormulaContext.java
sonar-plugin-api/src/main/java/org/sonar/api/rules/RuleUtils.java

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 (file)
index cbb3979..0000000
+++ /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 (file)
index c281654..0000000
+++ /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
index 3086aad7bd946e57c141f7d93e7a2ee99bb0ec1a..0d6067199e832ba6a1e558928cd0ebc52b3f7dac 100644 (file)
  */
 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 (file)
index 6edd716..0000000
+++ /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"));
-  }
-}
index d48391a08d726e0ec14d8e1be9a8f8bc87c7db69..d5d8d04e474e7f98a046f018f51cce047fef0247 100644 (file)
@@ -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();
   }
index d0c4177efa072b4ec50f7972887e4957a6e281f9..67aa4823932d4bee979254aa49d203f47a23d8d6 100644 (file)
@@ -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
index 2d8f4c9baec17f7b1438aa9874fcd369d99c49e4..c6f2953d62d2a57460dabcca1c148efa8c816873 100644 (file)
@@ -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() {