From: Roland Häder Date: Thu, 18 Aug 2016 14:56:02 +0000 (+0200) Subject: Continued a bit: (please cherry-pick) X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=25e584daab0b63eff5e8d5b184e4a733dede4f3f;p=jjobs-war.git Continued a bit: (please cherry-pick) - added needed try-catch block and return a nice facet message to the user (admin) - changed no longer existing exceptions with more generic exception as this is fine here Signed-off-by: Roland Häder --- diff --git a/src/java/org/mxchange/jjobs/beans/contact/phone/JobsAdminContactPhoneWebRequestBean.java b/src/java/org/mxchange/jjobs/beans/contact/phone/JobsAdminContactPhoneWebRequestBean.java index 6b20fd0f..b5fa53a5 100644 --- a/src/java/org/mxchange/jjobs/beans/contact/phone/JobsAdminContactPhoneWebRequestBean.java +++ b/src/java/org/mxchange/jjobs/beans/contact/phone/JobsAdminContactPhoneWebRequestBean.java @@ -47,9 +47,8 @@ import org.mxchange.jcountry.data.Country; import org.mxchange.jjobs.beans.BaseJobsController; import org.mxchange.jjobs.beans.helper.JobsWebRequestController; import org.mxchange.jjobs.beans.phone.JobsAdminPhoneWebRequestController; -import org.mxchange.jphone.exceptions.FaxNumberNotLinkedException; -import org.mxchange.jphone.exceptions.LandLineNumberNotLinkedException; -import org.mxchange.jphone.exceptions.MobileNumberNotLinkedException; +import org.mxchange.jphone.exceptions.PhoneNumberAlreadyLinkedException; +import org.mxchange.jphone.exceptions.PhoneNumberNotLinkedException; import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber; import org.mxchange.jphone.phonenumbers.fax.FaxNumber; import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber; @@ -242,16 +241,23 @@ public class JobsAdminContactPhoneWebRequestBean extends BaseJobsController impl Contact updatedContact; DialableFaxNumber faxNumber = this.adminPhoneController.getChoosenFaxNumber(); - // All fine so far, then which was choosen? - if (faxNumber instanceof DialableFaxNumber) { - // User has choosen number - updatedContact = this.adminPhoneBean.linkExistingFaxNumberWithContact(contact, faxNumber); - } else { - // Create new instance - faxNumber = new FaxNumber(this.adminPhoneController.getPhoneCountry(), this.adminPhoneController.getPhoneAreaCode(), this.adminPhoneController.getPhoneNumber()); - - // Link it, too - updatedContact = this.adminPhoneBean.linkNewFaxNumberWithContact(contact, faxNumber); + // Try it again + try { + // All fine so far, then which was choosen? + if (faxNumber instanceof DialableFaxNumber) { + // User has choosen number + updatedContact = this.adminPhoneBean.linkExistingFaxNumberWithContact(contact, faxNumber); + } else { + // Create new instance + faxNumber = new FaxNumber(this.adminPhoneController.getPhoneCountry(), this.adminPhoneController.getPhoneAreaCode(), this.adminPhoneController.getPhoneNumber()); + + // Link it, too + updatedContact = this.adminPhoneBean.linkNewFaxNumberWithContact(contact, faxNumber); + } + } catch (final PhoneNumberAlreadyLinkedException ex) { + // Throw again as cause + this.showFacesMessage("form_add_contact_fax:phoneNumber", ex); //NOI18N + return ""; //NOI18N } // Fire event @@ -297,16 +303,23 @@ public class JobsAdminContactPhoneWebRequestBean extends BaseJobsController impl Contact updatedContact; DialableLandLineNumber landLineNumber = this.adminPhoneController.getChoosenLandLineNumber(); - // All fine so far, then which was choosen? - if (landLineNumber instanceof DialableLandLineNumber) { - // User has choosen number - updatedContact = this.adminPhoneBean.linkExistingLandLineNumberWithContact(contact, landLineNumber); - } else { - // Create new instance - landLineNumber = new LandLineNumber(this.adminPhoneController.getPhoneCountry(), this.adminPhoneController.getPhoneAreaCode(), this.adminPhoneController.getPhoneNumber()); - - // Link it, too - updatedContact = this.adminPhoneBean.linkNewLandLineNumberWithContact(contact, landLineNumber); + // Try it again + try { + // All fine so far, then which was choosen? + if (landLineNumber instanceof DialableLandLineNumber) { + // User has choosen number + updatedContact = this.adminPhoneBean.linkExistingLandLineNumberWithContact(contact, landLineNumber); + } else { + // Create new instance + landLineNumber = new LandLineNumber(this.adminPhoneController.getPhoneCountry(), this.adminPhoneController.getPhoneAreaCode(), this.adminPhoneController.getPhoneNumber()); + + // Link it, too + updatedContact = this.adminPhoneBean.linkNewLandLineNumberWithContact(contact, landLineNumber); + } + } catch (final PhoneNumberAlreadyLinkedException ex) { + // Throw again as cause + this.showFacesMessage("form_add_contact_landLine:phoneNumber", ex); //NOI18N + return ""; //NOI18N } // Fire event @@ -348,16 +361,23 @@ public class JobsAdminContactPhoneWebRequestBean extends BaseJobsController impl Contact updatedContact; DialableMobileNumber mobileNumber = this.adminPhoneController.getChoosenMobileNumber(); - // All fine so far, then which was choosen? - if (mobileNumber instanceof DialableMobileNumber) { - // User has choosen number - updatedContact = this.adminPhoneBean.linkExistingMobileNumberWithContact(contact, mobileNumber); - } else { - // Create new instance - mobileNumber = new MobileNumber(this.adminPhoneController.getMobileProvider(), this.adminPhoneController.getPhoneNumber()); - - // Link it, too - updatedContact = this.adminPhoneBean.linkNewMobileNumberWithContact(contact, mobileNumber); + // Try it again + try { + // All fine so far, then which was choosen? + if (mobileNumber instanceof DialableMobileNumber) { + // User has choosen number + updatedContact = this.adminPhoneBean.linkExistingMobileNumberWithContact(contact, mobileNumber); + } else { + // Create new instance + mobileNumber = new MobileNumber(this.adminPhoneController.getMobileProvider(), this.adminPhoneController.getPhoneNumber()); + + // Link it, too + updatedContact = this.adminPhoneBean.linkNewMobileNumberWithContact(contact, mobileNumber); + } + } catch (final PhoneNumberAlreadyLinkedException ex) { + // Throw again as cause + this.showFacesMessage("form_add_contact_mobile:phoneNumber", ex); //NOI18N + return ""; //NOI18N } // Fire event @@ -402,7 +422,7 @@ public class JobsAdminContactPhoneWebRequestBean extends BaseJobsController impl try { // Unlink it and return contact without fax instance updatedContact = this.adminPhoneBean.unlinkFaxDataFromContact(this.beanHelper.getContact(), this.beanHelper.getFaxNumber()); - } catch (final FaxNumberNotLinkedException ex) { + } catch (final PhoneNumberNotLinkedException ex) { // Did not work this.showFacesMessage("form_unlink_contact_fax:faxNumberId", ex); //NOI18N return ""; //NOI18N @@ -450,7 +470,7 @@ public class JobsAdminContactPhoneWebRequestBean extends BaseJobsController impl try { // Unlink it and return contact without landLine instance updatedContact = this.adminPhoneBean.unlinkLandLineDataFromContact(this.beanHelper.getContact(), this.beanHelper.getLandLineNumber()); - } catch (final LandLineNumberNotLinkedException ex) { + } catch (final PhoneNumberNotLinkedException ex) { // Did not work this.showFacesMessage("form_unlink_contact_landLine:landLineNumberId", ex); //NOI18N return ""; //NOI18N @@ -507,7 +527,7 @@ public class JobsAdminContactPhoneWebRequestBean extends BaseJobsController impl try { // Unlink it and return contact without mobile instance updatedContact = this.adminPhoneBean.unlinkMobileDataFromContact(this.beanHelper.getContact(), this.beanHelper.getMobileNumber()); - } catch (final MobileNumberNotLinkedException ex) { + } catch (final PhoneNumberNotLinkedException ex) { // Did not work this.showFacesMessage("form_unlink_contact_mobile:mobileNumberId", ex); //NOI18N return ""; //NOI18N diff --git a/src/java/org/mxchange/jjobs/beans/contact/phone/JobsContactPhoneWebSessionBean.java b/src/java/org/mxchange/jjobs/beans/contact/phone/JobsContactPhoneWebSessionBean.java index f8f554cf..1337cc17 100644 --- a/src/java/org/mxchange/jjobs/beans/contact/phone/JobsContactPhoneWebSessionBean.java +++ b/src/java/org/mxchange/jjobs/beans/contact/phone/JobsContactPhoneWebSessionBean.java @@ -16,9 +16,6 @@ */ package org.mxchange.jjobs.beans.contact.phone; -import de.chotime.landingpage.beans.BaseLandingController; -import de.chotime.landingpage.beans.contact.LandingContactWebSessionController; -import de.chotime.landingpage.beans.helper.LandingWebRequestController; import java.text.MessageFormat; import java.util.HashMap; import java.util.LinkedList; @@ -35,6 +32,9 @@ import org.mxchange.jcontacts.events.contact.update.AdminUpdatedContactEvent; import org.mxchange.jcontacts.events.fax.unlinked.AdminUnlinkedFaxNumberEvent; import org.mxchange.jcontacts.events.landline.unlinked.AdminUnlinkedLandLineNumberEvent; import org.mxchange.jcontacts.events.mobile.unlinked.AdminUnlinkedMobileNumberEvent; +import org.mxchange.jjobs.beans.BaseJobsController; +import org.mxchange.jjobs.beans.contact.JobsContactWebSessionController; +import org.mxchange.jjobs.beans.helper.JobsWebRequestController; import org.mxchange.jphone.phonenumbers.DialableNumber; import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber; import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber; @@ -48,7 +48,7 @@ import org.mxchange.jusercore.events.user.add.AdminAddedUserEvent; */ @Named ("contactPhoneController") @SessionScoped -public class JobsContactPhoneWebSessionBean extends BaseLandingController implements JobsContactPhoneWebSessionController { +public class JobsContactPhoneWebSessionBean extends BaseJobsController implements JobsContactPhoneWebSessionController { /** * Serial number @@ -59,13 +59,13 @@ public class JobsContactPhoneWebSessionBean extends BaseLandingController implem * Admin helper instance */ @Inject - private LandingWebRequestController beanHelper; + private JobsWebRequestController beanHelper; /** * General contact controller */ @Inject - private LandingContactWebSessionController contactController; + private JobsContactWebSessionController contactController; /** * "Cache" for contact's mobile, land-line and fax numbers. Currently one