@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_PROXY
ACCEPT, 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, TODO
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, 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, unsupportedMediaType
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
startStudy
protected 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
IPublix
startComponent
in interface IPublix
PublixException
public play.mvc.Result getInitData(play.mvc.Http.Request request, StudyResult studyResult, Component component) throws PublixException, java.io.IOException
IPublix
getInitData
in interface IPublix
PublixException
java.io.IOException
public play.mvc.Result setStudySessionData(play.mvc.Http.Request request, StudyResult studyResult) throws PublixException
IPublix
setStudySessionData
in interface IPublix
PublixException
public play.mvc.Result heartbeat(play.mvc.Http.Request request, StudyResult studyResult)
IPublix
public play.mvc.Result submitOrAppendResultData(play.mvc.Http.Request request, StudyResult studyResult, Component component, boolean append) throws PublixException
IPublix
submitOrAppendResultData
in interface IPublix
PublixException
public play.mvc.Result uploadResultFile(play.mvc.Http.Request request, StudyResult studyResult, Component component, java.lang.String filename) throws PublixException
IPublix
uploadResultFile
in interface IPublix
PublixException
public play.mvc.Result downloadResultFile(play.mvc.Http.Request request, StudyResult studyResult, java.lang.String filename, java.lang.String componentId) throws PublixException
IPublix
downloadResultFile
in interface IPublix
PublixException
public play.mvc.Result abortStudy(play.mvc.Http.Request request, StudyResult studyResult, java.lang.String message) throws PublixException
IPublix
abortStudy
in interface IPublix
PublixException
public play.mvc.Result finishStudy(play.mvc.Http.Request request, StudyResult studyResult, java.lang.Boolean successful, java.lang.String message) throws PublixException
IPublix
finishStudy
in interface IPublix
PublixException
public play.mvc.Result log(play.mvc.Http.Request request, StudyResult studyResult, Component component) throws PublixException
IPublix
log
in interface IPublix
PublixException