Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.dv.sharer.ws.controller; import com.dv.common.webservices.rest.core.response.Response; import com.dv.sharer.model.dao.ImageDao; import com.dv.sharer.model.entity.Image; import com.dv.common.webservices.rest.server.BaseController; import java.io.Serializable; import java.util.logging.Level; import java.util.logging.Logger; import javax.ejb.EJB; import javax.ejb.Stateless; import org.apache.commons.codec.binary.Base64; /** * * @author pp76575 */ @Stateless public class ImageController extends BaseController<Image> implements Serializable { private static final Logger logger = Logger.getLogger(ImageController.class.getName()); @EJB private ImageDao imageDao; public ImageController() { super(Image.class); } @Override public boolean requiresTransferObject() { return false; } public String upload(Integer id, String encodedData) { byte[] data = Base64.decodeBase64(encodedData); Image binaryData = imageDao.find(id); if (binaryData == null) { String message = "No image to attach binary data to"; logger.log(Level.SEVERE, message); Response response = new Response(); response.add(message); response.setResponseType(Response.ResponseType.Severe); return response.toJson(); } binaryData.setData(data); binaryData = imageDao.update(binaryData); Response response = new Response(); response.setPayload(binaryData.getId_value().toString()); response.setResponseType(Response.ResponseType.Info); return response.toJson(); } public String download(String id) { Integer idInt = Integer.valueOf(id); Image binaryData = imageDao.find(idInt); byte[] data = Base64.encodeBase64(binaryData.getData()); return new String(data); } }