diff options
author | Kristóf Marussy <kristof@marussy.com> | 2023-10-15 15:09:08 +0200 |
---|---|---|
committer | Kristóf Marussy <kristof@marussy.com> | 2023-10-15 15:09:08 +0200 |
commit | 02733629fb2b7e0d4dd8736a2cd83a116bf7a905 (patch) | |
tree | ca2d5dcf76a43299600074cff47ca34e06689bad /subprojects/interpreter-rete/src/main/java/tools/refinery/interpreter/rete/itc/alg/representative/StronglyConnectedComponentAlgorithm.java | |
parent | Merge pull request #44 from kris7t/interpreter-performance-fix (diff) | |
download | refinery-02733629fb2b7e0d4dd8736a2cd83a116bf7a905.tar.gz refinery-02733629fb2b7e0d4dd8736a2cd83a116bf7a905.tar.zst refinery-02733629fb2b7e0d4dd8736a2cd83a116bf7a905.zip |
refactor(interpreter): generify RepresentativeElectionAlgorithm
Let representative election be used in places where IncSCCAlg was used with
generic arguments other than Object.
Diffstat (limited to 'subprojects/interpreter-rete/src/main/java/tools/refinery/interpreter/rete/itc/alg/representative/StronglyConnectedComponentAlgorithm.java')
-rw-r--r-- | subprojects/interpreter-rete/src/main/java/tools/refinery/interpreter/rete/itc/alg/representative/StronglyConnectedComponentAlgorithm.java | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/subprojects/interpreter-rete/src/main/java/tools/refinery/interpreter/rete/itc/alg/representative/StronglyConnectedComponentAlgorithm.java b/subprojects/interpreter-rete/src/main/java/tools/refinery/interpreter/rete/itc/alg/representative/StronglyConnectedComponentAlgorithm.java index 44afd73e..d2e524f7 100644 --- a/subprojects/interpreter-rete/src/main/java/tools/refinery/interpreter/rete/itc/alg/representative/StronglyConnectedComponentAlgorithm.java +++ b/subprojects/interpreter-rete/src/main/java/tools/refinery/interpreter/rete/itc/alg/representative/StronglyConnectedComponentAlgorithm.java | |||
@@ -13,8 +13,8 @@ import tools.refinery.interpreter.rete.itc.alg.misc.scc.SCC; | |||
13 | import java.util.Collection; | 13 | import java.util.Collection; |
14 | import java.util.Set; | 14 | import java.util.Set; |
15 | 15 | ||
16 | public class StronglyConnectedComponentAlgorithm extends RepresentativeElectionAlgorithm { | 16 | public class StronglyConnectedComponentAlgorithm<T> extends RepresentativeElectionAlgorithm<T> { |
17 | public StronglyConnectedComponentAlgorithm(Graph<Object> graph) { | 17 | public StronglyConnectedComponentAlgorithm(Graph<T> graph) { |
18 | super(graph); | 18 | super(graph); |
19 | } | 19 | } |
20 | 20 | ||
@@ -27,7 +27,7 @@ public class StronglyConnectedComponentAlgorithm extends RepresentativeElectionA | |||
27 | } | 27 | } |
28 | 28 | ||
29 | @Override | 29 | @Override |
30 | public void edgeInserted(Object source, Object target) { | 30 | public void edgeInserted(T source, T target) { |
31 | var sourceRoot = getRepresentative(source); | 31 | var sourceRoot = getRepresentative(source); |
32 | var targetRoot = getRepresentative(target); | 32 | var targetRoot = getRepresentative(target); |
33 | if (sourceRoot.equals(targetRoot)) { | 33 | if (sourceRoot.equals(targetRoot)) { |
@@ -43,7 +43,7 @@ public class StronglyConnectedComponentAlgorithm extends RepresentativeElectionA | |||
43 | } | 43 | } |
44 | 44 | ||
45 | @Override | 45 | @Override |
46 | public void edgeDeleted(Object source, Object target) { | 46 | public void edgeDeleted(T source, T target) { |
47 | var sourceRoot = getRepresentative(source); | 47 | var sourceRoot = getRepresentative(source); |
48 | var targetRoot = getRepresentative(target); | 48 | var targetRoot = getRepresentative(target); |
49 | if (!sourceRoot.equals(targetRoot)) { | 49 | if (!sourceRoot.equals(targetRoot)) { |
@@ -57,7 +57,7 @@ public class StronglyConnectedComponentAlgorithm extends RepresentativeElectionA | |||
57 | } | 57 | } |
58 | } | 58 | } |
59 | 59 | ||
60 | private void split(Object preservedRepresentative, Collection<? extends Set<Object>> sets) { | 60 | private void split(T preservedRepresentative, Collection<? extends Set<T>> sets) { |
61 | for (var set : sets) { | 61 | for (var set : sets) { |
62 | if (set.contains(preservedRepresentative)) { | 62 | if (set.contains(preservedRepresentative)) { |
63 | components.put(preservedRepresentative, set); | 63 | components.put(preservedRepresentative, set); |