/*
- * 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
import org.mxchange.jcontacts.events.contact.add.ObservableAdminAddedContactEvent;
import org.mxchange.jcontacts.events.contact.created.ObservableCreatedContactEvent;
import org.mxchange.jcontacts.events.contact.update.ObservableAdminUpdatedContactEvent;
+import org.mxchange.jcontacts.events.contact.update.ObservableUpdatedContactEvent;
import org.mxchange.jcontacts.events.fax.linked.AdminLinkedFaxNumberEvent;
import org.mxchange.jcontacts.events.fax.linked.ObservableAdminLinkedFaxNumberEvent;
import org.mxchange.jcontacts.events.fax.unlinked.AdminUnlinkedFaxNumberEvent;
import org.mxchange.jcontacts.events.landline.linked.ObservableAdminLinkedLandLineNumberEvent;
import org.mxchange.jcontacts.events.landline.unlinked.AdminUnlinkedLandLineNumberEvent;
import org.mxchange.jcontacts.events.landline.unlinked.ObservableAdminUnlinkedLandLineNumberEvent;
+import org.mxchange.jcontacts.exceptions.ContactNotFoundException;
import org.mxchange.jcontacts.model.contact.Contact;
import org.mxchange.jcontacts.model.phone.AdminContactsPhoneSessionBeanRemote;
import org.mxchange.jcountry.model.data.Country;
throw new NullPointerException("event is null"); //NOI18N
} else if (event.getCreatedContact() == null) {
// Throw NPE again
- throw new NullPointerException("event.createdContact is null"); //NOI18N //NOI18N
+ throw new NullPointerException("event.createdContact is null"); //NOI18N
} else if (event.getCreatedContact().getContactId() == null) {
// Throw NPE again
- throw new NullPointerException("event.createdContact.contactId is null"); //NOI18N //NOI18N
+ throw new NullPointerException("event.createdContact.contactId is null"); //NOI18N
} else if (event.getCreatedContact().getContactId() < 1) {
// Not valid
throw new IllegalStateException(MessageFormat.format("event.createdContact.contactId={0} is not valid.", event.getCreatedContact().getContactId())); //NOI18N
this.setPhoneEntryUpdated(number.getPhoneEntryUpdated());
}
+ /**
+ * Event observer for updated contact data by the user
+ * <p>
+ * @param event Updated contact data event
+ */
+ public void afterUpdatedContactDataEvent (@Observes final ObservableUpdatedContactEvent event) {
+ // Event and contained entity instance should not be null
+ if (null == event) {
+ // Throw NPE
+ throw new NullPointerException("event is null"); //NOI18N
+ } else if (event.getUpdatedContact() == null) {
+ // Throw NPE again
+ throw new NullPointerException("event.updatedContact is null"); //NOI18N
+ } else if (event.getUpdatedContact().getContactId() == null) {
+ // userId is null
+ throw new NullPointerException("event.updatedContact.contactId is null"); //NOI18N
+ } else if (event.getUpdatedContact().getContactId() < 1) {
+ // Not avalid id
+ throw new IllegalArgumentException(MessageFormat.format("contactId of contact={0} is not valid: {1}", event.getUpdatedContact(), event.getUpdatedContact().getContactId())); //NOI18N
+ }
+
+ // Clear all data
+ this.clear();
+ }
+
/**
* Links fax number to contact from bean helper as "main fax number".
* <p>
try {
// Link it, too
updatedContact = this.adminContactPhoneBean.linkNewFaxNumberWithContact(targetContact, number);
- } catch (final PhoneNumberAlreadyLinkedException ex) {
+ } catch (final PhoneNumberAlreadyLinkedException | ContactNotFoundException ex) {
// Throw again as cause
this.showFacesMessage("form_add_contact_fax:faxNumber", ex, FacesMessage.SEVERITY_ERROR); //NOI18N
return ""; //NOI18N
try {
// Link it, too
updatedContact = this.adminContactPhoneBean.linkNewLandLineNumberWithContact(targetContact, number);
- } catch (final PhoneNumberAlreadyLinkedException ex) {
+ } catch (final PhoneNumberAlreadyLinkedException | ContactNotFoundException ex) {
// Throw again as cause
this.showFacesMessage("form_add_contact_landLine:landLineNumber", ex, FacesMessage.SEVERITY_ERROR); //NOI18N
return ""; //NOI18N
try {
// Unlink it and return contact without fax instance
updatedContact = this.adminContactPhoneBean.unlinkFaxDataFromContact(this.getContact(), number);
- } catch (final PhoneNumberNotLinkedException ex) {
+ } catch (final PhoneNumberNotLinkedException | ContactNotFoundException ex) {
// Did not work
this.showFacesMessage("form_unlink_contact_fax:faxNumberId", ex, FacesMessage.SEVERITY_ERROR); //NOI18N
return ""; //NOI18N
try {
// Unlink it and return contact without landLine instance
updatedContact = this.adminContactPhoneBean.unlinkLandLineDataFromContact(this.getContact(), number);
- } catch (final PhoneNumberNotLinkedException ex) {
+ } catch (final PhoneNumberNotLinkedException | ContactNotFoundException ex) {
// Did not work
this.showFacesMessage("form_unlink_contact_landLine:landLineNumberId", ex, FacesMessage.SEVERITY_ERROR); //NOI18N
return ""; //NOI18N