Adobe-Consulting-Services/acs-aem-commons

View on GitHub
bundle/src/test/java/com/adobe/acs/commons/mcp/form/DialogProviderAnnotationProcessorTest.java

Summary

Maintainability
A
0 mins
Test Coverage

'+' should be on a new line.
Open

                        "        return a.Example1.class;" + EOL +

'+' should be on a new line.
Open

                        "        this.doActivate(context);" + EOL +

'+' should be on a new line.
Open

                arguments("Example2", "package a; @com.adobe.acs.commons.mcp.form.DialogProvider public class Example2 {public String resourceType=\"my.type\";}", "package a.impl;" + EOL +

'+' should be on a new line.
Open

                        "@Generated(\"Created by the ACS Commons DialogProviderAnnotationProcessor\")" + EOL +

'+' should be on a new line.
Open

                        "@Component(service = com.adobe.acs.commons.mcp.form.DialogResourceProvider.class, immediate = true)" + EOL +

'+' should be on a new line.
Open

                        "    public Class getTargetClass() {" + EOL +

'+' should be on a new line.
Open

                        "import org.osgi.framework.BundleContext;" + EOL +

'+' should be on a new line.
Open

                        "@Generated(\"Created by the ACS Commons DialogProviderAnnotationProcessor\")" + EOL +

'+' should be on a new line.
Open

                arguments("Example1", "package a; @com.adobe.acs.commons.mcp.form.DialogProvider public class Example1 {public String getResourceType(){return \"my.type\";}}", "package a.impl;" + EOL +

'+' should be on a new line.
Open

                        "import org.osgi.annotation.versioning.ConsumerType;" + EOL +

'+' should be on a new line.
Open

                        "import org.osgi.service.component.annotations.*;" + EOL +

'+' should be on a new line.
Open

                        "    public void activate(BundleContext context) throws InstantiationException, IllegalAccessException, ReflectiveOperationException {" + EOL +

'+' should be on a new line.
Open

                        "import javax.annotation.Generated;" + EOL +

'+' should be on a new line.
Open

                        "import javax.annotation.Generated;" + EOL +

'+' should be on a new line.
Open

                        "        this.doActivate(context);" + EOL +

'+' should be on a new line.
Open

                        "import org.osgi.framework.BundleContext;" + EOL +

'+' should be on a new line.
Open

                        "import org.osgi.service.component.annotations.*;" + EOL +

'+' should be on a new line.
Open

                        "    public void activate(BundleContext context) throws InstantiationException, IllegalAccessException, ReflectiveOperationException {" + EOL +

'+' should be on a new line.
Open

                        "    public void deactivate(BundleContext context) {" + EOL +

'+' should be on a new line.
Open

                        "import org.osgi.service.component.annotations.*;" + EOL +

'+' should be on a new line.
Open

                arguments("Example3", "package a; @org.apache.sling.models.annotations.Model(adaptables=org.apache.sling.api.resource.Resource.class, resourceType=\"my.type\") @com.adobe.acs.commons.mcp.form.DialogProvider public class Example3 {}", "package a.impl;" + EOL +

Line does not match expected header line of '/*'.
Open

package com.adobe.acs.commons.mcp.form;

Checks the header of a source file against a header that contains aregular expression for each line of the source header.

Rationale: In some projects checking against afixed header is not sufficient, e.g. the header might require acopyright line where the year information is not static.

For example, consider the following header:

<source><br>line 1: ^/{71}$<br>line 2: ^// checkstyle:$<br>line 3: ^// Checks Java source code for adherence to a set of rules\.$<br>line 4: ^// Copyright \(C\) \d\d\d\d Oliver Burn$<br>line 5: ^// Last modification by \$Author.*\$$<br>line 6: ^/{71}$<br>line 7:<br>line 8: ^package<br>line 9:<br>line 10: ^import<br>line 11:<br>line 12: ^/\*\*<br>line 13: ^ \*([^/]|$)<br>line 14: ^ \*/<br> </source>

Lines 1 and 6 demonstrate a more compact notation for 71 '/'characters. Line 4 enforces that the copyright notice includes afour digit year. Line 5 is an example how to enforce revisioncontrol keywords in a file header. Lines 12-14 is a template forjavadoc (line 13 is so complicated to remove conflict with and ofjavadoc comment). Lines 7, 9 and 11 will be treated as '^$' andwill forcefully expect the line to be empty.

Different programming languages have different comment syntaxrules, but all of them start a comment with a non-wordcharacter. Hence you can often use the non-word characterclass to abstract away the concrete comment syntax and allowchecking the header for different languages with a singleheader definition. For example, consider the following headerspecification (note that this is not the full Apache licenseheader):

<source><br>line 1: ^#!<br>line 2: ^&lt;\?xml.*&gt;$<br>line 3: ^\W*$<br>line 4: ^\W*Copyright 2006 The Apache Software Foundation or its licensors, as applicable\.$<br>line 5: ^\W*Licensed under the Apache License, Version 2\.0 \(the "License"\);$<br>line 6: ^\W*$<br> </source>

Lines 1 and 2 leave room for technical header lines, e.g. the"#!/bin/sh" line in Unix shell scripts, or the XML file headerof XML files. Set the multiline property to "1, 2" so theselines can be ignored for file types where they do no apply.Lines 3 through 6 define the actual header content. Note howlines 2, 4 and 5 use escapes for characters that have specialregexp semantics.

In default configuration, if header is not specified, the default valueof header is set to null and the check does not rise any violations.

This documentation is written and maintained by the Checkstyle community and is covered under the same license as the Checkstyle project.

'METHOD_DEF' should be separated from previous statement.
Open

    @Test

Checks for empty line separators after header, package, all import declarations,fields, constructors, methods, nested classes,static initializers and instance initializers.

ATTENTION: empty line separator is required between token siblings,not after line where token is found.If token does not have same type sibling then empty lineis required at its end (for example for CLASS_DEF it is after '}').Also, trailing comments are skipped.

ATTENTION: violations from multiple empty lines cannot be suppressed via XPath:#8179.

This documentation is written and maintained by the Checkstyle community and is covered under the same license as the Checkstyle project.

'+' should be on a new line.
Open

                        "public class Example2_dialogResourceProvider implements com.adobe.acs.commons.mcp.form.DialogResourceProvider {" + EOL +

'+' should be on a new line.
Open

                        "    public void deactivate(BundleContext context) {" + EOL +

'+' should be on a new line.
Open

                        "    public Class getTargetClass() {" + EOL +

'+' should be on a new line.
Open

                        "        return a.Example2.class;" + EOL +

'+' should be on a new line.
Open

                        "@Component(service = com.adobe.acs.commons.mcp.form.DialogResourceProvider.class, immediate = true)" + EOL +

'+' should be on a new line.
Open

                        "    public Class getTargetClass() {" + EOL +

'+' should be on a new line.
Open

                        "import org.osgi.framework.BundleContext;" + EOL +

'+' should be on a new line.
Open

                        "        this.doDeactivate();" + EOL +

'+' should be on a new line.
Open

                        "        return a.Example3.class;" + EOL +

'+' should be on a new line.
Open

                        "        this.doActivate(context);" + EOL +

All overloaded methods should be placed next to each other. Placing non-overloaded methods in between overloaded methods with the same type is a violation. Previous overloaded method located at line '44'.
Open

    private static Stream<Arguments> annotationProviderProducesAdditionalSourceFile() {

Checks that overloaded methods are grouped together. Overloaded methods have the samename but different signatures where the signature can differ by the number of inputparameters or type of input parameters or both.

This documentation is written and maintained by the Checkstyle community and is covered under the same license as the Checkstyle project.

'+' should be on a new line.
Open

                        "import org.osgi.annotation.versioning.ConsumerType;" + EOL +

'+' should be on a new line.
Open

                        "        this.doDeactivate();" + EOL +

'+' should be on a new line.
Open

                        "import javax.annotation.Generated;" + EOL +

'+' should be on a new line.
Open

                        "        this.doDeactivate();" + EOL +

'+' should be on a new line.
Open

                        "@Component(service = com.adobe.acs.commons.mcp.form.DialogResourceProvider.class, immediate = true)" + EOL +

'+' should be on a new line.
Open

                        "@Generated(\"Created by the ACS Commons DialogProviderAnnotationProcessor\")" + EOL +

'+' should be on a new line.
Open

                        "public class Example3_dialogResourceProvider implements com.adobe.acs.commons.mcp.form.DialogResourceProvider {" + EOL +

'+' should be on a new line.
Open

                        "public class Example1_dialogResourceProvider implements com.adobe.acs.commons.mcp.form.DialogResourceProvider {" + EOL +

'+' should be on a new line.
Open

                        "    public void deactivate(BundleContext context) {" + EOL +

'+' should be on a new line.
Open

                        "import org.osgi.annotation.versioning.ConsumerType;" + EOL +

'+' should be on a new line.
Open

                        "    public void activate(BundleContext context) throws InstantiationException, IllegalAccessException, ReflectiveOperationException {" + EOL +

There are no issues that match your filters.

Category
Status