Changeset 181

Show
Ignore:
Timestamp:
10-11-10 10:09:57 (3 years ago)
Author:
adem.bilican@…
Message:

adding file error handling

Location:
grails-app/controllers/importer
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • grails-app/controllers/importer/ImporterController.groovy

    r178 r181  
    186186                // there is a file 
    187187                else if ((tabbedTable.replaceAll("^\\s+", "").size() == 0) && (params['file'] != "null" )) { 
    188                     flow.tabDelimitedString = fileService.get(params['file']) 
    189                     flow.file = params['file'] 
    190                     success() 
     188                    try { 
     189                        flow.tabDelimitedString = fileService.get(params['file']) 
     190                        flow.file = params['file'] 
     191                        success() 
     192                    } 
     193                    catch (Exception e){ 
     194                        fileService.delete(params['file']) 
     195                        flash.errors = "File Error : Please check the file integrity. It should be an Excel sheet." 
     196                        error() 
     197                    } 
    191198                } 
    192199                // catch error if there is nothing to do 
     
    283290                def studySubjects = [] 
    284291                for (subject in CommunicationManager 
    285                                                 .getSubjects( session.sessionToken, flow.selectedStudyID.toString() )){ 
     292                    .getSubjects( session.sessionToken, flow.selectedStudyID.toString() )){ 
    286293                    studySubjects.add(subject) 
    287294                } 
     
    852859        for (i in 0..params['name'].size()-1){ 
    853860            def subAssay = new SimpleAssayMeasurementType( 
    854                     name: params['name'].getAt(i), 
    855                     unit: params['unit'].getAt(i), 
    856                     detectableLimit: params['limit'].getAt(i).toDouble() 
    857                 ) 
    858                 subAssay.save(flush:true) 
    859                 flow.measurementTypes.add(subAssay.name) 
     861                name: params['name'].getAt(i), 
     862                unit: params['unit'].getAt(i), 
     863                detectableLimit: params['limit'].getAt(i).toDouble() 
     864            ) 
     865            subAssay.save(flush:true) 
     866            flow.measurementTypes.add(subAssay.name) 
    860867        } 
    861868    } 
     
    920927 
    921928 
    922         def test = {  
    923                 render params  
    924                 render session.sessionToken 
    925                 render '<br>' 
    926                 CommunicationManager.metaClass.getMethods().each {render it.toString() + '<br>'} 
    927                 render '<br>' 
    928                 render '<br>' 
    929                 render '<br>' 
    930                 try {  
    931                 render CommunicationManager.getStudies( session.sessionToken ) 
    932                 } catch (Exception e) { println e } 
    933         } 
     929    def test = { 
     930        render params 
     931        render session.sessionToken 
     932        render '<br>' 
     933        CommunicationManager.metaClass.getMethods().each {render it.toString() + '<br>'} 
     934        render '<br>' 
     935        render '<br>' 
     936        render '<br>' 
     937        try { 
     938            render CommunicationManager.getStudies( session.sessionToken ) 
     939        } catch (Exception e) { println e } 
     940    } 
    934941 
    935942} 
  • grails-app/controllers/importer/MeasurementTypeImporterController.groovy

    r161 r181  
    7171                // there is a file 
    7272                else if ((tabbedTable.replaceAll("^\\s+", "").size() == 0) && (params['file'] != "null" )) { 
    73 //                    try{ 
    74                         this.parseData(ImporterService, fileService.get(params['file']) ,flow) 
     73                    try{ 
     74                        this.parseData(ImporterService, fileService.get(params['file']) ,flow,flash) 
    7575                        flow.file = params['file'] 
    7676                        success() 
    77 //                    } 
    78 //                    catch (Exception e){ 
    79 //                        flash.errors = "File Error : Please check the file integrity" 
    80 //                        error() 
    81 //                    } 
     77                    } 
     78                    catch (Exception e){ 
     79                        fileService.delete(params['file']) 
     80                        flash.errors = "File Error : Please check the file integrity. It should be an Excel sheet." 
     81                        error() 
     82                    } 
    8283                } 
    8384                // catch error if there is nothing to do 
     
    129130     * parseData will parse the pasted tab-delimited data 
    130131     */ 
    131     def parseData(ImporterService, tabDelimited, flow){ 
     132    def parseData(ImporterService, tabDelimited, flow,flash){ 
    132133        def headersList= [] 
    133134        def datamatrix = [] 
    134         def wb = getWorkBook(tabDelimited) 
     135        def wb = getWorkBook(tabDelimited,flash) 
    135136        // getHeader contains information about headers 
    136137        for (header in ImporterService.getHeader(wb, 0)){ 
     
    156157     * 
    157158     */ 
    158     private Workbook getWorkBook( tabbed ) { 
     159    private Workbook getWorkBook( tabbed ,flash) { 
    159160        def wb 
    160161        if (tabbed instanceof File) {