• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java NewIssue类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.sonar.api.batch.sensor.issue.NewIssue的典型用法代码示例。如果您正苦于以下问题:Java NewIssue类的具体用法?Java NewIssue怎么用?Java NewIssue使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



NewIssue类属于org.sonar.api.batch.sensor.issue包,在下文中一共展示了NewIssue类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: createIssuesForMutants

import org.sonar.api.batch.sensor.issue.NewIssue; //导入依赖的package包/类
private void createIssuesForMutants(List<MutantResult> mutantResults, SensorContext context, MutantStatus targetStatus, String ruleKey) throws IOException {
    if (isRuleActive(ruleKey)) {
        int count = 0;
        for (MutantResult mutantResult : mutantResults) {
            if (mutantResult.getStatus() == targetStatus) {
                count++;
                InputFile file = locateSourceFile(mutantResult.getSourceFilePath());

                NewIssue issue = context.newIssue();
                NewIssueLocation location = issue.newLocation()
                        .on(file)
                        .at(mutantResult.getLocation().getRange(file))
                        .message(formatIssueMessage(mutantResult));
                issue.at(location);
                issue.forRule(RuleKey.of(RULE_REPOSITORY_KEY, ruleKey));
                issue.save();
            }
        }
        log.info("Reported {} issue(s) as {}.", count, targetStatus);
    } else {
        log.info("Skip reporting {} mutant(s), because rule {} is inactive", targetStatus, ruleKey);
    }
}
 
开发者ID:stryker-mutator,项目名称:sonar-stryker-plugin,代码行数:24,代码来源:StrykerSensor.java


示例2: savePreciseIssue

import org.sonar.api.batch.sensor.issue.NewIssue; //导入依赖的package包/类
private void savePreciseIssue(PreciseIssue issue) {
  NewIssue newIssue = sensorContext.newIssue();
  InputFile primaryFile = Preconditions.checkNotNull(fileSystem.inputFile(fileSystem.predicates().is(issue.primaryLocation().file())));

  newIssue
    .forRule(ruleKey(issue.check()))
    .at(newLocation(primaryFile, newIssue, issue.primaryLocation()));

  if (issue.cost() != null) {
    newIssue.gap(issue.cost());
  }

  InputFile secondaryFile;
  for (IssueLocation secondary : issue.secondaryLocations()) {
    secondaryFile = fileSystem.inputFile(fileSystem.predicates().is(secondary.file()));
    if (secondaryFile == null) {
      secondaryFile = primaryFile;
    }
    newIssue.addLocation(newLocation(secondaryFile, newIssue, secondary));
  }

  newIssue.save();
}
 
开发者ID:racodond,项目名称:sonar-css-plugin,代码行数:24,代码来源:IssueSaver.java


示例3: saveLineIssue

import org.sonar.api.batch.sensor.issue.NewIssue; //导入依赖的package包/类
private void saveLineIssue(LineIssue issue) {
  NewIssue newIssue = sensorContext.newIssue();
  InputFile primaryFile = Preconditions.checkNotNull(fileSystem.inputFile(fileSystem.predicates().is(issue.file())));

  NewIssueLocation primaryLocation = newIssue.newLocation()
    .message(issue.message())
    .on(primaryFile)
    .at(primaryFile.selectLine(issue.line()));

  newIssue
    .forRule(ruleKey(issue.check()))
    .at(primaryLocation);

  if (issue.cost() != null) {
    newIssue.gap(issue.cost());
  }

  newIssue.save();
}
 
开发者ID:racodond,项目名称:sonar-css-plugin,代码行数:20,代码来源:IssueSaver.java


示例4: saveIssue

import org.sonar.api.batch.sensor.issue.NewIssue; //导入依赖的package包/类
private void saveIssue(final SensorContext context, final InputFile inputFile, String lineString, final String externalRuleKey, final String message) {
  RuleKey ruleKey = RuleKey.of(FramaCRulesDefinition.getRepositoryKeyForLanguage(), externalRuleKey);

  LOGGER.info("externalRuleKey: "+externalRuleKey);
  LOGGER.info("Repo: "+FramaCRulesDefinition.getRepositoryKeyForLanguage());
  LOGGER.info("RuleKey: "+ruleKey);
  NewIssue newIssue = context.newIssue()
    .forRule(ruleKey);

  NewIssueLocation primaryLocation = newIssue.newLocation()
    .on(inputFile)
    .message(message);
  
  int maxLine = inputFile.lines();
  int iLine = getLineAsInt(lineString, maxLine);
  if (iLine > 0) {
    primaryLocation.at(inputFile.selectLine(iLine));
  }
  newIssue.at(primaryLocation);

  newIssue.save();
}
 
开发者ID:lequal,项目名称:sonar-frama-c-plugin,代码行数:23,代码来源:FramaCMetricsSensor.java


示例5: execute

import org.sonar.api.batch.sensor.issue.NewIssue; //导入依赖的package包/类
@Override
public void execute(final JavaPackage javaPackage, final InputFile packageInfoFile) {
	final Set<String> cycles = collectCycles(javaPackage);
	getContext().<Integer> newMeasure().forMetric(JdependMetrics.PACKAGE_DEPENDENCY_CYCLES).on(packageInfoFile)
			.withValue(cycles.size()).save();

	if (!isActive()) {
		return;
	}

	if (cycles.size() > maximum) {
		final NewIssue issue = getContext().newIssue().forRule(getKey());
		issue.at(issue.newLocation().on(packageInfoFile).at(packageInfoFile.selectLine(1))
				.message(createMessage(cycles)));
		issue.save();
	}
}
 
开发者ID:willemsrb,项目名称:sonar-jdepend-plugin,代码行数:18,代码来源:PackageDependencyCyclesRule.java


示例6: execute

import org.sonar.api.batch.sensor.issue.NewIssue; //导入依赖的package包/类
@Override
public void execute(final JavaPackage javaPackage, final InputFile packageInfoFile) {
	final int classcount = javaPackage.getClassCount();
	getContext().<Integer> newMeasure().forMetric(JdependMetrics.NUMBER_OF_CLASSES_AND_INTERFACES)
			.on(packageInfoFile).withValue(classcount).save();

	if (!isActive()) {
		return;
	}

	if (classcount > maximum) {
		final NewIssue issue = getContext().newIssue().forRule(getKey());
		issue.at(issue.newLocation().on(packageInfoFile).at(packageInfoFile.selectLine(1))
				.message("Too many classes and interfaces (allowed: " + maximum + ", actual: "
						+ javaPackage.getClassCount() + ")"));
		issue.save();
	}
}
 
开发者ID:willemsrb,项目名称:sonar-jdepend-plugin,代码行数:19,代码来源:NumberOfClassesAndInterfacesRule.java


示例7: execute

import org.sonar.api.batch.sensor.issue.NewIssue; //导入依赖的package包/类
@Override
public void execute(final JavaPackage javaPackage, final InputFile packageInfoFile) {
	final int efferentCoupling = javaPackage.efferentCoupling();
	getContext().<Integer> newMeasure().forMetric(JdependMetrics.EFFERENT_COUPLINGS).on(packageInfoFile)
			.withValue(efferentCoupling).save();

	if (!isActive()) {
		return;
	}

	if (efferentCoupling > maximum) {
		final NewIssue issue = getContext().newIssue().forRule(getKey());
		issue.at(issue.newLocation().on(packageInfoFile).at(packageInfoFile.selectLine(1))
				.message("Too much efferent coupling (allowed: " + maximum + ", actual: "
						+ javaPackage.getClassCount() + ")"));
		issue.save();
	}
}
 
开发者ID:willemsrb,项目名称:sonar-jdepend-plugin,代码行数:19,代码来源:EfferentCouplingsRule.java


示例8: execute

import org.sonar.api.batch.sensor.issue.NewIssue; //导入依赖的package包/类
@Override
public void execute(final JavaPackage javaPackage, final InputFile packageInfoFile) {
	final int afferentCoupling = javaPackage.afferentCoupling();
	getContext().<Integer> newMeasure().forMetric(JdependMetrics.AFFERENT_COUPLINGS).on(packageInfoFile)
			.withValue(afferentCoupling).save();

	if (!isActive()) {
		return;
	}

	if (afferentCoupling > maximum) {
		final NewIssue issue = getContext().newIssue().forRule(getKey());
		issue.at(issue.newLocation().on(packageInfoFile).at(packageInfoFile.selectLine(1))
				.message("Too much afferent coupling (allowed: " + maximum + ", actual: "
						+ javaPackage.getClassCount() + ")"));
		issue.save();
	}
}
 
开发者ID:willemsrb,项目名称:sonar-jdepend-plugin,代码行数:19,代码来源:AfferentCouplingsRule.java


示例9: consumeFor

import org.sonar.api.batch.sensor.issue.NewIssue; //导入依赖的package包/类
@Override
void consumeFor(InputFile inputFile, FileIssues message) {
  for (SonarAnalyzer.FileIssues.Issue issue : message.getIssueList()) {
    NewIssue newIssue = context.newIssue();
    NewIssueLocation location = newIssue
      .newLocation()
      .on(inputFile)
      .message(issue.getMessage());

    SonarAnalyzer.TextRange issueTextRange = issue.getLocation();

    if (issueTextRange.getStartOffset() == issueTextRange.getEndOffset() &&
        issueTextRange.getStartLine() == issueTextRange.getEndLine()) {
      // file level issue
    } else {
      location = location.at(toTextRange(inputFile, issueTextRange));
    }

    newIssue.forRule(RuleKey.of(repositoryKey, issue.getId()))
      .at(location)
      .save();
  }
}
 
开发者ID:SonarSource,项目名称:sonar-dotnet-shared-library,代码行数:24,代码来源:IssuesImporter.java


示例10: onFileIssue

import org.sonar.api.batch.sensor.issue.NewIssue; //导入依赖的package包/类
@Override
public void onFileIssue(String ruleId, String absolutePath, String message) {
  String repositoryKey = repositoryKeyByRoslynRuleKey.get(ruleId);
  if (repositoryKey == null) {
    return;
  }

  InputFile inputFile = context.fileSystem().inputFile(context.fileSystem().predicates()
      .hasAbsolutePath(absolutePath));
  if (inputFile == null) {
    return;
  }

  NewIssue newIssue = context.newIssue();
  newIssue
      .forRule(RuleKey.of(repositoryKey, ruleId))
      .at(newIssue.newLocation()
          .on(inputFile)
          .message(message))
      .save();
}
 
开发者ID:SonarSource,项目名称:sonar-dotnet-shared-library,代码行数:22,代码来源:AbstractSensor.java


示例11: saveIssue

import org.sonar.api.batch.sensor.issue.NewIssue; //导入依赖的package包/类
void saveIssue(InputFile inputFile, int line, String externalRuleKey, String message) {
    RuleKey rule = RuleKey.of(PerlCriticRulesDefinition.getRepositoryKey(), externalRuleKey);

    if (activeRules.find(rule) == null) {
        log.info("Ignoring unknown or deactivated issue of type {}", rule);
        return;
    }

    log.debug("Saving an issue of type {} on file {}", rule, inputFile);

    NewIssue issue = this.context.newIssue().forRule(rule);
    NewIssueLocation location = issue.newLocation().message(message).on(inputFile);

    if (line > 0) {
        location.at(inputFile.selectLine(line));
    }

    issue.at(location);
    issue.save();
}
 
开发者ID:sonar-perl,项目名称:sonar-perl,代码行数:21,代码来源:PerlCriticIssuesLoaderSensor.java


示例12: createNewIssue

import org.sonar.api.batch.sensor.issue.NewIssue; //导入依赖的package包/类
private void createNewIssue(IssueAttributes issueAttributes, LocationAttributes locationAttributes, InputFile inputFile) {
    Preconditions.checkNotNull(issueAttributes);
    Preconditions.checkNotNull(locationAttributes);
    Preconditions.checkNotNull(inputFile);

    final NewIssue issue = sensorContext.newIssue();

    final NewIssueLocation issueLocation = issue.newLocation();
    issueLocation.on(inputFile);
    issueLocation.at(inputFile.selectLine(locationAttributes.getLine().get()));
    issueLocation.message(locationAttributes.getMessage().get());

    issue.forRule(RuleKey.of(ColdFusionPlugin.REPOSITORY_KEY, issueAttributes.getId().get()));
    issue.at(issueLocation);
    issue.save();
}
 
开发者ID:stepstone-tech,项目名称:sonar-coldfusion,代码行数:17,代码来源:CFlintAnalysisResultImporter.java


示例13: licenseNotFoundIssue

import org.sonar.api.batch.sensor.issue.NewIssue; //导入依赖的package包/类
private static void licenseNotFoundIssue(SensorContext context, Dependency dependency)
{
    if (StringUtils.isBlank(dependency.getLicense()))
    {
        LOGGER.info("No License found for Dependency " + dependency.getName());

        NewIssue issue = context
            .newIssue()
            .forRule(RuleKey.of(LicenseCheckMetrics.LICENSE_CHECK_KEY,
                LicenseCheckMetrics.LICENSE_CHECK_UNLISTED_KEY))
            .at(new DefaultIssueLocation()
                .on(context.module())
                .message("No License found for Dependency: " + dependency.getName()));
        issue.save();
    }
}
 
开发者ID:porscheinformatik,项目名称:sonarqube-licensecheck,代码行数:17,代码来源:ValidateLicenses.java


示例14: addSecondaryLocation

import org.sonar.api.batch.sensor.issue.NewIssue; //导入依赖的package包/类
private void addSecondaryLocation(final NewIssue issue, final XMLReportFinding xanFinding,
		final SensorContext sensorContext) {
	final InputFile secondaryFile = mkInputFileOrNull(xanFinding.getSecondaryLocationOrNull(),
			sensorContext);
	if (secondaryFile != null) {
		final NewIssueLocation secondaryLocation = issue.newLocation();
		secondaryLocation.on(secondaryFile);
		secondaryLocation.message(xanFinding.getSecondaryLocationMessage());
		final int secondaryLine = normalizeLineNo(
				xanFinding.getSecondaryLocationOrNull().getLineNoOrMinus1());
		if (secondaryLine <= secondaryFile.lines()) {
			final TextRange textRange = secondaryFile.selectLine(secondaryLine);
			secondaryLocation.at(textRange);
		}
		issue.addLocation(secondaryLocation);

		LOG.debug("Added secondary location for finding " + xanFinding.getFindingID());
	}
}
 
开发者ID:RIGS-IT,项目名称:sonar-xanitizer,代码行数:20,代码来源:XanitizerSensor.java


示例15: saveIssues

import org.sonar.api.batch.sensor.issue.NewIssue; //导入依赖的package包/类
private void saveIssues(InputFile inputFile, SourceFile squidFile) {
  Collection<CheckMessage> messages = squidFile.getCheckMessages();
  for (CheckMessage message : messages) {
    RuleKey ruleKey = checks.ruleKey((SquidAstVisitor<Grammar>) message.getCheck());
    NewIssue newIssue = context.newIssue();

    NewIssueLocation primaryLocation = newIssue.newLocation()
      .message(message.getText(Locale.ENGLISH))
      .on(inputFile);

    if (message.getLine() != null) {
      primaryLocation.at(inputFile.selectLine(message.getLine()));
    }

    newIssue.forRule(ruleKey).at(primaryLocation).save();
  }
}
 
开发者ID:iwarapter,项目名称:sonar-puppet,代码行数:18,代码来源:PuppetSquidSensor.java


示例16: savePreciseIssue

import org.sonar.api.batch.sensor.issue.NewIssue; //导入依赖的package包/类
private void savePreciseIssue(PreciseIssue issue) {
  NewIssue newIssue = sensorContext.newIssue();
  InputFile primaryFile = Preconditions.checkNotNull(fileSystem.inputFile(fileSystem.predicates().is(issue.primaryLocation().file())));

  newIssue
    .forRule(ruleKey(issue.check()))
    .at(newLocation(primaryFile, newIssue, issue.primaryLocation()));

  if (issue.cost() != null) {
    newIssue.gap(issue.cost());
  }

  InputFile secondaryFile;
  for (org.sonar.plugins.json.api.visitors.issue.IssueLocation secondary : issue.secondaryLocations()) {
    secondaryFile = fileSystem.inputFile(fileSystem.predicates().is(secondary.file()));
    if (secondaryFile == null) {
      secondaryFile = primaryFile;
    }
    newIssue.addLocation(newLocation(secondaryFile, newIssue, secondary));
  }

  newIssue.save();
}
 
开发者ID:racodond,项目名称:sonar-json-plugin,代码行数:24,代码来源:IssueSaver.java


示例17: processParseException

import org.sonar.api.batch.sensor.issue.NewIssue; //导入依赖的package包/类
private static void processParseException(ParseException e, SensorContext context, CompatibleInputFile inputFile, Optional<RuleKey> parsingErrorKey) {
  reportAnalysisError(e, context, inputFile);

  LOG.warn("Unable to parse file {}", inputFile.absolutePath());
  LOG.warn("Cause: {}", e.getMessage());

  if (parsingErrorKey.isPresent()) {
    // the ParsingErrorCheck rule is activated: we create a beautiful issue
    NewIssue newIssue = context.newIssue();
    NewIssueLocation primaryLocation = newIssue.newLocation()
      .message("Parse error: " + e.getMessage())
      .on(inputFile.wrapped());
    newIssue
      .forRule(parsingErrorKey.get())
      .at(primaryLocation)
      .save();
  }
}
 
开发者ID:SonarSource,项目名称:sonar-xml,代码行数:19,代码来源:XmlSensor.java


示例18: saveViolations

import org.sonar.api.batch.sensor.issue.NewIssue; //导入依赖的package包/类
private void saveViolations(SensorContext context, InputFile inputFile, SourceFile squidFile) {
  Collection<CheckMessage> messages = squidFile.getCheckMessages();
  if (messages != null) {

    for (CheckMessage message : messages) {
      RuleKey ruleKey = checks.ruleKey((SquidCheck<LexerlessGrammar>) message.getCheck());
      NewIssue newIssue = context.newIssue()
        .forRule(ruleKey)
        .gap(message.getCost());
      Integer line = message.getLine();
      NewIssueLocation location = newIssue.newLocation()
        .on(inputFile)
        .message(message.getText(Locale.ENGLISH));
      if (line != null) {
        location.at(inputFile.selectLine(line));
      }
      newIssue.at(location);
      newIssue.save();
    }
  }
}
 
开发者ID:SonarQubeCommunity,项目名称:sonar-lua,代码行数:22,代码来源:LuaSquidSensor.java


示例19: processRecognitionException

import org.sonar.api.batch.sensor.issue.NewIssue; //导入依赖的package包/类
private void processRecognitionException(RecognitionException e, SensorContext sensorContext, InputFile inputFile) {
    if (parsingErrorRuleKey != null) {
        NewIssue newIssue = sensorContext.newIssue();

        NewIssueLocation primaryLocation = newIssue.newLocation()
                .message(e.getMessage())
                .on(inputFile)
                .at(inputFile.selectLine(e.getLine()));

        newIssue
                .forRule(parsingErrorRuleKey)
                .at(primaryLocation)
                .save();
    }
}
 
开发者ID:antowski,项目名称:sonar-onec,代码行数:16,代码来源:OneCSensor.java


示例20: newIssue

import org.sonar.api.batch.sensor.issue.NewIssue; //导入依赖的package包/类
private boolean newIssue(final SensorContext context, final ActiveRule rule, final External<Location> model,
		final String message) {
	final Location location = model.getExternal();
	if (location == null) {
		LOGGER.debug("Rule {} triggered, but {} did not contain a location to register issue", rule.ruleKey(),
				model);
		return false;
	} else {
		LOGGER.debug("Rule {} triggered, registering issue on {}", rule.ruleKey(), model);
		final NewIssue issue = context.newIssue().forRule(rule.ruleKey());
		issue.at(issue.newLocation().on(location.getOn()).at(location.getAt()).message(message));
		issue.save();
		return true;
	}
}
 
开发者ID:willemsrb,项目名称:sonar-packageanalyzer-plugin,代码行数:16,代码来源:AbstractPackageAnalyzerRule.java



注:本文中的org.sonar.api.batch.sensor.issue.NewIssue类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Election类代码示例发布时间:2022-05-21
下一篇:
Java ImmediateModeRenderer20类代码示例发布时间:2022-05-21
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap