misc: configurator: validate user settings before writing down
After clicking save button, validate settings before writing down scenario.xml, otherwise broken scenario.xml will be generated. Tracked-On: #7470 Signed-off-by: Calvin Zhang <calvinzhang.cool@gmail.com>
This commit is contained in:
parent
3062aa409f
commit
12b81d83ca
|
@ -342,13 +342,13 @@ export default {
|
||||||
let errorFlag = false
|
let errorFlag = false
|
||||||
errorFlag = this.confirmVmName()
|
errorFlag = this.confirmVmName()
|
||||||
this.assignVMID()
|
this.assignVMID()
|
||||||
let msg = ["Scenario xml saved\n",
|
let msg = [ "Settings validated\n",
|
||||||
".xml settings validated\n",
|
"scenario xml saved\n",
|
||||||
"launch scripts generated\n"];
|
"launch scripts generated\n"];
|
||||||
let errmsg = ["Scenario xml save failed\n",
|
let errmsg = [ "Settings validate failed\n",
|
||||||
".xml settings validate failed\n",
|
"scenario xml save failed\n",
|
||||||
"launch scripts generate failed\n"];
|
"launch scripts generate failed\n"];
|
||||||
let step = 0
|
let stepDone = 0
|
||||||
let scenarioXMLData = configurator.convertScenarioToXML(
|
let scenarioXMLData = configurator.convertScenarioToXML(
|
||||||
{
|
{
|
||||||
// simple deep copy
|
// simple deep copy
|
||||||
|
@ -365,34 +365,34 @@ export default {
|
||||||
// get scenario XML with defaults
|
// get scenario XML with defaults
|
||||||
scenarioXMLData = scenarioWithDefault.xml
|
scenarioXMLData = scenarioWithDefault.xml
|
||||||
if (!errorFlag) {
|
if (!errorFlag) {
|
||||||
// begin write down and verify
|
// begin verify and write down
|
||||||
configurator.writeFile(this.WorkingFolder + 'scenario.xml', scenarioXMLData)
|
console.log("validate settings...")
|
||||||
.then(() => {
|
try {
|
||||||
step = 1
|
this.errors = configurator.pythonObject.validateScenario(this.board.content, scenarioXMLData)
|
||||||
this.errors = configurator.pythonObject.validateScenario(this.board.content, scenarioXMLData)
|
if (this.errors.length != 0) {
|
||||||
if (this.errors.length != 0) {
|
throw "validation failed"
|
||||||
throw "validation failed"
|
}
|
||||||
}
|
console.log("validation ok")
|
||||||
})
|
stepDone = 1
|
||||||
.then(() => {
|
|
||||||
step = 2
|
configurator.writeFile(this.WorkingFolder + 'scenario.xml', scenarioXMLData)
|
||||||
let launchScripts = configurator.pythonObject.generateLaunchScript(this.board.content, scenarioXMLData)
|
stepDone = 2
|
||||||
for (let filename in launchScripts) {
|
|
||||||
configurator.writeFile(this.WorkingFolder + filename, launchScripts[filename])
|
let launchScripts = configurator.pythonObject.generateLaunchScript(this.board.content, scenarioXMLData)
|
||||||
}
|
for (let filename in launchScripts) {
|
||||||
})
|
configurator.writeFile(this.WorkingFolder + filename, launchScripts[filename])
|
||||||
.then(() => {
|
}
|
||||||
alert(`${msg.join('')} \n All files successfully saved to your working folder ${this.WorkingFolder}`)
|
stepDone = 3
|
||||||
})
|
alert(`${msg.join('')} \n All files successfully saved to your working folder ${this.WorkingFolder}`)
|
||||||
.catch((err) => {
|
} catch(err) {
|
||||||
console.log(err)
|
console.log("error" + err)
|
||||||
let outmsg = ''
|
let outmsg = ''
|
||||||
for (var i = 0; i < step; i++)
|
for (var i = 0; i < stepDone; i++)
|
||||||
outmsg += msg[i]
|
outmsg += msg[i]
|
||||||
for (i = step; i < 3; i++)
|
for (i = stepDone; i < 3; i++)
|
||||||
outmsg += errmsg[i]
|
outmsg += errmsg[i]
|
||||||
alert(`${outmsg} \n Please check your configuration`)
|
alert(`${outmsg} \n Please check your configuration`)
|
||||||
})
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue