import java.util.ArrayList;\r
import java.util.Iterator;\r
import java.util.List;\r
+import org.mxchange.addressbook.UnhandledUserChoiceException;\r
import org.mxchange.addressbook.client.Client;\r
import org.mxchange.addressbook.contact.Contact;\r
import org.mxchange.addressbook.contact.user.UserContact;\r
throw new UnsupportedOperationException("Not supported yet.");\r
}\r
\r
+ /**\r
+ * Let the user change address data\r
+ * \r
+ * @param contact Instance to change data\r
+ * @param client Client instance to call back\r
+ */\r
+ @Override\r
+ public void changeAddressData (final Contact contact, final Client client) {\r
+ throw new UnsupportedOperationException("Not supported yet.");\r
+ }\r
+\r
+ /**\r
+ * Let the user change "name data"\r
+ * \r
+ * @param contact Instance to change data\r
+ * @param client Client instance to call back\r
+ */\r
+ @Override\r
+ public void changeNameData (final Contact contact, final Client client) {\r
+ // First display them again\r
+ client.displayNameBox(contact);\r
+\r
+ // Is this own data?\r
+ if (contact.isOwnContact()) {\r
+ // Re-ask own data\r
+ // Gender:\r
+ char gender = this.enterOwnGender();\r
+\r
+ // Surname\r
+ String surname = this.enterOwnSurname();\r
+\r
+ // Family name\r
+ String familyName = this.enterOwnFamilyName();\r
+\r
+ // And company\r
+ String companyName = this.enterCompanyName();\r
+\r
+ // Update contact instance\r
+ contact.updateNameData(gender, surname, familyName, companyName);\r
+ } else {\r
+ // Then re-ask them ...\r
+ throw new UnsupportedOperationException("Changing contact entries not finished.");\r
+ }\r
+ }\r
+\r
/**\r
* Let the user change other address\r
*/\r
throw new UnsupportedOperationException("Not supported yet.");\r
}\r
\r
+ /**\r
+ * Let the user change other data\r
+ *\r
+ * @param contact Instance to change data\r
+ * @param client Client instance to call back\r
+ */\r
+ @Override\r
+ public void changeOtherData (final Contact contact, final Client client) {\r
+ throw new UnsupportedOperationException("Not supported yet.");\r
+ }\r
+\r
/**\r
* Allows the user to change his/her own data\r
*/\r
// It must be found\r
assert(contact instanceof Contact);\r
\r
- // @TODO Unfinished\r
- throw new UnsupportedOperationException("Method is not finished.");\r
+ // Display contact\r
+ contact.show(this.getClient());\r
+\r
+ try {\r
+ // Ask user what to change\r
+ this.getClient().doUserChangeAdressChoice(contact);\r
+ } catch (final UnhandledUserChoiceException ex) {\r
+ this.getLogger().catching(ex);\r
+ }\r
}\r
\r
/**\r
// And 3rd for family name\r
String familyName = this.enterOwnFamilyName();\r
\r
+ // Company name ...\r
+ String companyName = this.enterCompanyName();\r
+\r
// Construct UserContact instance\r
- Contact contact = new UserContact(gender, surname, familyName);\r
+ Contact contact = new UserContact(gender, surname, familyName, companyName);\r
\r
// Mark contact as own\r
contact.enableFlagOwnContact();\r
return this.contacts.size();\r
}\r
\r
+ /**\r
+ * Asks the user for his/her company name\r
+ * @return \r
+ */\r
+ private String enterCompanyName () {\r
+ return this.getClient().enterString(5, 50, "Bitte geben Sie Ihre Firmenbezeichnung ein: ", true);\r
+ }\r
+\r
/**\r
* Asks the user for family name\r
* @return Family name of the user\r
*/\r
private String enterOwnFamilyName () {\r
- return this.getClient().enterString(2, 50, "Bitte geben Sie Ihren Nachnamen ein: ");\r
+ return this.getClient().enterString(2, 50, "Bitte geben Sie Ihren Nachnamen ein: ", false);\r
}\r
\r
/**\r
* @return Surname of the user\r
*/\r
private String enterOwnSurname () {\r
- return this.getClient().enterString(2, 50, "Bitte geben Sie Ihren Vornamen ein: ");\r
+ return this.getClient().enterString(2, 50, "Bitte geben Sie Ihren Vornamen ein: ", false);\r
}\r
\r
/**\r