aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserDAO.java5
-rw-r--r--ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserFileDAO.java33
2 files changed, 27 insertions, 11 deletions
diff --git a/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserDAO.java b/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserDAO.java
index 5926214..d456abc 100644
--- a/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserDAO.java
+++ b/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserDAO.java
@@ -49,14 +49,15 @@ public interface UserDAO {
/**
* Updates and saves a {@linkplain User user}
*
- * @param user {@link User user} object to be updated and saved
+ * @param newUser {@link User user} object to be updated and saved
+ * @param name {@link String name} name of object to be updated
*
* @return updated {@link User user} if successful, null if
* {@link User user} could not be found
*
* @throws IOException if underlying storage cannot be accessed
*/
- User updateUser(User user) throws IOException;
+ User updateUser(User newUser, String name) throws IOException;
/**
* Deletes a {@linkplain User user} with the given id
diff --git a/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserFileDAO.java b/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserFileDAO.java
index c42d211..ebfa9f2 100644
--- a/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserFileDAO.java
+++ b/ufund-api/src/main/java/com/ufund/api/ufundapi/persistence/UserFileDAO.java
@@ -62,7 +62,6 @@ public class UserFileDAO implements UserDAO {
return users.values().toArray(User[]::new);
}
-
@Override
public User[] getUsers() throws IOException {
synchronized (users) {
@@ -86,11 +85,11 @@ public class UserFileDAO implements UserDAO {
}
/**
- * Return the user with the String name name or null otherwise
+ * Create a User user
*
- * @param name Name of desired user
+ * @param user User to create
*
- * @return Desired user, null otherwise
+ * @return Desired created user
* @throws IOException If there was an IO issue saving the file
*/
@Override
@@ -103,19 +102,36 @@ public class UserFileDAO implements UserDAO {
}
}
+ /**
+ * Update a user that matches the supplied name
+ *
+ * @param name The name of the user
+ * @param newUser New user data
+ *
+ * @return Desired user, null otherwise
+ * @throws IOException If there was an IO issue saving the file
+ */
@Override
- public User updateUser(User user) throws IOException {
+ public User updateUser(User newUser, String name) throws IOException {
synchronized (users) {
- if (users.containsKey(user.getName())) {
- users.put(user.getName(), user);
+ if (users.containsKey(name)) {
+ users.put(name, newUser);
save();
- return user;
+ return newUser;
} else {
return null;
}
}
}
+ /**
+ * Delete a user matching the name
+ *
+ * @param name The name of the user
+ *
+ * @return True if deleted, false otherwise
+ * @throws IOException If there was an IO issue saving the file
+ */
@Override
public boolean deleteUser(String name) throws IOException {
synchronized (users) {
@@ -128,5 +144,4 @@ public class UserFileDAO implements UserDAO {
}
}
-
} \ No newline at end of file