diff --git a/.gradle/9.3.1/executionHistory/executionHistory.bin b/.gradle/9.3.1/executionHistory/executionHistory.bin index be762e0..7b1be29 100755 Binary files a/.gradle/9.3.1/executionHistory/executionHistory.bin and b/.gradle/9.3.1/executionHistory/executionHistory.bin differ diff --git a/.gradle/9.3.1/executionHistory/executionHistory.lock b/.gradle/9.3.1/executionHistory/executionHistory.lock index 7bbad3c..babc164 100755 Binary files a/.gradle/9.3.1/executionHistory/executionHistory.lock and b/.gradle/9.3.1/executionHistory/executionHistory.lock differ diff --git a/.gradle/9.3.1/fileHashes/fileHashes.bin b/.gradle/9.3.1/fileHashes/fileHashes.bin index 16a59e6..169de5d 100755 Binary files a/.gradle/9.3.1/fileHashes/fileHashes.bin and b/.gradle/9.3.1/fileHashes/fileHashes.bin differ diff --git a/.gradle/9.3.1/fileHashes/fileHashes.lock b/.gradle/9.3.1/fileHashes/fileHashes.lock index 299fbc9..34bb669 100755 Binary files a/.gradle/9.3.1/fileHashes/fileHashes.lock and b/.gradle/9.3.1/fileHashes/fileHashes.lock differ diff --git a/.gradle/9.3.1/fileHashes/resourceHashesCache.bin b/.gradle/9.3.1/fileHashes/resourceHashesCache.bin index 6f49e3e..dd64da5 100755 Binary files a/.gradle/9.3.1/fileHashes/resourceHashesCache.bin and b/.gradle/9.3.1/fileHashes/resourceHashesCache.bin differ diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index ddc13a0..824fec5 100755 Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe index 1616aef..99c224f 100755 Binary files a/.gradle/file-system.probe and b/.gradle/file-system.probe differ diff --git a/.settings/org.eclipse.buildship.core.prefs b/.settings/org.eclipse.buildship.core.prefs index e479558..8e50e0f 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 /home/sherwinp/.config/VSCodium/User/globalStorage/redhat.java/1.50.0/config_linux/org.eclipse.osgi/58/0/.cp/gradle/init/init.gradle --init-script /home/sherwinp/.config/VSCodium/User/globalStorage/redhat.java/1.50.0/config_linux/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=/usr/lib/jvm/java-25-openjdk 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/build.gradle b/build.gradle index b7f1ebf..7553d8f 100755 --- a/build.gradle +++ b/build.gradle @@ -56,17 +56,17 @@ dependencies { jar { manifest { - attributes 'Main-Class': application.mainClass + attributes 'Main-Class': 'edu.bookocontacts.AppSceneView' } duplicatesStrategy = DuplicatesStrategy.EXCLUDE } tasks.named('jar') { manifest { - attributes('Automatic-Module-Name':group, - 'Implementation-Title': group, + attributes('Automatic-Module-Name': 'edu.bookocontacts', + 'Implementation-Title': 'edu.bookocontacts', 'Implementation-Version': 1.0, - 'Main-Class': application.mainClass, + 'Main-Class': 'edu.bookocontacts.AppSceneView', 'Class-Path': '. edu.bookocontacts edu.bookocontacts.model javafx.base javafx.controls' ) } } diff --git a/db/sample.db b/db/sample.db index be72f08..f2945d2 100644 Binary files a/db/sample.db and b/db/sample.db differ diff --git a/readme.txt b/readme.txt index e0b75f6..7efbfb0 100644 --- a/readme.txt +++ b/readme.txt @@ -16,7 +16,8 @@ Tests with ASPECTJ: gradlew.bat run / or on linux: sh ./gradlew edu.addressbook.view:run - AspectJ Referee component will call the Game plays. + + AspectJ component runtime, and compile time weaving is used. schema @@ -36,7 +37,7 @@ INSERT INTO CONTACT (ID, FIRST_NAME, LAST_NAME, PHONE_NUMBER, EMAIL_ADDRESS, MAI VALUES (8,"Ramon", "Razone", "443-310-8764","Raz@home.com",NULL), (9,"Manny", "Zonie", "443-350-6764","Zonie@home.com","7000 Hause Ln, People City,MN, 34090"), - (10,"Von", "Ray", "443-210-9764","RayVon@home.com",""); + (10,"Von", "Ray", "443-210-9764","RayVon@home.com","8000 House Ln, Plains City,PA 34090"); UPDATE CONTACT SET MAIL_ADDRESS=NULL WHERE ID=8; diff --git a/src/main/java/edu/bookocontacts/StorageMonitor.aj b/src/main/java/edu/bookocontacts/StorageMonitor.aj index d76904e..ffa1f0a 100644 --- a/src/main/java/edu/bookocontacts/StorageMonitor.aj +++ b/src/main/java/edu/bookocontacts/StorageMonitor.aj @@ -13,7 +13,7 @@ public aspect StorageMonitor { Logger logger = LoggerFactory.getLogger(Contact.class); - logger.info(String.format("Checking: %s. ", ob)); + logger.info(String.format("AspectJ-Check: %s. ", ob)); return ob; } diff --git a/src/main/java/edu/bookocontacts/ViewController.java b/src/main/java/edu/bookocontacts/ViewController.java index 962dfc1..7c82360 100755 --- a/src/main/java/edu/bookocontacts/ViewController.java +++ b/src/main/java/edu/bookocontacts/ViewController.java @@ -13,6 +13,7 @@ import java.util.logging.Level; import java.util.logging.Logger; import edu.bookocontacts.model.Contact; +import edu.bookocontacts.model.EnumStatus; import edu.bookocontacts.model.Factory; import edu.bookocontacts.model.PhoneNumber; import javafx.beans.value.ChangeListener; @@ -146,11 +147,15 @@ public class ViewController implements Initializable { Optional result = dialog.showAndWait(); if (result.isPresent()) { log("result is present."); - // add to storage + // update storage Contact updatedContact = (Contact) result.get(); try { + updatedContact.setId(ct.getId()); - ct.save(); + updatedContact.setStatus(EnumStatus.UPDATED); + updatedContact.save(); + ct.copy(updatedContact); + } catch (Exception ex) { logger.log(Level.WARNING, ex.getMessage()); } diff --git a/src/main/java/edu/bookocontacts/model/Contact.java b/src/main/java/edu/bookocontacts/model/Contact.java index 7e933a0..eacd8a3 100644 --- a/src/main/java/edu/bookocontacts/model/Contact.java +++ b/src/main/java/edu/bookocontacts/model/Contact.java @@ -13,7 +13,7 @@ public class Contact { private PhoneNumber phone_number; private EmailAddress email_address; private MailAddress mailing_address; - EnumStatus status = EnumStatus.STORED; + EnumStatus status = null; public Contact() { this("", ""); @@ -75,6 +75,16 @@ public class Contact { } } + public void copy(Contact ct){ + this.id = ct.id; + this.first_name = ct.first_name; + this.last_name = ct.last_name; + this.phone_number = ct.phone_number; + this.email_address = ct.email_address; + this.mailing_address = ct.mailing_address; + this.status = ct.status; + } + @Override public String toString() { @@ -89,7 +99,7 @@ public class Contact { public void save() throws IOException { Factory.save(this); - this.status = EnumStatus.STORED; + this.status = EnumStatus.INSTORE; } public void markDeleted() { @@ -104,6 +114,10 @@ public class Contact { this.id = id; } + public void setStatus(EnumStatus es){ + this.status = es; + } + public String getName() { return this.first_name + " " + last_name; } diff --git a/src/main/java/edu/bookocontacts/model/DATASET.java b/src/main/java/edu/bookocontacts/model/DATASET.java index 89cc35c..51fbccb 100644 --- a/src/main/java/edu/bookocontacts/model/DATASET.java +++ b/src/main/java/edu/bookocontacts/model/DATASET.java @@ -47,7 +47,7 @@ public final class DATASET { new EmailAddress(rs.getString("EMAIL_ADDRESS")), new PhoneNumber(rs.getString("PHONE_NUMBER")), new MailAddress(rs.getString("MAIL_ADDRESS"))); - ct.status = EnumStatus.STORED; + ct.status = EnumStatus.INSTORE; list.add(ct); } diff --git a/src/main/java/edu/bookocontacts/model/EnumStatus.java b/src/main/java/edu/bookocontacts/model/EnumStatus.java index cf0f340..c26c731 100644 --- a/src/main/java/edu/bookocontacts/model/EnumStatus.java +++ b/src/main/java/edu/bookocontacts/model/EnumStatus.java @@ -1,5 +1,5 @@ package edu.bookocontacts.model; public enum EnumStatus { - STORED,NEW,DELETED; + INSTORE,NEW,UPDATED,DELETED; }