Changeset 1827 for trunk/grails-app
- Timestamp:
- May 9, 2011, 4:39:18 PM (10 years ago)
- Location:
- trunk/grails-app
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/grails-app/controllers/dbnp/studycapturing/AssayController.groovy
r1799 r1827 171 171 } 172 172 173 // collect the assay data according to user selecting 173 174 def assayData = assayService.collectAssayData(flow.assay, fieldMapSelection, measurementTokens) 174 175 flow.rowData = assayService.convertColumnToRowStructure(assayData) 175 176 177 // prepare the assay data preview 176 178 def previewRows = Math.min(flow.rowData.size() as int, 5) - 1 177 179 def previewCols = Math.min(flow.rowData[0].size() as int, 5) - 1 … … 179 181 flow.assayDataPreview = flow.rowData[0..previewRows].collect{ it[0..previewCols] as ArrayList } 180 182 183 // store the selected file type in the flow 184 flow.exportFileType = params.exportFileType 185 181 186 }.to "compileExportData" 182 187 … … 185 190 186 191 compileExportData { 187 on ("ok"){session.rowData = flow.rowData}.to "export" 192 on ("ok"){ 193 session.rowData = flow.rowData 194 session.exportFileType = flow.exportFileType 195 }.to "export" 188 196 on ("cancel").to "selectAssay" 189 197 } … … 204 212 def doExport = { 205 213 206 def filename = 'export.csv' 214 // make sure we're coming from the export flow, otherwise redirect there 215 if (!(session.rowData && session.exportFileType)) 216 redirect(action: 'assayExportFlow') 217 218 // process requested output file type 219 def outputDelimiter, outputFileExtension 220 221 switch(session.exportFileType) { 222 case 2: // Comma delimited csv 223 outputDelimiter = ',' 224 outputFileExtension = '.csv' 225 break 226 case 3: // Semicolon delimited csv 227 outputDelimiter = ';' 228 outputFileExtension = '.csv' 229 break 230 default: // Tab delimited with .txt extension 231 outputDelimiter = '\t' 232 outputFileExtension = '.txt' 233 } 234 235 def filename = "export.$outputFileExtension" 207 236 response.setHeader("Content-disposition", "attachment;filename=\"${filename}\"") 208 237 response.setContentType("application/octet-stream") 209 238 try { 210 239 211 // 212 assayService.exportRowWiseDataToCSVFile(session.rowData, response.outputStream )240 // assayService.exportRowWiseDataToExcelFile(session.rowData, response.outputStream) 241 assayService.exportRowWiseDataToCSVFile(session.rowData, response.outputStream, outputDelimiter) 213 242 214 243 // clear the data from the session 215 244 session.removeAttribute('rowData') 245 session.removeAttribute('exportFileType') 216 246 217 247 } catch (Exception e) { -
trunk/grails-app/services/dbnp/studycapturing/AssayService.groovy
r1803 r1827 520 520 * @return 521 521 */ 522 def exportRowWiseDataToCSVFile(rowData, outputStream ) {522 def exportRowWiseDataToCSVFile(rowData, outputStream, outputDelimiter = '\t') { 523 523 524 524 outputStream << rowData.collect { row -> … … 544 544 addQuotes ? "\"$s\"" : s 545 545 546 }.join( ',')546 }.join(outputDelimiter) 547 547 }.join('\n') 548 548 -
trunk/grails-app/views/assay/assayExport/selectFields.gsp
r1790 r1827 58 58 <g:select name="measurementToken" id="measurementToken" from="${measurementTokens}" value="${measurementTokens}" class="field" multiple="true" /> 59 59 <br /><br /> 60 61 <h1>Select type of resulting file</h1> 62 <g:radioGroup name="exportFileType" labels="['Tab delimited (.txt)', 'Comma Separated: USA/UK (.csv)', 'Semicolon Separated: European (.csv)']" values="[1,2,3]" value="1" > 63 <p>${it.radio} ${it.label}</p> 64 </g:radioGroup> 60 65 <g:submitButton name="submit" value="Submit"/> 61 66
Note: See TracChangeset
for help on using the changeset viewer.