Exemple #1
0
  public void testUsesUrlBinding() {
    this.request.setParameter("employee", "2");

    EmployeeBinding b = new EmployeeBinding();
    Assert.assertNull(b.get());

    SelectField<Employee> s = new SelectField<Employee>(b).id("employee").options(new Employee(2));
    s.onProcess();
    Assert.assertEquals(2, b.get().id.intValue());
  }
Exemple #2
0
  public void testOptionsTakesABinding() {
    Page p = new Page();
    p.employees = Copy.list(new Employee(2), new Employee(3));

    PageBinding b = new PageBinding(p);
    SelectField<Employee> s =
        new SelectField<Employee>(b.employee()).id("employee").options(b.employees());

    Assert.assertEquals(2, s.getOptionsPossiblyFromBinding().size());
    Assert.assertEquals(2, s.getOptionsPossiblyFromBinding().get(0).id.intValue());
    Assert.assertEquals(3, s.getOptionsPossiblyFromBinding().get(1).id.intValue());
  }
Exemple #3
0
  public void testMultiple() {
    this.request.setParameter("employee", "2", "3");

    Page p = new Page();
    PageBinding b = new PageBinding(p);
    SelectField<Employee> s =
        new SelectField<Employee>(b.employees())
            .id("employee")
            .options(new Employee(2))
            .multiple(true);
    s.onProcess();
    Assert.assertEquals(2, p.employees.get(0).id.intValue());
    Assert.assertEquals(3, p.employees.get(1).id.intValue());
  }
  /**
   * Utility method loads all of the workflow form definitions from yaml files contained in the
   * workflow directory.
   *
   * @return
   */
  public static List<FormDefinition> loadWorkflowFormDefinitions() {
    //        List<FormDefinition> formDefs = new ArrayList<>();
    //
    //        URL path = Play.application().classloader().getResource(WORKFLOWS_PATH);
    //        try {
    //            File dir = new File(path.toURI());
    //
    //            File[] workflows = dir.listFiles(new FilenameFilter() {
    //                public boolean accept(File dir, String name) {
    //                    return name.toLowerCase().endsWith(".yaml");
    //                }
    //            });
    //
    //            for (File file : workflows) {
    //                formDefs.add(loadFormDefinition(file.getAbsolutePath()));
    //            }
    //        } catch (URISyntaxException e) { /* Should not occur */ }

    List<FormDefinition> formDefs = new ArrayList<>();

    Collection<config.WorkflowConfig> workflows = ConfigManager.getInstance().getWorkflowConfigs();

    for (config.WorkflowConfig workflow : workflows) {
      FormDefinition formDef = new FormDefinition();
      formDef.name = workflow.getName();
      formDef.title = workflow.getTitle();
      formDef.yamlFile = workflow.getYaml();
      formDef.documentation = workflow.getDocumentation();
      formDef.instructions = workflow.getInstructions();
      formDef.summary = workflow.getSummary();

      for (ParameterConfig parameter : workflow.getParameters()) {
        if (parameter.isTyped()) {
          String type = parameter.getType();

          switch (type) {
            case "text":
              TextField textField = new TextField();
              textField.name = parameter.getName();
              textField.label = parameter.getLabel();
              textField.tooltip = parameter.getDescription();
              formDef.addField(textField);
              break;
            case "select":
              SelectField selectField = new SelectField();
              selectField.name = parameter.getName();
              selectField.label = parameter.getLabel();
              selectField.options = parameter.getOptions();
              selectField.tooltip = parameter.getDescription();
              formDef.addField(selectField);
              break;
            case "upload":
              FileInput fileInput = new FileInput();
              fileInput.name = parameter.getName();
              fileInput.label = parameter.getLabel();
              fileInput.tooltip = parameter.getDescription();
              formDef.addField(fileInput);
              break;
          }
        }
      }

      formDefs.add(formDef);
    }
    return formDefs;
  }