Changeset 534 for trunk/grails-app/services
- Timestamp:
- Jun 4, 2010, 4:00:31 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/grails-app/services/dbnp/importer/ImporterService.groovy
r489 r534 56 56 def header = [:] 57 57 def df = new DataFormatter() 58 def property = new dbnp.studycapturing.TemplateField()58 def property = new String() 59 59 60 60 for (HSSFCell c: sheet.getRow(datamatrix_start)) { … … 68 68 switch (datamatrix_celltype) { 69 69 case HSSFCell.CELL_TYPE_STRING: 70 //parse cell value as double 71 def parsable = true 72 def templatefieldtype = TemplateFieldType.STRING 73 74 // is this string perhaps a double? 75 try { 76 formatValue(c.getStringCellValue(), TemplateFieldType.DOUBLE) 77 } catch (NumberFormatException nfe) { parsable = false } 78 finally { 79 if (parsable) templatefieldtype = TemplateFieldType.DOUBLE 80 } 81 70 82 header[index] = new dbnp.importer.MappingColumn(name:df.formatCellValue(headercell), 71 templatefieldtype: TemplateFieldType.STRING,83 templatefieldtype:templatefieldtype, 72 84 index:index, 73 85 entity:theEntity, … … 290 302 291 303 switch(mc.entity) { 292 case Study : (record.any {it.getClass()==mc.entity}) ? 0 : record.add(study) 293 if (mc.identifier) { study.title = value; break } 294 study.setFieldValue(mc.property.name, value) 295 break 296 case Subject : (record.any {it.getClass()==mc.entity}) ? 0 : record.add(subject) 297 if (mc.identifier) { subject.name = value; break } 298 subject.setFieldValue(mc.property.name, value) 299 break 300 case Event : (record.any {it.getClass()==mc.entity}) ? 0 : record.add(event) 301 if (mc.identifier) { event.eventdescription = value; break } 302 event.setFieldValue(mc.property.name, value) 303 break 304 case Sample : (record.any {it.getClass()==mc.entity}) ? 0 : record.add(sample) 305 if (mc.identifier) { sample.name = value; break } 306 sample.setFieldValue(mc.property.name, value) 304 case Study : (record.any {it.getClass()==mc.entity}) ? 0 : record.add(study) 305 study.setFieldValue(mc.property, value) 306 break 307 case Subject : (record.any {it.getClass()==mc.entity}) ? 0 : record.add(subject) 308 subject.setFieldValue(mc.property, value) 309 break 310 case Event : (record.any {it.getClass()==mc.entity}) ? 0 : record.add(event) 311 event.setFieldValue(mc.property, value) 312 break 313 case Sample : (record.any {it.getClass()==mc.entity}) ? 0 : record.add(sample) 314 sample.setFieldValue(mc.property, value) 307 315 break 308 316 case Object : // don't import … … 319 327 * @return object corresponding to the TemplateFieldType 320 328 */ 321 def formatValue(String value, TemplateFieldType type) {322 switch (type) {323 case TemplateFieldType.STRING: return value.trim()324 case TemplateFieldType.TEXT: return value.trim()325 case TemplateFieldType.INTEGER: return Integer.valueOf(value.replaceAll("[^0-9]",""))326 case TemplateFieldType.FLOAT: return Float.valueOf(value.replace(",","."));327 case TemplateFieldType.DOUBLE: return Double.valueOf(value.replace(",","."));328 case TemplateFieldType.STRINGLIST: return value.trim()329 case TemplateFieldType.ONTOLOGYTERM: return value.trim()330 case TemplateFieldType.DATE: return value331 default: return value332 }329 def formatValue(String value, TemplateFieldType type) throws NumberFormatException { 330 switch (type) { 331 case TemplateFieldType.STRING : return value.trim() 332 case TemplateFieldType.TEXT : return value.trim() 333 case TemplateFieldType.INTEGER : return Integer.valueOf(value.replaceAll("[^0-9]","")) 334 case TemplateFieldType.FLOAT : return Float.valueOf(value.replace(",",".")); 335 case TemplateFieldType.DOUBLE : return Double.valueOf(value.replace(",",".")); 336 case TemplateFieldType.STRINGLIST : return value.trim() 337 case TemplateFieldType.ONTOLOGYTERM : return value.trim() 338 case TemplateFieldType.DATE : return value 339 default : return value 340 } 333 341 } 334 342 }
Note: See TracChangeset
for help on using the changeset viewer.