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 Contact managedContact = this.getEntityManager().find(UserContact.class, contact.getContactId());
268 // Set fax number in contact
269 managedContact.setContactFaxNumber(faxNumber);
272 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.linkNewFaxNumberWithContact: managedContact={1} - EXIT!", this.getClass().getSimpleName(), managedContact)); //NOI18N
275 return managedContact;
279 public Contact linkNewLandLineNumberWithContact (final Contact contact, final DialableLandLineNumber landLineNumber) throws PhoneNumberAlreadyLinkedException {
281 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.linkNewLandLineNumberWithContact: contact={1},landLineNumber={2} - CALLED!", this.getClass().getSimpleName(), contact, landLineNumber)); //NOI18N
283 // Is the contact set?
284 if (null == contact) {
286 throw new NullPointerException("contact is null"); //NOI18N
287 } else if (contact.getContactId() == null) {
288 // ... and throw again
289 throw new NullPointerException("contact.contactId is null"); //NOI18N
290 } else if (contact.getContactId() < 1) {
292 throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid.", contact.getContactId())); //NOI18N
293 } else if (contact.getContactLandLineNumber() instanceof DialableLandLineNumber) {
294 // Not set cell phone instance
295 throw new PhoneNumberAlreadyLinkedException(landLineNumber);
296 } else if (null == landLineNumber) {
298 throw new NullPointerException("landLineNumber is null"); //NOI18N
299 } else if (landLineNumber.getPhoneId() instanceof Long) {
301 throw new IllegalStateException(MessageFormat.format("landLineNumber.phoneId={0} is not null", landLineNumber.getPhoneId())); //NOI18N
302 } else if (landLineNumber.getPhoneCountry() == null) {
304 throw new NullPointerException("landLineNumber.phoneCountry is null"); //NOI18N
305 } else if (landLineNumber.getPhoneAreaCode() == null) {
307 throw new NullPointerException("landLineNumber.phoneAreaCode is null"); //NOI18N
308 } else if (landLineNumber.getPhoneAreaCode() < 1) {
310 throw new IllegalArgumentException(MessageFormat.format("landLineNumber.phoneAreaCode={0} is not valid", landLineNumber.getPhoneAreaCode())); //NOI18N
311 } else if (landLineNumber.getPhoneNumber() == null) {
313 throw new NullPointerException("landLineNumber.phoneNumber is null"); //NOI18N
314 } else if (landLineNumber.getPhoneNumber() < 1) {
316 throw new IllegalArgumentException(MessageFormat.format("landLineNumber.phoneNumber={0} is not valid", landLineNumber.getPhoneNumber())); //NOI18N
319 // Set created instance
320 landLineNumber.setPhoneEntryCreated(new GregorianCalendar());
323 this.getEntityManager().persist(landLineNumber);
326 Contact managedContact = this.getEntityManager().find(UserContact.class, contact.getContactId());
328 // Set land-line number in contact
329 managedContact.setContactLandLineNumber(landLineNumber);
332 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.linkNewLandLineNumberWithContact: managedContact={1} - EXIT!", this.getClass().getSimpleName(), managedContact)); //NOI18N
335 return managedContact;
339 public Contact linkNewMobileNumberWithContact (final Contact contact, final DialableMobileNumber mobileNumber) throws PhoneNumberAlreadyLinkedException {
341 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.linkNewMobileNumberWithContact: contact={1},mobileNumber={2} - CALLED!", this.getClass().getSimpleName(), contact, mobileNumber)); //NOI18N
343 // Is the contact set?
344 if (null == contact) {
346 throw new NullPointerException("contact is null"); //NOI18N
347 } else if (contact.getContactId() == null) {
348 // ... and throw again
349 throw new NullPointerException("contact.contactId is null"); //NOI18N
350 } else if (contact.getContactId() < 1) {
352 throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid.", contact.getContactId())); //NOI18N
353 } else if (contact.getContactMobileNumber() instanceof DialableMobileNumber) {
354 // Not set cell phone instance
355 throw new PhoneNumberAlreadyLinkedException(mobileNumber);
356 } else if (null == mobileNumber) {
358 throw new NullPointerException("mobileNumber is null"); //NOI18N
359 } else if (mobileNumber.getPhoneId() instanceof Long) {
361 throw new IllegalStateException(MessageFormat.format("mobileNumber.phoneId={0} is not null", mobileNumber.getPhoneId())); //NOI18N
362 } else if (mobileNumber.getMobileProvider() == null) {
364 throw new NullPointerException("mobileNumber.mobileProvider is null"); //NOI18N
365 } else if (mobileNumber.getMobileProvider().getProviderId() == null) {
367 throw new NullPointerException("mobileNumber.mobileProvider.providerId is null"); //NOI18N
368 } else if (mobileNumber.getMobileProvider().getProviderId() < 1) {
370 throw new IllegalArgumentException(MessageFormat.format("mobileNumber.mobileProvider.providerId={0} is not valid", mobileNumber.getMobileProvider().getProviderId())); //NOI18N
373 // Set created instance
374 mobileNumber.setPhoneEntryCreated(new GregorianCalendar());
377 this.getEntityManager().persist(mobileNumber);
380 Contact managedContact = this.getEntityManager().find(UserContact.class, contact.getContactId());
382 // Set land-line number in contact
383 managedContact.setContactMobileNumber(mobileNumber);
386 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.linkNewMobileNumberWithContact: managedContact={1} - EXIT!", this.getClass().getSimpleName(), managedContact)); //NOI18N
389 return managedContact;
393 public Contact unlinkFaxDataFromContact (final Contact contact, final DialableFaxNumber faxNumber) throws PhoneNumberNotLinkedException {
395 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.unlinkFaxDataFromContact: contact={1},faxNumber={2} - CALLED!", this.getClass().getSimpleName(), contact, faxNumber)); //NOI18N
397 // Is the contact set?
398 if (null == contact) {
400 throw new NullPointerException("contact is null"); //NOI18N
401 } else if (contact.getContactId() == null) {
402 // ... and throw again
403 throw new NullPointerException("contact.contactId is null"); //NOI18N
404 } else if (contact.getContactId() < 1) {
406 throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid.", contact.getContactId())); //NOI18N
407 } else if (contact.getContactFaxNumber() == null) {
408 // Not set cell phone instance
409 throw new PhoneNumberNotLinkedException(faxNumber);
410 } else if (contact.getContactFaxNumber().getPhoneId() == null) {
412 throw new NullPointerException("contact.contactFaxNumber.phoneId is null"); //NOI18N
413 } else if (contact.getContactFaxNumber().getPhoneId() < 1) {
415 throw new IllegalArgumentException(MessageFormat.format("contact.contactFaxNumber.phoneId={0} is invalid.", contact.getContactFaxNumber().getPhoneId())); //NOI18N
416 } else if (!Objects.equals(faxNumber.getPhoneId(), contact.getContactFaxNumber().getPhoneId())) {
418 throw new IllegalArgumentException(MessageFormat.format("contact.contactFaxNumber.phoneId={0} and faxNumber.phoneId={1} are not the same.", contact.getContactFaxNumber().getPhoneId(), faxNumber.getPhoneId())); //NOI18N
422 Contact managedContact = this.getEntityManager().find(UserContact.class, contact.getContactId());
424 // Remove it from contact
425 managedContact.setContactFaxNumber(null);
428 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.unlinkFaxDataFromContact: managedContact={1} - EXIT!", this.getClass().getSimpleName(), managedContact)); //NOI18N
431 return managedContact;
435 public Contact unlinkLandLineDataFromContact (final Contact contact, final DialableLandLineNumber landLineNumber) throws PhoneNumberNotLinkedException {
437 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.unlinkLandLineDataFromContact: contact={1},landLineNumber={2} - CALLED!", this.getClass().getSimpleName(), contact, landLineNumber)); //NOI18N
439 // Is the contact set?
440 if (null == contact) {
442 throw new NullPointerException("contact is null"); //NOI18N
443 } else if (contact.getContactId() == null) {
444 // ... and throw again
445 throw new NullPointerException("contact.contactId is null"); //NOI18N
446 } else if (contact.getContactId() < 1) {
448 throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid.", contact.getContactId())); //NOI18N
449 } else if (contact.getContactLandLineNumber() == null) {
450 // Not set cell phone instance
451 throw new PhoneNumberNotLinkedException(landLineNumber);
452 } else if (contact.getContactLandLineNumber().getPhoneId() == null) {
454 throw new NullPointerException("contact.contactLandLineNumber.phoneId is null"); //NOI18N
455 } else if (contact.getContactLandLineNumber().getPhoneId() < 1) {
457 throw new IllegalArgumentException(MessageFormat.format("contact.contactLandLineNumber.phoneId={0} is invalid.", contact.getContactLandLineNumber().getPhoneId())); //NOI18N
458 } else if (!Objects.equals(landLineNumber.getPhoneId(), contact.getContactLandLineNumber().getPhoneId())) {
460 throw new IllegalArgumentException(MessageFormat.format("contact.contactLandLineNumber.phoneId={0} and landLineNumber.phoneId={1} are not the same.", contact.getContactLandLineNumber().getPhoneId(), landLineNumber.getPhoneId())); //NOI18N
464 Contact managedContact = this.getEntityManager().find(UserContact.class, contact.getContactId());
466 // Remove it from contact
467 managedContact.setContactLandLineNumber(null);
470 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.unlinkLandLineDataFromContact: managedContact={1} - EXIT!", this.getClass().getSimpleName(), managedContact)); //NOI18N
473 return managedContact;
477 public Contact unlinkMobileDataFromContact (final Contact contact, final DialableMobileNumber mobileNumber) throws PhoneNumberNotLinkedException {
479 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.unlinkMobileDataFromContact: contact={1},mobileNumber={2} - CALLED!", this.getClass().getSimpleName(), contact, mobileNumber)); //NOI18N
481 // Is the contact set?
482 if (null == contact) {
484 throw new NullPointerException("contact is null"); //NOI18N
485 } else if (contact.getContactId() == null) {
486 // ... and throw again
487 throw new NullPointerException("contact.contactId is null"); //NOI18N
488 } else if (contact.getContactId() < 1) {
490 throw new IllegalArgumentException(MessageFormat.format("contact.contactId={0} is not valid.", contact.getContactId())); //NOI18N
491 } else if (contact.getContactMobileNumber() == null) {
492 // Not set cell phone instance
493 throw new PhoneNumberNotLinkedException(mobileNumber);
494 } else if (contact.getContactMobileNumber().getPhoneId() == null) {
496 throw new NullPointerException("contact.contactMobileNumber.phoneId is null"); //NOI18N
497 } else if (contact.getContactMobileNumber().getPhoneId() < 1) {
499 throw new IllegalArgumentException(MessageFormat.format("contact.contactMobileNumber.phoneId={0} is invalid.", contact.getContactMobileNumber().getPhoneId())); //NOI18N
500 } else if (!Objects.equals(mobileNumber.getPhoneId(), contact.getContactMobileNumber().getPhoneId())) {
502 throw new IllegalArgumentException(MessageFormat.format("contact.contactMobileNumber.phoneId={0} and mobileNumber.phoneId={1} are not the same.", contact.getContactMobileNumber().getPhoneId(), mobileNumber.getPhoneId())); //NOI18N
506 Contact managedContact = this.getEntityManager().find(UserContact.class, contact.getContactId());
508 // Remove it from contact
509 managedContact.setContactMobileNumber(null);
512 this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.unlinkMobileDataFromContact: managedContact={1} - EXIT!", this.getClass().getSimpleName(), managedContact)); //NOI18N
515 return managedContact;