Ignore:
Timestamp:
Jan 25, 2011, 5:57:37 PM (10 years ago)
Author:
robert@…
Message:

Made the studytoken, assaytoken and sampletoken stable identifiers, as explained in #255.

Location:
trunk/grails-app/controllers
Files:
3 edited

Legend:

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

    r1430 r1440  
    137137                }
    138138                else if( params.studyToken instanceof String ) {
    139                         def study = Study.findByCode( params.studyToken )
     139                        def study = Study.findByStudyUUID( params.studyToken )
    140140                        if( study ) {
    141141                                if( !study.canRead(AuthenticationService.getRemotelyLoggedInUser( params.consumer, params.token )) ) {
     
    153153                else {
    154154                        params.studyToken.each{ studyToken ->
    155                                 def study = Study.findByCode( studyToken );
     155                                def study = Study.findByStudyUUID( studyToken );
    156156                                if( study )
    157157                                        studies.push study
     
    166166                                if( study.canRead(AuthenticationService.getRemotelyLoggedInUser( params.consumer, params.token ))) {
    167167
    168                     def items = [:]
     168                    def items = [studyToken:study.giveUUID()]
    169169                    study.giveFields().each { field ->
    170170                        def name = field.name
    171171                        def value = study.getFieldValue( name )
    172                         if( name=='code' ) {
    173                             name = 'studyToken'
    174                         }
    175172                        items[name] = value
    176173                    }
     
    215212                        return false
    216213                } else {
    217                         study = Study.findByCode( params.studyToken )
     214                        study = Study.findByStudyUUID( params.studyToken )
    218215                        if( study ) {
    219216                                if( !study.canRead(AuthenticationService.getRemotelyLoggedInUser( params.consumer, params.token )) ) {
     
    248245                List subjects = []
    249246                if( params.studyToken ) {
    250                         def id = params.studyToken
    251                         def study = Study.find( "from Study as s where s.code=?", [id])
     247                        def study = Study.findByStudyUUID( params.studyToken)
    252248
    253249                        if(study) {
     
    321317                if( params.studyToken ) {
    322318
    323                         def id = params.studyToken
    324                         def study = Study.findByCode(id)
     319                        def study = Study.findByStudyUUID(params.studyToken)
    325320
    326321                        if(study) {
     
    336331                                }
    337332                                else if( params.assayToken instanceof String ) {
    338                                         def assay = study.assays.find{ it.externalAssayID==params.assayToken }
     333                                        def assay = study.assays.find{ it.giveUUID() == params.assayToken }
    339334                                        if( assay ) {
    340335                                                 assays.push assay
     
    343338                                else {                                                                                                  // there are multiple assayTokens instances
    344339                                        params.assayToken.each { assayToken ->
    345                                                 def assay = study.assays.find{ it.externalAssayID==assayToken }
     340                                                def assay = study.assays.find{ it.giveUUID() == assayToken }
    346341                                                if(assay) {
    347342                                                        assays.push assay
     
    353348                                        if (assay.module.url.equals(params.consumer)) {
    354349                                                if(assay) {
    355                                                         def map = [:]
     350                                                        def map = [assayToken : assay.giveUUID()]
    356351                                                        assay.giveFields().each { field ->
    357352                                                                def name = field.name
    358353                                                                def value = assay.getFieldValue( name )
    359                                                                 if(field.name=='externalAssayID') {
    360                                                                         name = 'assayToken'
    361                                                                 }
    362354                                                                map[name] = value
    363355                                                        }
    364                                                         map["parentStudyToken"] = assay.parent.getToken()
     356                                                        map["parentStudyToken"] = assay.parent.giveUUID()
    365357                                                        returnList.push( map )
    366358                                                }
     
    375367                render returnList as JSON
    376368        }
    377 
    378 
    379 
    380 
    381 
    382 
    383369
    384370        /**
     
    442428                def items = []
    443429                if( params.assayToken ) {
    444                         def assay = Assay.find( "from Assay as a where externalAssayID=?",[params.assayToken])
     430                        def assay = Assay.findByAssayUUID( params.assayToken );
    445431
    446432                        if( assay )  {
     
    458444                                        samples = []
    459445                                        sampleTokens.each{ sampleToken ->
    460                                                 samples.addAll(assay.getSamples().find{ sample -> sampleToken == sample.name })
     446                                                samples.addAll(assay.getSamples().find{ sample -> sampleToken == sample.giveUUID() })
    461447                                        }
    462448                                }
     
    465451
    466452                                        def item = [
     453                                                'sampleToken' : sample.giveUUID(),
    467454                                                'material'        : sample.material?.name,
    468455                                                'subject'         : sample.parentSubject?.name,
     
    485472                                                parentEvent.giveFields().each { field ->
    486473                                                        def name = field.name
    487                                                         if( name!='sampleTemplate' && name!='fields') {
     474                                                        if( name !='sampleTemplate' && name != 'fields') {
    488475                                                                def value = parentEvent.getFieldValue( name )
    489476                                                                eventHash[name]=value
     
    517504        }
    518505
    519 
    520 
    521 
    522 
    523 
    524 
    525 
    526506        /**
    527507         * Returns the authorization level the user has for a given study.
     
    537517        def getAuthorizationLevel = {
    538518                if( params.studyToken ) {
    539                         def id = params.studyToken
    540                         def study = Study.find( "from Study as s where s.code=?", [id])
     519                        def study = Study.findByStudyUUID(params.studyToken)
    541520
    542521                        if( !study ) {
  • trunk/grails-app/controllers/dbnp/studycapturing/AssayController.groovy

    r1430 r1440  
    5252
    5353        def showByToken = {
    54             def assayInstance = Assay.findByExternalAssayID(params.id)
     54            def assayInstance = Assay.findByAssayUUID(params.id)
    5555            if (!assayInstance) {
    5656                flash.message = "${message(code: 'default.not.found.message', args: [message(code: 'assay.label', default: 'Assay'), params.id])}"
  • trunk/grails-app/controllers/dbnp/studycapturing/StudyController.groovy

    r1436 r1440  
    252252
    253253    def showByToken = {
    254         def studyInstance = Study.findByCode(params.id)
     254        def studyInstance = Study.findByStudyUUID(params.id)
    255255        if (!studyInstance) {
    256256            flash.message = "${message(code: 'default.not.found.message', args: [message(code: 'study.label', default: 'Study'), params.id])}"
Note: See TracChangeset for help on using the changeset viewer.