com.Yakreem15.managedBean.ProductMBean.java Source code

Java tutorial

Introduction

Here is the source code for com.Yakreem15.managedBean.ProductMBean.java

Source

/*
 * 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.Yakreem15.managedBean;

import com.Yakreem15.domain.Product;
import com.Yakreem15.domain.Product_Photos;
import com.Yakreem15.ejb.ProductBean;
import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import javax.faces.context.FacesContext;
import org.apache.commons.io.IOUtils;
import org.primefaces.event.FileUploadEvent;
import org.primefaces.model.UploadedFile;

/**
 *
 * @author yasser-asiri
 */
@ManagedBean
@ViewScoped
public class ProductMBean implements Serializable {

    /**
     * Creates a new instance of ProductMBean
     */
    @EJB
    ProductBean productBean;

    Product product = new Product();

    private List<Product> poroductList;

    public List<Product> getPoroductList() {
        return poroductList;
    }

    public void setPoroductList(List<Product> poroductList) {
        this.poroductList = poroductList;
    }

    private Product selectedProduct;

    public Product getSelectedProduct() {
        return selectedProduct;
    }

    public void setSelectedProduct(Product selectedProduct) {
        this.selectedProduct = selectedProduct;
    }

    public Product getProduct() {
        return product;
    }

    public void setProduct(Product product) {
        this.product = product;
    }

    public ProductMBean() {
    }

    public String createProduct() {

        String userEmail = findCurrentUserEamil();
        System.out.println(uploadedFiles == null);
        System.out.println("before iterating");
        for (UploadedFile uploadedFile : uploadedFiles) {
            System.out.println(uploadedFile == null);
            System.out.println("in the loop");
            if (uploadedFile != null) {

                byte[] foto;
                try {
                    foto = IOUtils.toByteArray(uploadedFile.getInputstream());
                    System.out.println(Arrays.toString(foto));
                    Product_Photos temp = new Product_Photos();
                    temp.setProduct_photo(foto);
                    temp.setProduct(product);
                    photo_list.add(temp);

                } catch (IOException ex) {
                    Logger.getLogger(ProductMBean.class.getName()).log(Level.SEVERE, null, ex);
                }

            }
        }
        product.setPhotos(photo_list);
        productBean.addProdcut(product, userEmail);
        return "/index";
    }

    public List<Product> getAllProducts() {

        return poroductList;
    }

    public String findCurrentUserEamil() {

        return FacesContext.getCurrentInstance().getExternalContext().getRemoteUser();
    }

    public String showProduct() {
        //   this.selectedProduct=(Product)datatabel.getRowData();

        return "productInfo";
    }

    @PostConstruct
    public void init() {

        poroductList = productBean.getAllProducts();
        uploadedFiles = new ArrayList<UploadedFile>();
        photo_list = new ArrayList<Product_Photos>();
    }

    private List<UploadedFile> uploadedFiles;
    private List<Product_Photos> photo_list;

    public void handleFileUpload(FileUploadEvent event) {
        uploadedFiles.add(event.getFile());
    }
}