use of org.vcell.rest.common.SimulationTaskRepresentation in project vcell by virtualcell.
the class SimulationTasksServerResource method getSimulationTaskRepresentations.
private SimulationTaskRepresentation[] getSimulationTaskRepresentations(User vcellUser) {
// if (!application.authenticate(getRequest(), getResponse())){
// // not authenticated
// return new SimulationTaskRepresentation[0];
// }else{
ArrayList<SimulationTaskRepresentation> simTaskReps = new ArrayList<SimulationTaskRepresentation>();
RestDatabaseService restDatabaseService = ((VCellApiApplication) getApplication()).getRestDatabaseService();
try {
SimpleJobStatus[] simJobStatusList = restDatabaseService.query(this, vcellUser);
for (SimpleJobStatus simpleJobStatus : simJobStatusList) {
SimulationTaskRepresentation simTaskRep = new SimulationTaskRepresentation(simpleJobStatus);
simTaskReps.add(simTaskRep);
}
} catch (PermissionException ee) {
throw new ResourceException(Status.CLIENT_ERROR_UNAUTHORIZED, "permission denied to requested resource");
} catch (DataAccessException e) {
e.printStackTrace();
throw new RuntimeException("failed to retrieve active jobs from VCell Database : " + e.getMessage());
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException("failed to retrieve active jobs from VCell Database : " + e.getMessage());
}
return simTaskReps.toArray(new SimulationTaskRepresentation[0]);
// }
}
use of org.vcell.rest.common.SimulationTaskRepresentation in project vcell by virtualcell.
the class SimulationTasksServerResource method get_html.
@Override
public Representation get_html() {
VCellApiApplication application = ((VCellApiApplication) getApplication());
User vcellUser = application.getVCellUser(getChallengeResponse(), AuthenticationPolicy.ignoreInvalidCredentials);
SimulationTaskRepresentation[] simTasks = getSimulationTaskRepresentations(vcellUser);
Map<String, Object> dataModel = new HashMap<String, Object>();
// +"?"+VCellApiApplication.REDIRECTURL_FORMNAME+"="+getRequest().getResourceRef().toUrl());
dataModel.put("loginurl", "/" + VCellApiApplication.LOGINFORM);
dataModel.put("logouturl", "/" + VCellApiApplication.LOGOUT + "?" + VCellApiApplication.REDIRECTURL_FORMNAME + "=" + Reference.encode(getRequest().getResourceRef().toUrl().toString()));
if (vcellUser != null) {
dataModel.put("userid", vcellUser.getName());
}
dataModel.put("userId", getAttribute(PARAM_USER));
dataModel.put("simId", getQueryValue(PARAM_SIM_ID));
dataModel.put("jobId", getLongQueryValue(PARAM_JOB_ID));
dataModel.put("taskId", getLongQueryValue(PARAM_TASK_ID));
dataModel.put("computeHost", getQueryValue(PARAM_COMPUTE_HOST));
dataModel.put("serverId", getQueryValue(PARAM_SERVER_ID));
dataModel.put("hasData", getQueryValue(PARAM_HAS_DATA));
dataModel.put("waiting", getBooleanQueryValue(PARAM_STATUS_WAITING, false));
dataModel.put("queued", getBooleanQueryValue(PARAM_STATUS_QUEUED, false));
dataModel.put("dispatched", getBooleanQueryValue(PARAM_STATUS_DISPATCHED, false));
dataModel.put("running", getBooleanQueryValue(PARAM_STATUS_RUNNING, false));
dataModel.put("completed", getBooleanQueryValue(PARAM_STATUS_COMPLETED, false));
dataModel.put("failed", getBooleanQueryValue(PARAM_STATUS_FAILED, false));
dataModel.put("stopped", getBooleanQueryValue(PARAM_STATUS_STOPPED, false));
dataModel.put("submitLow", getLongQueryValue(PARAM_SUBMIT_LOW));
dataModel.put("submitHigh", getLongQueryValue(PARAM_SUBMIT_HIGH));
dataModel.put("startLow", getLongQueryValue(PARAM_START_LOW));
dataModel.put("startHigh", getLongQueryValue(PARAM_START_HIGH));
dataModel.put("endLow", getLongQueryValue(PARAM_END_LOW));
dataModel.put("endHigh", getLongQueryValue(PARAM_END_HIGH));
Long startRowParam = getLongQueryValue(PARAM_START_ROW);
if (startRowParam != null) {
dataModel.put("startRow", startRowParam);
} else {
dataModel.put("startRow", 1);
}
Long maxRowsParam = getLongQueryValue(PARAM_MAX_ROWS);
if (maxRowsParam != null) {
dataModel.put("maxRows", maxRowsParam);
} else {
dataModel.put("maxRows", 10);
}
dataModel.put("simTasks", Arrays.asList(simTasks));
Gson gson = new Gson();
dataModel.put("jsonResponse", gson.toJson(simTasks));
Configuration templateConfiguration = application.getTemplateConfiguration();
Representation formFtl = new ClientResource(LocalReference.createClapReference("/simulationTasks.ftl")).get();
TemplateRepresentation templateRepresentation = new TemplateRepresentation(formFtl, templateConfiguration, dataModel, MediaType.TEXT_HTML);
return templateRepresentation;
}
Aggregations