Changeset 2206

Show
Ignore:
Timestamp:
03-04-12 15:59:02 (2 years ago)
Author:
work@…
Message:

- catch REST api errors to make sure the api does not fail, output error

Location:
trunk/grails-app
Files:
2 modified

Legend:

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

    r2204 r2206  
    55 * with GSCF 
    66 * 
    7  * @author  your email (+name?) 
    8  * @since       20120328ma 
     7 * @author  Jeroen Wesbeek <work@osx.eu> 
     8 * @since       20120328 
     9 * @package api 
    910 * 
    1011 * Revision information: 
     
    376377            ); 
    377378 
    378  
    379379            // define result 
    380380            def result = [ 
  • trunk/grails-app/services/api/ApiService.groovy

    r2203 r2206  
    44 * Description of my service 
    55 * 
    6  * @author  your email (+name?) 
    7  * @since       2010mmdd 
    8  * @package     ??? 
     6 * @author  Jeroen Wesbeek <work@osx.eu> 
     7 * @since       20120328 
     8 * @package     api 
    99 * 
    1010 * Revision information: 
     
    114114        def serviceURL = "${assay.module.url}/rest/getMeasurements" 
    115115        def serviceArguments = "assayToken=${assay.assayUUID}" 
     116        def json 
    116117 
    117118        // call module method 
    118         def json = moduleCommunicationService.callModuleMethod( 
    119                 assay.module.url, 
    120                 serviceURL, 
    121                 serviceArguments, 
    122                 "POST", 
    123                 user 
    124         ); 
     119        try { 
     120            json = moduleCommunicationService.callModuleMethod( 
     121                    assay.module.url, 
     122                    serviceURL, 
     123                    serviceArguments, 
     124                    "POST", 
     125                    user 
     126            ); 
     127        } catch (Exception e) { 
     128            println "api.getMeasurements failed :: ${e.getMessage()}" 
     129            json = new org.codehaus.groovy.grails.web.json.JSONArray() 
     130        } 
    125131 
    126132        return json 
     
    137143        def serviceURL = "${assay.module.url}/rest/getMeasurementData" 
    138144        def serviceArguments = "assayToken=${assay.assayUUID}&verbose=true" 
     145        def json 
    139146 
    140147        // call module method 
    141         def json = moduleCommunicationService.callModuleMethod( 
    142                 assay.module.url, 
    143                 serviceURL, 
    144                 serviceArguments, 
    145                 "POST", 
    146                 user 
    147         ); 
     148        try { 
     149            json = moduleCommunicationService.callModuleMethod( 
     150                    assay.module.url, 
     151                    serviceURL, 
     152                    serviceArguments, 
     153                    "POST", 
     154                    user 
     155            ); 
     156        } catch (Exception e) { 
     157            println "api.getMeasurementData failed :: ${e.getMessage()}" 
     158            json = new org.codehaus.groovy.grails.web.json.JSONArray() 
     159        } 
    148160 
    149161        return json 
     
    172184            ); 
    173185        } catch (Exception e) { 
    174             println e.getMessage() 
     186            println "api.getMeasurementMetaData failed :: ${e.getMessage()}" 
    175187            json = new org.codehaus.groovy.grails.web.json.JSONArray() 
    176188        }