Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * The contents of this file are subject to the OpenMRS Public License
- * Version 1.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- * http://license.openmrs.org
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
- * License for the specific language governing rights and limitations
- * under the License.
- *
- * Copyright (C) OpenMRS, LLC. All Rights Reserved.
- */
- package org.openmrs.module.drawing.web.controller;
- import java.awt.image.BufferedImage;
- import java.io.ByteArrayOutputStream;
- import javax.imageio.ImageIO;
- import javax.servlet.http.HttpServletRequest;
- import org.apache.commons.codec.binary.Base64;
- import org.apache.commons.lang.StringUtils;
- import org.apache.commons.logging.Log;
- import org.apache.commons.logging.LogFactory;
- import org.openmrs.Obs;
- import org.openmrs.api.context.Context;
- import org.openmrs.module.drawing.AnnotatedImage;
- import org.openmrs.web.WebConstants;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.ModelMap;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- /**
- * The main controller.
- */
- @Controller
- public class DrawingManageController {
- protected final Log log = LogFactory.getLog(getClass());
- @RequestMapping(value = "/module/drawing/manage", method = RequestMethod.GET)
- public void manage(ModelMap model, HttpServletRequest request) {
- if (StringUtils.isNotBlank(request.getParameter("obsId"))) {
- int obsId = Integer.parseInt(request.getParameter("obsId"));
- Obs obs = Context.getObsService().getComplexObs(obsId, "");
- if (obs == null || !obs.getConcept().isComplex()) {
- log.error("obs is not complex ");
- } else {
- AnnotatedImage ai = (AnnotatedImage) obs.getComplexData().getData();
- String encodedImage ="/"+ WebConstants.WEBAPP_NAME+"/complexObsServlet?obsId="+obs.getId();
- //String encodedImage=encodeComplexData(ai.getImage());
- model.addAttribute("encodedImage", encodedImage);
- model.addAttribute("annotations", ai.getAnnotations());
- model.addAttribute("obsId", obs.getId());
- }
- }else
- model.addAttribute("obsId", null);
- model.addAttribute("user", Context.getAuthenticatedUser());
- }
- public String encodeComplexData(Object o) {
- String encodedImage = null;
- try {
- BufferedImage img = (BufferedImage) o;
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- ImageIO.write(img, "png", baos);
- encodedImage = "data:image/png;base64," + Base64.encodeBase64String(baos.toByteArray());
- }
- catch (Exception e) {
- log.error("cannot write image", e);
- }
- return encodedImage;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement