Changeset 256

Show
Ignore:
Timestamp:
11-03-10 11:48:16 (4 years ago)
Author:
tabma
Message:

- Template enums now used instead of POI Celltypes

Location:
trunk/grails-app
Files:
4 modified

Legend:

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

    r255 r256  
    6262 
    6363    /** 
    64     * User has assigned all entities and celltypes to the columns and continues to the next step (assigning properties to columns) 
     64    * User has assigned all entities and templatefieldtypes to the columns and continues to the next step (assigning properties to columns) 
    6565    * All information of the columns is stored in a session as MappingColumn object 
    6666    * 
    6767    * @param entity list of entities and columns it has been assigned to (columnindex:entitytype format) 
    68     * @param celltype list of celltypes and columns it has been assigned to (columnindex:celltype format) 
     68    * @param templatefieldtype list of celltypes and columns it has been assigned to (columnindex:templatefieldtype format) 
    6969    * @return properties page 
    7070    * 
    7171    * @see celltype: http://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/Cell.html 
    7272    */ 
    73     def savepreview = {  
     73    def savepreview = { 
     74        def tft = null 
    7475        def entities  = request.getParameterValues("entity") 
    75         def celltypes = request.getParameterValues("celltype") 
     76        def templatefieldtypes = request.getParameterValues("templatefieldtype") 
    7677 
    77         celltypes.each { c -> 
    78             def temp = c.split(":") 
    79             def celltype = temp[1].toInteger() 
    80             def templatefieldtype = TemplateFieldType.STRING 
     78        templatefieldtypes.each { t -> 
     79            def temp = t.split(":") 
     80            def templatefieldtype = temp[1]          
    8181             
    82             session.header[temp[0].toInteger()].celltype = celltype 
    83  
    84             switch (celltype) { 
    85                 case 0 : templatefieldtype = TemplateFieldType.INTEGER 
    86                          break 
    87                 case 1 : templatefieldtype = TemplateFieldType.STRING 
    88                          break 
    89                 case 2 :  // formula cell type, cannot handle this 
    90                          break 
    91                 case 3 : templatefieldtype = TemplateFieldType.STRING 
    92                          break 
    93                 case 4 : templatefieldtype = TemplateFieldType.STRING 
    94                          break 
     82            switch (templatefieldtype) { 
     83                case "STRING"       : tft = TemplateFieldType.STRING 
     84                                      break 
     85                case "TEXT"         : tft = TemplateFieldType.TEXT 
     86                                      break 
     87                case "INTEGER"      : tft = TemplateFieldType.INTEGER 
     88                                      break 
     89                case "FLOAT"        : tft = TemplateFieldType.FLOAT 
     90                                      break 
     91                case "DOUBLE"       : tft = TemplateFieldType.DOUBLE 
     92                                      break 
     93                case "STRINGLIST"   : tft = TemplateFieldType.STRINGLIST 
     94                                      break 
     95                case "ONTOLOGYTERM" : tft = TemplateFieldType.ONTOLOGYTERM 
     96                                      break 
     97                case "DATE"         : tft = TemplateFieldType.DATE 
     98                                      break 
    9599                default: break 
    96100            } 
     101            session.header[temp[0].toInteger()].templatefieldtype = tft 
    97102        } 
    98103 
    99104        entities.each { e -> 
    100105            def temp = e.split(":") 
    101             Class clazz 
     106            Class clazz      
    102107 
    103108            switch (temp[1].toInteger()) { 
     
    113118                        break 
    114119                default: clazz = Object 
     120                        break 
    115121            } 
    116122 
     
    132138    */ 
    133139    def saveproperties = { 
     140        def columnproperties  = request.getParameterValues("columnproperty") 
    134141 
    135         def columnproperties  = request.getParameterValues("columnproperty") 
    136142        columnproperties.each { cp -> 
    137143                def temp = cp.split(":") 
  • trunk/grails-app/domain/dbnp/importer/MappingColumn.groovy

    r255 r256  
    1515        dbnp.studycapturing.TemplateFieldType templatefieldtype 
    1616        Class entity 
    17         String property 
    18         Integer celltype 
     17        String property  
    1918        Integer index 
    2019        String value 
     
    2524 
    2625    String toString() { 
    27         return "Name:" + name + "/TemplateFieldType:" + templatefieldtype + "/Entity:" + entity + "/Property:" + property + "/Celltype:" + celltype + "/Index:" + index + "/Value:" + value 
     26        return "Name:" + name + "/TemplateFieldType:" + templatefieldtype + "/Entity:" + entity + "/Property:" + property + "/Index:" + index + "/Value:" + value 
    2827    } 
    2928} 
  • trunk/grails-app/taglib/dbnp/importer/ImporterTagLib.groovy

    r255 r256  
    2222    def standardentities = [[type:-1, name:"Don't import"], [type:0, name:"Study"], [type:1, name:"Subject"], [type:2, name:"Event"], 
    2323                        [type:3, name:"Protocol"], [type:4, name:"Sample"]] 
    24  
    25     /*def standardcelltypes = [ 
    26                          [type:0, name:"Numeric"], [type:1, name:"String"], [type:2, name:"Formula"], 
    27                          [type:3, name:"Blank"], [type:4, name:"Boolean"], [type:5, name:"Error"], [type:6, name:"Date"], 
    28                          [type:7, name:"Float"], [type:8, name:"Double"], [type:9, name:"List of items"], [type:10, name:"Ontologyterm"] 
    29                      ]*/ 
    3024 
    3125    /** 
     
    6256    } 
    6357 
    64     def createSelect(int selected, String name, options, String customvalue) { 
     58    def createSelect(selected, String name, options, String customvalue) { 
    6559        def res = "<select style=\"font-size:10px\" name=\"${name}\">" 
    6660 
    6761        options.each { e -> 
    68             res += "<option value=\"${customvalue}:${e.type}\"" 
    69             res += (e.type.toInteger() == selected) ? " selected" : "" 
    70             res += ">${e.name}</option>" 
     62            res += "<option value=\"${customvalue}:${e}\"" 
     63            res += (e == selected) ? " selected" : "" 
     64            res += ">${e}</option>" 
    7165        } 
    7266 
     
    118112    }     
    119113 
    120     /** 
    121      * @param selected selected entity 
    122      * @param name name of the HTML select object 
    123      **/ 
    124     def entitySelect = { attrs ->        
    125         def selected = (attrs['selected']==null) ? -1 : attrs['selected'] 
    126         def customvalue = (attrs['customvalue']==null) ? "" : attrs['customvalue'] 
    127         out << createSelect(selected, attrs['name'], standardentities, customvalue) 
     114     def entitySelect = { attrs -> 
     115        def sel = (attrs['selected']==null) ? -1 : attrs['selected'] 
     116        def custval = (attrs['customvalue']==null) ? "" : attrs['customvalue'] 
     117        def name = (attrs['name']==null) ? -1 : attrs['name'] 
     118 
     119        def res = "<select style=\"font-size:10px\" name=\"${name}\">" 
     120 
     121        standardentities.each { e -> 
     122            res += "<option value=\"${custval}:${e.type}\"" 
     123            res += (e.type == sel) ? " selected" : "" 
     124            res += ">${e.name}</option>" 
     125        } 
     126 
     127        res += "</select>" 
     128        out << res 
    128129    } 
    129130 
     
    134135    * @return HTML select object 
    135136    */ 
    136     def celltypeSelect = { attrs -> 
     137    def templatefieldtypeSelect = { attrs -> 
    137138        def selected = (attrs['selected']==null) ? -1 : attrs['selected'] 
    138139        def customvalue = (attrs['customvalue']==null) ? "" : attrs['customvalue'] 
     140        def name = (attrs['name']==null) ? "" : attrs['name'] 
    139141        //out << createSelect(selected, attrs['name'], standardcelltypes, customvalue) 
    140         out << createSelect(selected, attrs['name'], TemplateFieldType.list(), customvalue) 
     142 
     143        def res = "<select style=\"font-size:10px\" name=\"${name}\">" 
     144 
     145        TemplateFieldType.list().each { e -> 
     146            res += "<option value=\"${customvalue}:${e}\"" 
     147            res += (e == selected) ? " selected" : "" 
     148            res += ">${e}</option>" 
     149        } 
     150 
     151        res += "</select>" 
     152 
     153        out << res 
    141154    } 
    142155} 
  • trunk/grails-app/views/importer/common/_preview.gsp

    r255 r256  
    2828            <g:each var="column" in="${header}"> 
    2929                <td class="header"> 
    30                     <importer:celltypeSelect selected="${column.value.templatefieldtype}" name="celltype" customvalue="${column.key.toString()}"/> 
     30                    <importer:templatefieldtypeSelect selected="${column.value.templatefieldtype}" name="templatefieldtype" customvalue="${column.key.toString()}"/> 
    3131                </td> 
    3232            </g:each>