Changeset 600

Show
Ignore:
Timestamp:
23-06-10 10:25:48 (4 years ago)
Author:
jahn
Message:

Added event.name to getSamples() REST resource.

Files:
1 modified

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