|
|
@@ -25,12 +25,16 @@ class Main implements IApplication {
|
|
|
|
|
|
val helpOpt = Option.builder("h").longOpt("help").desc("Show this description").build();
|
|
|
val scenarioOpt = Option.builder("s").longOpt("scenario").desc("Path to scenario file").hasArg().numberOfArgs(1).argName("path").build();
|
|
|
+ val genDefAdaptations = Option.builder("d").longOpt("default").desc("Generate default adaptations").build();
|
|
|
val outDirOpt = Option.builder("o").longOpt("output").desc("Path to output directory").hasArg().numberOfArgs(1).argName("path").build();
|
|
|
+ val nVarsOpt = Option.builder("n").longOpt("variants").desc("Number of variants to run").hasArg().numberOfArgs(1).argName("int").build();
|
|
|
|
|
|
val options = new Options();
|
|
|
options.addOption(helpOpt);
|
|
|
options.addOption(scenarioOpt)
|
|
|
+ options.addOption(genDefAdaptations)
|
|
|
options.addOption(outDirOpt)
|
|
|
+ options.addOption(nVarsOpt)
|
|
|
|
|
|
val parser = new DefaultParser();
|
|
|
var CommandLine cmd;
|
|
|
@@ -58,10 +62,20 @@ class Main implements IApplication {
|
|
|
val loader = new ModelStorage()
|
|
|
val src = loader.loadCandidates(scenarioFile)
|
|
|
|
|
|
+ if (cmd.hasOption(genDefAdaptations.getOpt())){
|
|
|
+ new CandidateSpaceGenerator().createDefaultCandidateSpace(src)
|
|
|
+ }
|
|
|
+
|
|
|
val generator = new CandidatesGenerator(new ConstraintChecker,new VariantValidator, new VariantProcessor(new CosimRunner(new OutputProcessor(outDir))))
|
|
|
|
|
|
generator.createVariantTree(src)
|
|
|
- generator.generateVariants(src)
|
|
|
+
|
|
|
+ if (cmd.hasOption(nVarsOpt.getOpt())){
|
|
|
+ val nVars = Integer.parseInt(cmd.getOptionValue(nVarsOpt.getOpt()))
|
|
|
+ generator.generateVariants(src, nVars)
|
|
|
+ } else {
|
|
|
+ generator.generateVariants(src)
|
|
|
+ }
|
|
|
|
|
|
return IApplication.EXIT_OK
|
|
|
}
|