protected FormDefinition findForm(org.uberfire.java.nio.file.Path path) throws Exception { String template = ioService.readAllString(path).trim(); FormDefinition form = formDefinitionSerializer.deserialize(template); if (form == null) { form = new FormDefinition(); form.setId(UIDGenerator.generateUID()); } return form; }
public void postProcess(Path source, Path destination) { org.uberfire.java.nio.file.Path destinationNioPath = Paths.convert(destination); FormDefinition formDefinition = serializer.deserialize(ioService.readAllString(destinationNioPath)); processFormDefinition(formDefinition, destination); ioService.write(destinationNioPath, serializer.serialize(formDefinition), commentedOptionFactory.makeCommentedOption("Updating form [" + destination.toURI() + "].")); }
@Override public Path save(Path path, FormModelerContent content, Metadata metadata, String comment) { ioService.write(Paths.convert(path), formDefinitionSerializer.serialize(content.getDefinition()), metadataService.setUpAttributes(path, metadata), commentedOptionFactory.makeCommentedOption(comment)); return path; }
@Before public void init() throws IOException { simpleFileSystemProvider = new SimpleFileSystemProvider(); simpleFileSystemProvider.forceAsDefault(); serializer = spy(new FormDefinitionSerializerImpl(new FieldSerializer(), new FormModelSerializer(), new TestMetaDataEntryManager())); when(originalPath.getFileName()).thenReturn(ORIGNAL_FORM_ASSET_NAME); when(destinationPath.getFileName()).thenReturn(DESTINATION_FORM_ASSET_NAME); when(destinationPath.toURI()).thenReturn(DESTINATION_FORM_PATH); when(ioService.readAllString(any())).thenReturn(IOUtils.toString(new InputStreamReader(this.getClass().getResourceAsStream(ORIGINAL_FORM_PATH)))); doAnswer((Answer<FormDefinition>) invocationOnMock -> { FormDefinition formDefinition = (FormDefinition) invocationOnMock.callRealMethod(); beforeProcess(formDefinition); return formDefinition; }).when(serializer).deserialize(anyString()); helper = getHelper(ioService, serializer, commentedOptionFactory); }
protected ContextForms parseForms(T settings) { ContextForms result = new ContextForms(); JsonParser parser = new JsonParser(); Gson gson = new Gson(); JsonElement element = parser.parse(settings.getFormContent()); JsonArray forms = element.getAsJsonArray(); forms.forEach(jsonForm -> { String content = gson.toJson(jsonForm); if (!StringUtils.isEmpty(content)) { FormDefinition formDefinition = formSerializer.deserialize(content); if (formDefinition != null) { if (formDefinition.getName().startsWith(getFormName(settings) + BPMNVariableUtils.TASK_FORM_SUFFIX)) { result.setRootForm(formDefinition); } else { result.getNestedForms().add(formDefinition); } } } }); return result; }
@Test public void testPostProcess() { helper.postProcess(originalPath, destinationPath); verify(ioService).readAllString(any()); verify(serializer).deserialize(anyString()); verify(serializer).serialize(eq(formDefinition)); verifyForm(formDefinition); verify(commentedOptionFactory).makeCommentedOption(anyString()); ioService.write(any(), anyString(), any()); }
@Test public void testCreateForm() { when(formDefinitionSerializer.serialize(any())).thenAnswer(this::verifyNewForm); FormModel formModel = mock(FormModel.class); Path resultPath = formEditorService.createForm(path, FULL_FORM_NAME, formModel); assertNotNull(resultPath); }
protected ContextForms parseForms(T settings) { ContextForms result = new ContextForms(); JsonParser parser = new JsonParser(); Gson gson = new Gson(); JsonElement element = parser.parse(settings.getFormContent()); JsonArray forms = element.getAsJsonArray(); forms.forEach(jsonForm -> { String content = gson.toJson(jsonForm); if (!StringUtils.isEmpty(content)) { FormDefinition formDefinition = formSerializer.deserialize(content); if (formDefinition != null) { if (formDefinition.getName().startsWith(getFormName(settings) + BPMNVariableUtils.TASK_FORM_SUFFIX)) { result.setRootForm(formDefinition); } else { result.getNestedForms().add(formDefinition); } } } }); return result; }
@Override protected FormDefinition createModelFormDefinition(String modelType, GenerationContext<Path> context) { FormDefinition form = super.createModelFormDefinition(modelType, context); org.uberfire.java.nio.file.Path path = Paths.convert(context.getSource()).getParent().resolve(form.getName() + "." + FormResourceTypeDefinition.EXTENSION); ioService.write(path, formSerializer.serialize(form), commentedOptionFactory.makeCommentedOption("Automatically generated form")); return form; }
private List<FormDefinition> findForms(final Path path, final FormSearchConstraint constraint) { List<FormDefinition> result = new ArrayList<>(); Module module = moduleService.resolveModule(path); FileUtils utils = FileUtils.getInstance(); List<org.uberfire.java.nio.file.Path> nioPaths = new ArrayList<>(); nioPaths.add(Paths.convert(module.getRootPath())); Collection<FileUtils.ScanResult> forms = utils.scan(ioService, nioPaths, FormResourceTypeDefinition.EXTENSION, true); for (FileUtils.ScanResult form : forms) { org.uberfire.java.nio.file.Path formPath = form.getFile(); try { FormDefinition formDefinition = serializer.deserialize(ioService.readAllString(formPath).trim()); if (constraint == null || constraint.accepts(formDefinition)) { result.add(formDefinition); } } catch (Exception ex) { logger.warn("Unable to generate FormDefinition for {}", path, ex); } } return result; }
@Override public Path createForm(Path path, String formName, FormModel formModel) { org.uberfire.java.nio.file.Path kiePath = Paths.convert(path).resolve(formName); try { if (ioService.exists(kiePath)) { throw new FileAlreadyExistsException(kiePath.toString()); } FormDefinition form = new FormDefinition(formModel); form.setId(UIDGenerator.generateUID()); form.setName(formName.substring(0, formName.lastIndexOf("."))); form.setLayoutTemplate(new LayoutTemplate()); ioService.write(kiePath, formDefinitionSerializer.serialize(form), commentedOptionFactory.makeCommentedOption("")); return Paths.convert(kiePath); } catch (Exception e) { throw ExceptionUtilities.handleException(e); } }
FormDefinition formDefinition = formDefinitionSerializer.deserialize(formContent);
private void persist(MigrationContext migrationContext) { FormSerializationManager oldFormSerializer = new FormSerializationManagerImpl(); FormDefinitionSerializer formDefinitionSerializer = migrationContext.getFormCDIWrapper().getFormDefinitionSerializer(); Function<Resource<Form>, String> originaldFormSerializationFunction = formResource -> { Form originalForm = formResource.get(); originalForm.setMigrationStep(getStep()); return oldFormSerializer.generateFormXML(originalForm, migrationContext.getSystem()); }; Function<Resource<FormDefinition>, String> newFormSerializationFuncion = formResource -> formDefinitionSerializer.serialize(formResource.get()); migrationContext.getSummaries().forEach(summary -> { if (summary.getResult().isSuccess()) { serializeResource(summary.getOriginalForm().getPath(), originaldFormSerializationFunction.apply(summary.getOriginalForm()), migrationContext); serializeResource(summary.getNewForm().getPath(), newFormSerializationFuncion.apply(summary.getNewForm()), migrationContext); } }); migrationContext.getExtraSummaries().forEach(summary -> { serializeResource(summary.getNewForm().getPath(), newFormSerializationFuncion.apply(summary.getNewForm()), migrationContext); }); }
@Override public FileVisitResult visitFile(org.uberfire.java.nio.file.Path visitedPath, BasicFileAttributes attrs) throws IOException { org.uberfire.backend.vfs.Path visitedVFSPath = Paths.convert(visitedPath); String fileName = visitedVFSPath.getFileName(); File file = visitedPath.toFile(); if (file.isFile()) { if (fileName.endsWith("." + FormsMigrationConstants.LEGACY_FOMRS_EXTENSION)) { try { Form legacyForm = legacyFormSerializer.loadFormFromXML(migrationServicesCDIWrapper.getIOService().readAllString(visitedPath)); FormMigrationSummary summary = new FormMigrationSummary(new Resource<>(legacyForm, visitedVFSPath)); // Trying to lookup new form with same name! String newFormFileName = fileName.substring(0, fileName.lastIndexOf(".") - 1) + FormsMigrationConstants.NEW_FOMRS_EXTENSION; org.uberfire.java.nio.file.Path newFormPath = visitedPath.getParent().resolve(newFormFileName); if (migrationServicesCDIWrapper.getIOService().exists(newFormPath)) { Resource<FormDefinition> newFormResource = new Resource<>(formMigrationServicesCDIWrapper.getFormDefinitionSerializer().deserialize(migrationServicesCDIWrapper.getIOService().readAllString(newFormPath)), Paths.convert(newFormPath)); summary.setNewFormResource(newFormResource); } summaries.add(summary); } catch (Exception e) { system.err().println("Error reading form: " + fileName + ":\n"); e.printStackTrace(system.err()); } } } return FileVisitResult.CONTINUE; } });
form = formSerializer.deserialize(ioService.readAllString(kiePath));