Skip to content

Commit de13f2f

Browse files
committed
Convert SccStatsResult to record
1 parent 74da2e1 commit de13f2f

File tree

1 file changed

+9
-54
lines changed
  • procedures/facade-api/community-facade-api/src/main/java/org/neo4j/gds/procedures/algorithms/community

1 file changed

+9
-54
lines changed

procedures/facade-api/community-facade-api/src/main/java/org/neo4j/gds/procedures/algorithms/community/SccStatsResult.java

Lines changed: 9 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -19,37 +19,20 @@
1919
*/
2020
package org.neo4j.gds.procedures.algorithms.community;
2121

22-
import org.neo4j.gds.api.ProcedureReturnColumns;
2322
import org.neo4j.gds.applications.algorithms.machinery.AlgorithmProcessingTimings;
24-
import org.neo4j.gds.core.concurrency.Concurrency;
25-
import org.neo4j.gds.result.AbstractCommunityResultBuilder;
23+
import org.neo4j.gds.procedures.algorithms.results.StatsResult;
2624

2725
import java.util.Collections;
2826
import java.util.Map;
2927

30-
public class SccStatsResult {
31-
public final long componentCount;
32-
public final Map<String, Object> componentDistribution;
33-
public final long preProcessingMillis;
34-
public final long computeMillis;
35-
public final long postProcessingMillis;
36-
public final Map<String, Object> configuration;
37-
38-
public SccStatsResult(
39-
long componentCount,
40-
Map<String, Object> componentDistribution,
41-
long preProcessingMillis,
42-
long computeMillis,
43-
long postProcessingMillis,
44-
Map<String, Object> configuration
45-
) {
46-
this.postProcessingMillis = postProcessingMillis;
47-
this.preProcessingMillis = preProcessingMillis;
48-
this.computeMillis = computeMillis;
49-
this.configuration = configuration;
50-
this.componentCount = componentCount;
51-
this.componentDistribution = componentDistribution;
52-
}
28+
public record SccStatsResult(
29+
long componentCount,
30+
Map<String, Object> componentDistribution,
31+
long preProcessingMillis,
32+
long computeMillis,
33+
long postProcessingMillis,
34+
Map<String, Object> configuration
35+
) implements StatsResult {
5336

5437
static SccStatsResult emptyFrom(AlgorithmProcessingTimings timings, Map<String, Object> configurationMap) {
5538
return new SccStatsResult(
@@ -61,32 +44,4 @@ static SccStatsResult emptyFrom(AlgorithmProcessingTimings timings, Map<String,
6144
configurationMap
6245
);
6346
}
64-
65-
public static class Builder extends AbstractCommunityResultBuilder<SccStatsResult> {
66-
public Builder(ProcedureReturnColumns returnColumns, Concurrency concurrency) {
67-
super(returnColumns, concurrency);
68-
}
69-
70-
@Override
71-
public SccStatsResult buildResult() {
72-
return new SccStatsResult(
73-
maybeCommunityCount.orElse(0L),
74-
communityHistogramOrNull(),
75-
preProcessingMillis,
76-
computeMillis,
77-
postProcessingDuration,
78-
config.toMap()
79-
);
80-
}
81-
82-
public SccStatsResult.Builder buildHistogram(boolean buildHistogram) {
83-
this.buildHistogram = buildHistogram;
84-
return this;
85-
}
86-
87-
public SccStatsResult.Builder buildCommunityCount(boolean buildCommunityCount) {
88-
this.buildCommunityCount = buildCommunityCount;
89-
return this;
90-
}
91-
}
9247
}

0 commit comments

Comments
 (0)