Changeset 945

Show
Ignore:
Timestamp:
14-10-10 19:57:16 (4 years ago)
Author:
j.saito@…
Message:

Sorted out sources for null-pointer exceptions.

Files:
1 modified

Legend:

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

    r940 r945  
    4141         */ 
    4242        private def auth() { 
    43  
    4443            credentials = BasicAuthentication.credentialsFromRequest(request)            
    45                 requestUser = AuthenticationService.authenticateUser(credentials.u, credentials.p) 
     44        requestUser = AuthenticationService.authenticateUser(credentials.u, credentials.p) 
    4645                 
    47                 // we circumvene the user 
    4846                if(!requestUser) { 
    4947                    response.sendError(403) 
     
    6664                credentials = BasicAuthentication.credentialsFromRequest(request) 
    6765                def reqUser = AuthenticationService.authenticateUser(credentials.u, credentials.p) 
    68  
    69                 if (reqUser) { 
    70                         isUser = true 
    71                 } 
    72                 else { 
    73                         isUser = false 
    74                 } 
     66                isUser = reqUser ? true : false 
    7567                def reply = ['authenticated':isUser] 
    7668                render reply as JSON 
    7769        } 
     70 
    7871 
    7972        /** 
     
    159152                if( params.assayToken ) { 
    160153                        def assay = Assay.find( "from Assay as a where externalAssayID=?",[params.assayToken]) 
    161                         assay.getSamples().each { sample -> 
    162                                 def item = [  
    163                                         'sampleToken' : sample.name, 
    164                                         'material'        : sample.material.name, 
    165                                         'subject'         : sample.parentSubject.name, 
    166                                         'event'           : sample.parentEvent.template.name, 
    167                                         'startTime'       : sample.parentEvent.getStartTimeString() 
    168                                 ] 
    169                                 items.push item  
     154                        if( assay )  { 
     155                                assay.getSamples().each { sample -> 
     156                                        def item = [  
     157                                                'sampleToken' : sample.name, 
     158                                                'material'        : sample.material.name, 
     159                                                'subject'         : sample.parentSubject.name, 
     160                                                'event'           : sample.parentEvent.template.name, 
     161                                                'startTime'       : sample.parentEvent.getStartTimeString() 
     162                                        ] 
     163                                        items.push item  
     164                                } 
    170165                        } 
    171166                } 
     
    194189                if( params.studyToken ) { 
    195190                        def study = Study.find( "from Study as s where code=?",[params.studyToken]) 
    196                         study.giveFields().each { field -> 
    197                                 def name = field.name 
    198                                 def value = study.getFieldValue( name ) 
    199                                 items[name] = value 
     191                        if(study) { 
     192                                study.giveFields().each { field -> 
     193                                        def name = field.name 
     194                                        def value = study.getFieldValue( name ) 
     195                                        items[name] = value 
     196                                } 
    200197                        } 
    201198        } 
     
    222219                if( params.assayToken ) { 
    223220                        def assay = Assay.find( "from Assay as a where externalAssayID=?",[params.assayToken]) 
    224                         assay.giveFields().each { field -> 
    225                                 def name = field.name 
    226                                 def value = assay.getFieldValue( name ) 
    227                                 items[name] = value 
     221                        if(assay) { 
     222                                assay.giveFields().each { field -> 
     223                                        def name = field.name 
     224                                        def value = assay.getFieldValue( name ) 
     225                                        items[name] = value 
     226                                } 
    228227                        } 
    229228        } 
     
    259258                if( params.assayToken && params.sampleToken ) { 
    260259                        def assay = Assay.find( "from Assay as a where externalAssayID=?",[params.assayToken]) 
    261                         assay.getSamples().each { sample -> 
    262                                 if( sample.name == params.sampleToken ) { 
    263                                         items = [  
    264                                                 'subject'             : sample.parentSubject.name, 
    265                                                 'event'               : sample.parentEvent.template.name, 
    266                                                 'startTime'           : sample.parentEvent.getStartTimeString() 
    267                                         ] 
    268                                         sample.giveFields().each { field -> 
    269                                                 def name = field.name 
    270                                                 def value = sample.getFieldValue( name ) 
    271                                                 items[name] = value 
    272                         } 
     260                        if(assay) { 
     261                                assay.getSamples().each { sample -> 
     262                                        if( sample.name == params.sampleToken ) { 
     263                                                        items = [  
     264                                                        'subject'             : sample.parentSubject.name, 
     265                                                        'event'               : sample.parentEvent.template.name, 
     266                                                        'startTime'           : sample.parentEvent.getStartTimeString() 
     267                                                        ] 
     268                                                        sample.giveFields().each { field -> 
     269                                                        def name = field.name 
     270                                                        def value = sample.getFieldValue( name ) 
     271                                                        items[name] = value 
     272                                } 
     273                                        } 
    273274                                } 
    274275                        } 
     
    278279 
    279280        def getAuthorizationLevel = { 
    280                 // Warning: this case is only for testing!  
    281                 // The code below should be used until the 
    282                 // authorization works.  
    283                 /*if( params.isOwner || params.isEditor || params.Owner ) { 
    284                         return render ['isReader':params.isOwner,  
    285                                 'isEditor':params.isEditor, 'isOwner':params.isOwner] as JSON 
    286                 }*/ 
    287  
    288281                // in future the users authorization level will be based on authorization model          
    289282                if( params.studyToken ) { 
     
    292285                        if(study) study.subjects.each { subjects.push it.name } 
    293286                } 
    294  
    295                 /*def user 
    296                 if( params.user ) { 
    297                         def id = params.user 
    298                         user = users.find( "from User as u where u.code=?", [id]) 
    299                 }*/ 
    300287 
    301288                def perm = study.getPermissions(requestUser)