diff --git a/.gradle/9.3.1/checksums/checksums.lock b/.gradle/9.3.1/checksums/checksums.lock
index 67a8306..f257aad 100755
Binary files a/.gradle/9.3.1/checksums/checksums.lock and b/.gradle/9.3.1/checksums/checksums.lock differ
diff --git a/.gradle/9.3.1/checksums/md5-checksums.bin b/.gradle/9.3.1/checksums/md5-checksums.bin
index 6ee8471..5670fe7 100755
Binary files a/.gradle/9.3.1/checksums/md5-checksums.bin and b/.gradle/9.3.1/checksums/md5-checksums.bin differ
diff --git a/.gradle/9.3.1/checksums/sha1-checksums.bin b/.gradle/9.3.1/checksums/sha1-checksums.bin
index 246cd08..65ead6a 100755
Binary files a/.gradle/9.3.1/checksums/sha1-checksums.bin and b/.gradle/9.3.1/checksums/sha1-checksums.bin differ
diff --git a/.settings/org.eclipse.buildship.core.prefs b/.settings/org.eclipse.buildship.core.prefs
index e479558..978c16a 100644
--- a/.settings/org.eclipse.buildship.core.prefs
+++ b/.settings/org.eclipse.buildship.core.prefs
@@ -1,13 +1,13 @@
-arguments=
-auto.sync=false
+arguments=--init-script C\:\\Users\\sherw\\AppData\\Roaming\\VSCodium\\User\\globalStorage\\redhat.java\\1.52.0\\config_win\\org.eclipse.osgi\\58\\0\\.cp\\gradle\\init\\init.gradle --init-script C\:\\Users\\sherw\\AppData\\Roaming\\VSCodium\\User\\globalStorage\\redhat.java\\1.52.0\\config_win\\org.eclipse.osgi\\58\\0\\.cp\\gradle\\protobuf\\init.gradle
+auto.sync=true
build.scans.enabled=false
connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER)
connection.project.dir=
eclipse.preferences.version=1
gradle.user.home=
-java.home=
+java.home=C\:/Program Files/jdk-26
jvm.arguments=
offline.mode=false
-override.workspace.settings=false
-show.console.view=false
-show.executions.view=false
+override.workspace.settings=true
+show.console.view=true
+show.executions.view=true
diff --git a/src/main/java/edu/bookocontacts/ControlDDXDialog.java b/src/main/java/edu/bookocontacts/ControlDDXDialog.java
index fb28502..c9d907d 100644
--- a/src/main/java/edu/bookocontacts/ControlDDXDialog.java
+++ b/src/main/java/edu/bookocontacts/ControlDDXDialog.java
@@ -12,8 +12,11 @@ import javafx.scene.control.TextField;
import javafx.util.Callback;
import edu.bookocontacts.model.Address;
+import edu.bookocontacts.model.Contact;
+import edu.bookocontacts.model.EmailAddress;
+import edu.bookocontacts.model.PhoneNumber;
-public class ControlDDXDialog extends Dialog
{
+public class ControlDDXDialog extends Dialog {
@FXML
private TextField tfStreet;
@@ -38,7 +41,7 @@ public class ControlDDXDialog extends Dialog {
getDialogPane().setContent(fxmlLoader.getRoot());
getDialogPane().getButtonTypes().addAll(ButtonType.OK, ButtonType.CANCEL);
setTitle("Contact Address Dialog");
- setHeaderText("Enter Details");
+ setHeaderText(String.format("Enter Contact Details"));
setPropertyBindings();
setResultConverter();
}
@@ -49,18 +52,35 @@ public class ControlDDXDialog extends Dialog {
private void setResultConverter() {
Logger.getLogger(getClass().getName()).log(Level.INFO, "setResultConverter called.");
- Callback aRC = (buttonType) -> {
+ Callback aRC = (buttonType) -> {
if (buttonType == ButtonType.OK) {
if (getStreet().isEmpty() || getCity().isEmpty() || getState().isEmpty() || getZip().isEmpty()) {
return null;
}
- return new Address(getStreet(), getCity(), getState(), getZip());
+ return new Contact(getFirstName(), getLastName(), new PhoneNumber(getPhoneNumber()),
+ new EmailAddress(getEmailAddress()), new Address(getStreet(), getCity(), getState(), getZip()));
}
return null;
};
setResultConverter(aRC);
}
+ private String getFirstName() {
+ return "";
+ }
+
+ private String getLastName() {
+ return "";
+ }
+
+ private String getPhoneNumber() {
+ return "";
+ }
+
+ private String getEmailAddress() {
+ return "";
+ }
+
private String getZip() {
return tfZip.getText();
}
diff --git a/src/main/java/edu/bookocontacts/ViewController.java b/src/main/java/edu/bookocontacts/ViewController.java
index 0dcec57..bdaa22e 100755
--- a/src/main/java/edu/bookocontacts/ViewController.java
+++ b/src/main/java/edu/bookocontacts/ViewController.java
@@ -105,7 +105,7 @@ public class ViewController implements Initializable {
ControlDDXDialog dialog = new ControlDDXDialog();
- Optional result = dialog.showAndWait();
+ Optional result = dialog.showAndWait();
if (result.isPresent()) {
System.out.println("result is present.");
diff --git a/src/main/java/edu/bookocontacts/model/Contact.java b/src/main/java/edu/bookocontacts/model/Contact.java
index f0254bd..ea66ab5 100644
--- a/src/main/java/edu/bookocontacts/model/Contact.java
+++ b/src/main/java/edu/bookocontacts/model/Contact.java
@@ -7,34 +7,61 @@ import java.io.IOException;
* Collects account attributes, and hash instance to enforce uniqueness.
*/
public class Contact {
- private Integer contact_id = null;
- private String phone_number;
- private Address mailing_address;
+ private Integer id = 0;
+ private String first_name = null;
+ private String last_name = null;
+ private PhoneNumber phone_number;
private EmailAddress email_address;
+ private Address mailing_address;
public Contact() {
-
+ this("", "");
}
- public Contact(
- String phone_number,
- Address mailing_address,
- EmailAddress email_address) throws IllegalArgumentException {
+ public Contact(String first_name, String last_name) {
+ this.first_name = first_name;
+ this.last_name = last_name;
+ }
+
+ public Contact(String first_name, String last_name, PhoneNumber phone_number, EmailAddress email_address,
+ Address mailing_address)
+ throws IllegalArgumentException {
+ this.phone_number = phone_number;
+ this.mailing_address = mailing_address;
+ this.email_address = email_address;
+
+ this.first_name = first_name;
+ this.last_name = last_name;
+
+ if (phone_number == null) {
+ throw new IllegalArgumentException(String.format("%s %s", "Contact: requires phone number"));
+ }
+ if (mailing_address == null) {
+ throw new IllegalArgumentException(String.format("%s %s", "Contact: requires mailing address"));
+ }
+ if (email_address == null) {
+ throw new IllegalArgumentException(String.format("%s %s", "Contact: requires email address"));
+ }
+
+ this.phone_number = phone_number;
+ this.mailing_address = mailing_address;
+ this.email_address = email_address;
+ }
+
+ public Contact(PhoneNumber phone_number, Address mailing_address, EmailAddress email_address)
+ throws IllegalArgumentException {
this.phone_number = phone_number;
this.mailing_address = mailing_address;
this.email_address = email_address;
if (phone_number == null) {
- throw new IllegalArgumentException(String.format("%s %s", "Account: requires phone number",
- mailing_address.toString()));
+ throw new IllegalArgumentException(String.format("%s %s", "Contact: requires phone number"));
}
if (mailing_address == null) {
- throw new IllegalArgumentException(String.format("%s %s", "Account: requires mailing address",
- phone_number.substring(phone_number.length() - 4)));
+ throw new IllegalArgumentException(String.format("%s %s", "Contact: requires mailing address"));
}
if (email_address == null) {
- throw new IllegalArgumentException(String.format("%s %s", "Account: requires phone number",
- mailing_address.toString()));
+ throw new IllegalArgumentException(String.format("%s %s", "Contact: requires email address"));
}
this.phone_number = phone_number;
@@ -42,12 +69,21 @@ public class Contact {
this.email_address = email_address;
}
+ public Contact(String first_name, String last_name, PhoneNumber phone_number) {
+ this.first_name = first_name;
+ this.last_name = last_name;
+ this.phone_number = phone_number;
+ if (email_address == null) {
+ throw new IllegalArgumentException(String.format("%s %s", "Contact: requires phone number"));
+ }
+ }
+
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{ \"Account\":{");
- sb.append("\"account_number\": \"").append(contact_id).append("\",");
+ sb.append("\"account_number\": \"").append(id).append("\",");
sb.append("\"phone_number\": \"").append(phone_number).append("\",");
sb.append("\"mailing_address\": ").append(mailing_address).append(",");
sb.append("\"email_address\": ").append(email_address).append(",");
@@ -58,11 +94,39 @@ public class Contact {
public static void Write(Contact acct) throws IOException {
}
- public String getPhone_number() {
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return this.first_name + " " + last_name;
+ }
+
+ public String getFirst_name() {
+ return first_name;
+ }
+
+ public void setFirst_name(String first_name) {
+ this.first_name = first_name;
+ }
+
+ public String getLast_name() {
+ return last_name;
+ }
+
+ public void setLast_name(String last_name) {
+ this.last_name = last_name;
+ }
+
+ public PhoneNumber getPhone_number() {
return phone_number;
}
- public void setPhone_number(String phone_number) {
+ public void setPhone_number(PhoneNumber phone_number) {
this.phone_number = phone_number;
}
@@ -86,7 +150,7 @@ public class Contact {
public int hashCode() {
final int prime = 31;
int result = 1;
- result = prime * result + ((contact_id == null) ? 0 : contact_id.hashCode());
+ result = prime * result + ((id == null) ? 0 : id.hashCode());
return result;
}
@@ -99,10 +163,10 @@ public class Contact {
if (getClass() != obj.getClass())
return false;
Contact other = (Contact) obj;
- if (contact_id == null) {
- if (other.contact_id != null)
+ if (id == null) {
+ if (other.id != null)
return false;
- } else if (!contact_id.equals(other.contact_id))
+ } else if (!id.equals(other.id))
return false;
return true;
}
@@ -110,22 +174,22 @@ public class Contact {
public boolean checkValid() throws IllegalArgumentException {
if (email_address == null) {
throw new IllegalArgumentException(
- String.format("not valid, email_address %s", this.contact_id));
+ String.format("not valid, email_address %s", this.id));
}
if (phone_number == null) {
throw new IllegalArgumentException(
- String.format("not valid, phone_number: %s", this.contact_id));
+ String.format("not valid, phone_number: %s", this.id));
}
if (getMailing_address() == null) {
throw new IllegalArgumentException(
- String.format("not valid, mailing_address: %s", this.contact_id));
+ String.format("not valid, mailing_address: %s", this.id));
}
return true;
}
- public void update(Contact acct) {
- this.setEmail_address(acct.email_address);
- this.setPhone_number(acct.phone_number);
- this.setMailing_address(acct.mailing_address);
+ public void update(Contact ct) {
+ this.setEmail_address(ct.email_address);
+ this.setPhone_number(ct.phone_number);
+ this.setMailing_address(ct.mailing_address);
}
}
\ No newline at end of file
diff --git a/src/main/resources/media/ControlAddressDDXDialog.fxml b/src/main/resources/media/ControlAddressDDXDialog.fxml
index 7e5f1b5..72a7df0 100644
--- a/src/main/resources/media/ControlAddressDDXDialog.fxml
+++ b/src/main/resources/media/ControlAddressDDXDialog.fxml
@@ -1,59 +1,61 @@
-
-
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
diff --git a/src/main/resources/media/TableView.fxml b/src/main/resources/media/TableView.fxml
index c1746e5..f4c4d12 100755
--- a/src/main/resources/media/TableView.fxml
+++ b/src/main/resources/media/TableView.fxml
@@ -4,29 +4,33 @@
+
-
+
-
+
-
+
-
-
+
+
+
+
+