Skip to content

Releases: AY2324S2-CS2103T-T11-1/tp

v1.4

15 Apr 15:21
17d5484
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.3...v1.4

v1.3

04 Apr 16:10
8afe97d
Compare
Choose a tag to compare

Release notes

Full Changelog: v1.3a...v1.3

v1.3a

30 Mar 12:14
81c7306
Compare
Choose a tag to compare

Release Notes

New Features
Multi-Attribute Addition
You can now add multiple attributes to a person in a single command. The command format is:
add /UUID /attributeName1 attributeValue1 /attributeName2 attributeValue2 ...
For example, to add a name and phone number to a person with UUID 123, you would use:
add /123 /Name John Doe /Phone 12345678

Multi-Attribute Deletion
You can now delete multiple attributes from a person in a single command. The command format is:
delete /UUID /attributeName1 /attributeName2 ...
For example, to delete the name and phone number from a person with UUID 123, you would use:
delete /123 /Name /Phone

Multi-Attribute Editing
You can now edit multiple attributes of a person in a single command. The command format is:
editAttribute /UUID /attributeName1 attributeValue1 /attributeName2 attributeValue2 ...
For example, to edit the name and phone number of a person with UUID 123, you would use:
editAttribute /123 /Name Jane Doe /Phone 87654321
Please note that the attribute must exist before it can be edited. If the attribute does not exist, an error message will be displayed.

Bug Fixes
Fixed a bug where the deleteAttribute command was only deleting one attribute at a time. It now correctly deletes all specified attributes.
Fixed a bug where the deleteAttribute command was not correctly parsing the UUID from the command. It now correctly parses the UUID and attribute names from the command.

Improvements
Refactored the AttributeUtil class to include a method that creates an Attribute object from a given attribute name and value. This method is now used in the AddCommand, DeleteAttributeCommand, and EditAttributeCommand classes to create the Attribute objects, centralizing the attribute creation logic and making the code more maintainable.

v1.2

22 Mar 06:08
0a66821
Compare
Choose a tag to compare

JENGA

Attributes

photo_2024-03-22 11 04 18

Addition of attribute Pet with value dog

Add Attribute Command: This command allows users to add attributes to a person in the address book. The command format is addAttribute \uuid <uuid> \<attributeName> <attributeValue>. The uuid is the unique identifier of the person, attributeName is the name of the attribute to be added, and attributeValue is the value of the attribute.



photo_2024-03-22 11 04 19

Deletion of attribute Address

Delete Attribute Command: This command allows users to delete attributes from a person in the address book. The command format is deleteAttribute \uuid <uuid> \<attributeName>. The uuid is the unique identifier of the person, and attributeName is the name of the attribute to be deleted.



Persons

UUID for Person: Each person now has a unique identifier (UUID), which can be used to uniquely identify a person in the address book.

Attribute Management: The Person class now supports managing attributes of a person. This includes adding, updating, and deleting attributes. Attributes are stored in a HashMap, allowing for efficient access and modification.

Attribute Retrieval: The Person class provides methods to retrieve a person's attributes by their name.


Relationships

Screen.Recording.2024-03-22.at.11.37.29.AM.mov

Addition of relationship between users 10cb and 6fd4 of type Friend

Add Relationship Command: This command allows users to add relationships to two persons in the address book. The command format is addRelation <uuid1> <uuid2> <relationType>. The uuid is the unique identifier of a person, thus uuid1 and uuid2 belong to two people respectively. relationType is the type of the relationship between the two people to be added. As of now, relationType only supports friend and family but two people can be friend and family at the same time.

editRelation.mov

Editing of relationship between users 10cb and 6fd4 from type Friend to Family

Edit Relationship Command: This command allows users to edit a relationship between two persons in the address book. The command format is editRelation <uuid1> <uuid2> <oldRelationType> <newRelationType>. The uuid is the unique identifier of a person, thus uuid1 and uuid2 belong to two people respectively. oldRelationType (eg. family) is the name of the previous relationType to be edited from (eg. to friend). newRelationType is the name of the new relationType (eg. to friend) to be edited to (eg. from family). As of now, both relationTypes only support friend and family but two people can be friend and family at the same time.

DeleteRelation.mov

Deletion of relationship between users 10cb and 6fd4 from type Friend to Family

Delete Relationship Command: This command allows users to delete relationships from two persons in the address book. The command format is deleteRelation <uuid1> <uuid2> <relationType>. The uuid is the unique identifier of a person, thus uuid1 and uuid2 belong to two people respectively. relationType is the type of the relationship between the two people to be deleted. As of now, relationType only supports friend and family but two people can be friend and family at the same time.


Saving

Exit Command (Saving): This command allows users to exit the program and will save their current addressbook. It has been updated to handle saving of persons together with their individually inputted attributes and relationships.