Object[] args = { exerciseCode, imgCode, path };
Object[] args = { exerciseCode, metadataCode, imgCode, path };
    public ActionForward showImage(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)            throws FenixActionException, FenixFilterException {        HttpSession session = request.getSession(false);        IUserView userView = (IUserView) session.getAttribute(SessionConstants.U_VIEW);        Integer exerciseCode = getCodeFromRequest(request, "exerciseCode");        Integer imgCode = getCodeFromRequest(request, "imgCode");        String imgTypeString = request.getParameter("imgType");        String studentCode = request.getParameter("studentCode");        String optionShuffle = request.getParameter("optionShuffle");        Integer testCode = getCodeFromRequest(request, "testCode");        String feedbackCode = request.getParameter("feedbackCode");        String path = getServlet().getServletContext().getRealPath("/");        String img = null;        if (studentCode != null && testCode != null) {            Object[] args = { studentCode, testCode, exerciseCode, imgCode, feedbackCode, path };            try {                img = (String) ServiceUtils.executeService(userView, "ReadStudentTestQuestionImage", args);            } catch (FenixServiceException e) {                throw new FenixActionException(e);            }        } else if (optionShuffle != null) {            Object[] args = { testCode, exerciseCode, optionShuffle, imgCode, path };            try {                img = (String) ServiceUtils.executeService(userView, "ReadQuestionImage", args);            } catch (FenixServiceException e) {                throw new FenixActionException(e);            }        } else {            Object[] args = { exerciseCode, imgCode, path };            try {                img = (String) ServiceUtils.executeService(userView, "ReadQuestionImage", args);            } catch (FenixServiceException e) {                throw new FenixActionException(e);            }        }        byte[] imageData = Base64.decode(img.getBytes());        try {            response.reset();            response.setContentType(imgTypeString);            response.setContentLength(imageData.length);            response.setBufferSize(imageData.length);            String imageName = new String("image" + exerciseCode + imgCode + "."                    + imgTypeString.substring(imgTypeString.lastIndexOf("/") + 1, imgTypeString.length()));            response.setHeader("Content-disposition", "attachment; filename=" + imageName);            DataOutputStream dataOut = new DataOutputStream(response.getOutputStream());            dataOut.write(imageData);            response.flushBuffer();        } catch (java.io.IOException e) {            throw new FenixActionException(e);        }        return null;    }