package compareAlgorithm.smartPolicy;
import controller.diagramparser.ClassDiagramParser;
import controller.diagramparser.DiagramParser;
import domain.Diagram;
import domain.DiagramPolicyScore;
import domain.Policy;
public class PolicyScoreGenerator {
public DiagramPolicyScore generateScore(Policy policy, DiagramParser diagramParser) throws Exception
{
Diagram diagram = diagramParser.getDiagram();
if(diagram != null){
switch (diagram.getDiagramType())
{
case CLASS:
ClassDiagramScoreGenerator scoreGenerator = new ClassDiagramScoreGenerator(policy, (ClassDiagramParser)diagramParser);
return scoreGenerator.generateScore();
default:
return new DiagramPolicyScore(); //Diagram Parser is an abstract class. So cannot directly instantiate it.
}
}
return new DiagramPolicyScore();
}
}