Changeset 5409
- Timestamp:
- 08/29/08 20:52:22 (3 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
openmrs-modules/personportrait/web/src/org/openmrs/module/personportrait/web/FormImageUploadServlet.java
r5406 r5409 18 18 import javax.servlet.http.HttpSession; 19 19 import javax.xml.parsers.DocumentBuilderFactory; 20 20 21 import org.apache.commons.fileupload.FileItem; 21 22 import org.apache.commons.fileupload.FileItemFactory; … … 34 35 import org.openmrs.api.context.Context; 35 36 import org.openmrs.obs.ComplexData; 36 import org.openmrs.obs.handler.ImageHandler;37 37 import org.openmrs.util.OpenmrsUtil; 38 38 import org.openmrs.web.WebConstants; … … 66 66 String fileType = item.getContentType(); 67 67 68 // System.out.println("File Name: "+fileName);69 68 70 69 if(fileType.equals("image/png") || fileType.equals("image/gif") || … … 75 74 76 75 String patientId = request.getParameter("patientId"); 77 // System.out.println("Patient Id: "+patientId); 78 76 79 77 PatientService patientService = Context.getPatientService(); 80 78 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 82 85 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 84 89 85 90 // Create an obs object and add required fields 86 91 Obs obsImage = new Obs(); 87 obsImage.setCreator(Context.get UserService().getUser(Integer.valueOf(1)));92 obsImage.setCreator(Context.getAuthenticatedUser()); 88 93 obsImage.setPerson(patient); 89 94 obsImage.setConcept(concept); 90 95 obsImage.setDateCreated(new Date()); 91 96 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 } 93 101 obsImage.setLocation(location); 94 102 obsImage.setVoided(false); 95 obsImage.setComment("Added an obs image");96 103 97 104 // Create a ComplexData to store the object 98 ComplexData dataImage = new ComplexData(fileName, bufferedImage); 105 ComplexData dataImage = new ComplexData(fileName, bufferedImage); 106 99 107 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 106 112 107 113 uploadedStream.close(); 108 114 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); 111 118 } 112 119 else { … … 117 124 } 118 125 catch (Exception e) { 119 System.out.println("Error: "+e.getMessage());126 System.out.println("Error: unable to upload image " + e ); 120 127 } 121 128 } … … 185 192 out.println("Title: "+complexData.getTitle()); 186 193 187 File file = ImagePersonHandler.getComplexDataFile(obs);194 File file = imagePersonHandler.getComplexDataFile(obs); 188 195 out.println("path: "+file.getAbsolutePath()); 189 196 String path = file.getAbsolutePath();