Changeset 1941


Ignore:
Timestamp:
Jun 27, 2011, 2:57:45 PM (5 years ago)
Author:
robert@…
Message:
  • Implemented getStudyVersions rest call to assist module synchronization
  • Removed debug println statements
Location:
trunk/grails-app
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/controllers/RestController.groovy

    r1884 r1941  
    136136         */
    137137        def getStudies = {
    138 
     138                def user = authenticationService.getRemotelyLoggedInUser( params.consumer, params.token )
     139               
    139140                List returnStudies = []
    140141                List studies = []
     
    169170                studies.each { study ->
    170171                        if(study) {
    171                                 def user = authenticationService.getRemotelyLoggedInUser( params.consumer, params.token )
    172172                                // Check whether the person is allowed to read the data of this study
    173173                                if( study.canRead(authenticationService.getRemotelyLoggedInUser( params.consumer, params.token ))) {
     
    243243        }
    244244
     245        /**
     246        * REST resource for data modules.
     247        * Consumer and token should be supplied via URL parameters.
     248        * Provides the version number of all studies readable by this user
     249        *
     250        * @param        consumer        consumer name of the calling module
     251        * @param        token           token for the authenticated user (e.g. session_id)
     252        * @return  JSON object list containing studies with 'studyToken', and 'version'
     253        *
     254        * A 404 error might occur if the study doesn't exist, and a 401 error if the user is not
     255        * authorized to access this study.
     256        *
     257        * Example. REST call with one studyToken.
     258        *
     259        * Call: http://localhost:8080/gscf/rest/getStudyVersions
     260        *
     261        * Result: [{"studyToken":"PPSH","version":31},{"studyToken":"Other study", "version":3}]
     262        */
     263   def getStudyVersions = {
     264           // Check which user has been logged in
     265           def user = authenticationService.getRemotelyLoggedInUser( params.consumer, params.token )
     266           
     267           def jsonList = []
     268           
     269                Study.giveReadableStudies( user ).each { study ->
     270                        if(study) {
     271                                jsonList << [studyToken:study.giveUUID(), version: study.version]
     272                        }
     273                }
     274
     275                // set output header to json
     276                response.contentType = 'application/json'
     277
     278                render jsonList as JSON
     279   }
     280
     281       
    245282        /**
    246283         * REST resource for data modules.
  • trunk/grails-app/services/dbnp/modules/ModuleNotificationService.groovy

    r1939 r1941  
    4141                        return
    4242                       
    43                 log.info( "Invalidate " + study.code )
     43                log.info( "Invalidate " + study )
    4444
    45                 def modules = AssayModule.findByNotify(true);
     45                def modules = AssayModule.findAllByNotify(true);
    4646               
    4747                // If no modules are set to notify, return
     
    8585                Thread.start {
    8686                        urls.each { url ->
     87                                log.info( "GSCF NOTIFY MODULE OF STUDY CHANGE: ${url}")
    8788                                try {
    8889                                        def connection = url.toURL().openConnection()
Note: See TracChangeset for help on using the changeset viewer.