Ignore:
Timestamp:
Feb 16, 2011, 2:24:56 PM (11 years ago)
Author:
robert@…
Message:

Implemented improved authorization (#16)
Built in select all checkboxes (#25)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/services/nl/tno/metagenomics/integration/GscfService.groovy

    r13 r14  
    2424         */
    2525        public String urlAuthRemote( def params, def token ) {
    26                 def redirectURL = "${config.gscf.baseURL}/login/auth_remote?moduleURL=${this.moduleURL()}&consumer=${this.consumerID()}&token=${token}&returnUrl=${config.grails.serverURL}"
    27 
     26                def redirectURL = "${config.gscf.baseURL}/login/auth_remote?moduleURL=${this.moduleURL()}&consumer=${this.consumerID()}&token=${token}&"
     27
     28                def returnUrl = config.grails.serverURL
    2829                if (params.controller != null){
    29                         redirectURL += "/${params.controller}"
     30                        returnUrl += "/${params.controller}"
    3031                        if (params.action != null){
    31                                 redirectURL += "/${params.action}"
     32                                returnUrl += "/${params.action}"
    3233                                if (params.id != null){
    33                                         redirectURL += "/${params.id}"
     34                                        returnUrl += "/${params.id}"
    3435                                }
    3536                        }
    3637                }
    3738
    38                 return redirectURL
     39                // Append other parameters
     40                returnUrl += "?" + params.collect {
     41                        if( it.key != "controller" && it.key != "action" && it.key != "id" )
     42                                return it.key.toString().encodeAsURL() + "=" + it.value.toString().encodeAsURL();
     43                        else
     44                                return ""
     45                }.findAll { it }.join( "&" );
     46               
     47                return redirectURL + "returnUrl=" + returnUrl.encodeAsURL();
    3948        }
    4049
     
    6574         * @return Map
    6675         */
    67         public Map getUser(String sessionToken) {
     76        public Map getUser(String sessionToken) throws Exception {
    6877                def user = [:]
    69                 this.callGSCF(sessionToken, "getUser").each {
    70                         user[ it.key ] = it.value;
    71                 }
    72                 return user
     78                try {
     79                        this.callGSCF(sessionToken, "getUser").each {
     80                                user[ it.key ] = it.value;
     81                        }
     82                        return user
     83                } catch( Exception e ) {
     84                        throw new Exception( "Retrieving user details from GSCF failed", e );
     85                }
    7386        }
    7487
     
    8093         * @return ArrayList
    8194         */
    82         public ArrayList getStudies(String sessionToken) {
     95        public ArrayList getStudies(String sessionToken) throws BadRequestException, NotAuthenticatedException, NotAuthorizedException, ResourceNotFoundException, Exception {
    8396                return this.callGSCF(sessionToken, "getStudies")
    8497        }
     
    92105         * @return ArrayList
    93106         */
    94         public ArrayList getStudies(String sessionToken, ArrayList studyTokens ) {
     107        public ArrayList getStudies(String sessionToken, ArrayList studyTokens ) throws BadRequestException, NotAuthenticatedException, NotAuthorizedException, ResourceNotFoundException, Exception  {
    95108                return this.callGSCF(sessionToken, "getStudies", [ "studyToken": studyTokens ] );
    96109        }
     
    104117         * @return ArrayList
    105118         */
    106         public def getStudy(String sessionToken, String studyToken) throws NotAuthorizedException, ResourceNotFoundException {
     119        public def getStudy(String sessionToken, String studyToken) throws BadRequestException, NotAuthenticatedException, NotAuthorizedException, ResourceNotFoundException, Exception {
    107120                def list
    108121
     
    131144         * @return ArrayList
    132145         */
    133         public ArrayList getAssays(String sessionToken, String studyToken) throws NotAuthorizedException, ResourceNotFoundException {
     146        public ArrayList getAssays(String sessionToken, String studyToken) throws BadRequestException, NotAuthenticatedException, NotAuthorizedException, ResourceNotFoundException, Exception {
    134147                try {
    135148                        return this.callGSCF(sessionToken, "getAssays", ["studyToken": studyToken])
     
    150163         * @return ArrayList
    151164         */     
    152         public def getAssay(String sessionToken, String studyToken, String assayToken ) throws NotAuthorizedException, ResourceNotFoundException {
     165        public def getAssay(String sessionToken, String studyToken, String assayToken )throws BadRequestException, NotAuthenticatedException, NotAuthorizedException, ResourceNotFoundException, Exception {
    153166                def list
    154167                try {
     
    178191         * @return ArrayList
    179192         */
    180         public def getSample(String sessionToken, String assayToken, String sampleToken) throws NotAuthorizedException, ResourceNotFoundException {
     193        public def getSample(String sessionToken, String assayToken, String sampleToken) throws BadRequestException, NotAuthenticatedException, NotAuthorizedException, ResourceNotFoundException, Exception {
    181194                def list
    182195
     
    205218         * @return ArrayList
    206219         */
    207         public ArrayList getSamples(String sessionToken, String assayToken) throws NotAuthorizedException, ResourceNotFoundException {
     220        public ArrayList getSamples(String sessionToken, String assayToken) throws BadRequestException, NotAuthenticatedException, NotAuthorizedException, ResourceNotFoundException, Exception {
    208221                // Samples of a Study limited to a single Assay
    209222                try {
     
    225238         * @return ArrayList
    226239         */
    227         public def getSamples(String sessionToken, List sampleTokens) throws NotAuthorizedException, ResourceNotFoundException {
     240        public def getSamples(String sessionToken, List sampleTokens) throws BadRequestException, NotAuthenticatedException, NotAuthorizedException, ResourceNotFoundException, Exception {
    228241                def list
    229242
     
    249262         * @return ArrayList
    250263         */
    251         public HashMap getAuthorizationLevel(String sessionToken, String studyToken) throws ResourceNotFoundException {
     264        public HashMap getAuthorizationLevel(String sessionToken, String studyToken) throws BadRequestException, NotAuthenticatedException, NotAuthorizedException, ResourceNotFoundException, Exception {
    252265                ArrayList list
    253266
Note: See TracChangeset for help on using the changeset viewer.