X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2Forg%2Fmxchange%2Faddressbook%2Fmanager%2Fcontact%2FAddressbookContactManager.java;h=7670cecf009c97bf80b5bb8fb6986e96e15cdf0b;hb=46b1cb3fbdbf823244f1a58adda62e7cca8ffc2f;hp=6a99cc5e926a70d0b9ef8954d2d65cc0a624014e;hpb=db63ab3ec4592388e8c3e5568b5f1f82a9224f61;p=addressbook-lib.git diff --git a/src/org/mxchange/addressbook/manager/contact/AddressbookContactManager.java b/src/org/mxchange/addressbook/manager/contact/AddressbookContactManager.java index 6a99cc5..7670cec 100644 --- a/src/org/mxchange/addressbook/manager/contact/AddressbookContactManager.java +++ b/src/org/mxchange/addressbook/manager/contact/AddressbookContactManager.java @@ -25,33 +25,34 @@ import java.util.Arrays; import java.util.Iterator; import java.util.List; import org.mxchange.addressbook.client.AddressbookClient; -import org.mxchange.addressbook.database.frontend.contact.AddressbookContactDatabaseFrontend; -import org.mxchange.addressbook.database.frontend.contact.AddressbookContactFrontend; import org.mxchange.addressbook.exceptions.ContactAlreadyAddedException; +import org.mxchange.jcontacts.contact.Contact; +import org.mxchange.jcontacts.contact.gender.Gender; import org.mxchange.jcore.client.Client; -import org.mxchange.jcore.contact.Contact; -import org.mxchange.jcore.contact.Gender; -import org.mxchange.jcore.database.frontend.DatabaseFrontend; -import org.mxchange.jcore.database.storage.Storable; -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.manager.BaseManager; +import org.mxchange.jcoreeelogger.beans.local.logger.Log; +import org.mxchange.jcoreeelogger.beans.local.logger.LoggerBeanLocal; /** * A manager for contacts. - * + *

* @author Roland Haeder * @version 0.0 */ -public class AddressbookContactManager extends BaseManager implements ManageableAddressbookContact { +public class AddressbookContactManager extends BaseManager implements ManageableContactAddressbook { /** * Column name list */ private final List columnNames; + /** + * Logger instance + */ + @Log + private LoggerBeanLocal logger; + /** * Translated column name list */ @@ -60,14 +61,13 @@ public class AddressbookContactManager extends BaseManager implements Manageable /** * Constructor which accepts maxContacts for maximum (initial) contacts and * a client instance. - * + *

* @param client Client instance to use - * @throws org.mxchange.jcore.exceptions.UnsupportedDatabaseBackendException If the configured database backend is not supported * @throws java.sql.SQLException If an SQL error occurs */ - public AddressbookContactManager (final Client client) throws UnsupportedDatabaseBackendException, SQLException { + public AddressbookContactManager (final Client client) throws SQLException { // Trace message - this.getLogger().trace(MessageFormat.format("client={1} - CALLED!", client)); //NOI18N + this.getLogger().logTrace(MessageFormat.format("client={1} - CALLED!", client)); //NOI18N // Make sure all parameters are set correctly if (null == client) { @@ -90,18 +90,13 @@ public class AddressbookContactManager extends BaseManager implements Manageable this.fillColumnNamesFromBundle(); // Debug message - //* NOISY-DEBUG: */ this.getLogger().debug("client=" + client); + //* NOISY-DEBUG: */ this.getLogger().logDebug("client=" + client); } - /** - * Adds given Contact instance to list - * - * @param contact Contact instance to add - */ @Override - public void addContact (final Contact contact) throws ContactAlreadyAddedException { + public void addContact (final Contact contact) throws ContactAlreadyAddedException { // Trace message - this.getLogger().trace(MessageFormat.format("contact={0} - CALLED!", contact)); //NOI18N + this.getLogger().logTrace(MessageFormat.format("contact={0} - CALLED!", contact)); //NOI18N // Contact instance must not be null if (null == contact) { @@ -113,32 +108,28 @@ public class AddressbookContactManager extends BaseManager implements Manageable ((AddressbookContactFrontend) this.getFrontend()).addContact(contact); // Trace message - this.getLogger().trace("EXIT!"); //NOI18N + this.getLogger().logTrace("EXIT!"); //NOI18N } - /** - * Let the user add a new other address - */ @Override public void doAddOtherAddress () { throw new UnsupportedOperationException("Not supported yet."); //NOI18N } - /** - * Let the user change address data - * - * @param contact Instance to change data - */ @Override public void doChangeAddressData (final Contact contact) { // Trace message - this.getLogger().trace(MessageFormat.format("contact={0} CALLED!", contact)); //NOI18N + this.getLogger().logTrace(MessageFormat.format("contact={0} CALLED!", contact)); //NOI18N // Contact must not be null if (null == contact) { // Abort here throw new NullPointerException("contact is null"); //NOI18N } + if (!(this.getClient() instanceof AddressbookClient)) { + // Cannot cast + throw new IllegalArgumentException(MessageFormat.format("this.getClient()={0} does not implement AddressbookClient", this.getClient())); //NOI18N + } // Get and cast client instance AddressbookClient client = (AddressbookClient) this.getClient(); @@ -156,18 +147,13 @@ public class AddressbookContactManager extends BaseManager implements Manageable } // Trace message - this.getLogger().trace("EXIT!"); //NOI18N + this.getLogger().logTrace("EXIT!"); //NOI18N } - /** - * Let the user change "name data" - * - * @param contact Instance to change data - */ @Override public void doChangeNameData (final Contact contact) { // Trace message - this.getLogger().trace(MessageFormat.format("contact={0} CALLED!", contact)); //NOI18N + this.getLogger().logTrace(MessageFormat.format("contact={0} CALLED!", contact)); //NOI18N // Contact must not be null if (null == contact) { @@ -191,27 +177,18 @@ public class AddressbookContactManager extends BaseManager implements Manageable } // Trace message - this.getLogger().trace("EXIT!"); //NOI18N + this.getLogger().logTrace("EXIT!"); //NOI18N } - /** - * Let the user change other address - */ @Override public void doChangeOtherAddress () { throw new UnsupportedOperationException("Not supported yet."); //NOI18N } - /** - * Let the user change other data - * - * @param contact Instance to change data - * TODO Didn't handle birthday - */ @Override public void doChangeOtherData (final Contact contact) { // Trace message - this.getLogger().trace(MessageFormat.format("contact={0} CALLED!", contact)); //NOI18N + this.getLogger().logTrace(MessageFormat.format("contact={0} CALLED!", contact)); //NOI18N // Contact must not be null if (null == contact) { @@ -235,16 +212,13 @@ public class AddressbookContactManager extends BaseManager implements Manageable } // Trace message - this.getLogger().trace("EXIT!"); //NOI18N + this.getLogger().logTrace("EXIT!"); //NOI18N } - /** - * Allows the user to change his/her own data - */ @Override - public void doChangeOwnData () throws IOException , BadTokenException, CorruptedDatabaseFileException, SQLException, NoSuchMethodException, IllegalAccessException, InvocationTargetException{ + public void doChangeOwnData () throws IOException, SQLException, NoSuchMethodException, IllegalAccessException, InvocationTargetException { // Trace message - this.getLogger().trace("CALLED!"); //NOI18N + this.getLogger().logTrace("CALLED!"); //NOI18N /* * First check if the user has registered own contact, before that @@ -262,40 +236,34 @@ public class AddressbookContactManager extends BaseManager implements Manageable Contact contact = this.getOwnContact(); // It must be found - assert (contact instanceof Contact); - - // Display contact - contact.show(this.getClient()); + assert (contact instanceof Contact) : ": contact is not implementing Contact: " + contact; // Get and cast client instance AddressbookClient client = (AddressbookClient) this.getClient(); + // Display contact + client.show(contact); + try { // Ask user what to change client.userChooseChangeContactData(contact); } catch (final UnhandledUserChoiceException ex) { - this.getLogger().catching(ex); + this.getLogger().logException(ex); } // Trace message - this.getLogger().trace("EXIT!"); //NOI18N + this.getLogger().logTrace("EXIT!"); //NOI18N } - /** - * Let the user delete other address - */ @Override public void doDeleteOtherAddress () { throw new UnsupportedOperationException("Not supported yet."); //NOI18N } - /** - * Asks user for own data - */ @Override - public void doEnterOwnData () throws ContactAlreadyAddedException, IOException , BadTokenException { + public void doEnterOwnData () throws ContactAlreadyAddedException, IOException { // Trace message - this.getLogger().trace("CALLED!"); //NOI18N + this.getLogger().logTrace("CALLED!"); //NOI18N // Is own contact already added? if (this.isOwnContactAdded()) { @@ -316,7 +284,7 @@ public class AddressbookContactManager extends BaseManager implements Manageable } // Trace message - this.getLogger().trace("EXIT!"); //NOI18N + this.getLogger().logTrace("EXIT!"); //NOI18N } @Override @@ -329,33 +297,22 @@ public class AddressbookContactManager extends BaseManager implements Manageable throw new UnsupportedOperationException("Not supported yet."); //NOI18N } - /** - * Shuts down this contact manager - * - * @throws java.sql.SQLException If an SQL error occurs - * @throws java.io.IOException If an IO error occurs - */ @Override public void doShutdown () throws SQLException, IOException { // Trace message - this.getLogger().trace("CALLED!"); //NOI18N + this.getLogger().logTrace("CALLED!"); //NOI18N // Shut down the database layer ((AddressbookContactFrontend) this.getFrontend()).doShutdown(); // Trace message - this.getLogger().trace("EXIT!"); //NOI18N + this.getLogger().logTrace("EXIT!"); //NOI18N } - /** - * Asks the user for his/her cellphone number - * - * @return User's cellphone number - */ @Override public String enterOwnCellNumber () { // Trace message - this.getLogger().trace("CALLED!"); //NOI18N + this.getLogger().logTrace("CALLED!"); //NOI18N // Get and cast client instance AddressbookClient client = (AddressbookClient) this.getClient(); @@ -363,15 +320,10 @@ public class AddressbookContactManager extends BaseManager implements Manageable return client.enterString(5, 30, "Bitte geben Sie Ihre Handynummer an: ", true); } - /** - * Asks the user for his/her city's name - * - * @return City's name of the user - */ @Override public String enterOwnCity () { // Trace message - this.getLogger().trace("CALLED!"); //NOI18N + this.getLogger().logTrace("CALLED!"); //NOI18N // Get and cast client instance AddressbookClient client = (AddressbookClient) this.getClient(); @@ -379,15 +331,10 @@ public class AddressbookContactManager extends BaseManager implements Manageable return client.enterString(3, 50, "Bitte geben Sie Ihre Wohnort ein: ", false); } - /** - * Asks the user for his/her city's name - * - * @return City's name of the user - */ @Override public String enterOwnComment () { // Trace message - this.getLogger().trace("CALLED!"); //NOI18N + this.getLogger().logTrace("CALLED!"); //NOI18N // Get and cast client instance AddressbookClient client = (AddressbookClient) this.getClient(); @@ -395,15 +342,10 @@ public class AddressbookContactManager extends BaseManager implements Manageable return client.enterString(0, 100, "Kommentar zu Ihrem Eintrag: ", true); } - /** - * Asks the user for his/her company name - * - * @return User's company name - */ @Override public String enterOwnCompanyName () { // Trace message - this.getLogger().trace("CALLED!"); //NOI18N + this.getLogger().logTrace("CALLED!"); //NOI18N // Get and cast client instance AddressbookClient client = (AddressbookClient) this.getClient(); @@ -411,15 +353,10 @@ public class AddressbookContactManager extends BaseManager implements Manageable return client.enterString(5, 50, "Bitte geben Sie Ihre Firmenbezeichnung ein: ", true); } - /** - * Asks user for his/her own country code - * - * @return User's own country code - */ @Override public String enterOwnCountryCode () { // Trace message - this.getLogger().trace("CALLED!"); //NOI18N + this.getLogger().logTrace("CALLED!"); //NOI18N // Get and cast client instance AddressbookClient client = (AddressbookClient) this.getClient(); @@ -427,15 +364,10 @@ public class AddressbookContactManager extends BaseManager implements Manageable return client.enterString(2, 2, "Bitte geben Sie den zweistelligen Ländercode von Ihrem Land ein: ", false).toUpperCase(); } - /** - * Asks user for his/her own country code - * - * @return User's own country code - */ @Override public String enterOwnEmailAddress () { // Trace message - this.getLogger().trace("CALLED!"); //NOI18N + this.getLogger().logTrace("CALLED!"); //NOI18N // Get and cast client instance AddressbookClient client = (AddressbookClient) this.getClient(); @@ -443,15 +375,10 @@ public class AddressbookContactManager extends BaseManager implements Manageable return client.enterString(10, 50, "Bitte geben Sie Ihre Email-Adresse ein: ", true); } - /** - * Asks the user for family name - * - * @return Family name of the user - */ @Override public String enterOwnFamilyName () { // Trace message - this.getLogger().trace("CALLED!"); //NOI18N + this.getLogger().logTrace("CALLED!"); //NOI18N // Get and cast client instance AddressbookClient client = (AddressbookClient) this.getClient(); @@ -459,15 +386,10 @@ public class AddressbookContactManager extends BaseManager implements Manageable return client.enterString(2, 50, "Bitte geben Sie Ihren Nachnamen ein: ", false); } - /** - * Asks the user for family name - * - * @return Family name of the user - */ @Override public String enterOwnFaxNumber () { // Trace message - this.getLogger().trace("CALLED!"); //NOI18N + this.getLogger().logTrace("CALLED!"); //NOI18N // Get and cast client instance AddressbookClient client = (AddressbookClient) this.getClient(); @@ -475,31 +397,21 @@ public class AddressbookContactManager extends BaseManager implements Manageable return client.enterString(5, 30, "Bitte geben Sie Ihre Faxnummer an: ", true); } - /** - * Asks the user for surname - * - * @return Surname of the user - */ @Override public String enterOwnFirstName () { // Trace message - this.getLogger().trace("CALLED!"); //NOI18N - + this.getLogger().logTrace("CALLED!"); //NOI18N + // Get and cast client instance AddressbookClient client = (AddressbookClient) this.getClient(); - + return client.enterString(2, 50, "Bitte geben Sie Ihren Vornamen ein: ", false); } - /** - * Asks the user for gender, until a valid has been entered - * - * @return Gender of the user - */ @Override public Gender enterOwnGender () { // Trace message - this.getLogger().trace("CALLED!"); //NOI18N + this.getLogger().logTrace("CALLED!"); //NOI18N // Get and cast client instance AddressbookClient client = (AddressbookClient) this.getClient(); @@ -507,15 +419,10 @@ public class AddressbookContactManager extends BaseManager implements Manageable return client.enterGender("Bitte geben Sie die Anrede ein: (M=Herr, F=Frau, C=Firma): "); } - /** - * Asks the user for phone number - * - * @return Phone number of the user - */ @Override public String enterOwnPhoneNumber () { // Trace message - this.getLogger().trace("CALLED!"); //NOI18N + this.getLogger().logTrace("CALLED!"); //NOI18N // Get and cast client instance AddressbookClient client = (AddressbookClient) this.getClient(); @@ -523,15 +430,10 @@ public class AddressbookContactManager extends BaseManager implements Manageable return client.enterString(5, 30, "Bitte geben Sie Ihre Telefonnummer an: ", true); } - /** - * Asks the user for own street (including number) - * - * @return Own street an number - */ @Override public String enterOwnStreet () { // Trace message - this.getLogger().trace("CALLED!"); //NOI18N + this.getLogger().logTrace("CALLED!"); //NOI18N // Get and cast client instance AddressbookClient client = (AddressbookClient) this.getClient(); @@ -539,15 +441,10 @@ public class AddressbookContactManager extends BaseManager implements Manageable return client.enterString(5, 50, "Bitte geben Sie Ihre Strasse und Hausnummer ein: ", false); } - /** - * Asks the user for own ZIP code - * - * @return ZIP code - */ @Override public int enterOwnZipCode () { // Trace message - this.getLogger().trace("CALLED!"); //NOI18N + this.getLogger().logTrace("CALLED!"); //NOI18N // Get and cast client instance AddressbookClient client = (AddressbookClient) this.getClient(); @@ -562,12 +459,6 @@ public class AddressbookContactManager extends BaseManager implements Manageable return this.columnNames.size(); } - /** - * Getter for column name at given index. - * - * @param columnIndex Column index - * @return Database column name - */ @Override public String getColumnName (final int columnIndex) { assert (this.columnNames instanceof List) : "this.columnNames is not initialized"; //NOI18N @@ -576,12 +467,6 @@ public class AddressbookContactManager extends BaseManager implements Manageable return this.columnNames.get(columnIndex); } - /** - * Getter for translated column name at given index. - * - * @param columnIndex Column index - * @return Human-readable column name - */ @Override public String getTranslatedColumnName (final int columnIndex) { assert (this.translatedColumnNames instanceof List) : "this.translatedColumnNames is not initialized"; //NOI18N @@ -590,28 +475,21 @@ public class AddressbookContactManager extends BaseManager implements Manageable return this.translatedColumnNames.get(columnIndex); } - /** - * Somewhat "getter" for value from given row and column index - * - * @param rowIndex Row index - * @param columnIndex Column index - * @return Value from given row/column - */ @Override public Object getValueFromRowColumn (final int rowIndex, final int columnIndex) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException { // Trace message - this.getLogger().trace(MessageFormat.format("rowIndex={0},columnIndex={1} CALLED!", rowIndex, columnIndex)); //NOI18N + this.getLogger().logTrace(MessageFormat.format("rowIndex={0},columnIndex={1} CALLED!", rowIndex, columnIndex)); //NOI18N // Then get specific row from database which is a Contact instance - Storable storeable = this.getFrontend().getStorableAtRow(rowIndex); + Storable storable = this.getFrontend().getStorableAtRow(rowIndex); // Debug message - this.getLogger().debug(MessageFormat.format("storeable={0}", storeable)); //NOI18N + this.getLogger().logDebug(MessageFormat.format("storable={0}", storable)); //NOI18N // It may return null - if (null == storeable) { + if (null == storable) { // Nothing found - this.getLogger().warn("contact is null - returning null ..."); //NOI18N + this.getLogger().logWarning("contact is null - returning null ..."); //NOI18N return null; } @@ -619,33 +497,27 @@ public class AddressbookContactManager extends BaseManager implements Manageable String columnName = this.getColumnName(columnIndex); // Debug message - this.getLogger().debug(MessageFormat.format("columnName={0}", columnName)); //NOI18N + this.getLogger().logDebug(MessageFormat.format("columnName={0}", columnName)); //NOI18N // Now get that column Object value = null; try { - value = storeable.getValueFromColumn(columnName); + value = storable.getValueFromColumn(columnName); } catch (final IllegalArgumentException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) { this.abortProgramWithException(ex); } // Trace message - this.getLogger().trace(MessageFormat.format("value={0} - EXIT!", value)); //NOI18N + this.getLogger().logTrace(MessageFormat.format("value={0} - EXIT!", value)); //NOI18N // Return it return value; } - /** - * Checks whether own contact is already added by checking all entries for - * isOwnContact flag - * - * @return Whether own contact is already added - */ @Override - public boolean isOwnContactAdded () throws IOException, BadTokenException { + public boolean isOwnContactAdded () throws IOException { // Trace message - this.getLogger().trace("CALLED!"); //NOI18N + this.getLogger().logTrace("CALLED!"); //NOI18N // Init variable boolean isAdded = false; @@ -653,28 +525,22 @@ public class AddressbookContactManager extends BaseManager implements Manageable try { // Deligate this call to frontend isAdded = ((AddressbookContactFrontend) this.getFrontend()).isOwnContactFound(); - } catch (final SQLException | IOException | BadTokenException | CorruptedDatabaseFileException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) { + } catch (final SQLException | IOException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) { // Something bad happened this.abortProgramWithException(ex); } // Trace message - this.getLogger().trace(MessageFormat.format("isAdded={0} : EXIT!", isAdded)); //NOI18N + this.getLogger().logTrace(MessageFormat.format("isAdded={0} : EXIT!", isAdded)); //NOI18N // Return result return isAdded; } - /** - * Adds given contact to address book and flushes all entries to database - * - * @param contact Contact being added - * TODO Add check for book size - */ @Override public void registerContact (final Contact contact) { // Trace message - this.getLogger().trace(MessageFormat.format("contact={0} CALLED!", contact)); //NOI18N + this.getLogger().logTrace(MessageFormat.format("contact={0} CALLED!", contact)); //NOI18N // Sanity check if (null == contact) { @@ -682,10 +548,7 @@ public class AddressbookContactManager extends BaseManager implements Manageable throw new NullPointerException("contact is null"); //NOI18N } try { - // Debug message - /* NOISY-DEBUG: */ this.getLogger().debug(MessageFormat.format("Adding '{0}' '{1}' at pos '{2}' ...", contact.getFirstName(), contact.getFamilyName(), this.size())); //NOI18N - - // Check if contact is found + // Check if contact is found if (((AddressbookContactFrontend) this.getFrontend()).isContactFound(contact)) { // Contact already added // TODO Do something here @@ -696,29 +559,26 @@ public class AddressbookContactManager extends BaseManager implements Manageable // Add contact to internal list this.addContact(contact); - } catch (final ContactAlreadyAddedException | BadTokenException | SQLException | IOException | CorruptedDatabaseFileException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) { + } catch (final ContactAlreadyAddedException | SQLException | IOException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) { // Abort here this.abortProgramWithException(ex); } // Trace message - this.getLogger().trace("EXIT!"); //NOI18N + this.getLogger().logTrace("EXIT!"); //NOI18N } - @Override - public final int size () throws IOException { - // Init size - int size = -1; - - try { - size = ((AddressbookContactFrontend) this.getFrontend()).getContactsCount(); - } catch (final SQLException ex) { - // Something happened - this.abortProgramWithException(ex); - } + /** + * Logs given exception and exits program + * + * @param throwable Throwable + */ + private void abortProgramWithException (Throwable throwable) { + // Log exception + this.logException(throwable); - // Return amount - return size; + // Abort here + System.exit(1); } /** @@ -729,7 +589,7 @@ public class AddressbookContactManager extends BaseManager implements Manageable assert (this.translatedColumnNames instanceof List) : "this.translatedColumnNames is not initialized"; //NOI18N // Debug message - this.getLogger().trace("CALLED!"); //NOI18N + this.getLogger().logTrace("CALLED!"); //NOI18N // First get an iterator from key set to iterate over Iterator iterator = this.getBundle().keySet().iterator(); @@ -737,24 +597,24 @@ public class AddressbookContactManager extends BaseManager implements Manageable // Then iterate over all while (iterator.hasNext()) { // Get next element - String key = iterator.next(); + String key = iterator.next().toLowerCase(); // Does the key start with AddressbookContactManager.columnName ? if (key.startsWith("ContactManager.columnName")) { //NOI18N // This is the wanted entry. - this.getLogger().debug(MessageFormat.format("key={0}", key)); //NOI18N + this.getLogger().logDebug(MessageFormat.format("key={0}", key)); //NOI18N // Convert string to array based on delimiter '.' String[] tokens = this.getArrayFromString(key, "."); //NOI18N // Token array must contain 4 elements (AddressbookContactManager.columnName.foo.text) - assert(tokens.length == 4) : MessageFormat.format("Array tokens contains not 4 elements: {0}", Arrays.toString(tokens)); //NOI18N + assert (tokens.length == 4) : MessageFormat.format("Array tokens contains not 4 elements: {0}", Arrays.toString(tokens)); //NOI18N // Get pre-last element String columnName = tokens[tokens.length - 2]; // Debug message - this.getLogger().debug(MessageFormat.format("columnName={0} - adding ...", columnName)); //NOI18N + this.getLogger().logDebug(MessageFormat.format("columnName={0} - adding ...", columnName)); //NOI18N // So add it this.columnNames.add(columnName); @@ -763,32 +623,48 @@ public class AddressbookContactManager extends BaseManager implements Manageable } // Debug message - this.getLogger().trace(MessageFormat.format("getColumnCount()={0}: EXIT!", this.getColumnCount())); //NOI18N + this.getLogger().logTrace(MessageFormat.format("getColumnCount()={0}: EXIT!", this.getColumnCount())); //NOI18N } /** - * "Getter" for own contact instance or null if not found + * Getter for logger instance * + * @return Logger instance + */ + private LoggerBeanLocal getLogger () { + return this.logger; + } + + /** + * "Getter" for own contact instance or null if not found + *

* @return Contact instance or null * @throws java.sql.SQLException If an SQL error occurs * @throws java.io.IOException If an IO error occurs - * @throws org.mxchange.jcore.exceptions.BadTokenException Continued throw - * @throws org.mxchange.jcore.exceptions.CorruptedDatabaseFileException If the database file is damaged * @throws java.lang.NoSuchMethodException If a method cannot be found * @throws java.lang.IllegalAccessException If a method is not accessible * @throws java.lang.reflect.InvocationTargetException Any other problems? */ - private Contact getOwnContact () throws IOException, BadTokenException, CorruptedDatabaseFileException, SQLException, NoSuchMethodException, IllegalAccessException, InvocationTargetException { + private Contact getOwnContact () throws IOException, SQLException, NoSuchMethodException, IllegalAccessException, InvocationTargetException { // Trace message - this.getLogger().trace("CALLED!"); //NOI18N + this.getLogger().logTrace("CALLED!"); //NOI18N // Deligate this call to database frontend Contact contact = ((AddressbookContactFrontend) this.getFrontend()).getOwnContact(); // Trace message - this.getLogger().trace(MessageFormat.format("contact={0} - EXIT!", contact)); //NOI18N + this.getLogger().logTrace(MessageFormat.format("contact={0} - EXIT!", contact)); //NOI18N // Return instance or null return contact; } + + /** + * Logs given exception + *

+ * @param exception Throwable + */ + protected void logException (final Throwable exception) { + this.getLogger().logException(exception); + } }