2 * Copyright (C) 2016, 2017 Roland Häder
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU Affero General Public License as
6 * published by the Free Software Foundation, either version 3 of the
7 * License, or (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU Affero General Public License for more details.
14 * You should have received a copy of the GNU Affero General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 package org.mxchange.jcontacts.phone;
19 import java.text.MessageFormat;
20 import java.util.GregorianCalendar;
21 import java.util.Objects;
23 import javax.ejb.Stateless;
24 import org.mxchange.addressbook.database.BaseAddressbookDatabaseBean;
25 import org.mxchange.jcontacts.contact.Contact;
26 import org.mxchange.jcontacts.contact.ContactSessionBeanRemote;
27 import org.mxchange.jcontacts.contact.UserContact;
28 import org.mxchange.jphone.exceptions.PhoneNumberAlreadyLinkedException;
29 import org.mxchange.jphone.exceptions.PhoneNumberNotLinkedException;
30 import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber;
31 import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber;
32 import org.mxchange.jphone.phonenumbers.mobile.DialableMobileNumber;
35 * A session EJB for administrative contact's phone number purposes
37 * @author Roland Häder<roland@mxchange.org>
39 @Stateless (name = "adminContactPhone", description = "An administrative bean handling contact's phone data")
40 public class AddressbookAdminContactPhoneSessionBean extends BaseAddressbookDatabaseBean implements AdminContactsPhoneSessionBeanRemote {
45 private static final long serialVersionUID = 189_217_561_460_237_108L;
51 private ContactSessionBeanRemote contactBean;
54 public Contact linkExistingFaxNumberWithContact (final Contact contact, final DialableFaxNumber faxNumber) throws PhoneNumberAlreadyLinkedException {
56 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.linkExistingFaxNumberWithContact: contact={1},faxNumber={2} - CALLED!", this.getClass().getSimpleName(), contact, faxNumber)); //NOI18N
58 // Is the contact set?
59 if (null == contact) {
61 throw new NullPointerException("contact is null"); //NOI18N
62 } else if (contact.getContactId() == null) {
63 // ... and throw again
64 throw new NullPointerException("contact.contactId is null"); //NOI18N
65 } else if (contact.getContactId() < 1) {
67 throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid.", contact.getContactId())); //NOI18N
68 } else if (contact.getContactFaxNumber() instanceof DialableFaxNumber) {
69 // Not set cell phone instance
70 throw new PhoneNumberAlreadyLinkedException(faxNumber);
71 } else if (null == faxNumber) {
73 throw new NullPointerException("faxNumber is null"); //NOI18N
74 } else if (faxNumber.getPhoneId() == null) {
76 throw new NullPointerException("faxNumber.phoneId is null"); //NOI18N
77 } else if (faxNumber.getPhoneId() < 1) {
79 throw new IllegalArgumentException(MessageFormat.format("faxNumber.phoneId={0} is not valid", faxNumber.getPhoneId())); //NOI18N
80 } else if (faxNumber.getPhoneCountry() == null) {
82 throw new NullPointerException("faxNumber.phoneCountry is null"); //NOI18N
83 } else if (faxNumber.getPhoneAreaCode() == null) {
85 throw new NullPointerException("faxNumber.phoneAreaCode is null"); //NOI18N
86 } else if (faxNumber.getPhoneAreaCode() < 1) {
88 throw new IllegalArgumentException(MessageFormat.format("faxNumber.phoneAreaCode={0} is not valid", faxNumber.getPhoneAreaCode())); //NOI18N
89 } else if (faxNumber.getPhoneNumber() == null) {
91 throw new NullPointerException("faxNumber.phoneNumber is null"); //NOI18N
92 } else if (faxNumber.getPhoneNumber() < 1) {
94 throw new IllegalArgumentException(MessageFormat.format("faxNumber.phoneNumber={0} is not valid", faxNumber.getPhoneNumber())); //NOI18N
98 Contact managedContact = this.getEntityManager().find(UserContact.class, contact.getContactId());
100 // Set fax number in contact
101 managedContact.setContactFaxNumber(faxNumber);
104 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.linkExistingFaxNumberWithContact: managedContact={1} - EXIT!", this.getClass().getSimpleName(), managedContact)); //NOI18N
107 return managedContact;
111 public Contact linkExistingLandLineNumberWithContact (final Contact contact, final DialableLandLineNumber landLineNumber) throws PhoneNumberAlreadyLinkedException {
113 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.linkExistingLandLineNumberWithContact: contact={1},landLineNumber={2} - CALLED!", this.getClass().getSimpleName(), contact, landLineNumber)); //NOI18N
115 // Is the contact set?
116 if (null == contact) {
118 throw new NullPointerException("contact is null"); //NOI18N
119 } else if (contact.getContactId() == null) {
120 // ... and throw again
121 throw new NullPointerException("contact.contactId is null"); //NOI18N
122 } else if (contact.getContactId() < 1) {
124 throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid.", contact.getContactId())); //NOI18N
125 } else if (contact.getContactLandLineNumber() instanceof DialableLandLineNumber) {
126 // Not set cell phone instance
127 throw new PhoneNumberAlreadyLinkedException(landLineNumber);
128 } else if (null == landLineNumber) {
130 throw new NullPointerException("landLineNumber is null"); //NOI18N
131 } else if (landLineNumber.getPhoneId() == null) {
133 throw new NullPointerException("landLineNumber.phoneId is null"); //NOI18N
134 } else if (landLineNumber.getPhoneId() < 1) {
136 throw new IllegalArgumentException(MessageFormat.format("landLineNumber.phoneId={0} is not valid", landLineNumber.getPhoneId())); //NOI18N
137 } else if (landLineNumber.getPhoneCountry() == null) {
139 throw new NullPointerException("landLineNumber.phoneCountry is null"); //NOI18N
140 } else if (landLineNumber.getPhoneAreaCode() == null) {
142 throw new NullPointerException("landLineNumber.phoneAreaCode is null"); //NOI18N
143 } else if (landLineNumber.getPhoneAreaCode() < 1) {
145 throw new IllegalArgumentException(MessageFormat.format("landLineNumber.phoneAreaCode={0} is not valid", landLineNumber.getPhoneAreaCode())); //NOI18N
146 } else if (landLineNumber.getPhoneNumber() == null) {
148 throw new NullPointerException("landLineNumber.phoneNumber is null"); //NOI18N
149 } else if (landLineNumber.getPhoneNumber() < 1) {
151 throw new IllegalArgumentException(MessageFormat.format("landLineNumber.phoneNumber={0} is not valid", landLineNumber.getPhoneNumber())); //NOI18N
155 Contact managedContact = this.getEntityManager().find(UserContact.class, contact.getContactId());
157 // Set landline number in contact
158 managedContact.setContactLandLineNumber(landLineNumber);
161 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.linkExistingLandLineNumberWithContact: managedContact={1} - EXIT!", this.getClass().getSimpleName(), managedContact)); //NOI18N
164 return managedContact;
168 public Contact linkExistingMobileNumberWithContact (final Contact contact, final DialableMobileNumber mobileNumber) throws PhoneNumberAlreadyLinkedException {
170 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.linkExistingMobileNumberWithContact: contact={1},mobileNumber={2} - CALLED!", this.getClass().getSimpleName(), contact, mobileNumber)); //NOI18N
172 // Is the contact set?
173 if (null == contact) {
175 throw new NullPointerException("contact is null"); //NOI18N
176 } else if (contact.getContactId() == null) {
177 // ... and throw again
178 throw new NullPointerException("contact.contactId is null"); //NOI18N
179 } else if (contact.getContactId() < 1) {
181 throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid.", contact.getContactId())); //NOI18N
182 } else if (contact.getContactMobileNumber() instanceof DialableMobileNumber) {
183 // Not set cell phone instance
184 throw new PhoneNumberAlreadyLinkedException(mobileNumber);
185 } else if (null == mobileNumber) {
187 throw new NullPointerException("mobileNumber is null"); //NOI18N
188 } else if (mobileNumber.getPhoneId() == null) {
190 throw new NullPointerException("mobileNumber.phoneId is null"); //NOI18N
191 } else if (mobileNumber.getPhoneId() < 1) {
193 throw new IllegalArgumentException(MessageFormat.format("mobileNumber.phoneId={0} is not valid", mobileNumber.getPhoneId())); //NOI18N
194 } else if (mobileNumber.getMobileProvider() == null) {
196 throw new NullPointerException("mobileNumber.mobileProvider is null"); //NOI18N
197 } else if (mobileNumber.getMobileProvider().getProviderId() == null) {
199 throw new NullPointerException("mobileNumber.mobileProvider.providerId is null"); //NOI18N
200 } else if (mobileNumber.getMobileProvider().getProviderId() < 1) {
202 throw new IllegalArgumentException(MessageFormat.format("mobileNumber.mobileProvider.providerId={0} is not valid", mobileNumber.getMobileProvider().getProviderId())); //NOI18N
206 Contact managedContact = this.getEntityManager().find(UserContact.class, contact.getContactId());
208 // Set landline number in contact
209 managedContact.setContactMobileNumber(mobileNumber);
212 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.linkExistingMobileNumberWithContact: managedContact={1} - EXIT!", this.getClass().getSimpleName(), managedContact)); //NOI18N
215 return managedContact;
219 public Contact linkNewFaxNumberWithContact (final Contact contact, final DialableFaxNumber faxNumber) throws PhoneNumberAlreadyLinkedException {
221 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.linkNewFaxNumberWithContact: contact={1},faxNumber={2} - CALLED!", this.getClass().getSimpleName(), contact, faxNumber)); //NOI18N
223 // Is the contact set?
224 if (null == contact) {
226 throw new NullPointerException("contact is null"); //NOI18N
227 } else if (contact.getContactId() == null) {
228 // ... and throw again
229 throw new NullPointerException("contact.contactId is null"); //NOI18N
230 } else if (contact.getContactId() < 1) {
232 throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid.", contact.getContactId())); //NOI18N
233 } else if (contact.getContactFaxNumber() instanceof DialableFaxNumber) {
234 // Not set cell phone instance
235 throw new PhoneNumberAlreadyLinkedException(faxNumber);
236 } else if (null == faxNumber) {
238 throw new NullPointerException("faxNumber is null"); //NOI18N
239 } else if (faxNumber.getPhoneId() instanceof Long) {
241 throw new IllegalStateException(MessageFormat.format("faxNumber.phoneId={0} is not null", faxNumber.getPhoneId())); //NOI18N
242 } else if (faxNumber.getPhoneCountry() == null) {
244 throw new NullPointerException("faxNumber.phoneCountry is null"); //NOI18N
245 } else if (faxNumber.getPhoneAreaCode() == null) {
247 throw new NullPointerException("faxNumber.phoneAreaCode is null"); //NOI18N
248 } else if (faxNumber.getPhoneAreaCode() < 1) {
250 throw new IllegalArgumentException(MessageFormat.format("faxNumber.phoneAreaCode={0} is not valid", faxNumber.getPhoneAreaCode())); //NOI18N
251 } else if (faxNumber.getPhoneNumber() == null) {
253 throw new NullPointerException("faxNumber.phoneNumber is null"); //NOI18N
254 } else if (faxNumber.getPhoneNumber() < 1) {
256 throw new IllegalArgumentException(MessageFormat.format("faxNumber.phoneNumber={0} is not valid", faxNumber.getPhoneNumber())); //NOI18N
259 // Set created instance
260 faxNumber.setPhoneEntryCreated(new GregorianCalendar());
263 this.getEntityManager().persist(faxNumber);
266 this.getEntityManager().flush();
269 Contact managedContact = this.getEntityManager().find(UserContact.class, contact.getContactId());
271 // Set fax number in contact
272 managedContact.setContactFaxNumber(faxNumber);
275 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.linkNewFaxNumberWithContact: managedContact={1} - EXIT!", this.getClass().getSimpleName(), managedContact)); //NOI18N
278 return managedContact;
282 public Contact linkNewLandLineNumberWithContact (final Contact contact, final DialableLandLineNumber landLineNumber) throws PhoneNumberAlreadyLinkedException {
284 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.linkNewLandLineNumberWithContact: contact={1},landLineNumber={2} - CALLED!", this.getClass().getSimpleName(), contact, landLineNumber)); //NOI18N
286 // Is the contact set?
287 if (null == contact) {
289 throw new NullPointerException("contact is null"); //NOI18N
290 } else if (contact.getContactId() == null) {
291 // ... and throw again
292 throw new NullPointerException("contact.contactId is null"); //NOI18N
293 } else if (contact.getContactId() < 1) {
295 throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid.", contact.getContactId())); //NOI18N
296 } else if (contact.getContactLandLineNumber() instanceof DialableLandLineNumber) {
297 // Not set cell phone instance
298 throw new PhoneNumberAlreadyLinkedException(landLineNumber);
299 } else if (null == landLineNumber) {
301 throw new NullPointerException("landLineNumber is null"); //NOI18N
302 } else if (landLineNumber.getPhoneId() instanceof Long) {
304 throw new IllegalStateException(MessageFormat.format("landLineNumber.phoneId={0} is not null", landLineNumber.getPhoneId())); //NOI18N
305 } else if (landLineNumber.getPhoneCountry() == null) {
307 throw new NullPointerException("landLineNumber.phoneCountry is null"); //NOI18N
308 } else if (landLineNumber.getPhoneAreaCode() == null) {
310 throw new NullPointerException("landLineNumber.phoneAreaCode is null"); //NOI18N
311 } else if (landLineNumber.getPhoneAreaCode() < 1) {
313 throw new IllegalArgumentException(MessageFormat.format("landLineNumber.phoneAreaCode={0} is not valid", landLineNumber.getPhoneAreaCode())); //NOI18N
314 } else if (landLineNumber.getPhoneNumber() == null) {
316 throw new NullPointerException("landLineNumber.phoneNumber is null"); //NOI18N
317 } else if (landLineNumber.getPhoneNumber() < 1) {
319 throw new IllegalArgumentException(MessageFormat.format("landLineNumber.phoneNumber={0} is not valid", landLineNumber.getPhoneNumber())); //NOI18N
322 // Set created instance
323 landLineNumber.setPhoneEntryCreated(new GregorianCalendar());
326 this.getEntityManager().persist(landLineNumber);
329 this.getEntityManager().flush();
332 Contact managedContact = this.getEntityManager().find(UserContact.class, contact.getContactId());
334 // Set land-line number in contact
335 managedContact.setContactLandLineNumber(landLineNumber);
338 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.linkNewLandLineNumberWithContact: managedContact={1} - EXIT!", this.getClass().getSimpleName(), managedContact)); //NOI18N
341 return managedContact;
345 public Contact linkNewMobileNumberWithContact (final Contact contact, final DialableMobileNumber mobileNumber) throws PhoneNumberAlreadyLinkedException {
347 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.linkNewMobileNumberWithContact: contact={1},mobileNumber={2} - CALLED!", this.getClass().getSimpleName(), contact, mobileNumber)); //NOI18N
349 // Is the contact set?
350 if (null == contact) {
352 throw new NullPointerException("contact is null"); //NOI18N
353 } else if (contact.getContactId() == null) {
354 // ... and throw again
355 throw new NullPointerException("contact.contactId is null"); //NOI18N
356 } else if (contact.getContactId() < 1) {
358 throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid.", contact.getContactId())); //NOI18N
359 } else if (contact.getContactMobileNumber() instanceof DialableMobileNumber) {
360 // Not set cell phone instance
361 throw new PhoneNumberAlreadyLinkedException(mobileNumber);
362 } else if (null == mobileNumber) {
364 throw new NullPointerException("mobileNumber is null"); //NOI18N
365 } else if (mobileNumber.getPhoneId() instanceof Long) {
367 throw new IllegalStateException(MessageFormat.format("mobileNumber.phoneId={0} is not null", mobileNumber.getPhoneId())); //NOI18N
368 } else if (mobileNumber.getMobileProvider() == null) {
370 throw new NullPointerException("mobileNumber.mobileProvider is null"); //NOI18N
371 } else if (mobileNumber.getMobileProvider().getProviderId() == null) {
373 throw new NullPointerException("mobileNumber.mobileProvider.providerId is null"); //NOI18N
374 } else if (mobileNumber.getMobileProvider().getProviderId() < 1) {
376 throw new IllegalArgumentException(MessageFormat.format("mobileNumber.mobileProvider.providerId={0} is not valid", mobileNumber.getMobileProvider().getProviderId())); //NOI18N
379 // Set created instance
380 mobileNumber.setPhoneEntryCreated(new GregorianCalendar());
383 this.getEntityManager().persist(mobileNumber);
386 this.getEntityManager().flush();
389 Contact managedContact = this.getEntityManager().find(UserContact.class, contact.getContactId());
391 // Set land-line number in contact
392 managedContact.setContactMobileNumber(mobileNumber);
395 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.linkNewMobileNumberWithContact: managedContact={1} - EXIT!", this.getClass().getSimpleName(), managedContact)); //NOI18N
398 return managedContact;
402 public Contact unlinkFaxDataFromContact (final Contact contact, final DialableFaxNumber faxNumber) throws PhoneNumberNotLinkedException {
404 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.unlinkFaxDataFromContact: contact={1},faxNumber={2} - CALLED!", this.getClass().getSimpleName(), contact, faxNumber)); //NOI18N
406 // Is the contact set?
407 if (null == contact) {
409 throw new NullPointerException("contact is null"); //NOI18N
410 } else if (contact.getContactId() == null) {
411 // ... and throw again
412 throw new NullPointerException("contact.contactId is null"); //NOI18N
413 } else if (contact.getContactId() < 1) {
415 throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid.", contact.getContactId())); //NOI18N
416 } else if (contact.getContactFaxNumber() == null) {
417 // Not set cell phone instance
418 throw new PhoneNumberNotLinkedException(faxNumber);
419 } else if (contact.getContactFaxNumber().getPhoneId() == null) {
421 throw new NullPointerException("contact.contactFaxNumber.phoneId is null"); //NOI18N
422 } else if (contact.getContactFaxNumber().getPhoneId() < 1) {
424 throw new IllegalArgumentException(MessageFormat.format("contact.contactFaxNumber.phoneId={0} is invalid.", contact.getContactFaxNumber().getPhoneId())); //NOI18N
425 } else if (!Objects.equals(faxNumber.getPhoneId(), contact.getContactFaxNumber().getPhoneId())) {
427 throw new IllegalArgumentException(MessageFormat.format("contact.contactFaxNumber.phoneId={0} and faxNumber.phoneId={1} are not the same.", contact.getContactFaxNumber().getPhoneId(), faxNumber.getPhoneId())); //NOI18N
431 Contact managedContact = this.getEntityManager().find(UserContact.class, contact.getContactId());
433 // Remove it from contact
434 managedContact.setContactFaxNumber(null);
437 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.unlinkFaxDataFromContact: managedContact={1} - EXIT!", this.getClass().getSimpleName(), managedContact)); //NOI18N
440 return managedContact;
444 public Contact unlinkLandLineDataFromContact (final Contact contact, final DialableLandLineNumber landLineNumber) throws PhoneNumberNotLinkedException {
446 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.unlinkLandLineDataFromContact: contact={1},landLineNumber={2} - CALLED!", this.getClass().getSimpleName(), contact, landLineNumber)); //NOI18N
448 // Is the contact set?
449 if (null == contact) {
451 throw new NullPointerException("contact is null"); //NOI18N
452 } else if (contact.getContactId() == null) {
453 // ... and throw again
454 throw new NullPointerException("contact.contactId is null"); //NOI18N
455 } else if (contact.getContactId() < 1) {
457 throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid.", contact.getContactId())); //NOI18N
458 } else if (contact.getContactLandLineNumber() == null) {
459 // Not set cell phone instance
460 throw new PhoneNumberNotLinkedException(landLineNumber);
461 } else if (contact.getContactLandLineNumber().getPhoneId() == null) {
463 throw new NullPointerException("contact.contactLandLineNumber.phoneId is null"); //NOI18N
464 } else if (contact.getContactLandLineNumber().getPhoneId() < 1) {
466 throw new IllegalArgumentException(MessageFormat.format("contact.contactLandLineNumber.phoneId={0} is invalid.", contact.getContactLandLineNumber().getPhoneId())); //NOI18N
467 } else if (!Objects.equals(landLineNumber.getPhoneId(), contact.getContactLandLineNumber().getPhoneId())) {
469 throw new IllegalArgumentException(MessageFormat.format("contact.contactLandLineNumber.phoneId={0} and landLineNumber.phoneId={1} are not the same.", contact.getContactLandLineNumber().getPhoneId(), landLineNumber.getPhoneId())); //NOI18N
473 Contact managedContact = this.getEntityManager().find(UserContact.class, contact.getContactId());
475 // Remove it from contact
476 managedContact.setContactLandLineNumber(null);
479 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.unlinkLandLineDataFromContact: managedContact={1} - EXIT!", this.getClass().getSimpleName(), managedContact)); //NOI18N
482 return managedContact;
486 public Contact unlinkMobileDataFromContact (final Contact contact, final DialableMobileNumber mobileNumber) throws PhoneNumberNotLinkedException {
488 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.unlinkMobileDataFromContact: contact={1},mobileNumber={2} - CALLED!", this.getClass().getSimpleName(), contact, mobileNumber)); //NOI18N
490 // Is the contact set?
491 if (null == contact) {
493 throw new NullPointerException("contact is null"); //NOI18N
494 } else if (contact.getContactId() == null) {
495 // ... and throw again
496 throw new NullPointerException("contact.contactId is null"); //NOI18N
497 } else if (contact.getContactId() < 1) {
499 throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid.", contact.getContactId())); //NOI18N
500 } else if (contact.getContactMobileNumber() == null) {
501 // Not set cell phone instance
502 throw new PhoneNumberNotLinkedException(mobileNumber);
503 } else if (contact.getContactMobileNumber().getPhoneId() == null) {
505 throw new NullPointerException("contact.contactMobileNumber.phoneId is null"); //NOI18N
506 } else if (contact.getContactMobileNumber().getPhoneId() < 1) {
508 throw new IllegalArgumentException(MessageFormat.format("contact.contactMobileNumber.phoneId={0} is invalid.", contact.getContactMobileNumber().getPhoneId())); //NOI18N
509 } else if (!Objects.equals(mobileNumber.getPhoneId(), contact.getContactMobileNumber().getPhoneId())) {
511 throw new IllegalArgumentException(MessageFormat.format("contact.contactMobileNumber.phoneId={0} and mobileNumber.phoneId={1} are not the same.", contact.getContactMobileNumber().getPhoneId(), mobileNumber.getPhoneId())); //NOI18N
515 Contact managedContact = this.getEntityManager().find(UserContact.class, contact.getContactId());
517 // Remove it from contact
518 managedContact.setContactMobileNumber(null);
521 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.unlinkMobileDataFromContact: managedContact={1} - EXIT!", this.getClass().getSimpleName(), managedContact)); //NOI18N
524 return managedContact;