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;
}
}