Package org.sonar.api.batch.sensor.internal

Examples of org.sonar.api.batch.sensor.internal.DefaultSensorDescriptor


   */
  private <T> List<Object> getDependencies(T extension) {
    List<Object> result = new ArrayList<Object>();
    result.addAll(evaluateAnnotatedClasses(extension, DependsUpon.class));
    if (ClassUtils.isAssignable(extension.getClass(), Sensor.class)) {
      DefaultSensorDescriptor descriptor = new DefaultSensorDescriptor();
      ((Sensor) extension).describe(descriptor);
      result.addAll(Arrays.asList(descriptor.dependsOn()));
    }
    return result;
  }
View Full Code Here


   */
  public <T> List<Object> getDependents(T extension) {
    List<Object> result = new ArrayList<Object>();
    result.addAll(evaluateAnnotatedClasses(extension, DependedUpon.class));
    if (ClassUtils.isAssignable(extension.getClass(), Sensor.class)) {
      DefaultSensorDescriptor descriptor = new DefaultSensorDescriptor();
      ((Sensor) extension).describe(descriptor);
      result.addAll(Arrays.asList(descriptor.provides()));
    }
    return result;
  }
View Full Code Here

  public void execute(SensorContext context) {
    Collection<Sensor> analyzers = selector.select(Sensor.class, null, true, null);

    for (Sensor analyzer : analyzers) {

      DefaultSensorDescriptor descriptor = new DefaultSensorDescriptor();
      analyzer.describe(descriptor);

      if (!optimizer.shouldExecute(descriptor)) {
        continue;
      }

      LOG.info("Execute sensor: " + descriptor.name());

      executeSensor(context, analyzer);
    }

  }
View Full Code Here

    assertThat(optimizer.shouldExecute(descriptor)).isTrue();
  }

  @Test
  public void should_optimize_on_type() throws Exception {
    DefaultSensorDescriptor descriptor = new DefaultSensorDescriptor()
      .workOnFileTypes(InputFile.Type.MAIN);
    assertThat(optimizer.shouldExecute(descriptor)).isFalse();

    fs.add(new DefaultInputFile("foo", "tests/FooTest.java").setType(InputFile.Type.TEST));
    assertThat(optimizer.shouldExecute(descriptor)).isFalse();
View Full Code Here

    assertThat(optimizer.shouldExecute(descriptor)).isTrue();
  }

  @Test
  public void should_optimize_on_both_type_and_language() throws Exception {
    DefaultSensorDescriptor descriptor = new DefaultSensorDescriptor()
      .workOnLanguages("java", "php")
      .workOnFileTypes(InputFile.Type.MAIN);
    assertThat(optimizer.shouldExecute(descriptor)).isFalse();

    fs.add(new DefaultInputFile("foo", "tests/FooTest.java").setLanguage("java").setType(InputFile.Type.TEST));
View Full Code Here

    assertThat(optimizer.shouldExecute(descriptor)).isTrue();
  }

  @Test
  public void should_optimize_on_repository() throws Exception {
    DefaultSensorDescriptor descriptor = new DefaultSensorDescriptor()
      .createIssuesForRuleRepositories("squid");
    assertThat(optimizer.shouldExecute(descriptor)).isFalse();

    ActiveRules activeRules = new ActiveRulesBuilder()
      .create(RuleKey.of("repo1", "foo"))
View Full Code Here

    optimizer = new AnalyzerOptimizer(fs, new ActiveRulesBuilder().build());
  }

  @Test
  public void should_run_analyzer_with_no_metadata() throws Exception {
    DefaultSensorDescriptor descriptor = new DefaultSensorDescriptor();

    assertThat(optimizer.shouldExecute(descriptor)).isTrue();
  }
View Full Code Here

    assertThat(optimizer.shouldExecute(descriptor)).isTrue();
  }

  @Test
  public void should_optimize_on_language() throws Exception {
    DefaultSensorDescriptor descriptor = new DefaultSensorDescriptor()
      .workOnLanguages("java", "php");
    assertThat(optimizer.shouldExecute(descriptor)).isFalse();

    fs.add(new DefaultInputFile("foo", "src/Foo.java").setLanguage("java"));
    assertThat(optimizer.shouldExecute(descriptor)).isTrue();
View Full Code Here

TOP

Related Classes of org.sonar.api.batch.sensor.internal.DefaultSensorDescriptor

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.