use of org.opentosca.toscana.api.model.TransformationResponse in project TOSCAna by StuPro-TOSCAna.
the class TransformationController method getCSARTransformation.
/**
* Returns information about a single transformation
* <p>
* Accessed with http call <code>GET /csars/{csar}/transformations/{platform}/</code>
* <table summary="">
* <tr>
* <td>HTTP-Code</td>
* <td>Mime-Type</td>
* <td>Description (Returned if)</td>
* </tr>
* <tr>
* <td>200</td>
* <td>application/hal+json</td>
* <td>Returns a empty body if the transformation has been started</td>
* </tr>
* <tr>
* <td>404</td>
* <td>application/json</td>
* <td>Returns a error message if the csar is not found or if the csar does not have a transformation for the given
* name (see returned error message for details)</td>
* </tr>
* </table>
*/
@RequestMapping(path = "/{platform}", method = RequestMethod.GET, produces = "application/hal+json")
@ApiOperation(value = "Get details for a specific transformation", tags = { "transformations" }, notes = "Returns a HAL-Resource Containing the details for the transformation with the given parameters")
@ApiResponses({ @ApiResponse(code = 200, message = "The operation was executed successfully"), @ApiResponse(code = 404, message = "There is no CSAR for the given identifier or the CSAR does not have " + "a Transformation for the specified platform.", response = RestErrorResponse.class) })
public ResponseEntity<TransformationResponse> getCSARTransformation(@ApiParam(value = "The unique identifier for the CSAR", required = true, example = "test") @PathVariable(name = "csarId") String name, @ApiParam(value = "The identifier for the platform", required = true, example = "kubernetes") @PathVariable(name = "platform") String platform) {
Csar csar = findByCsarId(name);
Transformation transformation = findTransformationByPlatform(csar, platform);
return ResponseEntity.ok().body(new TransformationResponse(transformation.getLifecyclePhases(), transformation.getState(), platform, name));
}
use of org.opentosca.toscana.api.model.TransformationResponse in project TOSCAna by StuPro-TOSCAna.
the class TransformationController method getCSARTransformations.
/**
* This Request Returns a list of all transformations belonging to a csar.
* <p>
* Accessed with http call <code>GET /csars/{csar}/transformations/</code>
* <table summary="">
* <tr>
* <td>HTTP-Code</td>
* <td>Mime-Type</td>
* <td>Description (Returned if)</td>
* </tr>
* <tr>
* <td>200</td>
* <td>application/hal+json</td>
* <td>Returns the resource (list) of all transformations that belong to this given csar</td>
* </tr>
* <tr>
* <td>404</td>
* <td>application/json</td>
* <td>Returns a error message if the csar is not found (see returned error message for details)</td>
* </tr>
* </table>
*/
@RequestMapping(path = "", method = RequestMethod.GET, produces = "application/hal+json")
@ApiOperation(value = "List all transformations of a CSAR", tags = { "transformations", "csars" }, notes = "Returns a HAL-Resources list containing all Transformations for a specific CSAR")
@ApiResponses({ @ApiResponse(code = 200, message = "The operation was executed successfully", response = TransformationResources.class), @ApiResponse(code = 404, message = "There is no CSAR for the given identifier", response = RestErrorResponse.class) })
public ResponseEntity<Resources<TransformationResponse>> getCSARTransformations(@ApiParam(value = "The unique identifier for the CSAR", required = true, example = "test") @PathVariable(name = "csarId") String name) {
Csar csar = findByCsarId(name);
Link selfLink = linkTo(methodOn(TransformationController.class).getCSARTransformations(name)).withSelfRel().expand(name);
List<TransformationResponse> transformations = new ArrayList<>();
for (Map.Entry<String, Transformation> entry : csar.getTransformations().entrySet()) {
transformations.add(new TransformationResponse(entry.getValue().getLifecyclePhases(), entry.getValue().getState(), entry.getKey(), csar.getIdentifier()));
}
Resources<TransformationResponse> resources = new HiddenResources<>(transformations, selfLink);
return ResponseEntity.ok(resources);
}
Aggregations