From 4ef176d3c5f027a7cc83cdd69c4a34cbe67bcf2f Mon Sep 17 00:00:00 2001 From: Minh VU Date: Fri, 18 Oct 2024 16:16:05 +0200 Subject: [PATCH] Improve manager update manager --- src/CompatibilityChecker.java | 8 +++++--- src/CompatibilityManager.java | 28 ++++++---------------------- 2 files changed, 11 insertions(+), 25 deletions(-) diff --git a/src/CompatibilityChecker.java b/src/CompatibilityChecker.java index a550d80..62a775f 100644 --- a/src/CompatibilityChecker.java +++ b/src/CompatibilityChecker.java @@ -8,16 +8,18 @@ import fr.istic.nplouzeau.cartaylor.api.PartType; public class CompatibilityChecker implements fr.istic.nplouzeau.cartaylor.api.CompatibilityChecker { - private HashMap> incompatibilites; + private HashMap> incompatibilities; private HashMap> requirements; - public CompatibilityChecker(Set incompatibilities, Set requirements){ + public CompatibilityChecker( HashMap> incompatibilities, HashMap> requirements){ + this.incompatibilities=incompatibilities; + this.requirements= requirements; } @Override public Set getIncompatibilities(PartType reference) { - return this.incompatibilites.get(reference); + return this.incompatibilities.get(reference); } @Override diff --git a/src/CompatibilityManager.java b/src/CompatibilityManager.java index 518fe49..393e53a 100644 --- a/src/CompatibilityManager.java +++ b/src/CompatibilityManager.java @@ -6,15 +6,7 @@ import java.util.Set; import fr.istic.nplouzeau.cartaylor.api.PartType; -public class CompatibilityManager implements fr.istic.nplouzeau.cartaylor.api.CompatibilityManager { - - private HashMap> incompatibilites; - private HashMap> requirements; - - public CompatibilityManager() { - this.requirements= new HashMap<>(); - this.incompatibilites = new HashMap<>(); - } +public abstract class CompatibilityManager implements fr.istic.nplouzeau.cartaylor.api.CompatibilityManager { @Override public void addIncompatibilities(PartType reference, Set target){ @@ -27,8 +19,7 @@ public class CompatibilityManager implements fr.istic.nplouzeau.cartaylor.api.Co Set require = this.getRequirements(reference); if(incompa== null){ - incompa= new HashSet(target); - this.incompatibilites.put(reference,incompa); + incompa=target; }else { for(PartType x: target){ if (incompa.contains(x)){ @@ -81,8 +72,7 @@ public class CompatibilityManager implements fr.istic.nplouzeau.cartaylor.api.Co Set incompa = this.getIncompatibilities(reference); Set require = this.getRequirements(reference); if(require== null){ - require= new HashSet(target); - this.incompatibilites.put(reference,require); + require= target; }else { for(PartType x: target){ if (require.contains(x)){ @@ -126,13 +116,7 @@ public class CompatibilityManager implements fr.istic.nplouzeau.cartaylor.api.Co } } - @Override - public Set getIncompatibilities(PartType reference) { - return this.incompatibilites.get(reference); - } - @Override - public Set getRequirements(PartType reference) { - return this.requirements.get(reference); - } -} + public abstract Set getIncompatibilities(PartType reference); + public abstract Set getRequirements(PartType reference); +} \ No newline at end of file