Search in sources :

Example 1 with User

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";
}
Also used : AdminUser(uk.ac.bris.cs.rfideasalreadytaken.lumberjack.authentication.data.AdminUser) User(uk.ac.bris.cs.rfideasalreadytaken.lumberjack.database.data.User) ArrayList(java.util.ArrayList) SQLException(java.sql.SQLException) FileDownloadException(uk.ac.bris.cs.rfideasalreadytaken.lumberjack.exceptions.FileDownloadException) FileUploadException(uk.ac.bris.cs.rfideasalreadytaken.lumberjack.exceptions.FileUploadException)

Example 2 with User

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;
}
Also used : User(uk.ac.bris.cs.rfideasalreadytaken.lumberjack.database.data.User) ArrayList(java.util.ArrayList) CSVRecord(org.apache.commons.csv.CSVRecord)

Example 3 with User

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();
}
Also used : User(uk.ac.bris.cs.rfideasalreadytaken.lumberjack.database.data.User)

Example 4 with User

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());
}
Also used : User(uk.ac.bris.cs.rfideasalreadytaken.lumberjack.database.data.User) Test(org.junit.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 5 with User

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;
}
Also used : User(uk.ac.bris.cs.rfideasalreadytaken.lumberjack.database.data.User) ResultSet(java.sql.ResultSet) PreparedStatement(java.sql.PreparedStatement)

Aggregations

User (uk.ac.bris.cs.rfideasalreadytaken.lumberjack.database.data.User)9 ArrayList (java.util.ArrayList)3 Test (org.junit.Test)3 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)3 PreparedStatement (java.sql.PreparedStatement)2 ResultSet (java.sql.ResultSet)2 SQLException (java.sql.SQLException)1 CSVRecord (org.apache.commons.csv.CSVRecord)1 AdminUser (uk.ac.bris.cs.rfideasalreadytaken.lumberjack.authentication.data.AdminUser)1 FileDownloadException (uk.ac.bris.cs.rfideasalreadytaken.lumberjack.exceptions.FileDownloadException)1 FileUploadException (uk.ac.bris.cs.rfideasalreadytaken.lumberjack.exceptions.FileUploadException)1