Search in sources :

Example 1 with TransformationContext

use of io.github.edmm.core.transformation.TransformationContext in project winery by eclipse.

the class TransformationManager method transform.

public File transform(EntityGraph entityGraph, String target, String wineryRepository) throws Exception {
    PluginService pluginService = PluginManager.getInstance().getPluginService();
    TransformationService transformationService = new TransformationService(pluginService);
    // getting the model from the graph
    DeploymentModel deploymentModel = new DeploymentModel(UUID.randomUUID().toString(), entityGraph);
    // the paths of the artifacts or operation files start from the root directory
    File sourceDirectory = Paths.get(wineryRepository).toFile();
    File targetDirectory = Files.createTempDirectory(target + "-").toFile();
    TransformationContext transformationContext = transformationService.createContext(deploymentModel, target, sourceDirectory, targetDirectory);
    transformationService.start(transformationContext);
    // throws an exception if the transformation wasn't successful
    transformationContext.throwExceptionIfErrorState();
    Path zipPath = Paths.get(System.getProperty("java.io.tmpdir")).resolve(target + ".zip");
    ZipUtility.pack(targetDirectory.toPath(), zipPath);
    return zipPath.toFile();
}
Also used : Path(java.nio.file.Path) DeploymentModel(io.github.edmm.model.DeploymentModel) PluginService(io.github.edmm.core.plugin.PluginService) TransformationService(io.github.edmm.core.transformation.TransformationService) File(java.io.File) TransformationContext(io.github.edmm.core.transformation.TransformationContext)

Aggregations

PluginService (io.github.edmm.core.plugin.PluginService)1 TransformationContext (io.github.edmm.core.transformation.TransformationContext)1 TransformationService (io.github.edmm.core.transformation.TransformationService)1 DeploymentModel (io.github.edmm.model.DeploymentModel)1 File (java.io.File)1 Path (java.nio.file.Path)1