]> git.mxchange.org Git - jjobs-war.git/blobdiff - src/java/org/mxchange/jjobs/beans/country/JobsAdminCountryWebRequestBean.java
Please cherry-pick:
[jjobs-war.git] / src / java / org / mxchange / jjobs / beans / country / JobsAdminCountryWebRequestBean.java
index e730dd54e51bf15dd00d6d32b18afe91ac288034..98a5a7c387808bb35b510189525e0d2a8961b5e5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2016, 2017 Roland Häder
+ * Copyright (C) 2016 - 2020 Free Software Foundation
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Affero General Public License as
  */
 package org.mxchange.jjobs.beans.country;
 
-import java.util.Iterator;
-import java.util.List;
 import java.util.Objects;
 import javax.ejb.EJB;
 import javax.enterprise.context.RequestScoped;
 import javax.enterprise.event.Event;
 import javax.enterprise.inject.Any;
-import javax.faces.view.facelets.FaceletException;
+import javax.faces.FacesException;
 import javax.inject.Inject;
 import javax.inject.Named;
-import org.mxchange.jcountry.events.AdminAddedCountryEvent;
-import org.mxchange.jcountry.events.ObservableAdminAddedCountryEvent;
+import org.mxchange.jcountry.events.added.AdminAddedCountryEvent;
+import org.mxchange.jcountry.events.added.ObservableAdminAddedCountryEvent;
 import org.mxchange.jcountry.exceptions.CountryAlreadyAddedException;
+import org.mxchange.jcountry.model.data.AdminCountrySessionBeanRemote;
 import org.mxchange.jcountry.model.data.Country;
 import org.mxchange.jcountry.model.data.CountryData;
-import org.mxchange.jcountry.model.data.CountrySingletonBeanRemote;
 import org.mxchange.jjobs.beans.BaseJobsBean;
+import org.mxchange.jjobs.beans.country.list.JobsCountryListWebViewController;
 
 /**
  * An administrative country bean
@@ -56,27 +55,21 @@ public class JobsAdminCountryWebRequestBean extends BaseJobsBean implements Jobs
        private Event<ObservableAdminAddedCountryEvent> addedCountryEvent;
 
        /**
-        * Abroad dial prefix
+        * Remote country EJB
         */
-       private String countryAbroadDialPrefix;
+       @EJB (lookup = "java:global/jjobs-ejb/adminCountry!org.mxchange.jcountry.model.data.AdminCountrySessionBeanRemote")
+       private AdminCountrySessionBeanRemote adminCountryBean;
 
        /**
-        * Remote country EJB
+        * Abroad dial prefix
         */
-       @EJB (lookup = "java:global/jjobs-ejb/country!org.mxchange.jcountry.model.data.CountrySingletonBeanRemote")
-       private CountrySingletonBeanRemote countryBean;
+       private String countryAbroadDialPrefix;
 
        /**
         * 2-letter country code
         */
        private String countryCode;
 
-       /**
-        * Regular country controller
-        */
-       @Inject
-       private JobsCountryWebRequestController countryController;
-
        /**
         * Local dial prefix
         */
@@ -92,6 +85,12 @@ public class JobsAdminCountryWebRequestBean extends BaseJobsBean implements Jobs
         */
        private Boolean countryIsLocalPrefixRequired;
 
+       /**
+        * Regular country controller
+        */
+       @Inject
+       private JobsCountryListWebViewController countryListController;
+
        /**
         * Phone code
         */
@@ -109,11 +108,9 @@ public class JobsAdminCountryWebRequestBean extends BaseJobsBean implements Jobs
         * Adds country to all relevant beans and sends it to the EJB. A redirect
         * should happen after successfull creation.
         * <p>
-        * @return Redirect outcome
-        * <p>
         * @todo Add field validation
         */
-       public String addCountry () {
+       public void addCountry () {
                // Create new country object
                final Country country = new CountryData();
 
@@ -128,7 +125,7 @@ public class JobsAdminCountryWebRequestBean extends BaseJobsBean implements Jobs
                // Does it already exist?
                if (this.isCountryAdded(country)) {
                        // Yes, then abort here
-                       throw new FaceletException(new CountryAlreadyAddedException(country));
+                       throw new FacesException(new CountryAlreadyAddedException(country));
                }
 
                // Init variable
@@ -136,10 +133,10 @@ public class JobsAdminCountryWebRequestBean extends BaseJobsBean implements Jobs
 
                try {
                        // Send country to bean
-                       updatedCountry = this.countryBean.addCountry(country);
+                       updatedCountry = this.adminCountryBean.addCountry(country);
                } catch (final CountryAlreadyAddedException ex) {
                        // Throw again
-                       throw new FaceletException(ex);
+                       throw new FacesException(ex);
                }
 
                // Fire event
@@ -147,9 +144,6 @@ public class JobsAdminCountryWebRequestBean extends BaseJobsBean implements Jobs
 
                // Clear this bean
                this.clear();
-
-               // Redirect to list
-               return "admin_list_country"; //NOI18N
        }
 
        /**
@@ -287,19 +281,10 @@ public class JobsAdminCountryWebRequestBean extends BaseJobsBean implements Jobs
                // Default is not found
                boolean isAdded = false;
 
-               // Now get whole ist
-               final List<Country> countries = this.countryController.allCountries();
-
-               // Get iterator from it
-               final Iterator<Country> iterator = countries.iterator();
-
                // Check whole list
-               while (iterator.hasNext()) {
-                       // Get next country
-                       final Country next = iterator.next();
-
+               for (final Country currentCountry : this.countryListController.getAllCountries()) {
                        // Is country code or i18n the same?
-                       if ((Objects.equals(country.getCountryCode(), next.getCountryCode())) || (Objects.equals(country.getCountryI18nKey(), next.getCountryI18nKey()))) {
+                       if ((Objects.equals(country.getCountryCode(), currentCountry.getCountryCode())) || (Objects.equals(country.getCountryI18nKey(), currentCountry.getCountryI18nKey()))) {
                                // Yes, then abort search
                                isAdded = true;
                                break;