]> git.mxchange.org Git - addressbook-lib.git/blobdiff - src/org/mxchange/addressbook/client/console/ConsoleClient.java
auto-formatted project + updated jars
[addressbook-lib.git] / src / org / mxchange / addressbook / client / console / ConsoleClient.java
index dd7eee810cd87df5556f12666d8791dd0fb293eb..408ebf0107a5bb45ed9fc5f3787c64ab81f5757e 100644 (file)
@@ -25,25 +25,23 @@ import java.util.Scanner;
 import org.mxchange.addressbook.application.AddressbookApplication;
 import org.mxchange.addressbook.client.AddressbookClient;
 import org.mxchange.addressbook.client.BaseAddressbookClient;
-import org.mxchange.addressbook.contact.user.UserContact;
 import org.mxchange.addressbook.exceptions.ContactAlreadyAddedException;
-import org.mxchange.addressbook.manager.contact.ManageableAddressbookContact;
+import org.mxchange.addressbook.manager.contact.ManageableContactAddressbook;
 import org.mxchange.addressbook.menu.Menu;
 import org.mxchange.addressbook.menu.MenuTools;
 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.jcore.application.Application;
-import org.mxchange.jcore.contact.Contact;
-import org.mxchange.jcore.contact.gender.Gender;
-import org.mxchange.jcore.exceptions.BadTokenException;
-import org.mxchange.jcore.exceptions.CorruptedDatabaseFileException;
 import org.mxchange.jcore.exceptions.UnhandledUserChoiceException;
-import org.mxchange.jcore.exceptions.UnsupportedDatabaseBackendException;
+import org.mxchange.jcore.model.contact.Contact;
+import org.mxchange.jcore.model.contact.UserContact;
+import org.mxchange.jcore.model.contact.gender.Gender;
+import org.mxchange.jcore.model.contact.gender.GenderUtils;
 
 /**
  * A client for the console
- *
+ * <p>
  * @author Roland Haeder
  */
 public class ConsoleClient extends BaseAddressbookClient implements AddressbookClient {
@@ -55,7 +53,7 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
 
        /**
         * Parameterless constructor
-        *
+        * <p>
         * @param application An instance of an Application class
         */
        public ConsoleClient (final Application application) {
@@ -72,11 +70,6 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
                this.getLogger().trace("EXIT!"); //NOI18N
        }
 
-       /**
-        * Displays a textual address "box" of given contact
-        *
-        * @param contact Contact to show address for
-        */
        @Override
        public void displayAddressBox (final Contact contact) {
                // Trace message
@@ -95,11 +88,6 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
                this.getLogger().trace("EXIT!"); //NOI18N
        }
 
-       /**
-        * Displays a textual name "box" of given contact
-        *
-        * @param contact Contact to show name for
-        */
        @Override
        public void displayNameBox (final Contact contact) {
                // Trace message
@@ -112,7 +100,7 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
                }
 
                // Get translated gender as the user may want to see "Mr.", "Mrs."
-               String gender = contact.getTranslatedGender();
+               String gender = GenderUtils.getTranslatedGender(contact);
 
                // Get company name
                String companyName = contact.getCompanyName();
@@ -131,11 +119,6 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
                this.getLogger().trace("EXIT!"); //NOI18N
        }
 
-       /**
-        * Displays a textual other data "box" of given contact
-        *
-        * @param contact Contact to show other data for
-        */
        @Override
        public void displayOtherDataBox (final Contact contact) {
                // Trace message
@@ -172,7 +155,7 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
                }
 
                // Get manager and cast it
-               ManageableAddressbookContact manager = (ManageableAddressbookContact) this.getManager();
+               ManageableContactAddressbook manager = (ManageableContactAddressbook) this.getManager();
 
                // Own street and number
                String streetNumber = manager.enterOwnStreet();
@@ -214,7 +197,7 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
                }
 
                // Get manager and cast it
-               ManageableAddressbookContact manager = (ManageableAddressbookContact) this.getManager();
+               ManageableContactAddressbook manager = (ManageableContactAddressbook) this.getManager();
 
                // Gender:
                Gender gender = manager.enterOwnGender();
@@ -256,7 +239,7 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
                }
 
                // Get manager and cast it
-               ManageableAddressbookContact manager = (ManageableAddressbookContact) this.getManager();
+               ManageableContactAddressbook manager = (ManageableContactAddressbook) this.getManager();
 
                // Phone number
                String phoneNumber = manager.enterOwnPhoneNumber();
@@ -290,13 +273,13 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
                this.getLogger().trace("CALLED!"); //NOI18N
 
                // Get manager and cast it
-               ManageableAddressbookContact manager = (ManageableAddressbookContact) this.getManager();
+               ManageableContactAddressbook manager = (ManageableContactAddressbook) this.getManager();
 
                // First ask for gender
                Gender gender = manager.enterOwnGender();
 
-               // 2nd for surname
-               String surname = manager.enterOwnFirstName();
+               // 2nd for first name
+               String firstName = manager.enterOwnFirstName();
 
                // And 3rd for family name
                String familyName = manager.enterOwnFamilyName();
@@ -305,7 +288,7 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
                String companyName = manager.enterOwnCompanyName();
 
                // Construct UserContact instance
-               Contact contact = new UserContact(gender, surname, familyName, companyName);
+               Contact contact = new UserContact(gender, firstName, familyName, companyName);
 
                // Trace message
                this.getLogger().trace(MessageFormat.format("contact={0} - EXIT!", contact)); //NOI18N
@@ -314,9 +297,6 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
                return contact;
        }
 
-       /**
-        * Shutdown this client
-        */
        @Override
        public void doShutdown () throws SQLException, IOException {
                // Trace message
@@ -326,7 +306,6 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
                super.doShutdown();
 
                // TODO Add other shutdown stuff
-
                // Trace message
                this.getLogger().trace("EXIT!"); //NOI18N
        }
@@ -343,7 +322,7 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
                char choice = this.enterChar(accessKeys, "Bitte Auswahl eingeben (0=Programm beenden): ");
 
                // Get manager and cast it
-               ManageableAddressbookContact manager = (ManageableAddressbookContact) this.getManager();
+               ManageableContactAddressbook manager = (ManageableContactAddressbook) this.getManager();
 
                // Try it!
                try {
@@ -383,20 +362,20 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
                                        manager.doDeleteOtherAddress();
                                        break;
 
-                       case '0':
-                               try {
-                                       // Program exit
-                                       this.getApplication().doShutdown();
-                               } catch (final SQLException | IOException ex) {
-                                       this.abortProgramWithException(ex);
-                               }
-                               break;
+                               case '0':
+                                       try {
+                                               // Program exit
+                                               this.getApplication().doShutdown();
+                                       } catch (final SQLException | IOException ex) {
+                                               this.abortProgramWithException(ex);
+                                       }
+                                       break;
 
                                default:
                                        // TODO throw own exception
                                        throw new UnhandledUserChoiceException(MessageFormat.format("Choice '{0}' not handled yet.", choice)); //NOI18N
                        }
-               } catch (final IOException | BadTokenException | CorruptedDatabaseFileException | SQLException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) {
+               } catch (final IOException | SQLException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) {
                        // Something bad happened
                        this.abortProgramWithException(ex);
                }
@@ -405,13 +384,6 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
                this.getLogger().trace("EXIT!"); //NOI18N
        }
 
-       /**
-        * Asks the the user to enter a single character which must match validChars
-        *
-        * @param       validChars Valid chars that are accepted
-        * @param       message Message to user
-        * @return      Allowed character
-        */
        @Override
        public char enterChar (final char[] validChars, final String message) {
                // Trace message
@@ -447,12 +419,6 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
                return input;
        }
 
-       /**
-        * Asks the user to enter his/her gender
-        *
-        * @param message Message to the user
-        * @return Gender enum
-        */
        @Override
        public Gender enterGender (final String message) {
                // Trace message
@@ -470,7 +436,7 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
                Gender g = Gender.fromChar(gender);
 
                // g must not be null
-               assert(g instanceof Gender) : "g is not set."; //NOI18N
+               assert (g instanceof Gender) : "g is not set."; //NOI18N
 
                // Trace message
                this.getLogger().trace(MessageFormat.format("g={0} - EXIT!", g)); //NOI18N
@@ -479,22 +445,14 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
                return g;
        }
 
-       /**
-        * Reads an integer (int) with a textural message from the user
-        *
-        * @param minimum Minimum allowed number
-        * @param maximum Maximum allowed number
-        * @param message Messager to display in console
-        * @return
-        */
        @Override
        public int enterInt (final int minimum, final int maximum, final String message) {
                // Trace message
                this.getLogger().trace(MessageFormat.format("minimum={0},maximum={1},message={2} - CALLED!", minimum, maximum, message)); //NOI18N
 
                // Minimum should not be below zero
-               assert (minimum >= 0);
-               assert (maximum > minimum);
+               assert (minimum >= 0) : MessageFormat.format("minimum={0} is below zero", minimum); //NOI18N
+               assert (maximum > minimum) : MessageFormat.format("maximum {0} is smaller than minimum {1}", maximum, minimum); //NOI18N
 
                // Init input
                int input = -1;
@@ -514,15 +472,6 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
                return input;
        }
 
-       /**
-        * Reads a string of minimum and maximum length from the user
-        *
-        * @param minLength     Minimum length of the string to read
-        * @param maxLength     Maximum length of the string to read
-        * @param message       Message to user
-        * @param allowEmpty Whether to allow empty string
-        * @return Entered string by user or null for empty strings
-        */
        @Override
        public String enterString (final int minLength, final int maxLength, final String message, final boolean allowEmpty) {
                // Trace message
@@ -550,23 +499,12 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
                return input;
        }
 
-       /**
-        * Returns a console menu item
-        *
-        * @param accessKey Key to access the menu
-        * @param text Text to show to user
-        * @return A SelectableMenuItem
-        * TODO Make sure the access key is unique
-        */
        @Override
        public SelectableMenuItem getMenuItem (final char accessKey, final String text) {
                // Return a new console menu item
                return new ConsoleMenuItem(accessKey, text);
        }
 
-       /**
-        * Initializes this client
-        */
        @Override
        public void init () {
                // Trace message
@@ -575,7 +513,7 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
                // Init contact manager here
                try {
                        this.initContactManager();
-               } catch (final UnsupportedDatabaseBackendException | SQLException ex) {
+               } catch (final SQLException ex) {
                        // End here
                        this.abortProgramWithException(ex);
                }
@@ -587,43 +525,27 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
                this.getLogger().trace("EXIT!"); //NOI18N
        }
 
-       /**
-        * Displays textural message to the user
-        *
-        * @param message
-        */
        @Override
        public void outputMessage (final String message) {
                System.out.println(message);
        }
 
-       /**
-        * Shows textural menu on console
-        */
        @Override
        public void showCurrentMenu () {
                this.showMenu(this.getCurrentMenu());
        }
 
-       /**
-        * Shows given menu entry to user
-        *
-        * @param item Menu entry
-        */
        @Override
        public void showEntry (final SelectableMenuItem item) {
                // Access key then text
-               this.outputMessage(MessageFormat.format("[{0}] {1}", item.getAccessKey(), item.getText()));
+               this.outputMessage(MessageFormat.format("[{0}] {1}", item.getAccessKey(), item.getText())); //NOI18N
        }
 
-       /**
-        * Shows a textural message to the user
-        */
        @Override
        public void showWelcome () {
-               this.outputMessage(MessageFormat.format("Welcome to {0}", AddressbookApplication.printableTitle()));
-               this.outputMessage("");
-               this.outputMessage("Copyright(c) 2015 by Roland Haeder, this is free software");
+               this.outputMessage(MessageFormat.format("Welcome to {0}", AddressbookApplication.printableTitle())); //NOI18N
+               this.outputMessage(""); //NOI18N
+               this.outputMessage("Copyright(c) 2015 by Roland Haeder, this is free software"); //NOI18N
 
                // Debug message
                this.getLogger().debug("Intro shown to user"); //NOI18N
@@ -644,7 +566,7 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
                char choice = this.enterChar(new char[] {'n', 'a', 'o', 'x'}, "Welchen Daten möchten Sie ändern? (n=Namensdaten, a=Anschriftsdaten, o=Andere, x=Zurück zur Hauptauswahl) ");
 
                // Get manager and cast it
-               ManageableAddressbookContact manager = (ManageableAddressbookContact) this.getManager();
+               ManageableContactAddressbook manager = (ManageableContactAddressbook) this.getManager();
 
                // TODO Get rid of this ugly switch block, too
                switch (choice) {
@@ -675,7 +597,7 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
 
        /**
         * Reads one character
-        *
+        * <p>
         * @return A single character
         */
        private char readChar () {
@@ -697,7 +619,7 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
 
        /**
         * Reads an integer (int) from user
-        *
+        * <p>
         * @return An integer number
         */
        private int readInt () {
@@ -727,16 +649,13 @@ public class ConsoleClient extends BaseAddressbookClient implements AddressbookC
 
        /**
         * Reads a string from a scanner until RETURN is pressed
-        *
+        * <p>
         * @return Read string from scanner
         */
        private String readString () {
                return this.scanner.nextLine();
        }
 
-       /**
-        * Fills menu map with menu entries
-        */
        @Override
        protected final void fillMenuMap () {
                // Trace message