private void printInputParameters( final PrintWriter w, BulkParameterFactory f, ExperimentRunSettings s, boolean allParams) { w.println("<form action=\"#\">"); w.println("<h2>Input parameters</h2>"); w.println("<table>"); for (final ParameterType t : ParameterType.values()) { if (!allParams && t.getDescription().isEmpty()) { continue; } w.println("<tr><td style=\"vertical-align:top;text-align:right\">"); w.println(t.toString()); w.println("</td><td style=\"vertical-align:top\">"); w.println(this.getInputFor(t, f)); w.println("</td><td style=\"vertical-align:top\">"); w.println(t.getDescription()); w.println("</td></tr>"); } w.println("</table>"); w.println("<h2>Experiment settings</h2>"); w.println("<table>"); for (final ExperimentRunParameters t : ExperimentRunParameters.values()) { w.println("<tr><td style=\"vertical-align:top;text-align:right\">"); w.println(t.toString()); w.println("</td><td style=\"vertical-align:top\">"); w.println(this.getInputFor(t, s)); w.println("</td><td style=\"vertical-align:top\">"); w.println(t.getDescription()); w.println("</td></tr>"); } w.println("</table>"); w.println("<button type=\"submit\">Start simulation</button>"); w.println("</form>"); }
private Properties settingsToProperties(ExperimentRunSettings s) { final Properties ret = new Properties(); for (final ExperimentRunParameters type : ExperimentRunParameters.values()) { ret.setProperty(type.name(), Double.toString(s.get(type))); } return ret; }
private ExperimentRunSettings getExperimentSettings(PrintWriter w, HttpServletRequest request) { ExperimentRunSettings s = ExperimentRunSettings.defaultSettings(); for (final ExperimentRunParameters t : ExperimentRunParameters.values()) { final String param = request.getParameter(t.name()); if (param != null && !param.isEmpty()) { try { s = s.copyWithChangedParam(t, Double.parseDouble(param)); } catch (final RuntimeException e) { this.printParseError(w, t.toString(), e); } } } return s; }
private String getInputFor(ExperimentRunParameters t, ExperimentRunSettings s) { return "<input name=\"" + t.name() + "\" value=\"" + s.get(t) + "\" type=\"number\" step=\"any\" />"; }
private ExperimentRunSettings loadSettings(int requestId) throws IOException { final File requestDir = this.getRequestDir(requestId); final File paramsFile = new File(requestDir, SETTINGS_PROPERTIES); try (FileInputStream in = new FileInputStream(paramsFile)) { final Properties properties = new Properties(); properties.load(in); ExperimentRunSettings ret = ExperimentRunSettings.defaultSettings(); for (final String name : properties.stringPropertyNames()) { final ExperimentRunParameters type = ExperimentRunParameters.valueOf(name); ret = ret.copyWithChangedParam(type, Double.parseDouble(properties.getProperty(name))); } return ret; } }