Search in sources :

Example 1 with DataModelerRenameWorkaroundHelper

use of org.kie.workbench.common.screens.datamodeller.backend.server.helper.DataModelerRenameWorkaroundHelper in project kie-wb-common by kiegroup.

the class DataModelerServiceTest method renameWorkaround.

@Test
public void renameWorkaround() {
    Path dataObjectPath = PathFactory.newPath("TestDataObject", "file:///dataobjects/TestDataObject.java");
    DataModelerRenameWorkaroundHelper renameHelper = mock(DataModelerRenameWorkaroundHelper.class);
    List<DataModelerRenameWorkaroundHelper> renameHelpers = Arrays.asList(renameHelper);
    when(renameHelperInstance.iterator()).thenReturn(renameHelpers.iterator());
    dataModelerService.renameWorkaround(dataObjectPath, "NewName", "New content", "Comment");
    verify(ioService, times(1)).startBatch(any(FileSystem.class));
    verify(ioService, times(1)).move(any(org.uberfire.java.nio.file.Path.class), any(org.uberfire.java.nio.file.Path.class), any(CommentedOption.class));
    verify(renameHelper, times(1)).postProcess(any(Path.class), any(Path.class));
    verify(ioService, times(1)).endBatch();
}
Also used : Path(org.uberfire.backend.vfs.Path) DataModelerRenameWorkaroundHelper(org.kie.workbench.common.screens.datamodeller.backend.server.helper.DataModelerRenameWorkaroundHelper) CommentedOption(org.uberfire.java.nio.base.options.CommentedOption) FileSystem(org.uberfire.java.nio.file.FileSystem) Test(org.junit.Test)

Example 2 with DataModelerRenameWorkaroundHelper

use of org.kie.workbench.common.screens.datamodeller.backend.server.helper.DataModelerRenameWorkaroundHelper in project kie-wb-common by kiegroup.

the class DataModelerServiceTest method testRenameWorkaround.

@Test
public void testRenameWorkaround() {
    Path dataObjectPath = PathFactory.newPath("TestDataObject", "file:///dataobjects/TestDataObject.java");
    Path targetPath = PathFactory.newPath("TestNewDataObject", "file:///dataobjects/TestNewDataObject.java");
    DataModelerRenameWorkaroundHelper renameHelper = mock(DataModelerRenameWorkaroundHelper.class);
    List<DataModelerRenameWorkaroundHelper> renameHelpers = Arrays.asList(renameHelper);
    when(renameHelperInstance.iterator()).thenReturn(renameHelpers.iterator());
    dataModelerService.renameWorkaround(dataObjectPath, targetPath, "New content", "Comment");
    verify(ioService, times(1)).startBatch(Mockito.<FileSystem>any());
    verify(ioService, times(1)).move(Mockito.<org.uberfire.java.nio.file.Path>any(), Mockito.<org.uberfire.java.nio.file.Path>any(), Mockito.<CommentedOption>any());
    verify(ioService, times(1)).write(Mockito.<org.uberfire.java.nio.file.Path>any(), eq("New content"), Mockito.<CommentedOption>any());
    verify(renameHelper, times(1)).postProcess(Mockito.<Path>any(), Mockito.<Path>any());
    verify(ioService, times(1)).endBatch();
}
Also used : Path(org.uberfire.backend.vfs.Path) DataModelerRenameWorkaroundHelper(org.kie.workbench.common.screens.datamodeller.backend.server.helper.DataModelerRenameWorkaroundHelper) Test(org.junit.Test)

Example 3 with DataModelerRenameWorkaroundHelper

use of org.kie.workbench.common.screens.datamodeller.backend.server.helper.DataModelerRenameWorkaroundHelper in project kie-wb-common by kiegroup.

the class DataModelerServiceImpl method renameWorkaround.

public Path renameWorkaround(final Path path, final Path targetPath, final String newContent, final String comment) {
    try {
        final org.uberfire.java.nio.file.Path _path = Paths.convert(path);
        final org.uberfire.java.nio.file.Path _target = Paths.convert(targetPath);
        try {
            // First move the file to target path and then modify the content with newContent
            ioService.startBatch(_target.getFileSystem());
            ioService.move(_path, _target, serviceHelper.makeCommentedOption("File [" + path.toURI() + "] renamed to [" + targetPath.toURI() + "]."));
            if (newContent != null) {
                ioService.write(_target, newContent, serviceHelper.makeCommentedOption(comment));
            }
            if (renameHelperInstance != null) {
                for (DataModelerRenameWorkaroundHelper renameHelper : renameHelperInstance) {
                    renameHelper.postProcess(path, targetPath);
                }
            }
        } catch (final Exception e) {
            throw e;
        } finally {
            ioService.endBatch();
        }
        return Paths.convert(_target);
    } catch (Exception e) {
        throw ExceptionUtilities.handleException(e);
    }
}
Also used : DataModelerRenameWorkaroundHelper(org.kie.workbench.common.screens.datamodeller.backend.server.helper.DataModelerRenameWorkaroundHelper) ModelDriverException(org.kie.workbench.common.services.datamodeller.driver.ModelDriverException) ServiceException(org.kie.workbench.common.screens.datamodeller.service.ServiceException) FileAlreadyExistsException(org.uberfire.java.nio.file.FileAlreadyExistsException)

Example 4 with DataModelerRenameWorkaroundHelper

use of org.kie.workbench.common.screens.datamodeller.backend.server.helper.DataModelerRenameWorkaroundHelper in project kie-wb-common by kiegroup.

the class DataModelerServiceTest method testRenameWorkaroundWithoutNewContent.

@Test
public void testRenameWorkaroundWithoutNewContent() {
    Path dataObjectPath = PathFactory.newPath("TestDataObject", "file:///dataobjects/TestDataObject.java");
    Path targetPath = PathFactory.newPath("TestNewDataObject", "file:///newdataobjects/TestNewDataObject.java");
    DataModelerRenameWorkaroundHelper renameHelper = mock(DataModelerRenameWorkaroundHelper.class);
    List<DataModelerRenameWorkaroundHelper> renameHelpers = Arrays.asList(renameHelper);
    when(renameHelperInstance.iterator()).thenReturn(renameHelpers.iterator());
    dataModelerService.renameWorkaround(dataObjectPath, targetPath, null, "Comment");
    verify(ioService, times(1)).startBatch(Mockito.<FileSystem>any());
    verify(ioService, times(1)).move(Mockito.<org.uberfire.java.nio.file.Path>any(), Mockito.<org.uberfire.java.nio.file.Path>any(), Mockito.<CommentedOption>any());
    verify(ioService, times(0)).write(Mockito.<org.uberfire.java.nio.file.Path>any(), any(String.class), Mockito.<CommentedOption>any());
    verify(renameHelper, times(1)).postProcess(Mockito.<Path>any(), Mockito.<Path>any());
    verify(ioService, times(1)).endBatch();
}
Also used : Path(org.uberfire.backend.vfs.Path) DataModelerRenameWorkaroundHelper(org.kie.workbench.common.screens.datamodeller.backend.server.helper.DataModelerRenameWorkaroundHelper) Test(org.junit.Test)

Aggregations

DataModelerRenameWorkaroundHelper (org.kie.workbench.common.screens.datamodeller.backend.server.helper.DataModelerRenameWorkaroundHelper)4 Test (org.junit.Test)3 Path (org.uberfire.backend.vfs.Path)3 ServiceException (org.kie.workbench.common.screens.datamodeller.service.ServiceException)1 ModelDriverException (org.kie.workbench.common.services.datamodeller.driver.ModelDriverException)1 CommentedOption (org.uberfire.java.nio.base.options.CommentedOption)1 FileAlreadyExistsException (org.uberfire.java.nio.file.FileAlreadyExistsException)1 FileSystem (org.uberfire.java.nio.file.FileSystem)1