throw new IllegalStateException(String.format("The classloader '%s' already exists in the list of previously created classloaders."
+ " Can not create it twice.", key));
}
- //TODO: to be checked, the other version of the code is not building
- ClassRealm realm = AccessController.doPrivileged(new PrivilegedAction<ClassRealm>() {
- @Override
- public ClassRealm run() {
- return new ClassRealm(key, baseClassloader);
- }
- });
+ ClassRealm realm = AccessController.doPrivileged((PrivilegedAction<ClassRealm>) () -> new ClassRealm(key, baseClassloader));
realm.setStrategy(LoadingOrder.PARENT_FIRST.strategy);
newRealmsByKey.put(key, new NewRealm(realm));
return this;
.put("sonar.sources", "src")
.build())
.execute())
- .isInstanceOf(MessageException.class);
+ .isInstanceOf(MessageException.class);
}
@Test
.put("sonar.sources", "src,src/sample.xoo")
.build())
.execute())
- .isInstanceOf(MessageException.class)
- .hasMessage("File src/sample.xoo can't be indexed twice. Please check that inclusion/exclusion patterns produce disjoint sets for main and test files");
+ .isInstanceOf(MessageException.class)
+ .hasMessage("File src/sample.xoo can't be indexed twice. Please check that inclusion/exclusion patterns produce disjoint sets for main and test files");
}
// SONAR-9574
.put("module1.sonar.sources", "src")
.build())
.execute())
- .isInstanceOf(MessageException.class)
- .hasMessage("File module1/src/sample.xoo can't be indexed twice. Please check that inclusion/exclusion patterns produce disjoint sets for main and test files");
+ .isInstanceOf(MessageException.class)
+ .hasMessage("File module1/src/sample.xoo can't be indexed twice. Please check that inclusion/exclusion patterns produce disjoint sets for main and test files");
}
// SONAR-5330
File srcDir = new File(baseDir, "src");
srcDir.mkdir();
- tester.addLanguage("xoo3", "xoo3",false, ".xoo3");
+ tester.addLanguage("xoo3", "xoo3", false, ".xoo3");
writeFile(srcDir, "sample.xoo3", "Sample xoo\ncontent");
writeFile(srcDir, "sample2.xoo3", "Sample xoo 2\ncontent");
.build())
.execute();
- assertAnalysedFiles(result, "src/srcSubDir/srcSub.xoo");
+ assertAnalysedFiles(result, "src/srcSubDir/srcSub.xoo");
}
@Test
});
BranchConfiguration branchConfig = getComponentByType(BranchConfiguration.class);
- if (branchConfig.branchType() == BranchType.PULL_REQUEST) {
+ if (branchConfig.branchType() == BranchType.PULL_REQUEST && LOG.isInfoEnabled()) {
LOG.info("Pull request {} for merge into {} from {}", branchConfig.pullRequestKey(), pullRequestBaseToDisplayName(branchConfig.targetBranchName()),
branchConfig.branchName());
- } else if (branchConfig.branchName() != null) {
+ } else if (branchConfig.branchName() != null && LOG.isInfoEnabled()) {
LOG.info("Branch name: {}", branchConfig.branchName());
}
import javax.annotation.CheckForNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import javax.annotation.concurrent.Immutable;
import org.sonar.api.Startable;
import org.sonar.api.config.Configuration;
import org.sonar.api.resources.Languages;
* Languages repository using {@link Languages}
* @since 4.4
*/
+@Immutable
public class DefaultLanguagesRepository implements LanguagesRepository, Startable {
private static final Logger LOG = LoggerFactory.getLogger(DefaultLanguagesRepository.class);
private static final String LANGUAGES_WS_URL = "/api/languages/list";
}
private Language populateFileSuffixesAndPatterns(SupportedLanguageDto lang) {
- String propertyFragment = PROPERTY_FRAGMENT_MAP.getOrDefault(lang.getKey(), lang.getKey());
- lang.setFileSuffixes(properties.getStringArray(String.format("sonar.%s.file.suffixes", propertyFragment)));
- lang.setFilenamePatterns(properties.getStringArray(String.format("sonar.%s.file.patterns", propertyFragment)));
+ lang.setFileSuffixes(getFileSuffixes(lang.getKey()));
+ lang.setFilenamePatterns(getFilenamePatterns(lang.getKey()));
if (lang.filenamePatterns() == null && lang.getFileSuffixes() == null) {
LOG.debug("Language '{}' cannot be detected as it has neither suffixes nor patterns.", lang.getName());
}
}
private String[] getFileSuffixes(String languageKey) {
- String propName = String.format("sonar.%s.file.suffixes", PROPERTY_FRAGMENT_MAP.getOrDefault(languageKey, languageKey));
+ return getPropertyForLanguage("sonar.%s.file.suffixes", languageKey);
+ }
+
+ private String[] getFilenamePatterns(String languageKey) {
+ return getPropertyForLanguage("sonar.%s.file.patterns", languageKey);
+ }
+
+ private String[] getPropertyForLanguage(String propertyPattern, String languageKey) {
+ String propName = String.format(propertyPattern, PROPERTY_FRAGMENT_MAP.getOrDefault(languageKey, languageKey));
return properties.getStringArray(propName);
}
private final InputModuleHierarchy inputModuleHierarchy;
private final InputFile.Type type;
- DirectoryFileVisitor(FileVisitAction fileVisitAction, DefaultInputModule module, ModuleExclusionFilters moduleExclusionFilters, InputModuleHierarchy inputModuleHierarchy, InputFile.Type type) {
+ DirectoryFileVisitor(FileVisitAction fileVisitAction, DefaultInputModule module, ModuleExclusionFilters moduleExclusionFilters,
+ InputModuleHierarchy inputModuleHierarchy, InputFile.Type type) {
this.fileVisitAction = fileVisitAction;
this.module = module;
this.moduleExclusionFilters = moduleExclusionFilters;
public class ProjectFilePreprocessor {
private static final Logger LOG = LoggerFactory.getLogger(ProjectFilePreprocessor.class);
- private static final String TELEMETRY_STEP_NAME = "file.preprocessing";
private final AnalysisWarnings analysisWarnings;
private final IgnoreCommand ignoreCommand;
pluralizeWithCount("preprocessed file", totalFilesPreprocessed)));
int excludedFileByPatternCount = exclusionCounter.getByPatternsCount();
- if (projectExclusionFilters.hasPattern() || excludedFileByPatternCount > 0) {
- if (LOG.isInfoEnabled()) {
- LOG.info("{} ignored because of inclusion/exclusion patterns", pluralizeWithCount("file", excludedFileByPatternCount));
- }
+ if ((projectExclusionFilters.hasPattern() || excludedFileByPatternCount > 0) && LOG.isInfoEnabled()) {
+ LOG.info("{} ignored because of inclusion/exclusion patterns", pluralizeWithCount("file", excludedFileByPatternCount));
}
int excludedFileByScmCount = exclusionCounter.getByScmCount();
- if (useScmExclusion) {
- if (LOG.isInfoEnabled()) {
- LOG.info("{} ignored because of scm ignore settings", pluralizeWithCount("file", excludedFileByScmCount));
- }
+ if (useScmExclusion && LOG.isInfoEnabled()) {
+ LOG.info("{} ignored because of scm ignore settings", pluralizeWithCount("file", excludedFileByScmCount));
}
}