Skip to content

Commit 7a1c016

Browse files
committed
last sync
1 parent ddcc86d commit 7a1c016

File tree

22 files changed

+339
-342
lines changed

22 files changed

+339
-342
lines changed

backend/src/main/java/org/acme/microprofile/graphql/Bird.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import javax.persistence.Column;
77
import javax.persistence.Cacheable;
88
import javax.persistence.FetchType;
9-
import javax.persistence.QueryHint;;
9+
import javax.persistence.QueryHint;
1010
import javax.persistence.NamedQuery;
1111
import javax.persistence.CascadeType;
1212
import javax.persistence.ManyToMany;

backend/src/main/java/org/acme/microprofile/graphql/BirdingService.java

+26-9
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ public List<Sighting> getAllSighting() {
2525
}
2626

2727
public Sighting getSighting(String id) throws Exception {
28-
Sighting entity = entityManager.find(Sighting.class, id);
28+
UUID uuid = UUID.fromString(id);
29+
Sighting entity = entityManager.find(Sighting.class, uuid);
2930
if(entity == null) {
3031
throw new Exception("Sighting with id of " + id + "doesn't not exist.");
3132
}
@@ -34,17 +35,24 @@ public Sighting getSighting(String id) throws Exception {
3435

3536
@Transactional
3637
public Sighting createSighting(String id){
38+
UUID uuid = UUID.fromString(id);
3739
Sighting entity = new Sighting();
38-
entity.setId(id);
40+
entity.setId(uuid);
3941
entity.setCapturedDate(new Date());
4042
entityManager.persist(entity);
4143
return entity;
4244
}
4345

4446
@Transactional
4547
public Sighting addBird(String sightingId,String birdId) throws Exception {
46-
Sighting sightingEntity = entityManager.find(Sighting.class, sightingId);
47-
Bird birdEntity = entityManager.find(Bird.class, birdId);
48+
System.out.println("Sight");
49+
System.out.println(sightingId);
50+
System.out.println("Bird");
51+
System.out.println(birdId);
52+
UUID suuid = UUID.fromString(sightingId);
53+
UUID buuid = UUID.fromString(birdId);
54+
Sighting sightingEntity = entityManager.find(Sighting.class, suuid);
55+
Bird birdEntity = entityManager.find(Bird.class, buuid);
4856
if(sightingEntity == null) {
4957
throw new Exception("Sighting with id of " + sightingId + "doesn't not exist.");
5058
}
@@ -61,8 +69,10 @@ public Sighting addBird(String sightingId,String birdId) throws Exception {
6169

6270
@Transactional
6371
public Sighting removeBird(String sightingId,String birdId) throws Exception {
64-
Sighting sightingEntity = entityManager.find(Sighting.class, sightingId);
65-
Bird birdEntity = entityManager.find(Bird.class, birdId);
72+
UUID suuid = UUID.fromString(sightingId);
73+
UUID buuid = UUID.fromString(birdId);
74+
Sighting sightingEntity = entityManager.find(Sighting.class, suuid);
75+
Bird birdEntity = entityManager.find(Bird.class, buuid);
6676
if(sightingEntity == null) {
6777
throw new Exception("Sighting with id of " + sightingId + "doesn't not exist.");
6878
}
@@ -83,15 +93,17 @@ public List<Bird> getAllBirds() {
8393
}
8494

8595
public Bird getBird(String id) throws Exception {
86-
Bird entity = entityManager.find(Bird.class, id);
96+
UUID uuid = UUID.fromString(id);
97+
Bird entity = entityManager.find(Bird.class, uuid);
8798
if(entity == null) {
8899
throw new Exception("Bird with id of " + id + "doesn't not exist.");
89100
}
90101
return entity;
91102
}
92103

93104
public List<Sighting> getSightingsByBird(String id) throws Exception {
94-
Bird entity = entityManager.find(Bird.class, id);
105+
UUID uuid = UUID.fromString(id);
106+
Bird entity = entityManager.find(Bird.class, uuid);
95107
if(entity == null) {
96108
throw new Exception("Bird with id of " + id + "doesn't not exist.");
97109
}
@@ -115,11 +127,16 @@ public Bird createBird(String genusName, String name) throws Exception {
115127

116128
@Transactional
117129
public Bird deleteBird(String id) throws Exception {
118-
Bird entity = entityManager.find(Bird.class, id);
130+
UUID uuid = UUID.fromString(id);
131+
Bird entity = entityManager.find(Bird.class, uuid);
119132
if(entity == null) {
120133
throw new Exception("Bird with id of " + id + "doesn't not exist.");
121134
}
122135

136+
for(Sighting sighting : entity.getSightings()) {
137+
sighting.removeBird(entity);
138+
}
139+
123140
entityManager.remove(entity);
124141
return entity;
125142
}

backend/src/main/java/org/acme/microprofile/graphql/Sighting.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import javax.persistence.JoinTable;
1414
import javax.persistence.ManyToMany;
1515

16+
import java.util.UUID;
1617
import java.util.Date;
1718
import java.util.HashSet;
1819
import java.util.Set;
@@ -25,7 +26,7 @@ public class Sighting {
2526

2627
@Id
2728
@Column
28-
private String id;
29+
private UUID id;
2930

3031
@Column
3132
private Date capturedDate;
@@ -42,7 +43,7 @@ public String getId() {
4243
return id.toString();
4344
}
4445

45-
public void setId(String id) {
46+
public void setId(UUID id) {
4647
this.id = id;
4748
}
4849

birdup.drawio

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<mxfile host="app.diagrams.net" modified="2020-07-09T02:32:31.295Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36" etag="RQy_u_WuLGy241___JAZ" version="13.3.5" type="device"><diagram id="7tcpmhwxsEkcdtEWE9uK" name="Page-1">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</diagram></mxfile>
1+
<mxfile host="app.diagrams.net" modified="2020-07-22T16:04:49.244Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36" etag="9UbAK2AHNVvh9kQGnVrQ" version="13.4.2" type="device"><diagram id="7tcpmhwxsEkcdtEWE9uK" name="Page-1">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</diagram></mxfile>

birdup.png

58.7 KB
Loading

frontend/configs/webpack/dev.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ module.exports = merge(commonConfig, {
1616
headers: {
1717
"Access-Control-Allow-Origin": "*",
1818
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, PATCH, OPTIONS",
19-
"Access-Control-Allow-Headers": "X-Requested-With, content-type, Authorization"
19+
"Access-Control-Allow-Headers": "X-Requested-With, Content-Type, Authorization"
2020
}
2121
},
2222
devtool: 'cheap-module-eval-source-map',

frontend/package.json

-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@
4848
"html-webpack-plugin": "^4.3.0",
4949
"image-webpack-loader": "^6.0.0",
5050
"jest": "^26.1.0",
51-
"node-sass": "^4.14.1",
5251
"react": "^16.13.1",
5352
"react-dom": "^16.13.1",
5453
"react-hot-loader": "^4.12.21",

0 commit comments

Comments
 (0)