Skip to content

Commit 3d9c619

Browse files
committed
Fix sonar warnings
1 parent bacc130 commit 3d9c619

File tree

8 files changed

+60
-57
lines changed

8 files changed

+60
-57
lines changed

jfxui/src/main/java/org/itsallcode/whiterabbit/jfxui/table/days/DayRecordTable.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ private void updateSelectedRow(final MonthIndex previousMonth, final MonthIndex
117117
}
118118
}
119119

120-
private boolean otherMonthSelected(final MonthIndex previousMonth, final MonthIndex month)
120+
private static boolean otherMonthSelected(final MonthIndex previousMonth, final MonthIndex month)
121121
{
122122
return previousMonth != null
123123
&& !month.getYearMonth().equals(previousMonth.getYearMonth());

jfxui/src/main/java/org/itsallcode/whiterabbit/jfxui/ui/YearlyProjectReportViewer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ private static ReportRow createRow(final int year, final ProjectReportActivity p
7171
return new ReportRow(year, project);
7272
}
7373

74-
public static class ReportRow
74+
public final static class ReportRow
7575
{
7676
private final int year;
7777
private final ProjectReportActivity project;

logic/src/main/java/org/itsallcode/whiterabbit/logic/autocomplete/AutocompleteService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ public Optional<ProjectImpl> getSuggestedProject()
111111
return mostFrequentlyUsedProject;
112112
}
113113

114-
private static class CachingAutocompleter implements AutocompleteEntrySupplier
114+
private static final class CachingAutocompleter implements AutocompleteEntrySupplier
115115
{
116116
private TextIndex index;
117117
private final Supplier<List<String>> availableTextSupplier;

logic/src/main/java/org/itsallcode/whiterabbit/logic/autocomplete/TextIndex.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import org.apache.logging.log4j.LogManager;
1616
import org.apache.logging.log4j.Logger;
1717

18-
class TextIndex implements AutocompleteEntrySupplier
18+
final class TextIndex implements AutocompleteEntrySupplier
1919
{
2020
private static final Logger LOG = LogManager.getLogger(TextIndex.class);
2121
private static final int MAX_RESULTS = 10;

logic/src/main/java/org/itsallcode/whiterabbit/logic/model/DayActivities.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ private Duration getUnallocatedDuration()
136136
return dayRecord.getWorkingTime().minus(allocatedDuration);
137137
}
138138

139+
@SuppressWarnings("java:S1142") // More than 3 returns required for logging
139140
public boolean isValidAllocation()
140141
{
141142
final List<ActivityData> remainderActivities = getActivities()

logic/src/main/java/org/itsallcode/whiterabbit/logic/model/MonthIndex.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,13 @@
2121
import org.itsallcode.whiterabbit.logic.service.contract.ContractTermsService;
2222
import org.itsallcode.whiterabbit.logic.service.project.ProjectService;
2323

24-
public class MonthIndex
24+
public final class MonthIndex
2525
{
2626
private final ModelFactory modelFactory;
2727
private final MonthData monthRecord;
2828
private final Map<LocalDate, DayRecord> days;
2929

30+
@SuppressWarnings("java:S2384") // Storing a copy of "days" is required here
3031
private MonthIndex(final ModelFactory modelFactory, final MonthData monthRecord,
3132
final Map<LocalDate, DayRecord> days)
3233
{

logic/src/main/java/org/itsallcode/whiterabbit/logic/report/project/ProjectReportGenerator.java

Lines changed: 51 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -19,64 +19,64 @@
1919

2020
public class ProjectReportGenerator
2121
{
22-
private final Storage storage;
22+
private final Storage storage;
2323

24-
public ProjectReportGenerator(final Storage storage)
25-
{
26-
this.storage = storage;
27-
}
24+
public ProjectReportGenerator(final Storage storage)
25+
{
26+
this.storage = storage;
27+
}
2828

29-
public ProjectReport generateReport(final YearMonth month)
30-
{
31-
final List<DayRecord> sortedDays = storage.loadMonth(month)
32-
.map(MonthIndex::getSortedDays).orElse(Stream.empty()).toList();
29+
public ProjectReport generateReport(final YearMonth month)
30+
{
31+
final List<DayRecord> sortedDays = storage.loadMonth(month)
32+
.map(MonthIndex::getSortedDays).orElse(Stream.empty()).toList();
3333

34-
final List<ProjectReportDay> reportDays = sortedDays.stream()
35-
.map(this::generateDayReport)
36-
.toList();
34+
final List<ProjectReportDay> reportDays = sortedDays.stream()
35+
.map(this::generateDayReport)
36+
.toList();
3737

38-
final List<ProjectReportActivity> reportProjects = sortedDays.stream()
39-
.flatMap(day -> day.activities().getAll().stream())
40-
.filter(activity -> activity.getProject() != null)
41-
.collect(groupingBy(Activity::getProject))
42-
.values().stream()
43-
.map(ProjectReportGenerator::aggregateProject)
44-
.toList();
38+
final List<ProjectReportActivity> reportProjects = sortedDays.stream()
39+
.flatMap(day -> day.activities().getAll().stream())
40+
.filter(activity -> activity.getProject() != null)
41+
.collect(groupingBy(Activity::getProject))
42+
.values().stream()
43+
.map(ProjectReportGenerator::aggregateProject)
44+
.toList();
4545

46-
return new ProjectReportImpl(month, reportDays, reportProjects);
47-
}
46+
return new ProjectReportImpl(month, reportDays, reportProjects);
47+
}
4848

49-
private ProjectReportDay generateDayReport(final DayRecord dayRecord)
50-
{
51-
final List<ProjectReportActivity> projects = dayRecord.activities()
52-
.getAll().stream()
53-
.filter(activity -> activity.getProject() != null)
54-
.collect(groupingBy(this::activityProject))
55-
.values().stream()
56-
.map(ProjectReportGenerator::aggregateProject)
57-
.toList();
49+
private ProjectReportDay generateDayReport(final DayRecord dayRecord)
50+
{
51+
final List<ProjectReportActivity> projects = dayRecord.activities()
52+
.getAll().stream()
53+
.filter(activity -> activity.getProject() != null)
54+
.collect(groupingBy(this::activityProject))
55+
.values().stream()
56+
.map(ProjectReportGenerator::aggregateProject)
57+
.toList();
5858

59-
return new DayImpl(dayRecord.getDate(), dayRecord.getType(), dayRecord.getComment(), projects);
60-
}
59+
return new DayImpl(dayRecord.getDate(), dayRecord.getType(), dayRecord.getComment(), projects);
60+
}
6161

62-
private String activityProject(final Activity activity)
63-
{
64-
return activity.getProject().getProjectId();
65-
}
62+
private String activityProject(final Activity activity)
63+
{
64+
return activity.getProject().getProjectId();
65+
}
6666

67-
private static ProjectReportActivity aggregateProject(final List<Activity> projectActivites)
68-
{
69-
final Duration totalWorkingTime = projectActivites.stream()
70-
.filter(activity -> activity.getDuration() != null)
71-
.map(Activity::getDuration).reduce(Duration::plus)
72-
.orElse(Duration.ZERO);
73-
final List<String> comments = projectActivites.stream()
74-
.map(Activity::getComment)
75-
.filter(Objects::nonNull)
76-
.filter(comment -> !comment.isBlank())
77-
.distinct()
78-
.toList();
79-
return new ProjectReportImpl.ProjectActivityImpl(projectActivites.get(0).getProject(), totalWorkingTime,
80-
comments);
81-
}
67+
private static ProjectReportActivity aggregateProject(final List<Activity> projectActivites)
68+
{
69+
final Duration totalWorkingTime = projectActivites.stream()
70+
.filter(activity -> activity.getDuration() != null)
71+
.map(Activity::getDuration).reduce(Duration::plus)
72+
.orElse(Duration.ZERO);
73+
final List<String> comments = projectActivites.stream()
74+
.map(Activity::getComment)
75+
.filter(Objects::nonNull)
76+
.filter(comment -> !comment.isBlank())
77+
.distinct()
78+
.toList();
79+
return new ProjectReportImpl.ProjectActivityImpl(projectActivites.get(0).getProject(), totalWorkingTime,
80+
comments);
81+
}
8282
}

logic/src/main/java/org/itsallcode/whiterabbit/logic/service/plugin/AppPluginImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
import org.itsallcode.whiterabbit.api.features.PluginFeature;
1313
import org.itsallcode.whiterabbit.logic.Config;
1414

15-
class AppPluginImpl implements AppPlugin
15+
final class AppPluginImpl implements AppPlugin
1616
{
1717
private static final Logger LOG = LogManager.getLogger(AppPluginImpl.class);
1818

@@ -70,6 +70,7 @@ public boolean supports(final Class<? extends PluginFeature> featureType)
7070
}
7171
}
7272

73+
@Override
7374
public <T extends PluginFeature> Optional<T> getFeature(final Class<T> featureType)
7475
{
7576
return plugin.getFeature(featureType);

0 commit comments

Comments
 (0)