use of bio.terra.workspace.service.workspace.model.WsmWorkspaceApplication in project terra-workspace-manager by DataBiosphere.
the class ApplicationServiceTest method enumerateCheck.
private void enumerateCheck(boolean leoEnabled, boolean carmenEnabled, boolean normEnabled) {
List<WsmWorkspaceApplication> wsmAppList = appService.listWorkspaceApplications(USER_REQUEST, workspaceId, 0, 10);
// There may be stray applications in the DB, so we make sure that we at least have ours
assertThat(wsmAppList.size(), greaterThanOrEqualTo(3));
for (WsmWorkspaceApplication wsmApp : wsmAppList) {
if (wsmApp.getApplication().getApplicationId().equals(LEO_UUID)) {
assertEquals(leoEnabled, wsmApp.isEnabled());
} else if (wsmApp.getApplication().getApplicationId().equals(CARMEN_UUID)) {
assertEquals(carmenEnabled, wsmApp.isEnabled());
} else if (wsmApp.getApplication().getApplicationId().equals(NORM_UUID)) {
assertEquals(normEnabled, wsmApp.isEnabled());
}
}
}
use of bio.terra.workspace.service.workspace.model.WsmWorkspaceApplication in project terra-workspace-manager by DataBiosphere.
the class ApplicationAblePrecheckStep method doStep.
@Override
public StepResult doStep(FlightContext context) throws InterruptedException, RetryException {
WsmApplication application = applicationDao.getApplication(applicationId);
// For enable, we require that the application be in the operating state
if (ableEnum == AbleEnum.ENABLE) {
if (application.getState() != WsmApplicationState.OPERATING) {
throw new InvalidApplicationStateException("Applications is " + application.getState().toApi() + " and cannot be enabled");
}
}
FlightMap workingMap = context.getWorkingMap();
workingMap.put(WsmApplicationKeys.WSM_APPLICATION, application);
// See if the application is enabled
WsmWorkspaceApplication workspaceApp;
try {
workspaceApp = applicationDao.getWorkspaceApplication(workspaceId, applicationId);
workingMap.put(WsmApplicationKeys.APPLICATION_ABLE_DAO, computeCorrectState(ableEnum, workspaceApp.isEnabled()));
} catch (ApplicationNotFoundException e) {
workingMap.put(WsmApplicationKeys.APPLICATION_ABLE_DAO, computeCorrectState(ableEnum, false));
}
// See if the application already has APPLICATION role for the workspace
boolean enabledSam = samService.isApplicationEnabledInSam(workspaceId, application.getServiceAccount(), userRequest);
workingMap.put(WsmApplicationKeys.APPLICATION_ABLE_SAM, computeCorrectState(ableEnum, enabledSam));
return StepResult.getStepResultSuccess();
}
use of bio.terra.workspace.service.workspace.model.WsmWorkspaceApplication in project terra-workspace-manager by DataBiosphere.
the class ApplicationDao method getWorkspaceApplicationWorker.
// internal workspace application lookup
private WsmWorkspaceApplication getWorkspaceApplicationWorker(UUID workspaceId, UUID applicationId) {
final String sql = WORKSPACE_APPLICATION_QUERY + " WHERE A.application_id = :application_id";
var params = new MapSqlParameterSource().addValue("application_id", applicationId.toString()).addValue("workspace_id", workspaceId.toString());
try {
WsmWorkspaceApplication result = DataAccessUtils.requiredSingleResult(jdbcTemplate.query(sql, params, WORKSPACE_APPLICATION_ROW_MAPPER));
result.workspaceId(workspaceId);
return result;
} catch (EmptyResultDataAccessException e) {
throw new ApplicationNotFoundException(String.format("Application %s not found.", applicationId.toString()));
}
}
use of bio.terra.workspace.service.workspace.model.WsmWorkspaceApplication in project terra-workspace-manager by DataBiosphere.
the class WorkspaceApplicationApiController method disableWorkspaceApplication.
@Override
public ResponseEntity<ApiWorkspaceApplicationDescription> disableWorkspaceApplication(@PathVariable("workspaceId") UUID workspaceId, @PathVariable("applicationId") UUID applicationId) {
AuthenticatedUserRequest userRequest = getAuthenticatedInfo();
WsmWorkspaceApplication wsmApp = appService.disableWorkspaceApplication(userRequest, workspaceId, applicationId);
ApiWorkspaceApplicationDescription response = makeApiWorkspaceApplication(wsmApp);
return new ResponseEntity<>(response, HttpStatus.OK);
}
use of bio.terra.workspace.service.workspace.model.WsmWorkspaceApplication in project terra-workspace-manager by DataBiosphere.
the class WorkspaceApplicationApiController method enableWorkspaceApplication.
@Override
public ResponseEntity<ApiWorkspaceApplicationDescription> enableWorkspaceApplication(@PathVariable("workspaceId") UUID workspaceId, @PathVariable("applicationId") UUID applicationId) {
AuthenticatedUserRequest userRequest = getAuthenticatedInfo();
WsmWorkspaceApplication wsmApp = appService.enableWorkspaceApplication(userRequest, workspaceId, applicationId);
ApiWorkspaceApplicationDescription response = makeApiWorkspaceApplication(wsmApp);
return new ResponseEntity<>(response, HttpStatus.OK);
}
Aggregations