Ignore:
Timestamp:
Feb 15, 2011, 5:12:25 PM (10 years ago)
Author:
t.w.abma@…
Message:
  • Importer tests on hold due to missing parse() method in Template domain
  • ImportMappings? and MappingColumns? are now persisted and can be loaded, todo: null-entities? and lazy loading issue
File:
1 edited

Legend:

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

    r1515 r1525  
    160160                    flash.importer_columnproperty = params.columnproperty
    161161                    propertiesSaveImportMappingPage(flow, flash, params)                   
     162                } else // trying to load an existing import mapping
     163                if (params.importmapping_id) {
     164                    propertiesLoadImportMappingPage(flow, flash, params)
    162165                }
     166
     167
    163168               
    164169                if (params.fuzzymatching == "true")
     
    373378
    374379    /**
     380     * Load an existing import mapping
     381     *
     382     * @param Map LocalAttributeMap (the flow scope)
     383         * @param Map GrailsParameterMap (the flow parameters = form data)
     384         * @returns boolean true if correctly validated, otherwise false
     385         */
     386    boolean propertiesLoadImportMappingPage(flow, flash, params) {
     387        def im = ImportMapping.get(params.importmapping_id.toInteger())
     388
     389        flow.importer_header.each {
     390            println "original=" + it.dump()
     391        }
     392
     393        im.mappingcolumns.each { mappingcolumn ->
     394            flow.importer_header[mappingcolumn.index.toInteger()] = mappingcolumn
     395            println "adjusted=" + mappingcolumn.dump()
     396        }
     397    }
     398
     399    /**
    375400     * Save the properties as an import mapping.
    376401     *
     
    404429
    405430            // Create new MappingColumn instance
    406             /*def mc = new MappingColumn (name: flow.importer_header[columnindex.toInteger()].name,
     431            def mc = new MappingColumn (name: flow.importer_header[columnindex.toInteger()].name,
    407432                                        property:property,
    408433                                        index:columnindex,
    409                                         entity:entityClass,
     434                                        entity:flow.importer_header[columnindex.toInteger()].entity,
    410435                                        templatefieldtype:entityObj.giveFieldType(property),
    411436                                        dontimport: dontimport,
    412437                                        identifier:isPreferredIdentifier)
    413438
    414             println "storing mapping: " + mc.validate()
    415             im.addToMappingColumns(mc)*/
     439            // Save mappingcolumn
     440            if (mc.validate()) {
     441                im.addToMappingcolumns(mc)
     442            }
     443            else {
     444                mc.errors.allErrors.each {
     445                    println it
     446                }
     447            }
     448
     449            // Save importmapping
     450            if (im.validate()) {
     451                im.save(flush:true)
     452            }
     453            else {
     454                im.errors.allErrors.each {
     455                    println it
     456                }
     457            }
     458           
    416459                }
    417460    }
     461
     462    /*def importmappings = {
     463       
     464        ImportMapping.list().each { importmapping ->
     465            importmapping.mappingcolumns.each { mappingcolumn ->
     466                println "das"+mappingcolumn.dump()
     467
     468            }
     469        }
     470
     471        render("leeg")
     472    }*/
    418473
    419474        /**
Note: See TracChangeset for help on using the changeset viewer.