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";
}
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;
}
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;
}
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;
}
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;
}
Aggregations