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 @@ + - + - + - + -