Improve manager

update manager
This commit is contained in:
Minh VU
2024-10-18 16:16:05 +02:00
parent ce92682230
commit 4ef176d3c5
2 changed files with 11 additions and 25 deletions

View File

@@ -8,16 +8,18 @@ import fr.istic.nplouzeau.cartaylor.api.PartType;
public class CompatibilityChecker implements fr.istic.nplouzeau.cartaylor.api.CompatibilityChecker {
private HashMap<PartType, Set<PartType>> incompatibilites;
private HashMap<PartType, Set<PartType>> incompatibilities;
private HashMap<PartType, Set<PartType>> requirements;
public CompatibilityChecker(Set<PartType> incompatibilities, Set<PartType> requirements){
public CompatibilityChecker( HashMap<PartType, Set<PartType>> incompatibilities, HashMap<PartType, Set<PartType>> requirements){
this.incompatibilities=incompatibilities;
this.requirements= requirements;
}
@Override
public Set<PartType> getIncompatibilities(PartType reference) {
return this.incompatibilites.get(reference);
return this.incompatibilities.get(reference);
}
@Override

View File

@@ -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<PartType, Set<PartType>> incompatibilites;
private HashMap<PartType, Set<PartType>> 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<PartType> target){
@@ -27,8 +19,7 @@ public class CompatibilityManager implements fr.istic.nplouzeau.cartaylor.api.Co
Set<PartType> require = this.getRequirements(reference);
if(incompa== null){
incompa= new HashSet<PartType>(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<PartType> incompa = this.getIncompatibilities(reference);
Set<PartType> require = this.getRequirements(reference);
if(require== null){
require= new HashSet<PartType>(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<PartType> getIncompatibilities(PartType reference) {
return this.incompatibilites.get(reference);
}
@Override
public Set<PartType> getRequirements(PartType reference) {
return this.requirements.get(reference);
}
}
public abstract Set<PartType> getIncompatibilities(PartType reference);
public abstract Set<PartType> getRequirements(PartType reference);
}