wrench-project / eduwrench

eduWRENCH Pedagogic Modules - Parallel and Distributed Computing Courseware
https://eduwrench.org
GNU General Public License v3.0
6 stars 3 forks source link

Client Server with Disk (Pipelining simulator): prevent execution when input is invalid #39

Closed henricasanova closed 4 years ago

henricasanova commented 4 years ago

Somehow, the "Run Simulation" button still runs the simulation when input is invalid. It seems that's not the case for other simulators, but Henri couldn't figure out the difference... e.g., the basic Client-Server simulator

rafaelfsilva commented 4 years ago

@henricasanova, I did a small fix to the javascript, but I am not sure the issue is solved. I am not experience this same problem. Which set of parameters or which procedure did you follow, so I can try to reproduce here?

henricasanova commented 4 years ago

It didn't fix it. Just put small value for the buffer size (less than 50000). And you'll see.

rafaelfsilva commented 4 years ago

got it. I think it is fixed now, it was a matter of putting the right range of values in the form definition. We might need to check other forms too. I did some in the past, but not all of them.

henricasanova commented 4 years ago

I started going through all simulators, and I am encountering a problem on the first one :) (IO Operations). Entering invalid input, e.g., a number of tasks = to 0, prints the "Invalid message", the HTML form has the right value, and yet the simulator is called (it fails due to invalid argument), but still it takes one second or two. By contrast, the client-server-pipelining simulator that you fixed above doesn't have that bad behavior, and I don't really see the difference. Some of the HTML tags are different in the two files (client_server_disk.html vs. io_operations.html), but could that be it? Sorry to be such a Web development n00b ;)

rafaelfsilva commented 4 years ago

I have fixed the IO operations form. It was missing a type="number" in the HTML form declaration.

henricasanova commented 4 years ago

thanks! I made a pass through all the simulators and fixed a bunch of the HTML and modifed the JavaScript. The one simulator form that I have trouble with is CoordinaterWorker, 2nd Tab (web/_includes/simluation/coordinator_worker_generated.html)

For some reason, on this form the read "invalid-feedback" stuff doesn't show up whenever a wrong value is entered in a field (it is only caught when hitting the Run button, which then shows a callout... Not sure why this one is different than the others. Will investigate when more time. When this one is fixed, we can close this issue!

rafaelfsilva commented 4 years ago

It missed the javascript to ensure the validation on keyup. Let me know if it looks right now.

henricasanova commented 4 years ago

Looks great! Closing this issue.