Changeset 203
- Timestamp:
- Feb 18, 2010, 8:10:35 AM (12 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/grails-app/controllers/dbnp/importer/ImporterController.groovy
r200 r203 46 46 def datamatrix= ImporterService.getDatamatrix(wb, 0, 5) 47 47 48 session.header = header 49 48 50 render (view:"step1", model:[header:header, datamatrix:datamatrix]) 49 51 … … 53 55 def entities = request.getParameterValues("entity") 54 56 55 render(view:"step2", model:[entities:entities ])57 render(view:"step2", model:[entities:entities, header:session.header]) 56 58 } 57 59 } -
trunk/grails-app/services/dbnp/importer/ImporterService.groovy
r169 r203 19 19 import org.apache.poi.poifs.filesystem.POIFSFileSystem 20 20 import org.apache.poi.ss.usermodel.DataFormatter 21 21 import dbnp.importer.Column 22 22 23 23 class ImporterService { … … 43 43 def sheet = wb.getSheetAt(sheetindex) 44 44 def datamatrix_start = sheet.getFirstRowNum() + 1 45 def header = [] 45 //def header = [] 46 def header = [:] 46 47 def df = new DataFormatter() 48 47 49 48 50 for (HSSFCell c: sheet.getRow(sheet.getFirstRowNum())) { … … 54 56 switch (c.getCellType()) { 55 57 case HSSFCell.CELL_TYPE_STRING: 56 header .add (columnindex:c.getColumnIndex(), value:df.formatCellValue(c), celltype:datamatrix_celltype);58 header[c.getColumnIndex()] = new dbnp.importer.Column(value:df.formatCellValue(c), type:datamatrix_celltype); 57 59 break 58 60 case HSSFCell.CELL_TYPE_NUMERIC: 59 header .add (columnindex:c.getColumnIndex(), value:df.formatCellValue(c), celltype:datamatrix_celltype);61 header[c.getColumnIndex()] = new dbnp.importer.Column(value:df.formatCellValue(c), type:datamatrix_celltype); 60 62 break 61 63 case HSSFCell.CELL_TYPE_BLANK: 62 header .add (columnindex:c.getColumnIndex(), value:"-", celltype:datamatrix_celltype);64 header[c.getColumnIndex()] = new dbnp.importer.Column(value:df.formatCellValue(c), type:datamatrix_celltype); 63 65 break 64 66 default: 65 header .add (columnindex:c.getColumnIndex(), value:df.formatCellValue(c), celltype:datamatrix_celltype);67 header[c.getColumnIndex()] = new dbnp.importer.Column(value:df.formatCellValue(c), type:datamatrix_celltype); 66 68 break 67 69 } -
trunk/grails-app/taglib/dbnp/importer/ImporterTagLib.groovy
r200 r203 18 18 class ImporterTagLib { 19 19 static namespace = 'importer' 20 def entities = [[value:0, name:"Study"], [value:1, name:"Subject"], [value:2, name:"Event"],21 [ value:3, name:"Protocol"], [value:4, name:"Sample"]]20 def standardentities = [[type:0, name:"Study"], [type:1, name:"Subject"], [type:2, name:"Event"], 21 [type:3, name:"Protocol"], [type:4, name:"Sample"]] 22 22 23 def celltypes = [[value:0, name:"Numeric"], [value:1, name:"String"], [value:2, name:"Formula"],24 [ value:3, name:"Blank"], [value:4, name:"Boolean"], [value:5, name:"Error"]]23 def standardcelltypes = [[type:0, name:"Numeric"], [type:1, name:"String"], [type:2, name:"Formula"], 24 [type:3, name:"Blank"], [type:4, name:"Boolean"], [type:5, name:"Error"]] 25 25 26 26 /** … … 45 45 */ 46 46 def properties = { attrs -> 47 def ent = [] 47 def selectedentities = [] 48 def header = attrs['header'] 48 49 49 attrs['entities'].each { e ->50 def temp = e.split(":")50 attrs['entities'].each { se -> 51 def temp = se.split(":") 51 52 def entity = [type:temp[0],columnindex:temp[1]] 52 ent.add(entity)53 selectedentities.add(entity) 53 54 } 54 55 55 out << render (template:"common/properties", model:[ entities:ent])56 out << render (template:"common/properties", model:[selectedentities:selectedentities, standardentities:standardentities, header:header]) 56 57 } 57 58 … … 60 61 61 62 options.each { e -> 62 res += "<option value=\"${e. value}:${customvalue}\""63 res += (e. value== selected) ? " selected" : ""63 res += "<option value=\"${e.type}:${customvalue}\"" 64 res += (e.type.toInteger() == selected) ? " selected" : "" 64 65 res += ">${e.name}</option>" 65 66 } … … 78 79 def selected = (attrs['selected']==null) ? -1 : attrs['selected'] 79 80 def customvalue = (attrs['customvalue']==null) ? "" : attrs['customvalue'] 80 out << createSelect(selected, attrs['name'], entities, customvalue)81 out << createSelect(selected, attrs['name'], standardentities, customvalue) 81 82 } 82 83 … … 90 91 def selected = (attrs['selected']==null) ? -1 : attrs['selected'] 91 92 def customvalue = (attrs['customvalue']==null) ? "" : attrs['customvalue'] 92 out << createSelect(selected, attrs['name'], celltypes, customvalue)93 out << createSelect(selected, attrs['name'], standardcelltypes, customvalue) 93 94 } 94 95 } -
trunk/grails-app/views/importer/common/_preview.gsp
r200 r203 19 19 <g:each var="column" in="${header}"> 20 20 <td class="header"> 21 <b>${column.value }</b>21 <b>${column.value.value}</b> 22 22 </td> 23 23 </g:each> … … 25 25 26 26 <tr> 27 <td> Datatype:</td>27 <td>Celltype:</td> 28 28 <g:each var="column" in="${header}"> 29 29 <td class="header"> 30 <importer:celltypeSelect selected="${column. celltype}" name="celltype" customvalue="${column.columnindex.toString()}"/>30 <importer:celltypeSelect selected="${column.value.type.toInteger()}" name="celltype" customvalue="${column.key.toString()}"/> 31 31 </td> 32 32 </g:each> … … 37 37 <g:each var="column" in="${header}"> 38 38 <td class="header"> 39 <importer:entitySelect name="entity" customvalue="${column. columnindex.toString()}"/>39 <importer:entitySelect name="entity" customvalue="${column.key.toString()}"/> 40 40 </td> 41 41 </g:each> -
trunk/grails-app/views/importer/common/_properties.gsp
r200 r203 15 15 <g:form name="propertiesform" action="saveproperties"> 16 16 <table> 17 <tr> 18 <td>Entity:</td> 19 20 <g:each var="entity" in="${entities}"> 21 <td class="header"> 22 <b>${entity}</b> 23 </td> 17 <g:each var="stdentity" in ="${standardentities}"> 18 <tr><td colspan="2"><h4>${stdentity.name}</h4></td></tr> 19 <tr> 20 <td>Columnname:</td><td>Property:</td> 21 </tr> 22 <g:each var="selentity" in="${selectedentities}"> 23 <g:if test="${selentity.type.toLong()==stdentity.type}"> 24 <tr> 25 <td class="header" width="200px"> 26 <b>${header[selentity.columnindex.toInteger()].value}</b> 27 </td> 28 <td> 29 <g:select name="property" from="${['BMI', 'DOB', 'Gender']}" /> 30 </td> 31 </g:if> 32 </g:each> 33 <tr> 34 <td colspan="2"> 35 <hr /> 36 </td> 37 </tr> 24 38 </g:each> 25 39 </table> -
trunk/grails-app/views/importer/step1.gsp
r169 r203 27 27 <importer:preview header="${header}" datamatrix="${datamatrix}"/> 28 28 </body> 29 29 30 </html> -
trunk/grails-app/views/importer/step2.gsp
r200 r203 26 26 <h1>Step 2: import wizard entities/properties</h1> 27 27 <p>Below you see the entities and columns, assign properties to the columns.</p> 28 <importer:properties entities="${entities}" />28 <importer:properties entities="${entities}" header="${header}"/> 29 29 </body> 30 30 </html> -
trunk/grails-app/views/sandbox/index.gsp
r146 r203 30 30 </tr> 31 31 </table> 32 <%@ 33 def a = new Column(value:"value", name:"naam") 34 println a.name 35 %> 32 36 </body> 33 37 </html>
Note: See TracChangeset
for help on using the changeset viewer.