예제 #1
0
  public void fillData(Set<TestResult> testResults) {
    Transaction tra = RegaDBMain.getApp().createTransaction();

    for (int i = 0; i < testItems.size(); i++) {
      TestItem ti = testItems.get(i);
      Test test = getTest(tra, ti);
      if (test == null) continue;

      TestResult theTr = null;
      for (TestResult tr : testResults) {
        if (tr.getTest().getDescription().equals(test.getDescription())) {
          theTr = tr;
          break;
        }
      }

      FormField f = testFormFields.get(i);
      if (theTr != null) {
        if (f instanceof ComboBox) {
          ((ComboBox) f).selectItem(theTr.getTestNominalValue().getValue());
        } else {
          if (theTr.getValue() != null) f.setText(theTr.getValue());
          else f.setText(new String(theTr.getData()));
        }
      }
    }
  }
예제 #2
0
  public void saveData(Set<TestResult> testResults) {
    Transaction tra = RegaDBMain.getApp().createTransaction();

    for (int i = 0; i < testItems.size(); i++) {
      TestResult tr = null;
      for (TestResult vi_tr : testResults) {
        if (vi_tr.getTest().getDescription().equals(testItems.get(i).description)) {
          tr = vi_tr;
          break;
        }
      }
      FormField f = testFormFields.get(i);
      if (f instanceof ComboBox) {
        DataComboMessage<TestNominalValue> dcm =
            (DataComboMessage<TestNominalValue>) ((ComboBox) f).currentItem();
        if (dcm != null && dcm.getValue() != null) {
          TestItem ti = testItems.get(i);
          if (tr == null) tr = createTestResult(getTest(tra, ti));
          tr.setTestNominalValue(
              ((DataComboMessage<TestNominalValue>) ((ComboBox) f).currentItem()).getDataValue());
        } else if (tr != null) {
          removeTestResult(tr);
        }
      } else {
        if (f.text() != null && !f.text().trim().equals("")) {
          TestItem ti = testItems.get(i);
          if (tr == null) tr = createTestResult(getTest(tra, ti));
          tr.setValue(f.text());
        } else if (tr != null) {
          removeTestResult(tr);
        }
      }
    }
  }
예제 #3
0
  public void init(InteractionState interactionState, IForm form, FormTable table) {
    Transaction tr = RegaDBMain.getApp().createTransaction();

    for (UITestItem ti : testItems) {
      Test t = getTest(tr, ti);
      if (t != null) {
        Label l = new Label(TestComboBox.getLabel(t));
        FormField testResultField;
        if (ValueTypes.getValueType(t.getTestType().getValueType()) == ValueTypes.NOMINAL_VALUE) {
          testResultField = new ComboBox(interactionState, form);
          for (TestNominalValue tnv : t.getTestType().getTestNominalValues()) {
            ((ComboBox) testResultField)
                .addItem(new DataComboMessage<TestNominalValue>(tnv, tnv.getValue()));
          }
          ((ComboBox) testResultField).sort();

          if (ti.noValueSelected) ((ComboBox) testResultField).addNoSelectionItem();

          ((ComboBox) testResultField).selectIndex(0);

          if (ti.defaultValue != null && interactionState.isEditable())
            ((ComboBox) testResultField).selectItem(ti.defaultValue);
        } else {
          testResultField =
              FormField.getTextField(
                  ValueTypes.getValueType(t.getTestType().getValueType()), interactionState, form);
        }

        table.addLineToTable(l, testResultField);
        testFormFields.add(testResultField);
      } else {
        System.err.println("ViralIsolateForm: test does not exist: '" + ti.description + '\'');
      }
    }
  }