use of uk.ac.bris.cs.rfideasalreadytaken.lumberjack.database.data.User in project lumberjack by fn-ctional.
the class WebController method userSpecified.
/**
* GET request handler for serving the users page populated with a specified (id) user from the database.
* @param id
* @param model
* @return
*/
@GetMapping("/user/{id}")
public String userSpecified(@PathVariable String id, Model model) {
List<User> userList = new ArrayList<>();
Boolean found = false;
model.addAttribute("searchTerm", id);
try {
User user = webBackend.getUser(id);
if (user.getId().equals(id)) {
userList.add(user);
found = true;
}
} catch (Exception e) {
System.out.println("SQL Error");
}
model.addAttribute("found", found);
model.addAttribute(userList);
return "users";
}
use of uk.ac.bris.cs.rfideasalreadytaken.lumberjack.database.data.User in project lumberjack by fn-ctional.
the class WebBackend method parseUserCSV.
public List<User> parseUserCSV(MultipartFile csv) throws FileUploadException {
Iterable<CSVRecord> records = multipartFileToRecords(csv);
List<User> newUsers = new ArrayList<>();
for (CSVRecord record : records) {
User newUser = new User();
newUser.setScanValue(record.get("scan value"));
try {
newUser.setDeviceLimit(Integer.parseInt(record.get("device limit")));
} catch (NumberFormatException e) {
newUser.setDeviceLimit(0);
}
try {
newUser.setDevicesRemoved(Integer.parseInt(record.get("devices removed")));
} catch (NumberFormatException e) {
newUser.setDevicesRemoved(0);
}
newUser.setCanRemove(Boolean.parseBoolean(record.get("can remove")));
newUser.setGroupId(record.get("group id"));
newUser.setId(UUID.randomUUID().toString());
newUsers.add(newUser);
}
return newUsers;
}
use of uk.ac.bris.cs.rfideasalreadytaken.lumberjack.database.data.User in project lumberjack by fn-ctional.
the class WebBackend method getUsersCSV.
public String getUsersCSV() throws SQLException {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("id,");
stringBuilder.append("scan value,");
stringBuilder.append("device limit,");
stringBuilder.append("devices removed,");
stringBuilder.append("can remove,");
stringBuilder.append("group id");
stringBuilder.append("\n");
List<User> users = getUsers();
for (User user : users) {
stringBuilder.append(user.getId());
stringBuilder.append(",");
stringBuilder.append(user.getScanValue());
stringBuilder.append(",");
stringBuilder.append(user.getDeviceLimit());
stringBuilder.append(",");
stringBuilder.append(user.getDevicesRemoved());
stringBuilder.append(",");
stringBuilder.append(user.canRemove());
stringBuilder.append(",");
stringBuilder.append(user.getGroupId());
stringBuilder.append("\n");
}
return stringBuilder.toString();
}
use of uk.ac.bris.cs.rfideasalreadytaken.lumberjack.database.data.User in project lumberjack by fn-ctional.
the class CardReaderBackendTests method testReturnAndRemoveDeviceByNewUser.
@Test
public void testReturnAndRemoveDeviceByNewUser() throws Exception {
ScanDTO scan = new ScanDTO();
scan.setUser("1314831486");
scan.setDevice("23482364326842334");
int removedNew = database.databaseUsers.loadUser(scan).getDevicesRemoved();
int removedOld = database.databaseUsers.loadUser("Betty1248").getDevicesRemoved();
ScanReturn result = database.databaseCardReader.scanReceived(scan);
User newUser = database.databaseUsers.loadUser(scan);
Device device = database.databaseDevices.loadDevice(scan);
Assignment assignment = database.databaseAssignments.loadAssignment(device);
AssignmentHistory history = database.databaseAssignments.loadAssignmentHistory(device);
User oldUser = database.databaseUsers.loadUser(history.getUserID());
assertEquals(result, ScanReturn.SUCCESSRETURNANDREMOVAL);
assertEquals(device.isCurrentlyAssigned(), true);
assertEquals(newUser.getDevicesRemoved(), removedNew + 1);
assertEquals(assignment.getDeviceID(), device.getId());
assertEquals(assignment.getUserID(), newUser.getId());
assertEquals(oldUser.getDevicesRemoved(), removedOld - 1);
assertEquals(history.getUserID(), oldUser.getId());
assertEquals(history.getDeviceID(), device.getId());
}
use of uk.ac.bris.cs.rfideasalreadytaken.lumberjack.database.data.User in project lumberjack by fn-ctional.
the class DatabaseUsers method loadUser.
public User loadUser(ScanDTO scanDTO) throws SQLException {
PreparedStatement stmt = databaseConnection.getConnection().prepareStatement("SELECT * FROM Users WHERE ScanValue = ?");
stmt.setString(1, scanDTO.getUser());
ResultSet rs = stmt.executeQuery();
User user = loadUserFromResultSet(rs);
return user;
}
Aggregations