package action.admin; import com.google.code.morphia.Key; import com.opensymphony.xwork2.ActionSupport; import dao.ProductoDAO; import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import model.Comentario; import model.Producto; import org.apache.struts2.interceptor.SessionAware; import org.apache.commons.io.FileUtils; import org.apache.struts2.interceptor.RequestAware; import org.apache.struts2.interceptor.ServletRequestAware; import org.bson.types.ObjectId; public class AnadirProductoAction extends ActionSupport implements RequestAware, SessionAware, ServletRequestAware { /* Session */ private Map session; private Map<String, Object> request; /* Acceso a Datos*/ ProductoDAO productoDAO; private String mensaje; private String nombre, marca, tipo, precio, pais, descripcion; private String oferta; public HttpServletRequest servletRequest; private File fileUpload; private String fileUploadContentType; private String fileUploadFileName; public AnadirProductoAction() { productoDAO = new ProductoDAO(); } public String execute() throws Exception { System.out.println("Entro"); /*if (oferta == false){ oferta = true; } if (oferta == null){ oferta = false; }*/ System.out.println("ofertr " + oferta); Producto p = new Producto(); p.setNombre(nombre); p.setMarca(marca); p.setPaisOrigen(pais); p.setPrecio(Float.parseFloat(precio)); p.setDescripcion(descripcion); p.setTipoTostado(tipo); List<Comentario> comentarios= new ArrayList<Comentario>(); p.setComentarios(comentarios); if (oferta.equals("0")) { p.setOferta(false); } if (oferta.equals("0, 1")) { p.setOferta(true); } Key<Producto> key = productoDAO.save(p); ObjectId oid = (ObjectId) key.getId(); if ((fileUpload != null) && (fileUploadContentType.equals("image/png") || fileUploadContentType.equals("image/jpeg"))) { p = productoDAO.find(oid); String contextPath = servletRequest.getSession().getServletContext().getRealPath("/"); String url = contextPath.substring(0, contextPath.length() - 11); url = url + "/web/web/img/uploads"; File destFile = new File(url, oid.toString() + ".jpg"); FileUtils.copyFile(fileUpload, destFile); p.setImagen(true); productoDAO.save(p); } return "input"; } public String getMensaje() { return mensaje; } public void setMensaje(String mensaje) { this.mensaje = mensaje; } @Override public void setSession(Map session) { this.session = session; } public Map getSession() { return session; } public String getNombre() { return nombre; } public String getMarca() { return marca; } public String getTipo() { return tipo; } public String getPrecio() { return precio; } public String getDescripcion() { return descripcion; } public void setNombre(String nombre) { this.nombre = nombre; } public void setMarca(String marca) { this.marca = marca; } public void setTipo(String tipo) { this.tipo = tipo; } public void setPrecio(String precio) { this.precio = precio; } public void setDescripcion(String descripcion) { this.descripcion = descripcion; } @Override public void setRequest(Map<String, Object> map) { this.request = map; } public Map getRequest() { return request; } public String getFileUploadContentType() { return fileUploadContentType; } public void setFileUploadContentType(String fileUploadContentType) { this.fileUploadContentType = fileUploadContentType; } public String getFileUploadFileName() { return fileUploadFileName; } public void setFileUploadFileName(String fileUploadFileName) { this.fileUploadFileName = fileUploadFileName; } public File getFileUpload() { return fileUpload; } public void setFileUpload(File fileUpload) { this.fileUpload = fileUpload; } @Override public void setServletRequest(HttpServletRequest request) { this.servletRequest = request; } public String getPais() { return pais; } public void setPais(String pais) { this.pais = pais; } public String getOferta() { return oferta; } public void setOferta(String oferta) { this.oferta = oferta; } }