From 80a03bbd9e4b3d59113832ceee4c39b5e9c1bb70 Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Wed, 8 Oct 2014 10:07:12 +0200 Subject: Fix quality flaws --- .../org/sonar/server/rule/index/RuleIndex.java | 29 +++++----------------- 1 file changed, 6 insertions(+), 23 deletions(-) diff --git a/server/sonar-server/src/main/java/org/sonar/server/rule/index/RuleIndex.java b/server/sonar-server/src/main/java/org/sonar/server/rule/index/RuleIndex.java index de01f4a7485..1fa6667309d 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/rule/index/RuleIndex.java +++ b/server/sonar-server/src/main/java/org/sonar/server/rule/index/RuleIndex.java @@ -29,14 +29,7 @@ import org.elasticsearch.action.search.SearchType; import org.elasticsearch.common.settings.ImmutableSettings; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.unit.TimeValue; -import org.elasticsearch.index.query.BoolFilterBuilder; -import org.elasticsearch.index.query.BoolQueryBuilder; -import org.elasticsearch.index.query.FilterBuilder; -import org.elasticsearch.index.query.FilterBuilders; -import org.elasticsearch.index.query.MatchQueryBuilder; -import org.elasticsearch.index.query.QueryBuilder; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.index.query.SimpleQueryStringBuilder; +import org.elasticsearch.index.query.*; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.aggregations.AggregationBuilder; import org.elasticsearch.search.aggregations.AggregationBuilders; @@ -50,22 +43,12 @@ import org.sonar.api.server.debt.DebtCharacteristic; import org.sonar.core.rule.RuleDto; import org.sonar.server.qualityprofile.index.ActiveRuleNormalizer; import org.sonar.server.rule.Rule; -import org.sonar.server.search.BaseIndex; -import org.sonar.server.search.IndexDefinition; -import org.sonar.server.search.IndexField; -import org.sonar.server.search.QueryOptions; -import org.sonar.server.search.Result; -import org.sonar.server.search.SearchClient; +import org.sonar.server.search.*; import javax.annotation.CheckForNull; + import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import static com.google.common.collect.Lists.newArrayList; @@ -168,7 +151,7 @@ public class RuleIndex extends BaseIndex { } /* Build main query (search based) */ - protected QueryBuilder getQuery(RuleQuery query, QueryOptions options) { + protected QueryBuilder getQuery(RuleQuery query) { // No contextual query case String queryText = query.getQueryText(); @@ -423,7 +406,7 @@ public class RuleIndex extends BaseIndex { esSearch.setScroll(TimeValue.timeValueMinutes(3)); } - QueryBuilder qb = this.getQuery(query, options); + QueryBuilder qb = this.getQuery(query); HashMap filters = this.getFilters(query, options); if (options.isFacet()) { -- cgit v1.2.3 From 00a71853b7b223005c429e7582ee01b59f5ff50f Mon Sep 17 00:00:00 2001 From: Julien HENRY Date: Wed, 8 Oct 2014 10:32:49 +0200 Subject: Fix some quality flaws --- .../core/timemachine/VariationDecorator.java | 4 +-- .../sonar/batch/mediumtest/BatchMediumTester.java | 10 +++--- .../sonar/core/plugins/DefaultPluginMetadata.java | 4 +++ .../java/org/sonar/core/plugins/RemotePlugin.java | 4 +-- .../core/plugins/DefaultPluginMetadataTest.java | 42 +++++++++++----------- .../sonar/core/plugins/PluginClassloadersTest.java | 16 ++++----- 6 files changed, 40 insertions(+), 40 deletions(-) diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/timemachine/VariationDecorator.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/timemachine/VariationDecorator.java index 19d1dd93207..8f54748066f 100644 --- a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/timemachine/VariationDecorator.java +++ b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/timemachine/VariationDecorator.java @@ -95,10 +95,10 @@ public class VariationDecorator implements Decorator { private void computeVariation(Resource resource, DecoratorContext context, PastSnapshot pastSnapshot) { List pastMeasures = pastMeasuresLoader.getPastMeasures(resource, pastSnapshot); - compareWithPastMeasures(resource, context, pastSnapshot.getIndex(), pastMeasures); + compareWithPastMeasures(context, pastSnapshot.getIndex(), pastMeasures); } - void compareWithPastMeasures(Resource resource, DecoratorContext context, int index, List pastMeasures) { + private void compareWithPastMeasures(DecoratorContext context, int index, List pastMeasures) { Map pastMeasuresByKey = Maps.newHashMap(); for (Object[] pastMeasure : pastMeasures) { pastMeasuresByKey.put(new MeasureKey(pastMeasure), pastMeasure); diff --git a/sonar-batch/src/main/java/org/sonar/batch/mediumtest/BatchMediumTester.java b/sonar-batch/src/main/java/org/sonar/batch/mediumtest/BatchMediumTester.java index be3185f7b6d..cc0d2577e82 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/mediumtest/BatchMediumTester.java +++ b/sonar-batch/src/main/java/org/sonar/batch/mediumtest/BatchMediumTester.java @@ -89,7 +89,7 @@ public class BatchMediumTester { public static class BatchMediumTesterBuilder { private final FakeGlobalReferentialsLoader globalRefProvider = new FakeGlobalReferentialsLoader(); private final FakeProjectReferentialsLoader projectRefProvider = new FakeProjectReferentialsLoader(); - private final FackPluginsReferential pluginsReferential = new FackPluginsReferential(); + private final FakePluginsReferential pluginsReferential = new FakePluginsReferential(); private final Map bootstrapProperties = new HashMap(); public BatchMediumTester build() { @@ -378,7 +378,7 @@ public class BatchMediumTester { } } - private static class FackPluginsReferential implements PluginsReferential { + private static class FakePluginsReferential implements PluginsReferential { private List pluginList = new ArrayList(); private Map pluginFiles = new HashMap(); @@ -394,15 +394,15 @@ public class BatchMediumTester { return pluginFiles.get(remote); } - public FackPluginsReferential addPlugin(String pluginKey, File location) { + public FakePluginsReferential addPlugin(String pluginKey, File location) { RemotePlugin plugin = new RemotePlugin(pluginKey, false); pluginList.add(plugin); pluginFiles.put(plugin, location); return this; } - public FackPluginsReferential addPlugin(String pluginKey, SonarPlugin pluginInstance) { - localPlugins.put(DefaultPluginMetadata.create(null).setKey(pluginKey), pluginInstance); + public FakePluginsReferential addPlugin(String pluginKey, SonarPlugin pluginInstance) { + localPlugins.put(DefaultPluginMetadata.create(pluginKey), pluginInstance); return this; } diff --git a/sonar-core/src/main/java/org/sonar/core/plugins/DefaultPluginMetadata.java b/sonar-core/src/main/java/org/sonar/core/plugins/DefaultPluginMetadata.java index 55239eb3410..8a4a103cd5a 100644 --- a/sonar-core/src/main/java/org/sonar/core/plugins/DefaultPluginMetadata.java +++ b/sonar-core/src/main/java/org/sonar/core/plugins/DefaultPluginMetadata.java @@ -63,6 +63,10 @@ public class DefaultPluginMetadata implements PluginMetadata, Comparable 2) { String[] nameAndHash = StringUtils.split(fields[2], "|"); - result.setFile(nameAndHash[0], nameAndHash.length > 1 ? nameAndHash[1] : null); + result.setFile(nameAndHash[0], nameAndHash[1]); } return result; } @@ -72,7 +72,7 @@ public class RemotePlugin { } public RemotePlugin setFile(File f) { - return this.setFile(f.getName(), f.exists() ? new FileHashes().of(f) : null); + return this.setFile(f.getName(), new FileHashes().of(f)); } public RemotePluginFile file() { diff --git a/sonar-core/src/test/java/org/sonar/core/plugins/DefaultPluginMetadataTest.java b/sonar-core/src/test/java/org/sonar/core/plugins/DefaultPluginMetadataTest.java index f7d7dea4e59..d3f819392b5 100644 --- a/sonar-core/src/test/java/org/sonar/core/plugins/DefaultPluginMetadataTest.java +++ b/sonar-core/src/test/java/org/sonar/core/plugins/DefaultPluginMetadataTest.java @@ -36,19 +36,19 @@ public class DefaultPluginMetadataTest { public void testGettersAndSetters() { DefaultPluginMetadata metadata = DefaultPluginMetadata.create(new File("sonar-checkstyle-plugin.jar")); metadata.setKey("checkstyle") - .setParent("java") - .setLicense("LGPL") - .setDescription("description") - .setHomepage("http://home") - .setIssueTrackerUrl("http://jira.codehuas.org") - .setMainClass("org.Main") - .setOrganization("SonarSource") - .setOrganizationUrl("http://sonarsource.org") - .setVersion("1.1") - .setSonarVersion("3.0") - .setUseChildFirstClassLoader(true) - .setCore(false) - .setImplementationBuild("abcdef"); + .setParent("java") + .setLicense("LGPL") + .setDescription("description") + .setHomepage("http://home") + .setIssueTrackerUrl("http://jira.codehuas.org") + .setMainClass("org.Main") + .setOrganization("SonarSource") + .setOrganizationUrl("http://sonarsource.org") + .setVersion("1.1") + .setSonarVersion("3.0") + .setUseChildFirstClassLoader(true) + .setCore(false) + .setImplementationBuild("abcdef"); assertThat(metadata.getKey()).isEqualTo("checkstyle"); assertThat(metadata.getParent()).isEqualTo("java"); @@ -72,8 +72,8 @@ public class DefaultPluginMetadataTest { @Test public void testDeployedFiles() { DefaultPluginMetadata metadata = DefaultPluginMetadata.create(new File("sonar-checkstyle-plugin.jar")) - .addDeployedFile(new File("foo.jar")) - .addDeployedFile(new File("bar.jar")); + .addDeployedFile(new File("foo.jar")) + .addDeployedFile(new File("bar.jar")); assertThat(metadata.getDeployedFiles()).hasSize(2); } @@ -81,7 +81,7 @@ public class DefaultPluginMetadataTest { @Test public void testInternalPathToDependencies() { DefaultPluginMetadata metadata = DefaultPluginMetadata.create(new File("sonar-checkstyle-plugin.jar")) - .setPathsToInternalDeps(newArrayList("META-INF/lib/commons-lang.jar", "META-INF/lib/commons-io.jar")); + .setPathsToInternalDeps(newArrayList("META-INF/lib/commons-lang.jar", "META-INF/lib/commons-io.jar")); assertThat(metadata.getPathsToInternalDeps()).containsOnly("META-INF/lib/commons-lang.jar", "META-INF/lib/commons-io.jar"); } @@ -99,11 +99,11 @@ public class DefaultPluginMetadataTest { @Test public void shouldCompare() { DefaultPluginMetadata checkstyle = DefaultPluginMetadata.create(new File("sonar-checkstyle-plugin.jar")) - .setKey("checkstyle") - .setName("Checkstyle"); + .setKey("checkstyle") + .setName("Checkstyle"); DefaultPluginMetadata pmd = DefaultPluginMetadata.create(new File("sonar-pmd-plugin.jar")) - .setKey("pmd") - .setName("PMD"); + .setKey("pmd") + .setName("PMD"); List plugins = Arrays.asList(pmd, checkstyle); assertThat(natural().sortedCopy(plugins)).onProperty("key").containsExactly("checkstyle", "pmd"); @@ -141,6 +141,6 @@ public class DefaultPluginMetadataTest { } static DefaultPluginMetadata pluginWithVersion(String version) { - return DefaultPluginMetadata.create(null).setSonarVersion(version); + return DefaultPluginMetadata.create("foo").setSonarVersion(version); } } diff --git a/sonar-core/src/test/java/org/sonar/core/plugins/PluginClassloadersTest.java b/sonar-core/src/test/java/org/sonar/core/plugins/PluginClassloadersTest.java index 95bb9da245c..120680b1998 100644 --- a/sonar-core/src/test/java/org/sonar/core/plugins/PluginClassloadersTest.java +++ b/sonar-core/src/test/java/org/sonar/core/plugins/PluginClassloadersTest.java @@ -62,8 +62,8 @@ public class PluginClassloadersTest { @Test public void shouldImport() throws Exception { - classloaders.add(DefaultPluginMetadata.create(null).setKey("foo").addDeployedFile(getFile("PluginClassloadersTest/foo.jar"))); - classloaders.add(DefaultPluginMetadata.create(null).setKey("bar").addDeployedFile(getFile("PluginClassloadersTest/bar.jar"))); + classloaders.add(DefaultPluginMetadata.create("foo").addDeployedFile(getFile("PluginClassloadersTest/foo.jar"))); + classloaders.add(DefaultPluginMetadata.create("bar").addDeployedFile(getFile("PluginClassloadersTest/bar.jar"))); classloaders.done(); String resourceName = "org/sonar/plugins/bar/api/resource.txt"; @@ -74,8 +74,7 @@ public class PluginClassloadersTest { @Test public void shouldCreateBaseClassloader() { classloaders = new PluginClassloaders(getClass().getClassLoader()); - DefaultPluginMetadata checkstyle = DefaultPluginMetadata.create(null) - .setKey("checkstyle") + DefaultPluginMetadata checkstyle = DefaultPluginMetadata.create("checkstyle") .setMainClass("org.sonar.plugins.checkstyle.CheckstylePlugin") .addDeployedFile(getFile("sonar-checkstyle-plugin-2.8.jar")); @@ -90,13 +89,11 @@ public class PluginClassloadersTest { public void shouldExtendPlugin() { classloaders = new PluginClassloaders(getClass().getClassLoader()); - DefaultPluginMetadata checkstyle = DefaultPluginMetadata.create(null) - .setKey("checkstyle") + DefaultPluginMetadata checkstyle = DefaultPluginMetadata.create("checkstyle") .setMainClass("org.sonar.plugins.checkstyle.CheckstylePlugin") .addDeployedFile(getFile("sonar-checkstyle-plugin-2.8.jar")); - DefaultPluginMetadata checkstyleExt = DefaultPluginMetadata.create(null) - .setKey("checkstyle-ext") + DefaultPluginMetadata checkstyleExt = DefaultPluginMetadata.create("checkstyle-ext") .setBasePlugin("checkstyle") .setMainClass("com.mycompany.sonar.checkstyle.CheckstyleExtensionsPlugin") .addDeployedFile(getFile("sonar-checkstyle-extensions-plugin-0.1-SNAPSHOT.jar")); @@ -119,8 +116,7 @@ public class PluginClassloadersTest { classloaders = new PluginClassloaders(getClass().getClassLoader(), world); - DefaultPluginMetadata checkstyle = DefaultPluginMetadata.create(null) - .setKey("checkstyle") + DefaultPluginMetadata checkstyle = DefaultPluginMetadata.create("checkstyle") .setMainClass("org.sonar.plugins.checkstyle.CheckstylePlugin") .addDeployedFile(getFile("sonar-checkstyle-plugin-2.8.jar")); -- cgit v1.2.3 From 35465a06d37695910963859c96d00e1b27f8a01b Mon Sep 17 00:00:00 2001 From: Stas Vilchik Date: Wed, 8 Oct 2014 11:10:38 +0200 Subject: SONAR-5693 Issues on source code disappear while adding the code coverage --- server/sonar-web/src/main/coffee/component-viewer/main.coffee | 2 +- server/sonar-web/src/main/js/issues/app.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/server/sonar-web/src/main/coffee/component-viewer/main.coffee b/server/sonar-web/src/main/coffee/component-viewer/main.coffee index 15e2a13d138..e6da45caa2f 100644 --- a/server/sonar-web/src/main/coffee/component-viewer/main.coffee +++ b/server/sonar-web/src/main/coffee/component-viewer/main.coffee @@ -131,7 +131,7 @@ define [ width = @elementToFit.width() height = @elementToFit.height() - availableWidth = width - workspace.outerWidth(true) + availableWidth = width - workspace.outerWidth(true) - 20 availableHeight = height - @$(@headerRegion.$el).outerHeight(true) source.removeClass 'overflow' diff --git a/server/sonar-web/src/main/js/issues/app.js b/server/sonar-web/src/main/js/issues/app.js index 43411efffb2..861636f8089 100644 --- a/server/sonar-web/src/main/js/issues/app.js +++ b/server/sonar-web/src/main/js/issues/app.js @@ -371,7 +371,7 @@ requirejs( var detailsEl = jQuery('.navigator-details'), detailsWidth = jQuery(window).width() - detailsEl.offset().left - - parseInt(detailsEl.css('margin-right'), 10), + parseInt(detailsEl.css('margin-right'), 10) - 20, detailsHeight = jQuery(window).height() - detailsEl.offset().top - parseInt(detailsEl.css('margin-bottom'), 10) - footerHeight; detailsEl.width(detailsWidth).height(detailsHeight); -- cgit v1.2.3 From b0c0624706cdaf22a6d4c966ad69693e13430e74 Mon Sep 17 00:00:00 2001 From: Julien HENRY Date: Wed, 8 Oct 2014 11:35:55 +0200 Subject: Fix some quality flaws --- .../sonar/batch/scan/filesystem/InputFileBuilderFactory.java | 11 +---------- .../org/sonar/batch/scan2/DefaultFileLinesContextFactory.java | 3 +-- .../main/java/org/sonar/batch/scan2/ModuleScanContainer.java | 2 +- .../main/java/org/sonar/batch/scan2/ModuleScanExecutor.java | 3 +-- .../batch/scan/filesystem/InputFileBuilderFactoryTest.java | 5 +---- 5 files changed, 5 insertions(+), 19 deletions(-) diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/InputFileBuilderFactory.java b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/InputFileBuilderFactory.java index 772f773cb5f..59f1e667edd 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/InputFileBuilderFactory.java +++ b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/InputFileBuilderFactory.java @@ -21,7 +21,6 @@ package org.sonar.batch.scan.filesystem; import org.sonar.api.BatchComponent; import org.sonar.api.batch.bootstrap.ProjectDefinition; -import org.sonar.api.resources.Project; import org.sonar.api.scan.filesystem.PathResolver; import org.sonar.batch.bootstrap.AnalysisMode; @@ -33,17 +32,9 @@ public class InputFileBuilderFactory implements BatchComponent { private final StatusDetectionFactory statusDetectionFactory; private final AnalysisMode analysisMode; - public InputFileBuilderFactory(Project module, ProjectDefinition def, PathResolver pathResolver, LanguageDetectionFactory langDetectionFactory, - StatusDetectionFactory statusDetectionFactory, AnalysisMode analysisMode) { - this(module.getEffectiveKey(), pathResolver, langDetectionFactory, statusDetectionFactory, analysisMode); - } - - /** - * Used by scan2 - */ public InputFileBuilderFactory(ProjectDefinition def, PathResolver pathResolver, LanguageDetectionFactory langDetectionFactory, StatusDetectionFactory statusDetectionFactory, AnalysisMode analysisMode) { - this(def.getKey(), pathResolver, langDetectionFactory, statusDetectionFactory, analysisMode); + this(def.getKeyWithBranch(), pathResolver, langDetectionFactory, statusDetectionFactory, analysisMode); } private InputFileBuilderFactory(String effectiveKey, PathResolver pathResolver, LanguageDetectionFactory langDetectionFactory, diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan2/DefaultFileLinesContextFactory.java b/sonar-batch/src/main/java/org/sonar/batch/scan2/DefaultFileLinesContextFactory.java index 603cf47bb3f..8805ac83d89 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/scan2/DefaultFileLinesContextFactory.java +++ b/sonar-batch/src/main/java/org/sonar/batch/scan2/DefaultFileLinesContextFactory.java @@ -20,7 +20,6 @@ package org.sonar.batch.scan2; import org.sonar.api.batch.bootstrap.ProjectDefinition; -import org.sonar.api.batch.fs.FileSystem; import org.sonar.api.batch.fs.InputFile; import org.sonar.api.batch.measure.MetricFinder; import org.sonar.api.measures.FileLinesContext; @@ -35,7 +34,7 @@ public class DefaultFileLinesContextFactory implements FileLinesContextFactory { private final ProjectDefinition def; private InputPathCache fileCache; - public DefaultFileLinesContextFactory(InputPathCache fileCache, FileSystem fs, MetricFinder metricFinder, AnalyzerMeasureCache measureCache, + public DefaultFileLinesContextFactory(InputPathCache fileCache, MetricFinder metricFinder, AnalyzerMeasureCache measureCache, ProjectDefinition def) { this.fileCache = fileCache; this.metricFinder = metricFinder; diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan2/ModuleScanContainer.java b/sonar-batch/src/main/java/org/sonar/batch/scan2/ModuleScanContainer.java index 67e2a37908d..41a2cda0390 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/scan2/ModuleScanContainer.java +++ b/sonar-batch/src/main/java/org/sonar/batch/scan2/ModuleScanContainer.java @@ -139,7 +139,7 @@ public class ModuleScanContainer extends ComponentContainer { @Override protected void doAfterStart() { - getComponentByType(ModuleScanExecutor.class).execute(moduleDefinition); + getComponentByType(ModuleScanExecutor.class).execute(); } } diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan2/ModuleScanExecutor.java b/sonar-batch/src/main/java/org/sonar/batch/scan2/ModuleScanExecutor.java index 8611bd3b26a..088125818df 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/scan2/ModuleScanExecutor.java +++ b/sonar-batch/src/main/java/org/sonar/batch/scan2/ModuleScanExecutor.java @@ -20,7 +20,6 @@ package org.sonar.batch.scan2; import com.google.common.collect.Lists; -import org.sonar.api.batch.bootstrap.ProjectDefinition; import org.sonar.api.batch.sensor.SensorContext; import org.sonar.batch.issue.ignore.scanner.IssueExclusionsLoader; import org.sonar.batch.rule.QProfileVerifier; @@ -60,7 +59,7 @@ public final class ModuleScanExecutor { /** * Executed on each module */ - public void execute(ProjectDefinition moduleDefinition) { + public void execute() { fsLogger.log(); // Index and lock the filesystem diff --git a/sonar-batch/src/test/java/org/sonar/batch/scan/filesystem/InputFileBuilderFactoryTest.java b/sonar-batch/src/test/java/org/sonar/batch/scan/filesystem/InputFileBuilderFactoryTest.java index e38081b62be..bb78a170c84 100644 --- a/sonar-batch/src/test/java/org/sonar/batch/scan/filesystem/InputFileBuilderFactoryTest.java +++ b/sonar-batch/src/test/java/org/sonar/batch/scan/filesystem/InputFileBuilderFactoryTest.java @@ -22,7 +22,6 @@ package org.sonar.batch.scan.filesystem; import org.junit.Test; import org.mockito.Mockito; import org.sonar.api.batch.bootstrap.ProjectDefinition; -import org.sonar.api.resources.Project; import org.sonar.api.scan.filesystem.PathResolver; import org.sonar.batch.bootstrap.AnalysisMode; @@ -33,14 +32,12 @@ public class InputFileBuilderFactoryTest { @Test public void create_builder() throws Exception { PathResolver pathResolver = new PathResolver(); - Project project = new Project("struts"); LanguageDetectionFactory langDetectionFactory = mock(LanguageDetectionFactory.class, Mockito.RETURNS_MOCKS); StatusDetectionFactory statusDetectionFactory = mock(StatusDetectionFactory.class, Mockito.RETURNS_MOCKS); DefaultModuleFileSystem fs = mock(DefaultModuleFileSystem.class); AnalysisMode analysisMode = mock(AnalysisMode.class); - InputFileBuilderFactory factory = new InputFileBuilderFactory( - project, ProjectDefinition.create(), pathResolver, langDetectionFactory, + InputFileBuilderFactory factory = new InputFileBuilderFactory(ProjectDefinition.create().setKey("struts"), pathResolver, langDetectionFactory, statusDetectionFactory, analysisMode); InputFileBuilder builder = factory.create(fs); -- cgit v1.2.3 From d80d2affad5cfef2c65b0f0af41c889d51907d6b Mon Sep 17 00:00:00 2001 From: Julien HENRY Date: Wed, 8 Oct 2014 12:18:37 +0200 Subject: Fix UT --- .../java/org/sonar/server/startup/GeneratePluginIndexTest.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/server/sonar-server/src/test/java/org/sonar/server/startup/GeneratePluginIndexTest.java b/server/sonar-server/src/test/java/org/sonar/server/startup/GeneratePluginIndexTest.java index 0fbabca058e..cc96395bc62 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/startup/GeneratePluginIndexTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/startup/GeneratePluginIndexTest.java @@ -22,7 +22,9 @@ package org.sonar.server.startup; import org.apache.commons.io.FileUtils; import org.hamcrest.core.Is; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.TemporaryFolder; import org.sonar.api.platform.PluginMetadata; import org.sonar.api.platform.PluginRepository; import org.sonar.core.plugins.DefaultPluginMetadata; @@ -40,6 +42,9 @@ import static org.mockito.Mockito.when; public class GeneratePluginIndexTest { + @Rule + public TemporaryFolder temp = new TemporaryFolder(); + private DefaultServerFileSystem fileSystem; private File index; @@ -65,10 +70,11 @@ public class GeneratePluginIndexTest { assertThat(lines.get(1), containsString("checkstyle")); } - private PluginMetadata newMetadata(String pluginKey) { + private PluginMetadata newMetadata(String pluginKey) throws IOException { PluginMetadata plugin = mock(DefaultPluginMetadata.class); when(plugin.getKey()).thenReturn(pluginKey); - when(plugin.getFile()).thenReturn(new File(pluginKey + ".jar")); + File pluginFile = temp.newFile(pluginKey + ".jar"); + when(plugin.getFile()).thenReturn(pluginFile); return plugin; } } -- cgit v1.2.3 From aeadcb7725ccde1f6557cbcd4e2af5ffd73b92fa Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Lievremont Date: Wed, 8 Oct 2014 12:19:41 +0200 Subject: SONAR-5703 Hide context on inactive rule when user cannot activate it on context profile --- .../src/main/coffee/coding-rules/views/coding-rules-detail-view.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/sonar-web/src/main/coffee/coding-rules/views/coding-rules-detail-view.coffee b/server/sonar-web/src/main/coffee/coding-rules/views/coding-rules-detail-view.coffee index 67776649b39..16ba0bb7925 100644 --- a/server/sonar-web/src/main/coffee/coding-rules/views/coding-rules-detail-view.coffee +++ b/server/sonar-web/src/main/coffee/coding-rules/views/coding-rules-detail-view.coffee @@ -152,7 +152,7 @@ define [ @$(@qualityProfilesRegion.el).show() @qualityProfilesRegion.show @qualityProfilesView - if @options.app.getQualityProfile() + if @options.app.getQualityProfile() and (@options.app.canWrite or @contextProfile.has('severity')) @$(@contextRegion.el).show() @contextRegion.show @contextQualityProfileView else -- cgit v1.2.3 From 3a0353c574d600c398df2a47692144f8fb0e2a0c Mon Sep 17 00:00:00 2001 From: Stephane Gamard Date: Wed, 8 Oct 2014 11:49:37 +0200 Subject: fix quality flaw --- .../src/main/java/org/sonar/server/rule/index/RuleIndex.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/server/sonar-server/src/main/java/org/sonar/server/rule/index/RuleIndex.java b/server/sonar-server/src/main/java/org/sonar/server/rule/index/RuleIndex.java index 1fa6667309d..2a393da1818 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/rule/index/RuleIndex.java +++ b/server/sonar-server/src/main/java/org/sonar/server/rule/index/RuleIndex.java @@ -330,7 +330,7 @@ public class RuleIndex extends BaseIndex { BoolFilterBuilder langFacetFilter = FilterBuilders.boolFilter().must(FilterBuilders.queryFilter(query)); for (Map.Entry filter : filters.entrySet()) { - if (filter.getKey() != RuleNormalizer.RuleField.LANGUAGE.field()) { + if (!StringUtils.equals(filter.getKey(), RuleNormalizer.RuleField.LANGUAGE.field())) { langFacetFilter.must(filter.getValue()); } } @@ -351,7 +351,7 @@ public class RuleIndex extends BaseIndex { BoolFilterBuilder tagsFacetFilter = FilterBuilders.boolFilter().must(FilterBuilders.queryFilter(query)); for (Map.Entry filter : filters.entrySet()) { - if (filter.getKey() != RuleNormalizer.RuleField._TAGS.field()) { + if (!StringUtils.equals(filter.getKey(), RuleNormalizer.RuleField._TAGS.field())) { tagsFacetFilter.must(filter.getValue()); } } @@ -372,7 +372,7 @@ public class RuleIndex extends BaseIndex { BoolFilterBuilder repositoriesFacetFilter = FilterBuilders.boolFilter().must(FilterBuilders.queryFilter(query)); for (Map.Entry filter : filters.entrySet()) { - if (filter.getKey() != RuleNormalizer.RuleField.REPOSITORY.field()) { + if (!StringUtils.equals(filter.getKey(), RuleNormalizer.RuleField.REPOSITORY.field())) { repositoriesFacetFilter.must(filter.getValue()); } } -- cgit v1.2.3 From d0ff15f62677b41d72e2c0ad63d799ce6778ad01 Mon Sep 17 00:00:00 2001 From: Stephane Gamard Date: Wed, 8 Oct 2014 12:17:35 +0200 Subject: Fixed SearchClient error output to show request --- .../src/main/java/org/sonar/server/search/SearchClient.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/sonar-server/src/main/java/org/sonar/server/search/SearchClient.java b/server/sonar-server/src/main/java/org/sonar/server/search/SearchClient.java index 3db7c216dde..6f3aa129c6b 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/search/SearchClient.java +++ b/server/sonar-server/src/main/java/org/sonar/server/search/SearchClient.java @@ -100,7 +100,7 @@ public class SearchClient extends TransportClient implements Startable { } return response; } catch (Exception e) { - LOGGER.error("could not execute request: " + response, e); + LOGGER.error("could not execute request: " + request, e); throw new IllegalStateException("ES error: ", e); } } -- cgit v1.2.3 From 118382fbab8c1c829a22a013ee16ac13d4286655 Mon Sep 17 00:00:00 2001 From: Stephane Gamard Date: Wed, 8 Oct 2014 12:18:12 +0200 Subject: Fixed SearchClient error output to show request --- .../src/main/java/org/sonar/server/search/SearchClient.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/sonar-server/src/main/java/org/sonar/server/search/SearchClient.java b/server/sonar-server/src/main/java/org/sonar/server/search/SearchClient.java index 6f3aa129c6b..77a3a09fe6e 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/search/SearchClient.java +++ b/server/sonar-server/src/main/java/org/sonar/server/search/SearchClient.java @@ -100,7 +100,7 @@ public class SearchClient extends TransportClient implements Startable { } return response; } catch (Exception e) { - LOGGER.error("could not execute request: " + request, e); + LOGGER.error("could not execute request: {}", request); throw new IllegalStateException("ES error: ", e); } } -- cgit v1.2.3 From 286f8d1b1942d293a8411944479e14dd54f920d5 Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Tue, 7 Oct 2014 14:59:30 +0200 Subject: Fix quality flaw --- sonar-batch/src/main/java/org/sonar/batch/index/DefaultIndex.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sonar-batch/src/main/java/org/sonar/batch/index/DefaultIndex.java b/sonar-batch/src/main/java/org/sonar/batch/index/DefaultIndex.java index 088a0fbda43..c0c5d2c9215 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/index/DefaultIndex.java +++ b/sonar-batch/src/main/java/org/sonar/batch/index/DefaultIndex.java @@ -494,10 +494,6 @@ public class DefaultIndex extends SonarIndex { @Override public List getChildren(Resource resource) { - return getChildren(resource, false); - } - - public List getChildren(Resource resource, boolean acceptExcluded) { List children = Lists.newLinkedList(); Bucket bucket = getBucket(resource); if (bucket != null) { -- cgit v1.2.3 From 80824622efd18b59a8dfac18548565d3f5b07691 Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Wed, 8 Oct 2014 11:42:51 +0200 Subject: Rename tool scripts --- debug-server.sh | 10 ++++++++++ debug.sh | 10 ---------- jacoco-build.sh | 3 +++ jacoco_build.sh | 3 --- 4 files changed, 13 insertions(+), 13 deletions(-) create mode 100755 debug-server.sh delete mode 100755 debug.sh create mode 100644 jacoco-build.sh delete mode 100644 jacoco_build.sh diff --git a/debug-server.sh b/debug-server.sh new file mode 100755 index 00000000000..5dadb3becab --- /dev/null +++ b/debug-server.sh @@ -0,0 +1,10 @@ +#!/bin/sh + + +cd sonar-application/target/ +if ! ls sonarqube-*/bin/sonar-application*.jar &> /dev/null; then + unzip sonarqube-*.zip +fi + +cd sonarqube-* +java -jar ./lib/sonar-application*.jar -Dsonar.web.javaOpts=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \ No newline at end of file diff --git a/debug.sh b/debug.sh deleted file mode 100755 index 5dadb3becab..00000000000 --- a/debug.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - - -cd sonar-application/target/ -if ! ls sonarqube-*/bin/sonar-application*.jar &> /dev/null; then - unzip sonarqube-*.zip -fi - -cd sonarqube-* -java -jar ./lib/sonar-application*.jar -Dsonar.web.javaOpts=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \ No newline at end of file diff --git a/jacoco-build.sh b/jacoco-build.sh new file mode 100644 index 00000000000..11ceb34f316 --- /dev/null +++ b/jacoco-build.sh @@ -0,0 +1,3 @@ +#!/bin/sh +export MAVEN_OPTS='-Xmx256m' +mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent install -B -e -V -Pcoverage-per-test -Dmaven.test.failure.ignore=true diff --git a/jacoco_build.sh b/jacoco_build.sh deleted file mode 100644 index 11ceb34f316..00000000000 --- a/jacoco_build.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -export MAVEN_OPTS='-Xmx256m' -mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent install -B -e -V -Pcoverage-per-test -Dmaven.test.failure.ignore=true -- cgit v1.2.3 From 31a65f34968937d01a7e6c64a117409f150b5c0f Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Wed, 8 Oct 2014 11:52:59 +0200 Subject: Fix quality flaws --- .../sonar/server/activity/ws/ActivityMapping.java | 4 +-- .../batch/index/ResourceNotIndexedException.java | 33 ---------------------- 2 files changed, 1 insertion(+), 36 deletions(-) delete mode 100644 sonar-batch/src/main/java/org/sonar/batch/index/ResourceNotIndexedException.java diff --git a/server/sonar-server/src/main/java/org/sonar/server/activity/ws/ActivityMapping.java b/server/sonar-server/src/main/java/org/sonar/server/activity/ws/ActivityMapping.java index e2910b6c4ea..668b072dad9 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/activity/ws/ActivityMapping.java +++ b/server/sonar-server/src/main/java/org/sonar/server/activity/ws/ActivityMapping.java @@ -19,14 +19,12 @@ */ package org.sonar.server.activity.ws; -import org.sonar.api.resources.Languages; import org.sonar.api.utils.text.JsonWriter; import org.sonar.core.activity.Activity; import org.sonar.server.activity.index.ActivityDoc; import org.sonar.server.activity.index.ActivityNormalizer; import org.sonar.server.search.ws.BaseMapping; import org.sonar.server.search.ws.SearchOptions; -import org.sonar.server.text.MacroInterpreter; import java.util.Map; @@ -35,7 +33,7 @@ import java.util.Map; */ public class ActivityMapping extends BaseMapping { - public ActivityMapping(Languages languages, MacroInterpreter macroInterpreter) { + public ActivityMapping() { map("type", ActivityNormalizer.LogFields.TYPE.field()); map("action", ActivityNormalizer.LogFields.ACTION.field()); mapDateTime("createdAt", ActivityNormalizer.LogFields.CREATED_AT.field()); diff --git a/sonar-batch/src/main/java/org/sonar/batch/index/ResourceNotIndexedException.java b/sonar-batch/src/main/java/org/sonar/batch/index/ResourceNotIndexedException.java deleted file mode 100644 index 16b5ee32a90..00000000000 --- a/sonar-batch/src/main/java/org/sonar/batch/index/ResourceNotIndexedException.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * SonarQube, open source software quality management tool. - * Copyright (C) 2008-2014 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.index; - -import org.sonar.api.resources.Resource; -import org.sonar.api.utils.SonarException; - -/** - * @since 2.6 - */ -public class ResourceNotIndexedException extends SonarException { - - public ResourceNotIndexedException(final Resource reference) { - super(reference.toString()); - } -} -- cgit v1.2.3 From 4de2100bd331a130b6b790c51dc6226f0c65127a Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Wed, 8 Oct 2014 12:29:44 +0200 Subject: SONAR-5709 Add properties sonar.search.javaAdditionalOpts and sonar.web.javaAdditionalOpts --- debug-server.sh | 2 +- .../src/main/java/org/sonar/process/monitor/JavaCommand.java | 10 ++++++++-- .../test/java/org/sonar/process/monitor/JavaCommandTest.java | 7 ++++++- sonar-application/src/main/assembly/conf/sonar.properties | 6 ++++++ sonar-application/src/main/java/org/sonar/application/App.java | 4 +++- .../src/main/java/org/sonar/application/DefaultSettings.java | 4 ++++ 6 files changed, 28 insertions(+), 5 deletions(-) diff --git a/debug-server.sh b/debug-server.sh index 5dadb3becab..1d1549d9c4d 100755 --- a/debug-server.sh +++ b/debug-server.sh @@ -7,4 +7,4 @@ if ! ls sonarqube-*/bin/sonar-application*.jar &> /dev/null; then fi cd sonarqube-* -java -jar ./lib/sonar-application*.jar -Dsonar.web.javaOpts=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 \ No newline at end of file +java -jar ./lib/sonar-application*.jar -Dsonar.web.javaAdditionalOpts=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 diff --git a/server/sonar-process-monitor/src/main/java/org/sonar/process/monitor/JavaCommand.java b/server/sonar-process-monitor/src/main/java/org/sonar/process/monitor/JavaCommand.java index 7750b6deb35..76abf52deba 100644 --- a/server/sonar-process-monitor/src/main/java/org/sonar/process/monitor/JavaCommand.java +++ b/server/sonar-process-monitor/src/main/java/org/sonar/process/monitor/JavaCommand.java @@ -19,6 +19,8 @@ */ package org.sonar.process.monitor; +import org.apache.commons.lang.StringUtils; + import javax.annotation.Nullable; import java.io.File; @@ -84,12 +86,16 @@ public class JavaCommand { } public JavaCommand addJavaOption(String s) { - javaOptions.add(s); + if (StringUtils.isNotBlank(s)) { + javaOptions.add(s); + } return this; } public JavaCommand addJavaOptions(String s) { - Collections.addAll(javaOptions, s.split(" ")); + for (String opt : s.split(" ")) { + addJavaOption(opt); + } return this; } diff --git a/server/sonar-process-monitor/src/test/java/org/sonar/process/monitor/JavaCommandTest.java b/server/sonar-process-monitor/src/test/java/org/sonar/process/monitor/JavaCommandTest.java index fbfbad11b54..689f061ff06 100644 --- a/server/sonar-process-monitor/src/test/java/org/sonar/process/monitor/JavaCommandTest.java +++ b/server/sonar-process-monitor/src/test/java/org/sonar/process/monitor/JavaCommandTest.java @@ -65,8 +65,13 @@ public class JavaCommandTest { } @Test - public void split_java_options() throws Exception { + public void add_java_options() throws Exception { JavaCommand command = new JavaCommand("foo"); + assertThat(command.getJavaOptions()).isEmpty(); + + command.addJavaOptions(""); + assertThat(command.getJavaOptions()).isEmpty(); + command.addJavaOptions("-Xmx512m -Xms256m -Dfoo"); assertThat(command.getJavaOptions()).containsOnly("-Xmx512m", "-Xms256m", "-Dfoo"); } diff --git a/sonar-application/src/main/assembly/conf/sonar.properties b/sonar-application/src/main/assembly/conf/sonar.properties index f14700b3592..ff26347346f 100644 --- a/sonar-application/src/main/assembly/conf/sonar.properties +++ b/sonar-application/src/main/assembly/conf/sonar.properties @@ -69,6 +69,9 @@ sonar.jdbc.timeBetweenEvictionRunsMillis=30000 #sonar.web.javaOpts=-Xmx768m -XX:MaxPermSize=160m -XX:+HeapDumpOnOutOfMemoryError \ # -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djruby.management.enabled=false +# Same as previous property, but allows to not repeat all settings like -Djava.awt.headless=true +#sonar.web.javaAdditionalOpts= + # Binding IP address. For servers with more than one IP address, this property specifies which # address will be used for listening on the specified ports. # By default, ports will be used on all IP addresses associated with the server. @@ -173,6 +176,9 @@ sonar.jdbc.timeBetweenEvictionRunsMillis=30000 # -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError \ # -Djava.awt.headless=true +# Same as previous property, but allows to not repeat all settings like -Djava.awt.headless=true +#sonar.search.javaAdditionalOpts= + # Elasticsearch port. Default is 9001. Use 0 to get a free port. # This port must be private and must not be exposed to the Internet. #sonar.search.port=9001 diff --git a/sonar-application/src/main/java/org/sonar/application/App.java b/sonar-application/src/main/java/org/sonar/application/App.java index 502cf561394..ff8016fabc8 100644 --- a/sonar-application/src/main/java/org/sonar/application/App.java +++ b/sonar-application/src/main/java/org/sonar/application/App.java @@ -70,7 +70,8 @@ public class App implements Stoppable { JavaCommand elasticsearch = new JavaCommand("search"); elasticsearch .setWorkDir(homeDir) - .addJavaOptions(props.value(DefaultSettings.SEARCH_JAVA_OPTS)) + .addJavaOptions(props.nonNullValue(DefaultSettings.SEARCH_JAVA_OPTS)) + .addJavaOptions(props.nonNullValue(DefaultSettings.SEARCH_JAVA_ADDITIONAL_OPTS)) .setTempDir(tempDir.getAbsoluteFile()) .setClassName("org.sonar.search.SearchServer") .setArguments(props.rawProperties()) @@ -83,6 +84,7 @@ public class App implements Stoppable { JavaCommand webServer = new JavaCommand("web") .setWorkDir(homeDir) .addJavaOptions(props.nonNullValue(DefaultSettings.WEB_JAVA_OPTS)) + .addJavaOptions(props.nonNullValue(DefaultSettings.WEB_JAVA_ADDITIONAL_OPTS)) .setTempDir(tempDir.getAbsoluteFile()) // required for logback tomcat valve .setEnvVariable("sonar.path.logs", props.nonNullValue("sonar.path.logs")) diff --git a/sonar-application/src/main/java/org/sonar/application/DefaultSettings.java b/sonar-application/src/main/java/org/sonar/application/DefaultSettings.java index 701249f5f63..4a936789499 100644 --- a/sonar-application/src/main/java/org/sonar/application/DefaultSettings.java +++ b/sonar-application/src/main/java/org/sonar/application/DefaultSettings.java @@ -36,7 +36,9 @@ class DefaultSettings { static final String CLUSTER_NODE_NAME = "sonar.node.name"; static final String SEARCH_PORT = "sonar.search.port"; static final String SEARCH_JAVA_OPTS = "sonar.search.javaOpts"; + static final String SEARCH_JAVA_ADDITIONAL_OPTS = "sonar.search.javaAdditionalOpts"; static final String WEB_JAVA_OPTS = "sonar.web.javaOpts"; + static final String WEB_JAVA_ADDITIONAL_OPTS = "sonar.web.javaAdditionalOpts"; static final String JDBC_URL = "sonar.jdbc.url"; static final String JDBC_LOGIN = "sonar.jdbc.username"; static final String JDBC_PASSWORD = "sonar.jdbc.password"; @@ -70,9 +72,11 @@ class DefaultSettings { defaults.put(SEARCH_JAVA_OPTS, "-Xmx256m -Xms256m -Xss256k -Djava.net.preferIPv4Stack=true " + "-XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly " + "-XX:+HeapDumpOnOutOfMemoryError -Djava.awt.headless=true"); + defaults.put(SEARCH_JAVA_ADDITIONAL_OPTS, ""); defaults.put(CLUSTER_NODE_NAME, "sonar-" + System.currentTimeMillis()); defaults.put(WEB_JAVA_OPTS, "-Xmx768m -XX:MaxPermSize=160m -XX:+HeapDumpOnOutOfMemoryError -Djava.net.preferIPv4Stack=true " + "-Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djruby.management.enabled=false"); + defaults.put(WEB_JAVA_ADDITIONAL_OPTS, ""); defaults.put(JDBC_URL, "jdbc:h2:tcp://localhost:9092/sonar"); defaults.put(JDBC_LOGIN, "sonar"); defaults.put(JDBC_PASSWORD, "sonar"); -- cgit v1.2.3 From 7eb13c86cafb14b8d7afbb3737a27fb3c6fe9d51 Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Wed, 8 Oct 2014 13:33:35 +0200 Subject: SONAR-5710 Some JVM options should not be configurable --- sonar-application/src/main/assembly/conf/sonar.properties | 12 ++++++------ .../src/main/java/org/sonar/application/App.java | 2 ++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/sonar-application/src/main/assembly/conf/sonar.properties b/sonar-application/src/main/assembly/conf/sonar.properties index ff26347346f..e3477959f1b 100644 --- a/sonar-application/src/main/assembly/conf/sonar.properties +++ b/sonar-application/src/main/assembly/conf/sonar.properties @@ -66,10 +66,10 @@ sonar.jdbc.timeBetweenEvictionRunsMillis=30000 # Use the following property to customize JVM options. Enabling the HotSpot Server VM # mode (-server) is recommended. # Note that the option -Dfile.encoding=UTF-8 is mandatory. -#sonar.web.javaOpts=-Xmx768m -XX:MaxPermSize=160m -XX:+HeapDumpOnOutOfMemoryError \ -# -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djruby.management.enabled=false +#sonar.web.javaOpts=-Xmx768m -XX:MaxPermSize=160m -XX:+HeapDumpOnOutOfMemoryError -# Same as previous property, but allows to not repeat all settings like -Djava.awt.headless=true +# Same as previous property, but allows to not repeat all other settings +# like -Djava.awt.headless=true #sonar.web.javaAdditionalOpts= # Binding IP address. For servers with more than one IP address, this property specifies which @@ -173,10 +173,10 @@ sonar.jdbc.timeBetweenEvictionRunsMillis=30000 # JVM options. Note that enabling the HotSpot Server VM mode (-server) is recommended. #sonar.search.javaOpts=-Xmx256m -Xms256m -Xss256k -Djava.net.preferIPv4Stack=true \ # -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 \ -# -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError \ -# -Djava.awt.headless=true +# -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -# Same as previous property, but allows to not repeat all settings like -Djava.awt.headless=true +# Same as previous property, but allows to not repeat all other settings +# like -Djava.awt.headless=true #sonar.search.javaAdditionalOpts= # Elasticsearch port. Default is 9001. Use 0 to get a free port. diff --git a/sonar-application/src/main/java/org/sonar/application/App.java b/sonar-application/src/main/java/org/sonar/application/App.java index ff8016fabc8..9c027abebdf 100644 --- a/sonar-application/src/main/java/org/sonar/application/App.java +++ b/sonar-application/src/main/java/org/sonar/application/App.java @@ -70,6 +70,7 @@ public class App implements Stoppable { JavaCommand elasticsearch = new JavaCommand("search"); elasticsearch .setWorkDir(homeDir) + .addJavaOptions("-Djava.awt.headless=true") .addJavaOptions(props.nonNullValue(DefaultSettings.SEARCH_JAVA_OPTS)) .addJavaOptions(props.nonNullValue(DefaultSettings.SEARCH_JAVA_ADDITIONAL_OPTS)) .setTempDir(tempDir.getAbsoluteFile()) @@ -83,6 +84,7 @@ public class App implements Stoppable { if (StringUtils.isEmpty(props.value(DefaultSettings.CLUSTER_MASTER))) { JavaCommand webServer = new JavaCommand("web") .setWorkDir(homeDir) + .addJavaOptions("-Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djruby.management.enabled=false") .addJavaOptions(props.nonNullValue(DefaultSettings.WEB_JAVA_OPTS)) .addJavaOptions(props.nonNullValue(DefaultSettings.WEB_JAVA_ADDITIONAL_OPTS)) .setTempDir(tempDir.getAbsoluteFile()) -- cgit v1.2.3