Changeset 2319
- Timestamp:
- 09/17/07 11:49:08 (1 year ago)
- Files:
-
- openmrs-modules/clinicalsummary/.classpath (modified) (2 diffs)
- openmrs-modules/clinicalsummary/lib-common/openmrs-api-1.1.0.1810.jar (deleted)
- openmrs-modules/clinicalsummary/lib-common/openmrs-api-1.1.10.2290.jar (added)
- openmrs-modules/clinicalsummary/lib-common/printing-1.0.jar (deleted)
- openmrs-modules/clinicalsummary/lib-common/printing-1.1.jar (added)
- openmrs-modules/clinicalsummary/metadata/config.xml (modified) (2 diffs)
- openmrs-modules/clinicalsummary/src/org/openmrs/module/clinicalsummary/ClinicalSummaryUtil.java (added)
- openmrs-modules/clinicalsummary/src/org/openmrs/module/clinicalsummary/impl/ClinicalSummaryServiceImpl.java (modified) (8 diffs)
- openmrs-modules/clinicalsummary/web/src/org/openmrs/module/clinicalsummary/web/controller/QueueListController.java (modified) (2 diffs)
- openmrs-modules/clinicalsummary/web/src/org/openmrs/module/clinicalsummary/web/servlet (added)
- openmrs-modules/clinicalsummary/web/src/org/openmrs/module/clinicalsummary/web/servlet/ProcessPrintingQueueServlet.java (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
openmrs-modules/clinicalsummary/.classpath
r2019 r2319 4 4 <classpathentry kind="src" path="web/src"/> 5 5 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> 6 <classpathentry kind="lib" path="lib-common/openmrs-api-1.1. 0.1810.jar"/>6 <classpathentry kind="lib" path="lib-common/openmrs-api-1.1.10.2290.jar"/> 7 7 <classpathentry kind="lib" path="lib-common/web-openmrs-api-1.0.52.1465.jar"/> 8 8 <classpathentry kind="lib" path="lib-common/commons-logging-1.0.4.jar"/> … … 15 15 <classpathentry kind="lib" path="lib/batik-all-1.6.jar"/> 16 16 <classpathentry kind="lib" path="lib/xmlgraphics-commons-1.1.jar"/> 17 <classpathentry kind="lib" path="lib-common/printing-1. 0.jar"/>17 <classpathentry kind="lib" path="lib-common/printing-1.1.jar"/> 18 18 <classpathentry kind="output" path="build"/> 19 19 </classpath> openmrs-modules/clinicalsummary/metadata/config.xml
r2039 r2319 23 23 <!-- /Base Module Properties --> 24 24 25 <require_version>1.1. 0</require_version>25 <require_version>1.1.10.2290</require_version> 26 26 27 27 <require_modules> … … 68 68 <servlet-class>@MODULE_PACKAGE@.web.GenerateSummariesServlet</servlet-class> 69 69 </servlet> 70 <servlet> 71 <servlet-name>processPrintingQueue</servlet-name> 72 <servlet-class>@MODULE_PACKAGE@.web.servlet.ProcessPrintingQueueServlet</servlet-class> 73 </servlet> 74 70 75 71 76 <!-- Internationalization --> openmrs-modules/clinicalsummary/src/org/openmrs/module/clinicalsummary/impl/ClinicalSummaryServiceImpl.java
r2039 r2319 3 3 import java.awt.print.PrinterException; 4 4 import java.io.ByteArrayOutputStream; 5 import java.io.File; 6 import java.io.FileOutputStream; 5 7 import java.io.IOException; 6 8 import java.io.StringReader; … … 13 15 import java.util.Vector; 14 16 17 import javax.print.DocFlavor; 15 18 import javax.xml.transform.Result; 16 19 import javax.xml.transform.Source; … … 42 45 import org.openmrs.module.clinicalsummary.ClinicalSummaryQueueItem; 43 46 import org.openmrs.module.clinicalsummary.ClinicalSummaryService; 47 import org.openmrs.module.clinicalsummary.ClinicalSummaryUtil; 44 48 import org.openmrs.module.clinicalsummary.SummaryExportFunctions; 45 49 import org.openmrs.module.clinicalsummary.ClinicalSummaryQueueItem.CLINICAL_SUMMARY_QUEUE_STATUS; … … 47 51 import org.openmrs.module.printing.PrintingService; 48 52 import org.openmrs.reporting.PatientSet; 53 import org.openmrs.util.OpenmrsUtil; 49 54 50 55 public class ClinicalSummaryServiceImpl implements ClinicalSummaryService { … … 242 247 } 243 248 244 PrintingService printingService = (PrintingService)Context.getService(printingServiceClass);249 // PrintingService printingService = (PrintingService)Context.getService(printingServiceClass); 245 250 246 251 // TODO centralize this a little more. The generateSummariesServlet also has 90% similar code … … 291 296 292 297 //Setup FOP 293 Fop fop = fopFactory.newFop(MimeConstants.MIME_P CL, foUserAgent, out);298 Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent, out); 294 299 295 300 //Setup Transformer … … 299 304 //Make sure the XSL transformation's result is piped through to FOP 300 305 Result res = new SAXResult(fop.getDefaultHandler()); 301 306 307 String xml = writer.toString(); 308 309 if (log.isDebugEnabled()) 310 log.debug("xml: \n" + xml); 311 302 312 //Setup input 303 Source src = new StreamSource(new StringReader( writer.toString()));313 Source src = new StreamSource(new StringReader(xml)); 304 314 305 315 //Start the transformation and rendering process 306 316 transformer.transform(src, res); 307 317 318 byte[] outBytes = out.toByteArray(); 319 320 if (log.isDebugEnabled()) 321 log.debug("Out byte array: " + outBytes.length); 322 323 // TODO change to global property 324 File dir = OpenmrsUtil.getDirectoryInApplicationDataDirectory("clinicalsummary"); 325 326 File file = ClinicalSummaryUtil.getOutFile(dir); 327 328 try { 329 FileOutputStream outStream = new FileOutputStream(file); 330 outStream.write(outBytes); 331 outStream.flush(); 332 outStream.close(); 333 } 334 catch (IOException io) { 335 log.error("Unable to write output file", io); 336 return false; 337 } 338 339 return true; 340 308 341 //Send content to printer 309 try { 310 return (printingService.addPrintJob(out.toByteArray(), interactive)); 311 } 312 catch (PrinterException e) { 313 return false; 314 315 } 342 // try { 343 // return (printingService.addPrintJob(outBytes, DocFlavor.BYTE_ARRAY.PDF, interactive)); 344 // } 345 // catch (PrinterException e) { 346 // return false; 347 // } 316 348 317 349 } catch (FOPException e) { … … 324 356 325 357 } 326 327 358 328 359 } openmrs-modules/clinicalsummary/web/src/org/openmrs/module/clinicalsummary/web/controller/QueueListController.java
r2039 r2319 15 15 import org.openmrs.module.clinicalsummary.ClinicalSummaryQueueItem.CLINICAL_SUMMARY_QUEUE_STATUS; 16 16 import org.openmrs.reporting.PatientSet; 17 import org.openmrs.util.OpenmrsUtil; 18 import org.springframework.context.NoSuchMessageException; 17 19 import org.springframework.context.support.MessageSourceAccessor; 18 import org.springframework.context.NoSuchMessageException;19 20 import org.springframework.validation.BindException; 20 21 import org.springframework.web.bind.ServletRequestUtils; … … 96 97 if (css.printSummariesForPatients(patientSet, false)) 97 98 css.setQueueStatus(queueIdList, ClinicalSummaryQueueItem.CLINICAL_SUMMARY_QUEUE_STATUS.PRINTED); 98 else 99 else { 100 log.error("Unable to print clincial summary: " + OpenmrsUtil.join(queueIdList, ",")); 99 101 css.setQueueStatus(queueIdList, ClinicalSummaryQueueItem.CLINICAL_SUMMARY_QUEUE_STATUS.ERROR); 102 } 100 103 101 104 return new ModelAndView(new RedirectView(getSuccessView()));