Ignore:
Timestamp:
Oct 14, 2010, 7:57:16 PM (6 years ago)
Author:
j.saito@…
Message:

Sorted out sources for null-pointer exceptions.

File:
1 edited

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)
Note: See TracChangeset for help on using the changeset viewer.