Ignore:
Timestamp:
Feb 1, 2011, 5:33:41 PM (9 years ago)
Author:
t.w.abma@…
Message:
  • importer doesn't crash on empty (null) rows in an Excel sheet anymore
  • template editor can be opened and the selected form fields will be remembered after a refresh
  • fixed Template lookup
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/services/dbnp/importer/ImporterService.groovy

    r1457 r1469  
    151151
    152152                        (0..header.size() - 1).each { columnindex ->
    153                                 def c = sheet.getRow(rowindex).getCell(columnindex, Row.CREATE_NULL_AS_BLANK)
    154                                 row.add(c)
     153                if (sheet.getRow(rowindex))
     154                    row.add( sheet.getRow(rowindex).getCell(columnindex, Row.CREATE_NULL_AS_BLANK) )
    155155                        }
    156156
     
    277277                        record.each { entity ->
    278278                                switch (entity.getClass()) {
    279                                         case Study: log.info "Persisting Study `" + entity + "`: "
     279                                        case Study: log.info ".importer wizard, persisting Study `" + entity + "`: "
    280280                                                entity.owner = authenticationService.getLoggedInUser()
    281                                                 persistEntity(entity)
    282                                                 break
    283                                         case Subject: log.info "Persisting Subject `" + entity + "`: "
     281                       
     282                        if (study.validate()) {
     283                            if (!entity.save(flush:true)) {
     284                                log.error ".importer wizard, study could not be saved: " + entity
     285                                throw new Exception('.importer wizard, study could not be saved: ' + entity)
     286                            }
     287                        } else {
     288                            log.error ".importer wizard, study could not be validated: " + entity
     289                            throw new Exception('.importer wizard, study could not be validated: ' + entity)
     290                        }
     291
     292                        break
     293                                        case Subject: log.info ".importer wizard, persisting Subject `" + entity + "`: "
    284294
    285295                                                // is the current entity not already in the database?
     
    292302
    293303                                                break
    294                                         case Event: log.info "Persisting Event `" + entity + "`: "
     304                                        case Event: log.info ".importer wizard, persisting Event `" + entity + "`: "
    295305                                                study.addToEvents(entity)
    296306                                                break
    297                                         case Sample: log.info "Persisting Sample `" + entity + "`: "
     307                                        case Sample: log.info ".importer wizard, persisting Sample `" + entity + "`: "
    298308
    299309                                                // is this sample validatable (sample name unique for example?)
     
    301311
    302312                                                break
    303                                         case SamplingEvent: log.info "Persisting SamplingEvent `" + entity + "`: "
     313                                        case SamplingEvent: log.info ".importer wizard, persisting SamplingEvent `" + entity + "`: "
    304314                                                study.addToSamplingEvents(entity)
    305315                                                break
    306                                         default: log.info "Skipping persisting of `" + entity.getclass() + "`"
     316                                        default: log.info ".importer wizard, skipping persisting of `" + entity.getclass() + "`"
    307317                                                break
    308318                                } // end switch
     
    381391         */
    382392        boolean persistEntity(entity) {
    383                 log.info ".import wizard persisting ${entity}"
    384 
    385                 try {
     393                /*log.info ".import wizard persisting ${entity}"
     394
     395                try {           
    386396                        entity.save(flush: true)
    387397                        return true
     
    393403                }
    394404
    395                 return true
     405                return true*/
     406        //println "persistEntity"
    396407        }
    397408
Note: See TracChangeset for help on using the changeset viewer.