PMD Results
The following document contains the results of PMD 6.13.0.
Violations By Priority
Priority 1
fr/paris/lutece/plugins/appointment/modules/resource/business/AppointmentFormResourceTypeHome.java
Priority 2
fr/paris/lutece/plugins/appointment/modules/resource/service/AppointmentResourceService.java
Priority 3
fr/paris/lutece/plugins/appointment/modules/resource/business/AppointmentFormResourceTypeDAO.java
fr/paris/lutece/plugins/appointment/modules/resource/business/AppointmentResourceDTO.java
Rule |
Violation |
Line |
DataClass |
The class 'AppointmentResourceDTO' is suspected to be a Data Class (WOC=0.000%, NOPA=0, NOAM=4, WMC=5) |
41–101 |
CallSuperInConstructor |
It is a good practice to call super() in a constructor |
53–58 |
fr/paris/lutece/plugins/appointment/modules/resource/business/calendar/CalendarAppointmentResourceDTO.java
fr/paris/lutece/plugins/appointment/modules/resource/business/calendar/CalendarDayDTO.java
fr/paris/lutece/plugins/appointment/modules/resource/business/form/FormResourceCalendar.java
fr/paris/lutece/plugins/appointment/modules/resource/business/workflow/SetAppointmentResourceHistoryDAO.java
fr/paris/lutece/plugins/appointment/modules/resource/business/workflow/TaskSetAppointmentResourceConfigDAO.java
fr/paris/lutece/plugins/appointment/modules/resource/service/AppointmentResourceAddonService.java
Rule |
Violation |
Line |
UseDiamondOperator |
Explicit type arguments can be replaced by Diamond Operator |
69 |
UseConcurrentHashMap |
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation |
85 |
UseDiamondOperator |
Explicit type arguments can be replaced by Diamond Operator |
85 |
fr/paris/lutece/plugins/appointment/modules/resource/service/AppointmentResourceService.java
fr/paris/lutece/plugins/appointment/modules/resource/service/workflow/TaskSetAppointmentResource.java
fr/paris/lutece/plugins/appointment/modules/resource/web/AppointmentFormResourcesJspBean.java
fr/paris/lutece/plugins/appointment/modules/resource/web/AppointmentResourceJspBean.java
Rule |
Violation |
Line |
ExcessiveImports |
A high number of imports can indicate a high degree of coupling within an object. |
34–533 |
NPathComplexity |
The method 'getWeekResourceCalendar(IResource, int, Locale)' has an NPath complexity of 676 |
266–411 |
NcssCount |
The method 'getWeekResourceCalendar(IResource, int, Locale)' has a NCSS line count of 83. |
266–411 |
CyclomaticComplexity |
The method 'getWeekResourceCalendar(IResource, int, Locale)' has a cyclomatic complexity of 13. |
266–411 |
ExcessiveMethodLength |
Avoid really long methods. |
266–411 |
UseConcurrentHashMap |
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation |
269 |
UseConcurrentHashMap |
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation |
288 |
UseConcurrentHashMap |
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation |
450 |
SimplifyStartsWith |
This call to String.startsWith can be rewritten using String.charAt(0) |
516 |
fr/paris/lutece/plugins/appointment/modules/resource/web/AppointmentUserCalendarDashboardComponent.java
Rule |
Violation |
Line |
UseConcurrentHashMap |
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation |
80 |
fr/paris/lutece/plugins/appointment/modules/resource/web/workflow/SetAppointmentResourceTaskComponent.java
Priority 4
fr/paris/lutece/plugins/appointment/modules/resource/business/AppointmentFormResourceType.java
fr/paris/lutece/plugins/appointment/modules/resource/business/workflow/TaskSetAppointmentResourceConfig.java
fr/paris/lutece/plugins/appointment/modules/resource/service/AppointmentResourceService.java
Rule |
Violation |
Line |
UnusedImports |
Avoid unused imports such as 'fr.paris.lutece.plugins.appointment.business.appointment.Appointment' |
36 |
UnusedImports |
Avoid unused imports such as 'fr.paris.lutece.plugins.appointment.business.slot.Slot' |
37 |
UnusedImports |
Avoid unused imports such as 'fr.paris.lutece.plugins.appointment.service.SlotService' |
40 |
Files
fr/paris/lutece/plugins/appointment/modules/resource/business/AppointmentFormResourceType.java
fr/paris/lutece/plugins/appointment/modules/resource/business/AppointmentFormResourceTypeDAO.java
fr/paris/lutece/plugins/appointment/modules/resource/business/AppointmentFormResourceTypeHome.java
fr/paris/lutece/plugins/appointment/modules/resource/business/AppointmentResourceDTO.java
Rule |
Violation |
Priority |
Line |
DataClass |
The class 'AppointmentResourceDTO' is suspected to be a Data Class (WOC=0.000%, NOPA=0, NOAM=4, WMC=5) |
3 |
41–101 |
CallSuperInConstructor |
It is a good practice to call super() in a constructor |
3 |
53–58 |
fr/paris/lutece/plugins/appointment/modules/resource/business/calendar/CalendarAppointmentResourceDTO.java
fr/paris/lutece/plugins/appointment/modules/resource/business/calendar/CalendarDayDTO.java
fr/paris/lutece/plugins/appointment/modules/resource/business/form/FormResourceCalendar.java
fr/paris/lutece/plugins/appointment/modules/resource/business/workflow/SetAppointmentResourceHistoryDAO.java
fr/paris/lutece/plugins/appointment/modules/resource/business/workflow/TaskSetAppointmentResourceConfig.java
fr/paris/lutece/plugins/appointment/modules/resource/business/workflow/TaskSetAppointmentResourceConfigDAO.java
fr/paris/lutece/plugins/appointment/modules/resource/service/AppointmentResourceAddonService.java
Rule |
Violation |
Priority |
Line |
UseDiamondOperator |
Explicit type arguments can be replaced by Diamond Operator |
3 |
69 |
UseConcurrentHashMap |
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation |
3 |
85 |
UseDiamondOperator |
Explicit type arguments can be replaced by Diamond Operator |
3 |
85 |
fr/paris/lutece/plugins/appointment/modules/resource/service/AppointmentResourceService.java
Rule |
Violation |
Priority |
Line |
UnusedImports |
Avoid unused imports such as 'fr.paris.lutece.plugins.appointment.business.appointment.Appointment' |
4 |
36 |
UnusedImports |
Avoid unused imports such as 'fr.paris.lutece.plugins.appointment.business.slot.Slot' |
4 |
37 |
UnusedImports |
Avoid unused imports such as 'fr.paris.lutece.plugins.appointment.service.SlotService' |
4 |
40 |
AvoidUsingVolatile |
Use of modifier volatile is not recommended. |
2 |
54 |
NonThreadSafeSingleton |
Singleton is not thread safe |
3 |
63–66 |
fr/paris/lutece/plugins/appointment/modules/resource/service/workflow/TaskSetAppointmentResource.java
fr/paris/lutece/plugins/appointment/modules/resource/web/AppointmentFormResourcesJspBean.java
fr/paris/lutece/plugins/appointment/modules/resource/web/AppointmentResourceJspBean.java
Rule |
Violation |
Priority |
Line |
ExcessiveImports |
A high number of imports can indicate a high degree of coupling within an object. |
3 |
34–533 |
NPathComplexity |
The method 'getWeekResourceCalendar(IResource, int, Locale)' has an NPath complexity of 676 |
3 |
266–411 |
NcssCount |
The method 'getWeekResourceCalendar(IResource, int, Locale)' has a NCSS line count of 83. |
3 |
266–411 |
CyclomaticComplexity |
The method 'getWeekResourceCalendar(IResource, int, Locale)' has a cyclomatic complexity of 13. |
3 |
266–411 |
ExcessiveMethodLength |
Avoid really long methods. |
3 |
266–411 |
UseConcurrentHashMap |
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation |
3 |
269 |
UseConcurrentHashMap |
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation |
3 |
288 |
UseConcurrentHashMap |
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation |
3 |
450 |
SimplifyStartsWith |
This call to String.startsWith can be rewritten using String.charAt(0) |
3 |
516 |
fr/paris/lutece/plugins/appointment/modules/resource/web/AppointmentUserCalendarDashboardComponent.java
Rule |
Violation |
Priority |
Line |
UseConcurrentHashMap |
If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation |
3 |
80 |
fr/paris/lutece/plugins/appointment/modules/resource/web/workflow/SetAppointmentResourceTaskComponent.java