Ignore:
Timestamp:
Mar 18, 2010, 3:58:06 PM (9 years ago)
Author:
tabma
Message:
  • entities functionally persisted (TODO: conversion of String to Float for fields, breaks currently)
File:
1 edited

Legend:

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

    r283 r284  
    2828import dbnp.studycapturing.Sample
    2929
     30import dbnp.data.Ontology
     31import dbnp.data.Term
     32
    3033
    3134class ImporterService {
     
    184187                switch (entity.getClass()) {
    185188                    case Study   :  print "Persisting Study `" + entity.title + "`: "
    186                                     entity.save()
    187                                     println "OK"
     189                                    persistEntity(entity)
    188190                                    break
    189191                    case Subject :  print "Persisting Subject `" + entity.name + "`: "
    190                                     entity.save()
    191                                     println "OK"
     192                                    persistEntity(entity)
    192193                                    break
    193194                    case Event   :  print "Persisting Event `" + entity.eventdescription + "`: "
    194                                     entity.save()
    195                                     println "OK"
     195                                    persistEntity(entity)
    196196                                    break
    197197                    case Protocol:  print "Persisting Protocol `" + entity.name + "`: "
    198                                     entity.save()
    199                                     println "OK"
     198                                    persistEntity(entity)
    200199                                    break
    201200                    case Sample  :  print "Persisting Sample `" + entity.name +"`: "
    202                                     entity.save()
    203                                     println "OK"
    204                                     break
    205                     default      :  println "Skipping persistance of `" + entity.getclass() +"`"
     201                                    persistEntity(entity)
     202                                    break
     203                    default      :  println "Skipping persisting of `" + entity.getclass() +"`"
    206204                                    break
    207205                }
    208206            }
    209         }
    210     }
    211 
    212     /**
    213      * This method created a record (array) containing entities with values
     207        }       
     208    }
     209
     210    /**
     211     * Method to persist entities into the database
     212     *
     213     * @param entity entity object like Study, Subject, Protocol et cetera
     214     *
     215     */
     216    def persistEntity(entity) {
     217        println entity.dump()
     218        if (entity.save(flush:true)) {  //.merge?
     219            println "OK"
     220        } else entity.errors.allErrors.each {
     221                println it
     222        }
     223    }
     224
     225    /**
     226     * This method creates a record (array) containing entities with values
    214227     *
    215228     * @param template_id template identifier
     
    220233        def df = new DataFormatter()
    221234        def template = Template.get(template_id)
    222         def record = []
    223 
     235        def record = [] 
     236       
    224237        def study = new Study(title:"New study", template:template)
    225         def subject = new Subject(name:"New subject", template:template)
     238        def subject = new Subject(name:"New subject", species:Term.getTerm("Homo sapiens"), template:template)
    226239        def event = new Event(eventdescription:"New event", template:template)
    227240        def protocol = new Protocol(name:"New protocol", template:template)
Note: See TracChangeset for help on using the changeset viewer.