use of io.github.edmm.model.DeploymentModel 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();
}
use of io.github.edmm.model.DeploymentModel in project winery by eclipse.
the class EdmmResource method checkModelSupport.
@GET
@Path("check-model-support")
@Produces(MediaType.APPLICATION_JSON)
public Response checkModelSupport() {
EntityGraph graph = RestUtils.getEdmmEntityGraph(this.element, true);
GraphNormalizer.normalize(graph);
PluginService pluginService = PluginManager.getInstance().getPluginService();
// getting the model from the graph
DeploymentModel model = new DeploymentModel(UUID.randomUUID().toString(), graph);
List<PluginSupportResult> result = pluginService.checkModelSupport(model);
return Response.ok().type(MediaType.APPLICATION_JSON).entity(result).build();
}
Aggregations