@Singleton public abstract class Publix<T extends Worker> extends play.mvc.Controller implements IPublix
| Modifier and Type | Field and Description |
|---|---|
protected ComponentResultDao |
componentResultDao |
protected PublixErrorMessages |
errorMessages |
protected <any> |
groupChannel |
protected IdCookieService |
idCookieService |
protected IOUtils |
ioUtils |
protected play.db.jpa.JPAApi |
jpa |
protected JsonUtils |
jsonUtils |
protected PublixUtils |
publixUtils |
protected StudyAssets |
studyAssets |
protected StudyAuthorisation |
studyAuthorisation |
protected StudyLogger |
studyLogger |
protected StudyResultDao |
studyResultDao |
ACCEPTED, BAD_GATEWAY, BAD_REQUEST, CONFLICT, CONTINUE, CREATED, EXPECTATION_FAILED, FAILED_DEPENDENCY, FORBIDDEN, FOUND, GATEWAY_TIMEOUT, GONE, HTTP_VERSION_NOT_SUPPORTED, IM_A_TEAPOT, INSUFFICIENT_STORAGE, INTERNAL_SERVER_ERROR, LENGTH_REQUIRED, LOCKED, METHOD_NOT_ALLOWED, MOVED_PERMANENTLY, MULTI_STATUS, MULTIPLE_CHOICES, NETWORK_AUTHENTICATION_REQUIRED, NO_CONTENT, NON_AUTHORITATIVE_INFORMATION, NOT_ACCEPTABLE, NOT_FOUND, NOT_IMPLEMENTED, NOT_MODIFIED, OK, PARTIAL_CONTENT, PAYMENT_REQUIRED, PERMANENT_REDIRECT, PRECONDITION_FAILED, PRECONDITION_REQUIRED, PROXY_AUTHENTICATION_REQUIRED, REQUEST_ENTITY_TOO_LARGE, REQUEST_HEADER_FIELDS_TOO_LARGE, REQUEST_TIMEOUT, REQUEST_URI_TOO_LONG, REQUESTED_RANGE_NOT_SATISFIABLE, RESET_CONTENT, SEE_OTHER, SERVICE_UNAVAILABLE, SWITCHING_PROTOCOLS, TEMPORARY_REDIRECT, TOO_MANY_REQUESTS, UNAUTHORIZED, UNPROCESSABLE_ENTITY, UNSUPPORTED_MEDIA_TYPE, UPGRADE_REQUIRED, USE_PROXYACCEPT, ACCEPT_CHARSET, ACCEPT_ENCODING, ACCEPT_LANGUAGE, ACCEPT_RANGES, ACCESS_CONTROL_ALLOW_CREDENTIALS, ACCESS_CONTROL_ALLOW_HEADERS, ACCESS_CONTROL_ALLOW_METHODS, ACCESS_CONTROL_ALLOW_ORIGIN, ACCESS_CONTROL_EXPOSE_HEADERS, ACCESS_CONTROL_MAX_AGE, ACCESS_CONTROL_REQUEST_HEADERS, ACCESS_CONTROL_REQUEST_METHOD, AGE, ALLOW, AUTHORIZATION, CACHE_CONTROL, CONNECTION, CONTENT_DISPOSITION, CONTENT_ENCODING, CONTENT_LANGUAGE, CONTENT_LENGTH, CONTENT_LOCATION, CONTENT_MD5, CONTENT_RANGE, CONTENT_SECURITY_POLICY, CONTENT_SECURITY_POLICY_REPORT_ONLY, CONTENT_TRANSFER_ENCODING, CONTENT_TYPE, COOKIE, DATE, ETAG, EXPECT, EXPIRES, FORWARDED, FROM, HOST, IF_MATCH, IF_MODIFIED_SINCE, IF_NONE_MATCH, IF_RANGE, IF_UNMODIFIED_SINCE, LAST_MODIFIED, LINK, LOCATION, MAX_FORWARDS, ORIGIN, PRAGMA, PROXY_AUTHENTICATE, PROXY_AUTHORIZATION, RANGE, REFERER, REFERRER_POLICY, RETRY_AFTER, SERVER, SET_COOKIE, SET_COOKIE2, STRICT_TRANSPORT_SECURITY, TE, TRAILER, TRANSFER_ENCODING, UPGRADE, USER_AGENT, VARY, VIA, WARNING, WWW_AUTHENTICATE, X_CONTENT_SECURITY_POLICY_NONCE_HEADER, X_CONTENT_TYPE_OPTIONS, X_FORWARDED_FOR, X_FORWARDED_HOST, X_FORWARDED_PORT, X_FORWARDED_PROTO, X_FRAME_OPTIONS, X_PERMITTED_CROSS_DOMAIN_POLICIES, X_REQUESTED_WITH, X_XSS_PROTECTION| Constructor and Description |
|---|
Publix(play.db.jpa.JPAApi jpa,
PublixUtils publixUtils,
StudyAuthorisation studyAuthorisation,
<any> groupChannel,
IdCookieService idCookieService,
PublixErrorMessages errorMessages,
StudyAssets studyAssets,
JsonUtils jsonUtils,
ComponentResultDao componentResultDao,
StudyResultDao studyResultDao,
StudyLogger studyLogger,
IOUtils ioUtils) |
| Modifier and Type | Method and Description |
|---|---|
play.mvc.Result |
abortStudy(play.mvc.Http.Request request,
StudyResult studyResult,
java.lang.String message)
HTTP type: GET request
Aborts the study run (StudyResult state will be ABORTED).
|
play.mvc.Result |
downloadResultFile(play.mvc.Http.Request request,
StudyResult studyResult,
java.lang.String filename,
java.lang.String componentId)
HTTP type: GET request
Downloads a result file that was previously uploded.
|
play.mvc.Result |
finishStudy(play.mvc.Http.Request request,
StudyResult studyResult,
java.lang.Boolean successful,
java.lang.String message)
HTTP type: GET request
Finishes the study run (StudyResult state will be FINISHED or FAIL).
|
play.mvc.Result |
getInitData(play.mvc.Http.Request request,
StudyResult studyResult,
Component component)
HTTP type: GET request
Returns the init data provided by jatos.js to the experimenters code: study's properties, component's properties,
and study's session data.
|
play.mvc.Result |
heartbeat(play.mvc.Http.Request request,
StudyResult studyResult)
HTTP type: POST request
Heartbeat of a study result: used to give the user an idea of when the study run was last seen.
|
play.mvc.Result |
log(play.mvc.Http.Request request,
StudyResult studyResult,
Component component)
HTTP type: POST request
With this method the client side can log into the server's log.
|
play.mvc.Result |
setStudySessionData(play.mvc.Http.Request request,
StudyResult studyResult)
HTTP type: POST request
Expects the study's session data in JSON format and sets them in the study result that belong to the specified
study.
|
play.mvc.Result |
startComponent(play.mvc.Http.Request request,
StudyResult studyResult,
Component component,
java.lang.String message)
HTTP type: GET request
Starts the component
|
play.mvc.Result |
submitOrAppendResultData(play.mvc.Http.Request request,
StudyResult studyResult,
Component component,
boolean append)
HTTP type: PUT/POST request
Persists the submitted data in the ComponentResult specified by the given study and component ID.
|
play.mvc.Result |
uploadResultFile(play.mvc.Http.Request request,
StudyResult studyResult,
Component component,
java.lang.String filename)
HTTP type: POST request
Uploads a result file
|
changeLang, changeLang, clearLang, ctx, flash, flash, flash, lang, request, response, session, session, session, TODO, TODObadRequest, badRequest, badRequest, badRequest, badRequest, badRequest, badRequest, badRequest, badRequest, badRequest, badRequest, badRequest, badRequest, badRequest, badRequest, badRequest, badRequest, badRequest, badRequest, badRequest, badRequest, badRequest, badRequest, badRequest, badRequest, badRequest, contentDispositionHeader, created, created, created, created, created, created, created, created, created, created, created, created, created, created, created, created, created, created, created, created, created, created, created, created, created, created, forbidden, forbidden, forbidden, forbidden, forbidden, forbidden, forbidden, forbidden, forbidden, forbidden, forbidden, forbidden, forbidden, forbidden, forbidden, forbidden, forbidden, forbidden, forbidden, forbidden, forbidden, forbidden, forbidden, forbidden, forbidden, forbidden, found, found, internalServerError, internalServerError, internalServerError, internalServerError, internalServerError, internalServerError, internalServerError, internalServerError, internalServerError, internalServerError, internalServerError, internalServerError, internalServerError, internalServerError, internalServerError, internalServerError, internalServerError, internalServerError, internalServerError, internalServerError, internalServerError, internalServerError, internalServerError, internalServerError, internalServerError, internalServerError, movedPermanently, movedPermanently, networkAuthenticationRequired, networkAuthenticationRequired, networkAuthenticationRequired, networkAuthenticationRequired, networkAuthenticationRequired, networkAuthenticationRequired, networkAuthenticationRequired, networkAuthenticationRequired, networkAuthenticationRequired, networkAuthenticationRequired, networkAuthenticationRequired, networkAuthenticationRequired, networkAuthenticationRequired, networkAuthenticationRequired, networkAuthenticationRequired, networkAuthenticationRequired, networkAuthenticationRequired, networkAuthenticationRequired, networkAuthenticationRequired, networkAuthenticationRequired, networkAuthenticationRequired, networkAuthenticationRequired, networkAuthenticationRequired, networkAuthenticationRequired, networkAuthenticationRequired, networkAuthenticationRequired, noContent, notAcceptable, notAcceptable, notAcceptable, notAcceptable, notAcceptable, notAcceptable, notAcceptable, notAcceptable, notAcceptable, notAcceptable, notAcceptable, notAcceptable, notAcceptable, notAcceptable, notAcceptable, notAcceptable, notAcceptable, notAcceptable, notAcceptable, notAcceptable, notAcceptable, notAcceptable, notAcceptable, notAcceptable, notAcceptable, notAcceptable, notFound, notFound, notFound, notFound, notFound, notFound, notFound, notFound, notFound, notFound, notFound, notFound, notFound, notFound, notFound, notFound, notFound, notFound, notFound, notFound, notFound, notFound, notFound, notFound, notFound, notFound, ok, ok, ok, ok, ok, ok, ok, ok, ok, ok, ok, ok, ok, ok, ok, ok, ok, ok, ok, ok, ok, ok, ok, ok, ok, ok, paymentRequired, paymentRequired, paymentRequired, paymentRequired, paymentRequired, paymentRequired, paymentRequired, paymentRequired, paymentRequired, paymentRequired, paymentRequired, paymentRequired, paymentRequired, paymentRequired, paymentRequired, paymentRequired, paymentRequired, paymentRequired, paymentRequired, paymentRequired, paymentRequired, paymentRequired, paymentRequired, paymentRequired, paymentRequired, paymentRequired, permanentRedirect, permanentRedirect, preconditionRequired, preconditionRequired, preconditionRequired, preconditionRequired, preconditionRequired, preconditionRequired, preconditionRequired, preconditionRequired, preconditionRequired, preconditionRequired, preconditionRequired, preconditionRequired, preconditionRequired, preconditionRequired, preconditionRequired, preconditionRequired, preconditionRequired, preconditionRequired, preconditionRequired, preconditionRequired, preconditionRequired, preconditionRequired, preconditionRequired, preconditionRequired, preconditionRequired, preconditionRequired, redirect, redirect, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, requestHeaderFieldsTooLarge, seeOther, seeOther, status, status, status, status, status, status, status, status, status, status, status, status, status, status, status, status, status, status, status, status, status, status, status, status, status, status, status, temporaryRedirect, temporaryRedirect, tooManyRequests, tooManyRequests, tooManyRequests, tooManyRequests, tooManyRequests, tooManyRequests, tooManyRequests, tooManyRequests, tooManyRequests, tooManyRequests, tooManyRequests, tooManyRequests, tooManyRequests, tooManyRequests, tooManyRequests, tooManyRequests, tooManyRequests, tooManyRequests, tooManyRequests, tooManyRequests, tooManyRequests, tooManyRequests, tooManyRequests, tooManyRequests, tooManyRequests, tooManyRequests, unauthorized, unauthorized, unauthorized, unauthorized, unauthorized, unauthorized, unauthorized, unauthorized, unauthorized, unauthorized, unauthorized, unauthorized, unauthorized, unauthorized, unauthorized, unauthorized, unauthorized, unauthorized, unauthorized, unauthorized, unauthorized, unauthorized, unauthorized, unauthorized, unauthorized, unauthorized, unsupportedMediaType, unsupportedMediaType, unsupportedMediaType, unsupportedMediaType, unsupportedMediaType, unsupportedMediaType, unsupportedMediaType, unsupportedMediaType, unsupportedMediaType, unsupportedMediaType, unsupportedMediaType, unsupportedMediaType, unsupportedMediaType, unsupportedMediaType, unsupportedMediaType, unsupportedMediaType, unsupportedMediaType, unsupportedMediaType, unsupportedMediaType, unsupportedMediaType, unsupportedMediaType, unsupportedMediaType, unsupportedMediaType, unsupportedMediaType, unsupportedMediaType, unsupportedMediaTypeclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitstartStudyprotected final play.db.jpa.JPAApi jpa
protected final PublixUtils publixUtils
protected final StudyAuthorisation studyAuthorisation
protected final <any> groupChannel
protected final IdCookieService idCookieService
protected final PublixErrorMessages errorMessages
protected final StudyAssets studyAssets
protected final JsonUtils jsonUtils
protected final ComponentResultDao componentResultDao
protected final StudyResultDao studyResultDao
protected final StudyLogger studyLogger
protected final IOUtils ioUtils
public Publix(play.db.jpa.JPAApi jpa,
PublixUtils publixUtils,
StudyAuthorisation studyAuthorisation,
<any> groupChannel,
IdCookieService idCookieService,
PublixErrorMessages errorMessages,
StudyAssets studyAssets,
JsonUtils jsonUtils,
ComponentResultDao componentResultDao,
StudyResultDao studyResultDao,
StudyLogger studyLogger,
IOUtils ioUtils)
public play.mvc.Result startComponent(play.mvc.Http.Request request,
StudyResult studyResult,
Component component,
java.lang.String message)
throws PublixException
IPublixstartComponent in interface IPublixPublixExceptionpublic play.mvc.Result getInitData(play.mvc.Http.Request request,
StudyResult studyResult,
Component component)
throws PublixException,
java.io.IOException
IPublixgetInitData in interface IPublixPublixExceptionjava.io.IOExceptionpublic play.mvc.Result setStudySessionData(play.mvc.Http.Request request,
StudyResult studyResult)
throws PublixException
IPublixsetStudySessionData in interface IPublixPublixExceptionpublic play.mvc.Result heartbeat(play.mvc.Http.Request request,
StudyResult studyResult)
IPublixpublic play.mvc.Result submitOrAppendResultData(play.mvc.Http.Request request,
StudyResult studyResult,
Component component,
boolean append)
throws PublixException
IPublixsubmitOrAppendResultData in interface IPublixPublixExceptionpublic play.mvc.Result uploadResultFile(play.mvc.Http.Request request,
StudyResult studyResult,
Component component,
java.lang.String filename)
throws PublixException
IPublixuploadResultFile in interface IPublixPublixExceptionpublic play.mvc.Result downloadResultFile(play.mvc.Http.Request request,
StudyResult studyResult,
java.lang.String filename,
java.lang.String componentId)
throws PublixException
IPublixdownloadResultFile in interface IPublixPublixExceptionpublic play.mvc.Result abortStudy(play.mvc.Http.Request request,
StudyResult studyResult,
java.lang.String message)
throws PublixException
IPublixabortStudy in interface IPublixPublixExceptionpublic play.mvc.Result finishStudy(play.mvc.Http.Request request,
StudyResult studyResult,
java.lang.Boolean successful,
java.lang.String message)
throws PublixException
IPublixfinishStudy in interface IPublixPublixExceptionpublic play.mvc.Result log(play.mvc.Http.Request request,
StudyResult studyResult,
Component component)
throws PublixException
IPublixlog in interface IPublixPublixException