Search in sources :

Example 1 with Device

use of uk.ac.bris.cs.rfideasalreadytaken.lumberjack.database.data.Device in project lumberjack by fn-ctional.

the class WebController method deviceSpecified.

/**
 * GET request handler for serving the device page populated with a specified (id) device from the database.
 * @param id
 * @param model
 * @return
 */
@GetMapping("/device/{id}")
public String deviceSpecified(@PathVariable String id, Model model) {
    List<Device> deviceList = new ArrayList<>();
    Boolean found = false;
    model.addAttribute("searchTerm", id);
    try {
        Device device = webBackend.getDevice(id);
        if (device.getId().equals(id)) {
            deviceList.add(device);
            found = true;
        }
    } catch (Exception e) {
        System.out.println("SQL Error");
    }
    model.addAttribute("found", found);
    model.addAttribute(deviceList);
    return "devices";
}
Also used : Device(uk.ac.bris.cs.rfideasalreadytaken.lumberjack.database.data.Device) 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 Device

use of uk.ac.bris.cs.rfideasalreadytaken.lumberjack.database.data.Device in project lumberjack by fn-ctional.

the class DatabaseDevices method loadDevice.

public Device loadDevice(ScanDTO scanDTO) throws SQLException {
    PreparedStatement stmt = databaseConnection.getConnection().prepareStatement("SELECT * FROM Devices WHERE ScanValue = ?");
    stmt.setString(1, scanDTO.getDevice());
    ResultSet rs = stmt.executeQuery();
    Device device = loadDeviceFromResultSet(rs);
    return device;
}
Also used : Device(uk.ac.bris.cs.rfideasalreadytaken.lumberjack.database.data.Device) ResultSet(java.sql.ResultSet) PreparedStatement(java.sql.PreparedStatement)

Example 3 with Device

use of uk.ac.bris.cs.rfideasalreadytaken.lumberjack.database.data.Device in project lumberjack by fn-ctional.

the class WebBackend method getDevices.

// Tested
public List<Device> getDevices() throws SQLException {
    List<Device> devices = new ArrayList<>();
    PreparedStatement stmt = databaseConnection.getConnection().prepareStatement("SELECT * FROM Devices");
    ResultSet rs = stmt.executeQuery();
    rs.last();
    int total = rs.getRow();
    rs.beforeFirst();
    for (int i = 0; i < total; i++) {
        devices.add(databaseDevices.loadDeviceFromResultSet(rs));
    }
    return devices;
}
Also used : Device(uk.ac.bris.cs.rfideasalreadytaken.lumberjack.database.data.Device) ArrayList(java.util.ArrayList) ResultSet(java.sql.ResultSet) PreparedStatement(java.sql.PreparedStatement)

Example 4 with Device

use of uk.ac.bris.cs.rfideasalreadytaken.lumberjack.database.data.Device in project lumberjack by fn-ctional.

the class WebBackend method parseDeviceCSV.

public List<Device> parseDeviceCSV(MultipartFile csv) throws FileUploadException {
    Iterable<CSVRecord> records = multipartFileToRecords(csv);
    List<Device> newDevices = new ArrayList<>();
    for (CSVRecord record : records) {
        Device newDevice = new Device();
        newDevice.setScanValue(record.get("scan value"));
        newDevice.setAvailable(Boolean.parseBoolean(record.get("can remove")));
        newDevice.setRuleID(record.get("rule id"));
        newDevice.setCurrentlyAssigned(Boolean.parseBoolean(record.get("can remove")));
        newDevice.setType(record.get("scan value"));
        newDevice.setId(UUID.randomUUID().toString());
        newDevices.add(newDevice);
    }
    return newDevices;
}
Also used : Device(uk.ac.bris.cs.rfideasalreadytaken.lumberjack.database.data.Device) ArrayList(java.util.ArrayList) CSVRecord(org.apache.commons.csv.CSVRecord)

Example 5 with Device

use of uk.ac.bris.cs.rfideasalreadytaken.lumberjack.database.data.Device in project lumberjack by fn-ctional.

the class DatabaseDevices method loadDeviceFromResultSet.

public Device loadDeviceFromResultSet(ResultSet rs) throws SQLException {
    if (rs.next()) {
        Device device = new Device();
        device.setAvailable(rs.getBoolean("Available"));
        device.setCurrentlyAssigned(rs.getBoolean("CurrentlyAssigned"));
        device.setType(rs.getString("Type"));
        device.setId(rs.getString("id"));
        device.setScanValue(rs.getString("ScanValue"));
        device.setRuleID(rs.getString("RuleID"));
        return device;
    }
    return null;
}
Also used : Device(uk.ac.bris.cs.rfideasalreadytaken.lumberjack.database.data.Device)

Aggregations

Device (uk.ac.bris.cs.rfideasalreadytaken.lumberjack.database.data.Device)6 ArrayList (java.util.ArrayList)3 PreparedStatement (java.sql.PreparedStatement)2 ResultSet (java.sql.ResultSet)2 SQLException (java.sql.SQLException)1 CSVRecord (org.apache.commons.csv.CSVRecord)1 FileDownloadException (uk.ac.bris.cs.rfideasalreadytaken.lumberjack.exceptions.FileDownloadException)1 FileUploadException (uk.ac.bris.cs.rfideasalreadytaken.lumberjack.exceptions.FileUploadException)1