public FormClass registerNewSubform(ResourceId formFieldId, SubFormKind subFormKind) { final FormClass formClass = new FormClass(ResourceId.generateId()); formClass.setDatabaseId(rootFormClass.getDatabaseId()); formClass.setSubFormKind(subFormKind); registerSubform(formFieldId, formClass); return formClass; }
public BlankSubForm(GenericForm parentForm) { this.parentForm = parentForm; formClass = new FormClass(FORM_ID); formClass.setLabel("Blank Sub-Form"); formClass.setSubFormKind(SubFormKind.REPEATING); formClass.setParentFormId(parentForm.getFormId()); generator = new RecordGenerator(formClass) .parentForm(parentForm); }
private FormClass getSubFormClass(FormClass masterForm, SourceRow row) { String subFormName = subForm.get(row); if(subFormName == null) { return masterForm; } FormClass subFormClass = subFormMap.get(subFormName); if(subFormClass == null) { subFormClass = new FormClass(ResourceId.generateId()); subFormClass.setSubFormKind(parseSubFormKind(subFormType.get(row))); subFormClass.setParentFormId(masterForm.getId()); subFormClass.setLabel(subFormName); subFormClass.setDatabaseId(databaseId); subFormMap.put(subFormName, subFormClass); FormField subFormField = new FormField(ResourceId.generateFieldId(SubFormReferenceType.TYPE_CLASS)); subFormField.setLabel(subFormName); subFormField.setType(new SubFormReferenceType(subFormClass.getId())); subFormField.setVisible(true); masterForm.addElement(subFormField); } return subFormClass; }
public ReferralSubForm(IncidentForm parentForm) { this.parentForm = parentForm; formClass = new FormClass(FORM_ID); formClass.setLabel("Referral Form"); formClass.setSubFormKind(SubFormKind.REPEATING); formClass.setParentFormId(parentForm.getFormId()); organizationField = formClass.addField(ORGANIZATION_FIELD_ID) .setLabel("2.2 Name of organization/department receiving the referral") .setType(TextType.SIMPLE) .setRequired(true) .setVisible(true); contactNumber = formClass.addField(PHONE_FIELD_ID) .setLabel("Contact phone number") .setType(TextType.SIMPLE) .setRequired(true) .setVisible(true); generator = new RecordGenerator(formClass) .parentForm(parentForm); }
public ClinicSubForm(Ids ids, TestForm parentForm, int recordCount) { formClass = new FormClass(ids.formId("CLINIC_MONTHLY")); formClass.setParentFormId(parentForm.getFormId()); formClass.setSubFormKind(SubFormKind.MONTHLY); formClass.setDatabaseId(ids.databaseId()); formClass.setLabel("Monthly statistics"); consultsField = new FormField(ids.fieldId("F1")); consultsField.setLabel("Number of consultations"); consultsField.setCode("NUM_CONSULT"); consultsField.setRequired(true); consultsField.setType(new QuantityType("patients")); formClass.addElement(consultsField); generator = new RecordGenerator(formClass); generator.parentForm(parentForm); generator.distribution(consultsField.getId(), new IntegerGenerator(50, 250, 0.0)); records = new LazyRecordList(generator, recordCount); }
formClass.setSubFormKind(SubFormKind.valueOf(object.get("subFormKind").asString().toUpperCase())); formClass.setParentFormId(ResourceId.valueOf(object.get("parentFormId").asString()));
private FormClass setupFormWithSubformAttachmentField() { int databaseId = 1; FormClass testForm = new FormClass(ResourceId.valueOf("TEST_FORM")); testForm.setLabel("Test Form with Sub-Form"); testForm.setDatabaseId(databaseId); FormClass testSubForm = new FormClass(ResourceId.generateId()); testSubForm.setLabel("Test Sub-Form"); testSubForm.setDatabaseId(databaseId); testSubForm.setSubFormKind(SubFormKind.REPEATING); testSubForm.setParentFormId(testForm.getId()); testForm.addElement(new FormField(ResourceId.valueOf("SF")) .setLabel("Sub-Form") .setType(new SubFormReferenceType(testSubForm.getId()))); assertResolves(locator.persist(testSubForm)); assertResolves(locator.persist(testForm)); ResourceId attachmentFieldId = ResourceId.generateFieldId(AttachmentType.TYPE_CLASS); return addAttachmentField(testSubForm.getId(), attachmentFieldId); }
monthlyForm.setSubFormKind(SubFormKind.MONTHLY);
subFormClass.setDatabaseId(masterFormClass.getDatabaseId()); subFormClass.setParentFormId(masterFormId); subFormClass.setSubFormKind(SubFormKind.MONTHLY); subFormChildField = subFormClass.addField(); subFormChildField.setType(TextType.SIMPLE);
subFormClass.setSubFormKind(SubFormKind.WEEKLY);
subFormClass.setSubFormKind(SubFormKind.REPEATING);