2022-12-07 12:02:02 +01:00
|
|
|
import java.io.IOException;
|
|
|
|
import java.nio.file.Files;
|
|
|
|
import java.nio.file.Path;
|
|
|
|
import java.nio.file.Paths;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Data is a class to edit files.
|
|
|
|
* @author Madeleine Vigier
|
|
|
|
* @version 1.1
|
|
|
|
*/
|
|
|
|
public class Data {
|
|
|
|
private String pathRead;
|
|
|
|
|
|
|
|
public Data(String pathRead) {
|
|
|
|
this.pathRead = pathRead;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2022-12-14 13:17:46 +01:00
|
|
|
* readData() is a method to split a file into lines and save them in an arraylist
|
2022-12-07 12:02:02 +01:00
|
|
|
* @return Arraylist userlist
|
2022-12-14 13:17:46 +01:00
|
|
|
* @author Madeleine Vigier, Sabine Gubitz
|
2022-12-07 12:02:02 +01:00
|
|
|
* @version 1.1
|
|
|
|
*/
|
|
|
|
public ArrayList<User> readData() {
|
|
|
|
Path path = Paths.get(pathRead);
|
|
|
|
|
|
|
|
try {
|
|
|
|
List<String> rows = Files.readAllLines(path);
|
2022-12-14 13:17:46 +01:00
|
|
|
//Object class Meal is still missing and needs to be added
|
|
|
|
if (pathRead.equals("menue.csv")) {
|
2022-12-07 12:02:02 +01:00
|
|
|
ArrayList<String> menueList = new ArrayList<>();
|
|
|
|
|
2022-12-14 13:17:46 +01:00
|
|
|
//Booleans for allergens
|
|
|
|
boolean eggs = false, peanuts = false, fish = false, grains = false, crustaceans = false,
|
|
|
|
lupines = false, milk = false, nuts = false, sulfurDioxideAndSulfite = false, celeriac = false,
|
|
|
|
mustards = false, sesame = false, soy = false, molluscs = false;
|
|
|
|
|
|
|
|
//Booleans for additives
|
|
|
|
boolean antioxidant = false, artificialColours = false, flavourEnhancer = false, preservatives = false,
|
|
|
|
nitrate = false, picklingSalt = false, phosphate = false, artificialSweetener = false;
|
|
|
|
|
2022-12-07 12:02:02 +01:00
|
|
|
for (String row : rows) {
|
|
|
|
String[] parts = row.split(":");
|
|
|
|
|
|
|
|
String date = parts[1];
|
2022-12-14 13:17:46 +01:00
|
|
|
String dish = parts[2];
|
|
|
|
String sideDish = parts[3];
|
|
|
|
String typ = parts[4];
|
|
|
|
String desertV = parts[5];
|
|
|
|
String desert = parts[6];
|
|
|
|
String allergens = parts[7];
|
|
|
|
if ( allergens != "") {
|
|
|
|
eggs = true;
|
|
|
|
}
|
|
|
|
allergens = parts[8];
|
|
|
|
if ( allergens != "") {
|
|
|
|
peanuts = true;
|
|
|
|
}
|
|
|
|
allergens = parts[9];
|
|
|
|
if ( allergens != "") {
|
|
|
|
fish = true;
|
|
|
|
}
|
|
|
|
allergens = parts[10];
|
|
|
|
if ( allergens != "") {
|
|
|
|
grains = true;
|
|
|
|
}
|
|
|
|
allergens = parts[11];
|
|
|
|
if ( allergens != "") {
|
|
|
|
crustaceans = true;
|
|
|
|
}
|
|
|
|
allergens = parts[12];
|
|
|
|
if ( allergens != "") {
|
|
|
|
lupines = true;
|
|
|
|
}
|
|
|
|
allergens = parts[13];
|
|
|
|
if ( allergens != "") {
|
|
|
|
milk = true;
|
|
|
|
}
|
|
|
|
allergens = parts[14];
|
|
|
|
if ( allergens != "") {
|
|
|
|
nuts = true;
|
|
|
|
}
|
|
|
|
allergens = parts[15];
|
|
|
|
if ( allergens != "") {
|
|
|
|
sulfurDioxideAndSulfite = true;
|
|
|
|
}
|
|
|
|
allergens = parts[16];
|
|
|
|
if ( allergens != "") {
|
|
|
|
celeriac = true;
|
|
|
|
}
|
|
|
|
allergens = parts[17];
|
|
|
|
if ( allergens != "") {
|
|
|
|
mustards = true;
|
|
|
|
}
|
|
|
|
allergens = parts[18];
|
|
|
|
if ( allergens != "") {
|
|
|
|
sesame = true;
|
|
|
|
}
|
|
|
|
allergens = parts[19];
|
|
|
|
if ( allergens != "") {
|
|
|
|
soy = true;
|
|
|
|
}
|
|
|
|
allergens = parts[20];
|
|
|
|
if ( allergens != "") {
|
|
|
|
molluscs = true;
|
|
|
|
}
|
|
|
|
String additives = parts[21];
|
|
|
|
if ( additives != "") {
|
|
|
|
antioxidant = true;
|
|
|
|
}
|
|
|
|
additives = parts[22];
|
|
|
|
if ( additives != "") {
|
|
|
|
artificialColours = true;
|
|
|
|
}
|
|
|
|
additives = parts[23];
|
|
|
|
if ( additives != "") {
|
|
|
|
flavourEnhancer = true;
|
|
|
|
}
|
|
|
|
additives = parts[24];
|
|
|
|
if ( additives != "") {
|
|
|
|
preservatives = true;
|
|
|
|
}
|
|
|
|
additives = parts[25];
|
|
|
|
if ( additives != "") {
|
|
|
|
nitrate = true;
|
|
|
|
}
|
|
|
|
additives = parts[26];
|
|
|
|
if ( additives != "") {
|
|
|
|
picklingSalt = true;
|
|
|
|
}
|
|
|
|
additives = parts[27];
|
|
|
|
if ( additives != "") {
|
|
|
|
phosphate = true;
|
|
|
|
}
|
|
|
|
additives = parts[28];
|
|
|
|
if ( additives != "") {
|
|
|
|
artificialSweetener = true;
|
|
|
|
}
|
|
|
|
|
|
|
|
//menueList.add(new Meal(date, dish, sideDish, typ, desertV, desert, eggs, peanuts, fish, grains,
|
|
|
|
// crustaceans, lupines, milk, nuts, sulfurDioxideAndSulfite, celeriac, mustards, sesame,
|
|
|
|
// soy, molluscs, antioxidant, artificialColours, flavourEnhancer, preservatives, nitrate,
|
|
|
|
// picklingSalt, phosphate, artificialSweetener));
|
2022-12-07 12:02:02 +01:00
|
|
|
}
|
|
|
|
return null;//menueList;
|
2022-12-14 13:17:46 +01:00
|
|
|
|
2022-12-07 12:02:02 +01:00
|
|
|
} else if (pathRead.equals("users.txt")){
|
|
|
|
ArrayList<User> userList = new ArrayList<>();
|
|
|
|
|
|
|
|
for (String row : rows) {
|
|
|
|
String[] parts = row.split(":");
|
|
|
|
|
|
|
|
String nameParent1 = parts[0];
|
|
|
|
String nameParent2 = parts[1];
|
|
|
|
String billAddress = parts[2];
|
|
|
|
String phonenumber = parts[3];
|
|
|
|
String nameChildren = parts[4];
|
|
|
|
String password = parts[5];
|
|
|
|
userList.add(new User(nameParent1,nameParent2,billAddress,phonenumber,nameChildren,password));
|
|
|
|
}
|
|
|
|
return userList;
|
2022-12-14 13:17:46 +01:00
|
|
|
//Object class Order is still missing and needs to be added
|
2022-12-07 12:02:02 +01:00
|
|
|
} else if (pathRead.equals("orders.txt")) {
|
|
|
|
ArrayList<String> orderList = new ArrayList<>();
|
|
|
|
|
|
|
|
for (String row : rows) {
|
|
|
|
String[] parts = row.split(":");
|
|
|
|
|
|
|
|
String date = parts[0];
|
|
|
|
String meat = parts[1];
|
|
|
|
String meatCount = parts[2];
|
|
|
|
String vegi = parts[3];
|
|
|
|
String vegiCount = parts[4];
|
|
|
|
String vegan = parts[5];
|
|
|
|
String veganCount = parts[6];
|
2022-12-14 13:17:46 +01:00
|
|
|
String desertV = parts[7];
|
|
|
|
String desertVCount = parts[8];
|
|
|
|
String desert = parts[9];
|
|
|
|
String desertCount = parts[10];
|
|
|
|
//orderList.add(new Order(date, meat, meatCount,vegi, vegiCount, vegan, veganCount, desertV,
|
|
|
|
// desertVCount, desert, desertCount))
|
2022-12-07 12:02:02 +01:00
|
|
|
}
|
|
|
|
return null;//orderList
|
|
|
|
|
|
|
|
}
|
|
|
|
} catch (IOException e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The method writeData writes the data of a List into a txt file.
|
|
|
|
* @param pathWrite determines the filename of the file that will be written
|
|
|
|
* @param listToWrite determines which ArrayList is to be used for writing the file
|
|
|
|
*/
|
2022-12-07 12:14:54 +01:00
|
|
|
public void writeData(String pathWrite, ArrayList<String> listToWrite){
|
2022-12-07 12:02:02 +01:00
|
|
|
if (pathWrite.equals("users.txt")) {
|
|
|
|
|
|
|
|
} else if (pathWrite.equals("orders.txt")) {
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|