]> git.mxchange.org Git - pizzaservice-war.git/blobdiff - src/java/org/mxchange/pizzaapplication/beans/product/PizzaAdminProductWebRequestBean.java
also fire an event when a new product has been added, rather than calling addProduct...
[pizzaservice-war.git] / src / java / org / mxchange / pizzaapplication / beans / product / PizzaAdminProductWebRequestBean.java
index 8fe2033f89f3dac98d1f74c8edf8b2225d924cd4..3d115e0945612a0d918a0ee6732a5879c7b48954 100644 (file)
@@ -18,19 +18,22 @@ package org.mxchange.pizzaapplication.beans.product;
 
 import java.util.List;
 import javax.enterprise.context.RequestScoped;
+import javax.enterprise.event.Event;
+import javax.enterprise.inject.Any;
 import javax.faces.view.facelets.FaceletException;
 import javax.inject.Inject;
 import javax.inject.Named;
 import javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
+import org.mxchange.jshopcore.events.product.AddedProductEvent;
+import org.mxchange.jshopcore.events.product.ShopProductAddedEvent;
 import org.mxchange.jshopcore.exceptions.CannotAddProductException;
 import org.mxchange.jshopcore.exceptions.ProductTitleAlreadyUsedException;
 import org.mxchange.jshopcore.model.category.Category;
 import org.mxchange.jshopcore.model.product.AdminProductSessionBeanRemote;
 import org.mxchange.jshopcore.model.product.GenericProduct;
 import org.mxchange.jshopcore.model.product.Product;
-import org.mxchange.pizzaapplication.beans.shop.PizzaShopWebApplicationController;
 
 /**
  * Main application class
@@ -46,7 +49,13 @@ public class PizzaAdminProductWebRequestBean implements PizzaAdminProductWebRequ
         */
        private static final long serialVersionUID = 5_819_375_183_472_871L;
 
-       /////////////////////// Properties /////////////////////
+       /**
+        * Event for added product
+        */
+       @Inject
+       @Any
+       private Event<AddedProductEvent> addedProductEvent;
+
        /**
         * Available
         */
@@ -72,14 +81,6 @@ public class PizzaAdminProductWebRequestBean implements PizzaAdminProductWebRequ
         */
        private String productTitle;
 
-       ////////////////////// Bean injections ///////////////////////
-
-       /**
-        * Shop bean
-        */
-       @Inject
-       private PizzaShopWebApplicationController shopController;
-
        /**
         * Default constructor
         */
@@ -112,8 +113,8 @@ public class PizzaAdminProductWebRequestBean implements PizzaAdminProductWebRequ
                        // Call bean
                        Product updatedProduct = this.productRemoteBean.doAdminAddProduct(product);
 
-                       // Add to shop controller
-                       this.shopController.addProduct(updatedProduct);
+                       // Fire event
+                       this.addedProductEvent.fire(new ShopProductAddedEvent(updatedProduct));
 
                        // Set all to null
                        this.setProductAvailability(Boolean.FALSE);