Downloads Documentation Community Contribute Demo






Show Sidebar
Login | Register

Changeset 2319

Show
Ignore:
Timestamp:
09/17/07 11:49:08 (1 year ago)
Author:
bwolfe
Message:

Adding clinical summary module debugging output and minor code changes.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • openmrs-modules/clinicalsummary/.classpath

    r2019 r2319  
    44        <classpathentry kind="src" path="web/src"/> 
    55        <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"/> 
    77        <classpathentry kind="lib" path="lib-common/web-openmrs-api-1.0.52.1465.jar"/> 
    88        <classpathentry kind="lib" path="lib-common/commons-logging-1.0.4.jar"/> 
     
    1515        <classpathentry kind="lib" path="lib/batik-all-1.6.jar"/> 
    1616        <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"/> 
    1818        <classpathentry kind="output" path="build"/> 
    1919</classpath> 
  • openmrs-modules/clinicalsummary/metadata/config.xml

    r2039 r2319  
    2323        <!-- /Base Module Properties --> 
    2424         
    25         <require_version>1.1.0</require_version> 
     25        <require_version>1.1.10.2290</require_version> 
    2626         
    2727        <require_modules> 
     
    6868                <servlet-class>@MODULE_PACKAGE@.web.GenerateSummariesServlet</servlet-class> 
    6969        </servlet> 
     70        <servlet> 
     71                <servlet-name>processPrintingQueue</servlet-name> 
     72                <servlet-class>@MODULE_PACKAGE@.web.servlet.ProcessPrintingQueueServlet</servlet-class> 
     73        </servlet> 
     74         
    7075         
    7176        <!-- Internationalization --> 
  • openmrs-modules/clinicalsummary/src/org/openmrs/module/clinicalsummary/impl/ClinicalSummaryServiceImpl.java

    r2039 r2319  
    33import java.awt.print.PrinterException; 
    44import java.io.ByteArrayOutputStream; 
     5import java.io.File; 
     6import java.io.FileOutputStream; 
    57import java.io.IOException; 
    68import java.io.StringReader; 
     
    1315import java.util.Vector; 
    1416 
     17import javax.print.DocFlavor; 
    1518import javax.xml.transform.Result; 
    1619import javax.xml.transform.Source; 
     
    4245import org.openmrs.module.clinicalsummary.ClinicalSummaryQueueItem; 
    4346import org.openmrs.module.clinicalsummary.ClinicalSummaryService; 
     47import org.openmrs.module.clinicalsummary.ClinicalSummaryUtil; 
    4448import org.openmrs.module.clinicalsummary.SummaryExportFunctions; 
    4549import org.openmrs.module.clinicalsummary.ClinicalSummaryQueueItem.CLINICAL_SUMMARY_QUEUE_STATUS; 
     
    4751import org.openmrs.module.printing.PrintingService; 
    4852import org.openmrs.reporting.PatientSet; 
     53import org.openmrs.util.OpenmrsUtil; 
    4954 
    5055public class ClinicalSummaryServiceImpl implements ClinicalSummaryService { 
     
    242247                } 
    243248                 
    244                 PrintingService printingService = (PrintingService)Context.getService(printingServiceClass); 
     249                // PrintingService printingService = (PrintingService)Context.getService(printingServiceClass); 
    245250                 
    246251                // TODO centralize this a little more.  The generateSummariesServlet also has 90% similar code 
     
    291296                         
    292297                        //Setup FOP 
    293                         Fop fop = fopFactory.newFop(MimeConstants.MIME_PCL, foUserAgent, out); 
     298                        Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent, out); 
    294299                         
    295300                        //Setup Transformer 
     
    299304                        //Make sure the XSL transformation's result is piped through to FOP 
    300305                        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                         
    302312                        //Setup input 
    303                         Source src = new StreamSource(new StringReader(writer.toString())); 
     313                        Source src = new StreamSource(new StringReader(xml)); 
    304314 
    305315                        //Start the transformation and rendering process 
    306316                        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                         
    308341                        //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//                      } 
    316348                         
    317349                } catch (FOPException e) { 
     
    324356                 
    325357        } 
    326  
    327358         
    328359} 
  • openmrs-modules/clinicalsummary/web/src/org/openmrs/module/clinicalsummary/web/controller/QueueListController.java

    r2039 r2319  
    1515import org.openmrs.module.clinicalsummary.ClinicalSummaryQueueItem.CLINICAL_SUMMARY_QUEUE_STATUS; 
    1616import org.openmrs.reporting.PatientSet; 
     17import org.openmrs.util.OpenmrsUtil; 
     18import org.springframework.context.NoSuchMessageException; 
    1719import org.springframework.context.support.MessageSourceAccessor; 
    18 import org.springframework.context.NoSuchMessageException; 
    1920import org.springframework.validation.BindException; 
    2021import org.springframework.web.bind.ServletRequestUtils; 
     
    9697                if (css.printSummariesForPatients(patientSet, false)) 
    9798                        css.setQueueStatus(queueIdList, ClinicalSummaryQueueItem.CLINICAL_SUMMARY_QUEUE_STATUS.PRINTED); 
    98                 else 
     99                else { 
     100                        log.error("Unable to print clincial summary: " + OpenmrsUtil.join(queueIdList, ",")); 
    99101                        css.setQueueStatus(queueIdList, ClinicalSummaryQueueItem.CLINICAL_SUMMARY_QUEUE_STATUS.ERROR); 
     102                } 
    100103                 
    101104                return new ModelAndView(new RedirectView(getSuccessView()));