Changeset 321


Ignore:
Timestamp:
Mar 31, 2010, 2:02:35 PM (7 years ago)
Author:
tabma
Message:
  • identifying columns get stored using 'name' attribute of entities as identifier
Location:
trunk/grails-app
Files:
5 edited

Legend:

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

    r284 r321  
    7777        def entities  = request.getParameterValues("entity")
    7878        def templatefieldtypes = request.getParameterValues("templatefieldtype")
     79        def identifiercolumnindex = params.identifier.toInteger()
    7980
    80         templatefieldtypes.each { t ->
    81             def temp = t.split(":")
    82             def templatefieldtype = temp[1]         
     81        templatefieldtypes.each { t ->     
     82            def columnindex = t.split(":")[0].toInteger()
     83            def templatefieldtype = t.split(":")[1]
    8384           
    8485            switch (templatefieldtype) {
     
    101102                default: break
    102103            }
    103             session.header[temp[0].toInteger()].templatefieldtype = tft
     104            session.header[columnindex].templatefieldtype = tft
    104105        }
    105106
    106         entities.each { e ->
    107             def temp = e.split(":")
     107        entities.each { e ->               
     108            def columnindex = e.split(":")[0].toInteger()
     109            def entitytype = e.split(":")[1].toInteger()
    108110            Class clazz     
    109111
    110             switch (temp[1].toInteger()) {
     112            switch (entitytype) {
    111113                case 0: clazz = Study
    112114                        break
     
    123125            }
    124126
    125             session.header[temp[0].toInteger()].index = temp[0].toInteger()
    126             session.header[temp[0].toInteger()].entity = clazz
     127            session.header[columnindex].identifier = (columnindex == identifiercolumnindex) ? true : false
     128            session.header[columnindex].index = columnindex
     129            session.header[columnindex].entity = clazz
    127130        }
    128131
     
    142145        def columnproperties  = request.getParameterValues("columnproperty")
    143146
    144         columnproperties.each { cp ->
    145                 def temp = cp.split(":")
    146                 session.header[temp[0].toInteger()].property = TemplateField.get(temp[1].toInteger())
     147        columnproperties.each { cp ->           
     148                def columnindex = cp.split(":")[0].toInteger()
     149                def property_id = cp.split(":")[1].toInteger()
     150                session.header[columnindex].property = TemplateField.get(property_id)           
    147151        }
    148152
  • trunk/grails-app/domain/dbnp/studycapturing/TemplateEntity.groovy

    r313 r321  
    9191                // First, search if there is an entity property with the given name, and if so, set that
    9292                if (this.properties.containsKey(fieldName)) {
    93                         this[fieldName] = value
     93                        this[fieldName] = value                 
    9494                }
    9595                // If not the found, then it is a template field, so check if there is a template
  • trunk/grails-app/services/dbnp/importer/ImporterService.groovy

    r312 r321  
    267267            switch(mc.entity) {
    268268                case Study      :   (record.any {it.getClass()==mc.entity}) ? 0 : record.add(study)
     269                                    if (mc.identifier) { study.title = value; break }
    269270                                    study.setFieldValue(mc.property.name, value)
    270271                                    break
    271272                case Subject    :   (record.any {it.getClass()==mc.entity}) ? 0 : record.add(subject)
     273                                    if (mc.identifier) { subject.name = value; break }
    272274                                    subject.setFieldValue(mc.property.name, value)
    273275                                    break
    274276                case Event      :   (record.any {it.getClass()==mc.entity}) ? 0 : record.add(event)
     277                                    if (mc.identifier) { event.eventdescription = value; break }
    275278                                    event.setFieldValue(mc.property.name, value)
    276279                                    break
    277280                case Protocol   :   (record.any {it.getClass()==mc.entity}) ? 0 : record.add(protocol)
     281                                    if (mc.identifier) { protocol.name = value; break }
    278282                                    protocol.setFieldValue(mc.property.name, value)
    279283                                    break
    280284                case Sample     :   (record.any {it.getClass()==mc.entity}) ? record.add(sample) : 0
     285                                    if (mc.identifier) { sample.name = value; break }
    281286                                    sample.setFieldValue(mc.property.name, value)
    282287                                    break
  • trunk/grails-app/taglib/dbnp/importer/ImporterTagLib.groovy

    r305 r321  
    8686        def t = Template.get(session.importtemplate_id)
    8787        def mc = attrs['mappingcolumn']
    88        
    89         out << createPropertySelect(attrs['name'], t.fields.findAll { it.type == mc.templatefieldtype }, mc.index)
     88
     89        (mc.identifier) ? out << "<select style=\"font-size:10px\" name=\"\" disabled><option>Identifier</option></select>":
     90            out << createPropertySelect(attrs['name'], t.fields.findAll { it.type == mc.templatefieldtype }, mc.index)
    9091    }
    9192
  • trunk/grails-app/views/importer/common/_preview.gsp

    r312 r321  
    3434
    3535        <tr>
    36             <td>Celltype:</td>
     36            <td>Fieldtype:</td>
    3737            <g:each var="column" in="${header}">
    3838                <td class="header">
Note: See TracChangeset for help on using the changeset viewer.