Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .idea/jarRepositories.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions Sneakers.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
2
1,Ch123,nike,soccer,8.0,5,34.0
33 changes: 33 additions & 0 deletions Sneakers.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
[ {
"id" : 1,
"name" : "gh12",
"brand" : "puma",
"sport" : "basketball",
"size" : 8.0,
"quantity" : 8,
"price" : 99.0
}, {
"id" : 2,
"name" : "bgh12",
"brand" : "adidas",
"sport" : "soccer",
"size" : 8.0,
"quantity" : 6,
"price" : 78.0
}, {
"id" : 3,
"name" : "cgy12",
"brand" : "nike",
"sport" : "fotball",
"size" : 7.0,
"quantity" : 8,
"price" : 98.0
}, {
"id" : 4,
"name" : "hh32",
"brand" : "Sketchers",
"sport" : "tennis",
"size" : 7.0,
"quantity" : 5,
"price" : 45.0
} ]
1 change: 1 addition & 0 deletions Sneakers.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
nextId : 5
2 changes: 2 additions & 0 deletions Whiskey.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
2
1,cdh,23,456.0
16 changes: 16 additions & 0 deletions Whiskey.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[ {
"id" : 1,
"quantity" : 5,
"price" : 56.0,
"brand" : "jack"
}, {
"id" : 2,
"quantity" : 6,
"price" : 87.0,
"brand" : "black"
}, {
"id" : 3,
"quantity" : 7,
"price" : 54.0,
"brand" : "abc"
} ]
1 change: 1 addition & 0 deletions Whiskey.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
nextId4
20 changes: 19 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,25 @@
<groupId>io.zipcodewilmington</groupId>
<artifactId>ProductInventoryLab</artifactId>
<version>1.0-SNAPSHOT</version>

<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.4.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.4.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.16.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
Expand Down
88 changes: 88 additions & 0 deletions src/main/java/Models/Sneakers.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
package Models;

public class Sneakers {
private Integer id;
private String name;
private String brand;
private String sport;
private float size;
private int quantity;
private float price;

public Sneakers(Integer id, String name, String brand, String sport, float size,
int quantity, float price) {
this.id = id;
this.name = name;
this.brand= brand;
this.sport = sport;
this.size = size;
this.quantity = quantity;
this.price = price;

}
public Sneakers(){

}
public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getBrand() {
return brand;
}

public void setBrand(String brand) {
this.brand = brand;
}

public String getSport() {
return sport;
}

public void setSport(String sport) {
this.sport = sport;
}

public float getSize() {
return size;
}

public void setSize(float size) {
this.size = size;
}

public int getQuantity() {
return quantity;
}

public void setQuantity(int quantity) {
this.quantity = quantity;
}

public float getPrice() {
return price;
}

public void setPrice(float price) {
this.price = price;
}
@Override
public String toString(){
return "Id: "+this.id + ", Name: "+ this.name +", Brand: "+this.brand +", Sport: "+ this.sport +", Size: "+ this.size+
", Quantity: "+ this.quantity+ ", Price: "+ this.price;
}
}


55 changes: 55 additions & 0 deletions src/main/java/Models/Whiskey.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package Models;

public class Whiskey {
private int id;
private int quantity;
private float price;
private String brand;

public Whiskey(int id, String brand, int quantity, float price) {
this.id = id;
this.brand = brand;
this.quantity = quantity;
this.price = price;
}
public Whiskey(){

}

public int getQuantity() {
return quantity;
}

public void setQuantity(int quantity) {
this.quantity = quantity;
}

public float getPrice() {
return price;
}

public void setPrice(float price) {
this.price = price;
}

public String getBrand() {
return brand;
}

public void setBrand(String brand) {
this.brand = brand;
}

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}
@Override
public String toString(){
return "Id: "+this.id +", Brand: "+this.brand + ", Quantity: "+ this.quantity+ ", Price: "+ this.price;
}

}
123 changes: 123 additions & 0 deletions src/main/java/Services/SneakersService.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
package Services;

import Models.Sneakers;
import Utils.CSVUtils;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.core.util.DefaultPrettyPrinter;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectWriter;

import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class SneakersService {

private static int nextId = 1;

private List<Sneakers> inventory = new ArrayList<>();

public Sneakers create(String name, String brand, String sport,
float size, int quantity, float price) {

Sneakers createdSneaker = new Sneakers(nextId++, name, brand, sport, size, quantity, price);
inventory.add(createdSneaker);
return createdSneaker;
}

public List<Sneakers> getInventory() {
return inventory;
}
public Sneakers findSneaker(int id){
for(Sneakers s : inventory){
if(s.getId().equals(id)){
return s;
}
}
return null;
}
public Sneakers[] findAll() {
// should return a basic array copy of the ArrayList
Sneakers[] array = new Sneakers[inventory.size()];
return inventory.toArray(array);
}
public boolean delete(int id) {
// should remove the object with this id from the ArrayList if exits and return true.
// Otherwise, return false
for (int i =0;i<inventory.size();i++) {
if (inventory.get(i).getId().equals(id)) {
inventory.remove(i);
return true;
}
}
return false;
}
public void saveData() throws IOException {
//String jsonFile = "/Users/diksha/Desktop/projects-2/Product-Inventory-Lab/Sneakers.json";
//FileWriter writer = new FileWriter(csvFile);
ObjectMapper mapper = new ObjectMapper();
ObjectWriter writer = mapper.writer(new DefaultPrettyPrinter());
writer.writeValue(new File("/Users/diksha/Desktop/projects-2/Product-Inventory-Lab/Sneakers.json"), inventory);
try {
FileWriter myWriter = new FileWriter("Sneakers.txt");
myWriter.write("nextId : "+ this.nextId);
myWriter.close();
//System.out.println("Successfully wrote to the file.");
} catch (IOException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}


// CSVUtils.writeLine(writer, new ArrayList<String>(Arrays.asList(String.valueOf(nextId))));
//
// for (Sneakers s : inventory) {
// List<String> list = new ArrayList<>();
// list.add(String.valueOf(s.getId()));
// list.add(s.getName());
// list.add(s.getBrand());
// list.add(s.getSport());
// list.add(String.valueOf(s.getSize()));
// list.add(String.valueOf(s.getQuantity()));
// list.add(String.valueOf(s.getPrice()));
//
// CSVUtils.writeLine(writer, list);
// }
//
// writer.flush();
// writer.close();
}
public void loadData() throws IOException {
String jsonFile = "/Users/diksha/Desktop/projects-2/Product-Inventory-Lab/Sneakers.json";
ObjectMapper objectMapper = new ObjectMapper();
this.inventory = objectMapper.readValue(new File(jsonFile), new TypeReference<List<Sneakers>>(){});
this.nextId = inventory.size()+1;
// String line = "";
// String csvSplitBy = ",";
//
// try (BufferedReader br = new BufferedReader(new FileReader(csvFile))) {
// nextId = Integer.parseInt(br.readLine());
//
// while ((line = br.readLine()) != null) {
// // split line with comma
// String[] beer = line.split(csvSplitBy);
//
// int id = Integer.parseInt(beer[0]);
// String name = beer[1];
// String brand = beer[2];
// String sport = beer[3];
// float size = Float.parseFloat(beer[4]);
// int quantity = Integer.parseInt(beer[5]);
// float price = Float.parseFloat(beer[6]);
//
// inventory.add(new Sneakers(id, name, brand, sport, size, quantity, price));
// }
// } catch (IOException e) {
// e.printStackTrace();
// }

}


}
Loading