- Timestamp:
- May 9, 2011, 4:39:18 PM (11 years ago)
- File:
-
- 1 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) {
Note: See TracChangeset
for help on using the changeset viewer.