Changeset 600


Ignore:
Timestamp:
Jun 23, 2010, 10:25:48 AM (6 years ago)
Author:
jahn
Message:

Added event.name to getSamples() REST resource.

File:
1 edited

Legend:

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

    r560 r600  
    4040        */
    4141        def getStudies = {
    42                 List studies = []
     42                List studies = []
    4343                Study.list().each { study ->
    44                     studies.push( [ 'externalStudyID': study.code, 'name':study.title ] )
    45                 }
    46                 render studies as JSON
     44                        studies.push( [ 'externalStudyID': study.code, 'name':study.title ] )
     45                }
     46                render studies as JSON
    4747        }
    4848
     
    5858        */
    5959        def getSubjects = {
    60                 List subjects = []
     60                List subjects = []
    6161                if( params.externalStudyID ) {
    62                         def id = params.externalStudyID
     62                        def id = params.externalStudyID
    6363                        def study = Study.find( "from Study as s where s.code=?", [id])
    6464                        if(study) study.subjects.each { subjects.push it.name }
    65                 }
    66                 render subjects as JSON
     65                }
     66                render subjects as JSON
    6767        }
    6868
     
    7878        */
    7979        def getAssays = {
    80                 List assays = []
     80                List assays = []
    8181                if( params.externalStudyID ) {
    82                         def id = Long.parseLong(params.externalStudyID)
     82                        def id = Long.parseLong(params.externalStudyID)
    8383                        def study = Study.find( "from Study as s where s.code=?", [id])
    84                         if(study) study.assays.each{ assay -> assays.push assay.externalAssayID }
     84                        if(study) study.assays.each{ assay -> assays.push assay.externalAssayID }
    8585                }
    86                 render assays as JSON
     86                render assays as JSON
    8787        }
    8888
     
    9292        * Provide all samples of a given Assay. The result is an enriched list with additional informatin on a sample.
    9393        *
    94         * Example for calling this resource: http://localhost:8080/gscf/rest/getAssays/json?externalStudyID=2
    95         *
     94        * Example for calling this resource: http://localhost:8080/gscf/rest/getAssays/json?externalStudyID=2
     95        *
    9696        * @param  assayID (externalAssayID of some Assay in GSCF)
    9797        * @return list of element of  Sample.name x Sample.material x Sample.subject.name x Sample.Event.name x Sample.Event.time
    9898        */
    9999        def getSamples = {
    100                 def items = []
     100                def items = []
    101101                if( params.externalAssayID ) {
    102                         def id = Long.parseLong(params.externalAssayID)
     102                        def id = Long.parseLong(params.externalAssayID)
    103103                        Assay.find( "from Assay as a where externalAssayID=?",[id]).getSamples().each { sample ->
    104104                                def item = [
    105                                         'name'            : sample.name,
    106                                         'material'        : sample.material.name,
    107                                         'subject'         : sample.parentSubject.name,
    108                                         //'event'         : sample.parentEvent.name,  // get the freaking name
    109                                         'startTime'       : sample.parentEvent.startTime
     105                                        'name'          : sample.name,
     106                                        'material'      : sample.material.name,
     107                                        'subject'       : sample.parentSubject.name,
     108                                        'event'         : sample.parentEvent.template.name,  // get the freaking name
     109                                        'startTime'     : sample.parentEvent.startTime
    110110                                ]
    111111                                items.push item
    112                         }
     112                        }
    113113                }
    114                 render items as JSON
     114                render items as JSON
    115115        }
    116116
Note: See TracChangeset for help on using the changeset viewer.