@Test public void formMappingInBarShouldBeWrittenAndReadProperly() throws Exception { final DesignProcessDefinition designProcessDefinition = new ProcessDefinitionBuilder().createNewInstance("MethCookingPlanning", "Season 5").done(); final FormMappingModel formMappingModel = new FormMappingModel(); formMappingModel.addFormMapping(new FormMappingDefinition("/?myPageTokenID", FormMappingType.PROCESS_START, FormMappingTarget.INTERNAL)); formMappingModel.addFormMapping(new FormMappingDefinition("someExternalPage", FormMappingType.TASK, FormMappingTarget.URL, "requestTask")); final BusinessArchive businessArchive = new BusinessArchiveBuilder().createNewBusinessArchive().setProcessDefinition(designProcessDefinition) .setFormMappings(formMappingModel).done(); BusinessArchiveFactory.writeBusinessArchiveToFile(businessArchive, barFile); final BusinessArchive readBusinessArchive = BusinessArchiveFactory.readBusinessArchive(barFile); assertThat(readBusinessArchive.getFormMappingModel().getFormMappings()).as("Form Mapping should be found in BusinessArchive").hasSize(2); }
@Override public void exportToBusinessArchive(long processDefinitionId, BusinessArchiveBuilder businessArchiveBuilder) throws SBonitaException { // TODO: when custom pages stop being external resources, add them here: final FormMappingModel formMappingModel = new FormMappingModel(); final List<SFormMapping> formMappings = formMappingService.list(processDefinitionId, 0, Integer.MAX_VALUE); for (SFormMapping sFormMapping : formMappings) { final FormMapping formMapping = ModelConvertor.toFormMapping(sFormMapping, new FormRequiredAnalyzer(processDefinitionService)); String form = null; switch (formMapping.getTarget()) { case INTERNAL: if (formMapping.getPageId() != null) { final SPage page = pageService.getPage(formMapping.getPageId()); form = page.getName(); } break; case URL: form = formMapping.getURL(); break; } final FormMappingDefinition mapping = new FormMappingDefinition(form, formMapping.getType(), formMapping.getTarget(), formMapping.getTask()); formMappingModel.addFormMapping(mapping); } businessArchiveBuilder.setFormMappings(formMappingModel); }
@Override public void exportToBusinessArchive(long processDefinitionId, BusinessArchiveBuilder businessArchiveBuilder) throws SBonitaException { // TODO: when custom pages stop being external resources, add them here: final FormMappingModel formMappingModel = new FormMappingModel(); final List<SFormMapping> formMappings = formMappingService.list(processDefinitionId, 0, Integer.MAX_VALUE); for (SFormMapping sFormMapping : formMappings) { final FormMapping formMapping = ModelConvertor.toFormMapping(sFormMapping, new FormRequiredAnalyzer(processDefinitionService)); String form = null; switch (formMapping.getTarget()) { case INTERNAL: if (formMapping.getPageId() != null) { final SPage page = pageService.getPage(formMapping.getPageId()); form = page.getName(); } break; case URL: form = formMapping.getURL(); break; } final FormMappingDefinition mapping = new FormMappingDefinition(form, formMapping.getType(), formMapping.getTarget(), formMapping.getTask()); formMappingModel.addFormMapping(mapping); } businessArchiveBuilder.setFormMappings(formMappingModel); }