@GET
  @Timed
  @Produces(MediaType.APPLICATION_JSON)
  @Path("applications")
  @ApiOperation(value = "List all SeaClouds deployed Applications")
  public Response listApplications() throws IOException {
    List<SeaCloudsApplicationData> applications = dataStore.listSeaCloudsApplicationData();

    for (SeaCloudsApplicationData application : applications) {
      ApplicationSummary applicationSummary =
          deployer.getApplication(application.getDeployerApplicationId());
      application.setDeploymentStatus(applicationSummary.getStatus());

      if (application.getAgreementId() != null) {
        GuaranteeTermsStatus agreementStatus = sla.getAgreementStatus(application.getAgreementId());
        application.setAgreementStatus(
            IGuaranteeTerm.GuaranteeTermStatusEnum.valueOf(agreementStatus.getValue()));
      }
    }
    return Response.ok(applications).build();
  }