prasadtalasila/BITS-Darshini

View on GitHub
src/main/java/in/ac/bits/protocolanalyzer/protocol/ProtocolGraphParser.java

Summary

Maintainability
A
0 mins
Test Coverage

Extra separation in import group before 'lombok.extern.log4j.Log4j'
Open

import lombok.extern.log4j.Log4j;

Checks that the groups of import declarations appear in the order specifiedby the user. If there is an import but its group is not specified in theconfiguration such an import should be placed at the end of the import list.

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

Extra separation in import group before 'org.springframework.beans.factory.annotation.Autowired'
Open

import org.springframework.beans.factory.annotation.Autowired;

Checks that the groups of import declarations appear in the order specifiedby the user. If there is an import but its group is not specified in theconfiguration such an import should be placed at the end of the import list.

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

Wrong lexicographical order for 'in.ac.bits.protocolanalyzer.analyzer.Session' import. Should be before 'org.springframework.stereotype.Component'.
Open

import in.ac.bits.protocolanalyzer.analyzer.Session;

Checks that the groups of import declarations appear in the order specifiedby the user. If there is an import but its group is not specified in theconfiguration such an import should be placed at the end of the import list.

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

Extra separation in import group before 'in.ac.bits.protocolanalyzer.analyzer.Session'
Open

import in.ac.bits.protocolanalyzer.analyzer.Session;

Checks that the groups of import declarations appear in the order specifiedby the user. If there is an import but its group is not specified in theconfiguration such an import should be placed at the end of the import list.

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

Avoid reassigning parameters such as 'linePtr'
Open

    private int collectNodes(Session session, int linePtr) {

AvoidReassigningParameters

Since: PMD 1.0

Priority: Medium High

Categories: Style

Remediation Points: 50000

Reassigning values to incoming parameters is not recommended. Use temporary local variables instead.

Example:

public class Foo {
 private void foo(String bar) {
 bar = 'something else';
 }
}

Private field 'graphLines' could be made final; it is only initialized in the declaration or constructor.
Open

    private ArrayList<String> graphLines = new ArrayList<String>();

ImmutableField

Since: PMD 2.0

Priority: Medium

Categories: Style

Remediation Points: 50000

Identifies private fields whose values never change once they are initialized either in the declaration of the field or by a constructor. This helps in converting existing classes to becoming immutable ones.

Example:

public class Foo {
 private int x; // could be final
 public Foo() {
 x = 7;
 }
 public void foo() {
 int a = x + 2;
 }
}

Avoid if (x != y) ..; else ..;
Open

            if (!graphLines.get(linePtr).contains("graph")) {
                linePtr++;
            } else {
                break;
            }

ConfusingTernary

Since: PMD 1.9

Priority: Medium

Categories: Style

Remediation Points: 50000

Avoid negation within an 'if' expression with an 'else' clause. For example, rephrase: if (x != y) diff(); else same(); as: if (x == y) same(); else diff();. Most 'if (x != y)' cases without an 'else' are often return cases, so consistent use of this rule makes the code easier to read. Also, this resolves trivial ordering problems, such as 'does the error case go first?' or 'does the common case go first?'.

Example:

boolean bar(int x, int y) {
 return (x != y) ? diff : same;
}

Consider using varargs for methods or constructors which take an array the last parameter.
Open

    private void removeBlankLines(String[] lines) {

UseVarargs

Since: PMD 5.0

Priority: Medium Low

Categories: Style

Remediation Points: 50000

Java 5 introduced the varargs parameter declaration for methods and constructors. This syntactic sugar provides flexibility for users of these methods and constructors, allowing them to avoid having to deal with the creation of an array.

Example:

public class Foo {
 public void foo(String s, Object[] args) {
 // Do something here...
 }

 public void bar(String s, Object... args) {
 // Ahh, varargs tastes much better...
 }
}

Avoid reassigning parameters such as 'linePtr'
Open

    private int collectNodes(Session session, int linePtr) {

AvoidReassigningParameters

Since: PMD 1.0

Priority: Medium High

Categories: Style

Remediation Points: 50000

Reassigning values to incoming parameters is not recommended. Use temporary local variables instead.

Example:

public class Foo {
 private void foo(String bar) {
 bar = 'something else';
 }
}

There are no issues that match your filters.

Category
Status