/*
- * Copyright (C) 2016 Roland Haeder
+ * 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 General Public License as published by
import org.mxchange.addressbook.menu.console.ConsoleMenu;
import org.mxchange.addressbook.menu.item.SelectableMenuItem;
import org.mxchange.addressbook.menu.item.console.ConsoleMenuItem;
-import org.mxchange.jcontacts.contact.Contact;
-import org.mxchange.jcontacts.contact.UserContact;
-import org.mxchange.jcontacts.contact.gender.Gender;
-import org.mxchange.jcontacts.contact.gender.GenderUtils;
-import org.mxchange.jcontacts.exceptions.ContactAlreadyAddedException;
+import org.mxchange.jcontacts.model.contact.Contact;
+import org.mxchange.jcontacts.model.contact.UserContact;
+import org.mxchange.jcontacts.model.contact.title.PersonalTitle;
+import org.mxchange.jcontacts.model.utils.PersonalTitleUtils;
+import org.mxchange.jcontactsbusiness.exceptions.basicdata.BasicDataAlreadyAddedException;
import org.mxchange.jcore.application.Application;
import org.mxchange.jcore.exceptions.MenuInitializationException;
import org.mxchange.jcore.exceptions.UnhandledUserChoiceException;
-import org.mxchange.jcountry.data.Country;
-import org.mxchange.jphone.phonenumbers.cellphone.DialableCellphoneNumber;
-import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber;
-import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber;
/**
* A client for the console
* <p>
- * @author Roland Haeder<roland@mxchange.org>
+ * @author Roland Häder<roland@mxchange.org>
*/
public class ConsoleClient extends BaseAddressbookClient implements AddressbookClient {
throw new NullPointerException("contact is null"); //NOI18N
}
- // Get translated gender as the user may want to see "Mr.", "Mrs."
- String gender = GenderUtils.getTranslatedGender(contact);
+ // Get translated title as the user may want to see "Mr.", "Mrs."
+ String title = PersonalTitleUtils.getTranslatedPersonalTitle(contact);
- // Now put all together: gender, surname, family name
- this.outputMessage(MessageFormat.format("Anrede, Vorname, Name: {0} {1} {2}", gender, contact.getContactFirstName(), contact.getContactFamilyName()));
+ // Now put all together: title, surname, family name
+ this.outputMessage(MessageFormat.format("Anrede, Vorname, Name: {0} {1} {2}", title, contact.getContactFirstName(), contact.getContactFamilyName()));
// Trace message
this.getLoggerBeanLocal().logTrace("EXIT!"); //NOI18N
throw new NullPointerException("contact is null"); //NOI18N
}
- // Cellphone and such ...
- this.outputMessage(MessageFormat.format("Telefonnumer: {0}\nFaxnummer: {1}\nHandy: {2}\nKommentar:\n{3}", contact.getContactLandLineNumber(), contact.getContactFaxNumber(), contact.getContactCellphoneNumber(), contact.getContactComment()));
+ // Mobile and such ...
+ this.outputMessage(MessageFormat.format("Telefonnumer: {0}\nFaxnummer: {1}\nHandy: {2}\nKommentar:\n{3}", contact.getContactLandLineNumber(), contact.getContactFaxNumber(), contact.getContactMobileNumber(), contact.getContactComment()));
// Trace message
this.getLoggerBeanLocal().logTrace("EXIT!"); //NOI18N
// Get manager and cast it
ContactFacade manager = (ContactFacade) this.getFacade();
- // Gender:
- Gender gender = manager.enterOwnGender();
+ // PersonalTitle:
+ PersonalTitle title = manager.enterOwnPersonalTitle();
// Surname
String firstName = manager.enterOwnFirstName();
String familyName = manager.enterOwnFamilyName();
// Update contact instance
- contact.setContactGender(gender);
+ contact.setContactPersonalTitle(title);
contact.setContactFirstName(firstName);
contact.setContactFamilyName(familyName);
DialableLandLineNumber phoneNumber = manager.enterOwnPhoneNumber();
// Phone number
- DialableCellphoneNumber cellphonePhoneNumber = manager.enterOwnCellNumber();
+ DialableMobileNumber mobileNumber = manager.enterOwnCellNumber();
// Fax number
DialableFaxNumber faxNumber = manager.enterOwnFaxNumber();
// Update contact instance
contact.setContactLandLineNumber(phoneNumber);
- contact.setContactCellphoneNumber(cellphonePhoneNumber);
+ contact.setContactMobileNumber(mobileNumber);
contact.setContactFaxNumber(faxNumber);
contact.setContactEmailAddress(email);
contact.setContactComment(comment);
// Get manager and cast it
ContactFacade manager = (ContactFacade) this.getFacade();
- // First ask for gender
- Gender gender = manager.enterOwnGender();
+ // First ask for title
+ PersonalTitle title = manager.enterOwnPersonalTitle();
// 2nd for first name
String firstName = manager.enterOwnFirstName();
String familyName = manager.enterOwnFamilyName();
// Construct UserContact instance
- Contact contact = new UserContact(gender, firstName, familyName);
+ Contact contact = new UserContact(title, firstName, familyName);
// Trace message
this.getLoggerBeanLocal().logTrace(MessageFormat.format("contact={0} - EXIT!", contact)); //NOI18N
switch (choice) {
case '1':
try {
- // Enter/add own data
- manager.doEnterOwnData();
- } catch (final ContactAlreadyAddedException ex) {
- // Already added
- this.outputMessage("Sie haben bereits Ihre eigenen Daten eingegeben.");
- }
- break;
+ // Enter/add own data
+ manager.doEnterOwnData();
+ } catch (final BasicDataAlreadyAddedException ex) {
+ // Already added
+ this.outputMessage("Sie haben bereits Ihre eigenen Daten eingegeben.");
+ }
+ break;
case '2': // Change own data
manager.doChangeOwnData();
case '0':
try {
- // Program exit
- this.getApplication().doShutdown();
- } catch (final SQLException | IOException ex) {
- this.abortProgramWithException(ex);
- }
- break;
+ // Program exit
+ this.getApplication().doShutdown();
+ } catch (final SQLException | IOException ex) {
+ this.abortProgramWithException(ex);
+ }
+ break;
default:
// TODO throw own exception
}
@Override
+ @SuppressWarnings ("UseOfSystemOutOrSystemErr")
public char enterChar (final char[] validChars, final String message) {
// Trace message
this.getLoggerBeanLocal().logTrace(MessageFormat.format("validChars={0},message={1} - CALLED!", Arrays.toString(validChars), message)); //NOI18N
}
@Override
- public Gender enterGender (final String message) {
+ public PersonalTitle enterPersonalTitle (final String message) {
// Trace message
this.getLoggerBeanLocal().logTrace(MessageFormat.format("message={0} - CALLED!", message)); //NOI18N
// Get valid chars
- char[] validChars = Gender.validChars();
+ char[] validChars = PersonalTitle.validChars();
// Debug message
//* NOISY-DEBUG: */ System.out.println(validChars);
// Call inner method
- char gender = this.enterChar(validChars, message);
+ char title = this.enterChar(validChars, message);
- // Now get a Gender instance back
- Gender g = Gender.fromChar(gender);
+ // Now get a PersonalTitle instance back
+ PersonalTitle g = PersonalTitle.fromChar(title);
// g must not be null
- assert (g instanceof Gender) : "g is not set."; //NOI18N
+ assert (g instanceof PersonalTitle) : "g is not set."; //NOI18N
// Trace message
this.getLoggerBeanLocal().logTrace(MessageFormat.format("g={0} - EXIT!", g)); //NOI18N
}
@Override
+ @SuppressWarnings ("UseOfSystemOutOrSystemErr")
public int enterInt (final int minimum, final int maximum, final String message) {
// Trace message
this.getLoggerBeanLocal().logTrace(MessageFormat.format("minimum={0},maximum={1},message={2} - CALLED!", minimum, maximum, message)); //NOI18N
}
@Override
+ @SuppressWarnings ("UseOfSystemOutOrSystemErr")
public String enterString (final int minLength, final int maxLength, final String message, final boolean allowEmpty) {
// Trace message
this.getLoggerBeanLocal().logTrace(MessageFormat.format("minLength={0},maxLength={1},message={2}allowEmpty={3} - CALLED!", minLength, maxLength, message, allowEmpty)); //NOI18N
}
@Override
+ @SuppressWarnings ("UseOfSystemOutOrSystemErr")
public void outputMessage (final String message) {
System.out.println(message);
}
public void showWelcome () {
this.outputMessage(MessageFormat.format("Welcome to {0}", AddressbookApplication.printableTitle())); //NOI18N
this.outputMessage(""); //NOI18N
- this.outputMessage("Copyright(c) 2016 by Roland Haeder, this is free software"); //NOI18N
+ this.outputMessage("Copyright(c) 2016 by Roland Häder, this is free software"); //NOI18N
// Debug message
this.getLoggerBeanLocal().logDebug("Intro shown to user"); //NOI18N
// Trace message
this.getLoggerBeanLocal().logTrace("EXIT!"); //NOI18N
}
+
}