CMSgov/dpc-app

View on GitHub
dpc-queue/src/main/java/gov/cms/dpc/queue/models/JobQueueBatch.java

Summary

Maintainability
A
1 hr
Test Coverage
B
85%

JobQueueBatch has 44 methods (exceeds 20 allowed). Consider refactoring.
Wontfix

@Entity(name = "job_queue_batch")
public class JobQueueBatch implements Serializable {

    private static final long serialVersionUID = -578824686165779398L;

Severity: Minor
Found in dpc-queue/src/main/java/gov/cms/dpc/queue/models/JobQueueBatch.java - About 6 hrs to fix

    File JobQueueBatch.java has 374 lines of code (exceeds 250 allowed). Consider refactoring.
    Wontfix

    package gov.cms.dpc.queue.models;
    
    import gov.cms.dpc.common.converters.hibernate.StringListConverter;
    import gov.cms.dpc.fhir.DPCResourceType;
    import gov.cms.dpc.queue.JobStatus;
    Severity: Minor
    Found in dpc-queue/src/main/java/gov/cms/dpc/queue/models/JobQueueBatch.java - About 5 hrs to fix

      Method equals has 26 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          @Override
          public boolean equals(Object o) {
              if (this == o) return true;
      
              if (!(o instanceof JobQueueBatch)) return false;
      Severity: Minor
      Found in dpc-queue/src/main/java/gov/cms/dpc/queue/models/JobQueueBatch.java - About 1 hr to fix

        Constructor has 11 parameters, which is greater than 7 authorized.
        Open

            public JobQueueBatch(UUID jobID,

        A long parameter list can indicate that a new structure should be created to wrap the numerous parameters or that the function is doing too many things.

        Noncompliant Code Example

        With a maximum number of 4 parameters:

        public void doSomething(int param1, int param2, int param3, String param4, long param5) {
        ...
        }
        

        Compliant Solution

        public void doSomething(int param1, int param2, int param3, String param4) {
        ...
        }
        

        Exceptions

        Methods annotated with :

        • Spring's @RequestMapping (and related shortcut annotations, like @GetRequest)
        • JAX-RS API annotations (like @javax.ws.rs.GET)
        • Bean constructor injection with @org.springframework.beans.factory.annotation.Autowired
        • CDI constructor injection with @javax.inject.Inject
        • @com.fasterxml.jackson.annotation.JsonCreator

        may have a lot of parameters, encapsulation being possible. Such methods are therefore ignored.

        There are no issues that match your filters.

        Category
        Status