From 46b1cb3fbdbf823244f1a58adda62e7cca8ffc2f Mon Sep 17 00:00:00 2001 From: Roland Haeder Date: Thu, 1 Oct 2015 14:49:10 +0200 Subject: [PATCH] =?utf8?q?Continued=20rewriting:=20-=20added=20jcontacts-l?= =?utf8?q?ib=20-=20updated=20jars=20-=20fixed=20imports=20Signed-off-by:Ro?= =?utf8?q?land=20H=C3=A4der=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- lib/jcontacts-lib.jar | Bin 0 -> 17047 bytes lib/jcore-swing.jar | Bin 6826 -> 6822 bytes lib/jcore.jar | Bin 30691 -> 13594 bytes nbproject/project.properties | 3 ++ .../addressbook/client/AddressbookClient.java | 32 ++++++++++++++++-- .../ContactAlreadyAddedException.java | 2 +- .../contact/AddressbookContactManager.java | 10 +++--- .../contact/ManageableContactAddressbook.java | 4 +-- 8 files changed, 41 insertions(+), 10 deletions(-) create mode 100644 lib/jcontacts-lib.jar diff --git a/lib/jcontacts-lib.jar b/lib/jcontacts-lib.jar new file mode 100644 index 0000000000000000000000000000000000000000..60591263ad819c32c5279302610321f13bfab3b1 GIT binary patch literal 17047 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 GPW>9ww<7ES literal 0 HcmV?d00001 diff --git a/lib/jcore-swing.jar b/lib/jcore-swing.jar index bcf9b93079c88d93034bb5b39be2ae8e5c77b143..c751f576a07947da18dcbd7c3eda7b5d1373c1cb 100644 GIT binary patch delta 419 zcmZ2wy3CX}z?+$ci-CcIfg!)taU!nFEe%bd z{GxRI+=}Fk#Ju!W{jB8typqJ^lH$#Z%%)5rlQu`P+OUBcGq?{i3W3a=wmtXAG@x5S z*qLGSLkYdfwNm1nH}d{v5?8}v+;M?ER<+z;?S#N`e1Q(aSJf*B<>8R zJH)-f^i^>`Fs&xx38srA{K51QiEv&N4^GyQ3IQHc+UO c8!RLtC9Z(!2?jV=(&)zv^^!W9s~AWe0D0noa{vGU delta 425 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 YpzQ=^P{gQZLl0gcxUoRaj4}5A0SBs!5C8xG diff --git a/nbproject/project.properties b/nbproject/project.properties index 4bf46ac..829a003 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -30,6 +30,7 @@ dist.jar=${dist.dir}/addressbook-lib.jar dist.javadoc.dir=${dist.dir}/javadoc endorsed.classpath= excludes= +file.reference.jcontacts-lib.jar=lib/jcontacts-lib.jar file.reference.jcore-logger-lib.jar=lib/jcore-logger-lib.jar file.reference.jcore-swing.jar=lib/jcore-swing.jar file.reference.jcore.jar=lib/jcore.jar @@ -41,6 +42,7 @@ javac.classpath=\ ${file.reference.jcore.jar}:\ ${file.reference.jcore-swing.jar}:\ ${file.reference.jcore-logger-lib.jar}:\ + ${file.reference.jcontacts-lib.jar}:\ ${libs.jpa20-persistence.classpath} # Space-separated list of extra javac options javac.compilerargs=-Xlint:deprecation -Xlint:unchecked @@ -90,6 +92,7 @@ run.test.classpath=\ ${javac.test.classpath}:\ ${build.test.classes.dir} source.encoding=UTF-8 +source.reference.jcontacts-lib.jar=../jcontacts-lib/src/ source.reference.jcore-logger-lib.jar=../jcore-logger-lib/src/ source.reference.jcore-swing.jar=../jcore-swing/src source.reference.jcore.jar=../jcore/src diff --git a/src/org/mxchange/addressbook/client/AddressbookClient.java b/src/org/mxchange/addressbook/client/AddressbookClient.java index 7045abe..ff8442b 100644 --- a/src/org/mxchange/addressbook/client/AddressbookClient.java +++ b/src/org/mxchange/addressbook/client/AddressbookClient.java @@ -17,11 +17,11 @@ package org.mxchange.addressbook.client; import org.mxchange.addressbook.menu.item.SelectableMenuItem; +import org.mxchange.jcontacts.contact.Contact; +import org.mxchange.jcontacts.contact.gender.Gender; import org.mxchange.jcore.client.Client; import org.mxchange.jcore.exceptions.MenuInitializationException; import org.mxchange.jcore.exceptions.UnhandledUserChoiceException; -import org.mxchange.jcore.model.contact.Contact; -import org.mxchange.jcore.model.contact.gender.Gender; /** * A special client interface for addressbook applications. @@ -30,6 +30,34 @@ import org.mxchange.jcore.model.contact.gender.Gender; */ public interface AddressbookClient extends Client { + /** + * Displays a "box" for the address + *

+ * @param contact Contact to show address from + */ + public void displayAddressBox (final Contact contact); + + /** + * Displays a "box" for the name + *

+ * @param contact Contact to show name from + */ + public void displayNameBox (final Contact contact); + + /** + * Displays a "box" for other data + *

+ * @param contact Contact to show other data from + */ + public void displayOtherDataBox (final Contact contact); + + /** + * Shows given contact instamce + * + * @param contact Contact instance + */ + public void show (final Contact contact); + /** * The user changes own address data *

diff --git a/src/org/mxchange/addressbook/exceptions/ContactAlreadyAddedException.java b/src/org/mxchange/addressbook/exceptions/ContactAlreadyAddedException.java index c59909f..53e3ac0 100644 --- a/src/org/mxchange/addressbook/exceptions/ContactAlreadyAddedException.java +++ b/src/org/mxchange/addressbook/exceptions/ContactAlreadyAddedException.java @@ -17,7 +17,7 @@ package org.mxchange.addressbook.exceptions; import java.text.MessageFormat; -import org.mxchange.jcore.model.contact.Contact; +import org.mxchange.jcontacts.contact.Contact; /** * Thrown if the given Contact instance is already added diff --git a/src/org/mxchange/addressbook/manager/contact/AddressbookContactManager.java b/src/org/mxchange/addressbook/manager/contact/AddressbookContactManager.java index 9b0a0b3..7670cec 100644 --- a/src/org/mxchange/addressbook/manager/contact/AddressbookContactManager.java +++ b/src/org/mxchange/addressbook/manager/contact/AddressbookContactManager.java @@ -26,11 +26,11 @@ import java.util.Iterator; import java.util.List; import org.mxchange.addressbook.client.AddressbookClient; 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.exceptions.UnhandledUserChoiceException; import org.mxchange.jcore.manager.BaseManager; -import org.mxchange.jcore.model.contact.Contact; -import org.mxchange.jcore.model.contact.gender.Gender; import org.mxchange.jcoreeelogger.beans.local.logger.Log; import org.mxchange.jcoreeelogger.beans.local.logger.LoggerBeanLocal; @@ -238,12 +238,12 @@ public class AddressbookContactManager extends BaseManager implements Manageable // It must be found assert (contact instanceof Contact) : ": contact is not implementing Contact: " + contact; - // Display contact - this.getClient().show(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); diff --git a/src/org/mxchange/addressbook/manager/contact/ManageableContactAddressbook.java b/src/org/mxchange/addressbook/manager/contact/ManageableContactAddressbook.java index c288c37..ac9b1eb 100644 --- a/src/org/mxchange/addressbook/manager/contact/ManageableContactAddressbook.java +++ b/src/org/mxchange/addressbook/manager/contact/ManageableContactAddressbook.java @@ -20,9 +20,9 @@ import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.sql.SQLException; import org.mxchange.addressbook.exceptions.ContactAlreadyAddedException; +import org.mxchange.jcontacts.contact.Contact; +import org.mxchange.jcontacts.contact.gender.Gender; import org.mxchange.jcore.manager.Manageable; -import org.mxchange.jcore.model.contact.Contact; -import org.mxchange.jcore.model.contact.gender.Gender; /** * An interface for addressbook contact manager -- 2.39.2