X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2Fjava%2Forg%2Fmxchange%2Fjjobs%2Fbeans%2Fmobileprovider%2FJobsMobileProviderWebRequestBean.java;h=16ba00c0c35d911734864d5368aba07b028b9a2a;hb=3ee4e77359355dc1d464a36370b78ba174e5f3f8;hp=fb8ca25a769364daae86820d8f1aa324c600c5c6;hpb=401f4e980968567f4052626b1c83e3ef53baee4e;p=jjobs-war.git diff --git a/src/java/org/mxchange/jjobs/beans/mobileprovider/JobsMobileProviderWebRequestBean.java b/src/java/org/mxchange/jjobs/beans/mobileprovider/JobsMobileProviderWebRequestBean.java index fb8ca25a..16ba00c0 100644 --- a/src/java/org/mxchange/jjobs/beans/mobileprovider/JobsMobileProviderWebRequestBean.java +++ b/src/java/org/mxchange/jjobs/beans/mobileprovider/JobsMobileProviderWebRequestBean.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 - 2020 Free Software Foundation + * Copyright (C) 2016 - 2022 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 @@ -16,22 +16,10 @@ */ package org.mxchange.jjobs.beans.mobileprovider; -import fish.payara.cdi.jsr107.impl.NamedCache; -import java.text.MessageFormat; -import java.util.Comparator; -import java.util.LinkedList; -import java.util.List; -import javax.annotation.PostConstruct; -import javax.cache.Cache; import javax.ejb.EJB; import javax.enterprise.context.RequestScoped; -import javax.enterprise.event.Observes; -import javax.inject.Inject; import javax.inject.Named; import org.mxchange.jjobs.beans.BaseJobsBean; -import org.mxchange.jphone.events.mobileprovider.added.AdminAddedMobileProviderEvent; -import org.mxchange.jphone.exceptions.mobileprovider.MobileProviderNotFoundException; -import org.mxchange.jphone.model.phonenumbers.mobileprovider.MobileProvider; import org.mxchange.jphone.model.phonenumbers.mobileprovider.MobileProviderSingletonBeanRemote; /** @@ -48,144 +36,17 @@ public class JobsMobileProviderWebRequestBean extends BaseJobsBean implements Jo */ private static final long serialVersionUID = 15_869_423_671_950_276L; - /** - * A list of all mobile providers - */ - private final List allMobileProviders; - - /** - * A list of filtered mobile providers - */ - private List filteredMobileProviders; - /** * Remote EJB for mobile providers (regular) */ @EJB (lookup = "java:global/jjobs-ejb/mobileProvider!org.mxchange.jphone.model.phonenumbers.mobileprovider.MobileProviderSingletonBeanRemote") private MobileProviderSingletonBeanRemote mobileProviderBean; - /** - * "Cached" list of mobile providers - */ - @Inject - @NamedCache (cacheName = "mobileProviderCache") - private Cache mobileProviderCache; - /** * Default constructor */ public JobsMobileProviderWebRequestBean () { // Call super constructor super(); - - // Init list - this.allMobileProviders = new LinkedList<>(); - } - - /** - * Observes events being fired after the administrator has added a new - * mobile provider - *

- * @param event Event being fired - */ - public void afterAdminAddedMobileProviderEvent (@Observes final AdminAddedMobileProviderEvent event) { - // Is all valid? - if (null == event) { - // Throw NPE - throw new NullPointerException("event is null"); //NOI18N - } else if (event.getAddedMobileProvider() == null) { - // Throw again ... - throw new NullPointerException("event.addedMobileProvider is null"); //NOI18N - } else if (event.getAddedMobileProvider().getProviderId() == null) { - // And again ... - throw new NullPointerException("event.addedMobileProvider.providerId is null"); //NOI18N - } else if (event.getAddedMobileProvider().getProviderId() < 1) { - // Id is invalid - throw new IllegalArgumentException(MessageFormat.format("event.addedMobileProvider.providerId={0} is not valid.", event.getAddedMobileProvider().getProviderId())); //NOI18N - } - - // Add it to the list - this.mobileProviderCache.put(event.getAddedMobileProvider().getProviderId(), event.getAddedMobileProvider()); - this.allMobileProviders.add(event.getAddedMobileProvider()); - } - - @Override - @SuppressWarnings ("ReturnOfCollectionOrArrayField") - public List allMobileProviders () { - // Return it - return this.allMobileProviders; - } - - @Override - public MobileProvider findMobileProviderById (final Long mobileProviderId) throws MobileProviderNotFoundException { - // Validate parameter - if (null == mobileProviderId) { - // Throw NPE - throw new NullPointerException("mobileProviderId is null"); //NOI18N - } else if (mobileProviderId < 1) { - // Throw IAE - throw new IllegalArgumentException("mobileProviderId=" + mobileProviderId + " is invalid."); //NOI18N - } else if (!this.mobileProviderCache.containsKey(mobileProviderId)) { - // Not found - throw new MobileProviderNotFoundException(mobileProviderId); - } - - // Get it from cache - final MobileProvider mobileProvider = this.mobileProviderCache.get(mobileProviderId); - - // Return it - return mobileProvider; - } - - /** - * Getter for filtered mobile provider list - *

- * @return Filtered mobile providers - */ - @SuppressWarnings ("ReturnOfCollectionOrArrayField") - public List getFilteredMobileProviders () { - return this.filteredMobileProviders; - } - - /** - * Getter for filtered mobile provider list - *

- * @param filteredMobileProviders Filtered mobile providers - */ - @SuppressWarnings ("AssignmentToCollectionOrArrayFieldFromParameter") - public void setFilteredMobileProviders (final List filteredMobileProviders) { - this.filteredMobileProviders = filteredMobileProviders; - } - - /** - * Post-construction method - */ - @PostConstruct - public void initCache () { - // Is cache there? - if (!this.mobileProviderCache.iterator().hasNext()) { - // Add all - for (final MobileProvider mobileProvider : this.mobileProviderBean.allMobileProviders()) { - // Add it to cache - this.mobileProviderCache.put(mobileProvider.getProviderId(), mobileProvider); - } - } - - // Is the list empty, but filled cache? - if (this.allMobileProviders.isEmpty() && this.mobileProviderCache.iterator().hasNext()) { - // Build up list - for (final Cache.Entry currentEntry : this.mobileProviderCache) { - // Add to list - this.allMobileProviders.add(currentEntry.getValue()); - } - - // Sort list - this.allMobileProviders.sort(new Comparator() { - @Override - public int compare (final MobileProvider mobileProvider1, final MobileProvider mobileProvider2) { - return mobileProvider1.getProviderId() > mobileProvider2.getProviderId() ? 1 : mobileProvider1.getProviderId() < mobileProvider2.getProviderId() ? -1 : 0; - } - }); - } } }