Changeset 333


Ignore:
Timestamp:
Apr 9, 2010, 11:02:10 AM (14 years ago)
Author:
tabma
Message:
  • changed search for Stringlist items to case-insensitive (reading lowercase 'male' from Excel failed to match 'Male' in the Gender Stringlist)
  • added trimming to the valueformatter in the importer service
Location:
trunk/grails-app
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/domain/dbnp/studycapturing/TemplateEntity.groovy

    r332 r333  
    263263                else {
    264264                        // Find the target template field, if not found, throw an error
    265                         TemplateField field = this.template.fields.find { it.name == fieldName}
     265                        TemplateField field = this.template.fields.find { it.name == fieldName }
    266266                        if (field == null) {
    267267                                throw new NoSuchFieldException("Field ${fieldName} not found in class properties or template fields")
     
    271271                                // Convenience setter for template string list fields: find TemplateFieldListItem by name
    272272                                if (field.type == TemplateFieldType.STRINGLIST && value.class == String) {
    273                                         value = field.listEntries.find { it.name == value }
     273                                        value = field.listEntries.find { it.name ==~ /(?i)($value)/ }
    274274                                }
    275275
  • trunk/grails-app/services/dbnp/importer/ImporterService.groovy

    r328 r333  
    217217                                    break
    218218                    case Subject :  print "Persisting Subject `" + entity.name + "`: "
     219                                    println entity.dump()
    219220                                    persistEntity(entity)                                   
    220221                                    study.addToSubjects(entity)
     
    305306    * @return object corresponding to the TemplateFieldType
    306307    */
    307     def formatValue(String value, TemplateFieldType type) {
     308    def formatValue(String value, TemplateFieldType type) {     
    308309        switch (type) {
    309             case TemplateFieldType.STRING       :   return value
    310             case TemplateFieldType.TEXT         :   return value
     310            case TemplateFieldType.STRING       :   return value.trim()
     311            case TemplateFieldType.TEXT         :   return value.trim()
    311312            case TemplateFieldType.INTEGER      :   return Integer.valueOf(value.replaceAll("[^0-9]",""))
    312313            case TemplateFieldType.FLOAT        :   return Float.valueOf(value.replace(",","."));
    313314            case TemplateFieldType.DOUBLE       :   return Double.valueOf(value.replace(",","."));
    314             case TemplateFieldType.STRINGLIST   :   return value
    315             case TemplateFieldType.ONTOLOGYTERM :   return value
     315            case TemplateFieldType.STRINGLIST   :   return value.trim()
     316            case TemplateFieldType.ONTOLOGYTERM :   return value.trim()
    316317            case TemplateFieldType.DATE         :   return value
    317318            default                             :   return value
Note: See TracChangeset for help on using the changeset viewer.