Downloads Documentation Community Contribute Demo






Show Sidebar
Login | Register

Changeset 5409

Show
Ignore:
Timestamp:
08/29/08 20:52:22 (3 months ago)
Author:
dthomas
Message:

personportrait module. Updated FormImageUploadServlet.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • openmrs-modules/personportrait/web/src/org/openmrs/module/personportrait/web/FormImageUploadServlet.java

    r5406 r5409  
    1818import javax.servlet.http.HttpSession; 
    1919import javax.xml.parsers.DocumentBuilderFactory; 
     20 
    2021import org.apache.commons.fileupload.FileItem; 
    2122import org.apache.commons.fileupload.FileItemFactory; 
     
    3435import org.openmrs.api.context.Context; 
    3536import org.openmrs.obs.ComplexData; 
    36 import org.openmrs.obs.handler.ImageHandler; 
    3737import org.openmrs.util.OpenmrsUtil; 
    3838import org.openmrs.web.WebConstants; 
     
    6666                                String fileType = item.getContentType(); 
    6767                                 
    68                            //   System.out.println("File Name: "+fileName); 
    6968                                 
    7069                                if(fileType.equals("image/png") || fileType.equals("image/gif") ||  
     
    7574                                                 
    7675                                        String patientId = request.getParameter("patientId"); 
    77                            //           System.out.println("Patient Id: "+patientId); 
    78                                  
     76                                         
    7977                                        PatientService patientService = Context.getPatientService(); 
    8078                                                Patient patient = patientService.getPatient(Integer.valueOf(patientId)); 
    81                                                  
     79                                                if (patient == null){ 
     80                                                    throw new RuntimeException("Unable to get patient for personportrait tab."); 
     81                                                } 
     82                                                 
     83                                                 
     84                                                //Here's where you get the right ConceptComplex 
    8285                                                String conceptName = Context.getAdministrationService().getGlobalProperty("personportrait.person_portrait_concept"); 
    83                                                 Concept concept = Context.getConceptService().getConcept(conceptName); 
     86                                                Concept conceptTmp = Context.getConceptService().getConcept(conceptName); 
     87                                                ConceptComplex concept = Context.getConceptService().getConceptComplex(conceptTmp.getConceptId()); 
     88                                                 
    8489                                                 
    8590                                                // Create an obs object and add required fields 
    8691                                                Obs obsImage = new Obs(); 
    87                                                 obsImage.setCreator(Context.getUserService().getUser(Integer.valueOf(1))); 
     92                                                obsImage.setCreator(Context.getAuthenticatedUser()); 
    8893                                                obsImage.setPerson(patient); 
    8994                                                obsImage.setConcept(concept); 
    9095                                                obsImage.setDateCreated(new Date()); 
    9196                                                obsImage.setObsDatetime(new Date()); 
    92                                 Location location = Context.getEncounterService().getLocation(Integer.valueOf(1)); 
     97                                Location location = Context.getLocationService().getLocation("unknown location"); 
     98                                if (location == null){ 
     99                                    location = Context.getLocationService().getLocation(1); 
     100                                } 
    93101                                obsImage.setLocation(location); 
    94102                                obsImage.setVoided(false); 
    95                                 obsImage.setComment("Added an obs image"); 
    96103                                                 
    97104                                                // Create a ComplexData to store the object 
    98                                                 ComplexData dataImage = new ComplexData(fileName, bufferedImage); 
     105                                 ComplexData dataImage = new ComplexData(fileName, bufferedImage); 
     106                                 
    99107                                                obsImage.setComplexData(dataImage); 
    100                                                  
    101                                                 //Persist the ComplexData using ComplexObsHandler 
    102                                                 Obs obs = imagePersonHandler.saveObs(obsImage); 
    103                                          
    104                                                 // Save the obs object 
    105                                                 Context.getObsService().createObs(obsImage); 
     108 
     109                                                Context.getObsService().createObs((Obs) obsImage); 
     110 
     111                                                 
    106112                                                 
    107113                                        uploadedStream.close(); 
    108114                                         
    109                                         obs = imagePersonHandler.getObs(obs); 
    110                                         getImage(obs, response); 
     115                                        //I don't think you need these: 
     116                                        //obsImage = imagePersonHandler.getObs(obsImage); 
     117                                        //getImage(obsImage, response); 
    111118                                } 
    112119                                else { 
     
    117124                } 
    118125                catch (Exception e) { 
    119                         System.out.println("Error: "+e.getMessage()); 
     126                        System.out.println("Error: unable to upload image " + e ); 
    120127                } 
    121128        } 
     
    185192                                        out.println("Title: "+complexData.getTitle()); 
    186193                                         
    187                                         File file = ImagePersonHandler.getComplexDataFile(obs); 
     194                                        File file = imagePersonHandler.getComplexDataFile(obs); 
    188195                                        out.println("path: "+file.getAbsolutePath()); 
    189196                                        String path = file.getAbsolutePath();