diff --git a/WebService/src/main/java/SAE/ApiREST/WebService/controller/CollectionControlleur.java b/WebService/src/main/java/SAE/ApiREST/WebService/controller/CollectionControlleur.java index 6060b3f..bf1fbbc 100644 --- a/WebService/src/main/java/SAE/ApiREST/WebService/controller/CollectionControlleur.java +++ b/WebService/src/main/java/SAE/ApiREST/WebService/controller/CollectionControlleur.java @@ -8,34 +8,12 @@ public class CollectionController { public Controller() { } - - @GetMapping(value = "/getAllCollection", produces = MediaType.APPLICATION_JSON_VALUE) - public @ResponseBody List getAllCollection() { - return collections; - } - - @GetMapping(value = "/getCollectionById/{isbn}", produces = MediaType.APPLICATION_JSON_VALUE) - public @ResponseBody Book getCollectionById(@PathVariable(value = "isbn") int isbn) { - for(Book book : books) { - if(book.isbn == isbn) { - return book; - } - } - throw new BookException("Undefined id"); - } - - @PostMapping("/logBooks") - public @ResponseBody void logBooks(@RequestParam("title") String title, @RequestParam("author") String author) { - books.add(new Book(title, author)); - for(Book book : books) { - System.out.println(book); - } - } + // region Collection // region GET - @GetMapping(value = "/getCollectionById", produces = MediaType.APPLICATION_JSON_VALUE) - public @ResponseBody Collection getCollectionById(long isbn){ + @GetMapping(value = "/getCollectionById/{isbn}", produces = MediaType.APPLICATION_JSON_VALUE) + public @ResponseBody Collection getCollectionById(@PathVariable(value = "isbn") long isbn){ for(Collection collection : this.collections){ if(collection.getId === isbn) { return collection; @@ -43,8 +21,8 @@ public class CollectionController { } return null; } - @GetMapping(value = "/getAllCollectionsByName", produces = MediaType.APPLICATION_JSON_VALUE) - public @ResponseBody List getAllCollectionsByName(String name){ + @GetMapping(value = "/getAllCollectionsByName/{name}", produces = MediaType.APPLICATION_JSON_VALUE) + public @ResponseBody List getAllCollectionsByName(@PathVariable(value = "name") String name){ private ArrayList repCollections = new ArrayList(); for(Collection collection : this.collections){ if(collection.getName === name) { @@ -56,36 +34,45 @@ public class CollectionController { // endregion // region DELETE - @DeleteMaping(value = "/deleteColletionById") - public @ResponseBody void deleteColletionById(long isbn){ + @DeleteMapping(value = "/deleteColletionById/{isbn}") + public @ResponseBody void deleteColletionById(@RequestParam("isbn") long isbn){ Collection collection = getCollectionById(isbn); this.collections.remove(collection); } - public @ResponseBody void deleteColletionByName(String name){ + @DeleteMapping(value = "/deleteColletionByName/{name}") + public @ResponseBody void deleteColletionByName(@RequestParam("name") String name){ ArrayList collectionsByName = getAllCollectionsByName(name); this.collections.remove(collectionsByName[0]); } - public @ResponseBody void deleteAllColletionByName(String name){ + + @DeleteMapping(value = "/deleteAllColletionByName/{name}") + public @ResponseBody void deleteAllColletionByName(@RequestParam("name") String name){ ArrayList collectionsByName = getAllCollectionsByName(name); this.collections.removeAll(collectionsByName); } // endregion // region PUT - public @ResponseBody void addCollection(Collection collection){ + @PutMapping(value = "/addCollection") + public @ResponseBody void addCollection(@RequestParam("collection") Collection collection){ this.collections.add(collection); } - public @ResponseBody void addCollections(List collections){ + + @PutMapping(value = "/addCollections") + public @ResponseBody void addCollections(@RequestParam("collections") List collections){ this.collections.addAll(collections); } // endregion // region POST - public @ResponseBody void modifyCollectionName(Collection collection, String name){ + @PostMapping("/modifyCollectionName", produces = MediaType.APPLICATION_JSON_VALUE) + public @ResponseBody void modifyCollectionName(@RequestParam("collection") Collection collection, @RequestParam("name") String name){ collection.setName(name); } - public @ResponseBody void modifyCollectionNameById(long isbn, String name){ + + @PostMapping("/modifyCollectionNameById", produces = MediaType.APPLICATION_JSON_VALUE) + public @ResponseBody void modifyCollectionNameById(@RequestParam("isbn") long isbn, @RequestParam("name") String name){ Collection collection = getCollectionById(isbn); modifyCollectionName(collection,name); } @@ -94,13 +81,17 @@ public class CollectionController { // region Article @GetMapping(value = "/getAllArticles", produces = MediaType.APPLICATION_JSON_VALUE) - public @ResponseBody List
getAllArticles(Collection collection){ + public @ResponseBody List
getAllArticles(@RequestParam("collection") Collection collection){ return collection.getAllArticles; } - public @ResponseBody void addArticle(Collection collection, Article article){ + + @PutMapping(value = "/addArticle", produces = MediaType.APPLICATION_JSON_VALUE) + public @ResponseBody void addArticle(@RequestParam("collection") Collection collection, @RequestParam("article") Article article){ collection.addArticle } - public @ResponseBody void deleteArticle(Collection collection, Article article){ + + @DeleteMapping(value = "/deleteArticle", produces = MediaType.APPLICATION_JSON_VALUE) + public @ResponseBody void deleteArticle(@RequestParam("collection") Collection collection, @RequestParam("article") Article article){ collection.deleteArticle(article); } // endregion diff --git a/WebService/src/main/java/SAE/ApiREST/WebService/service/StubCollectionService.java b/WebService/src/main/java/SAE/ApiREST/WebService/service/StubCollectionService.java index a335f5f..320d08c 100644 --- a/WebService/src/main/java/SAE/ApiREST/WebService/service/StubCollectionService.java +++ b/WebService/src/main/java/SAE/ApiREST/WebService/service/StubCollectionService.java @@ -7,10 +7,13 @@ import java.util.List; import org.springframework.stereotype.Service; import SAE.ApiREST.WebService.model.Article; +import SAE.ApiREST.WebService.model.Collection; @Service public class CollectionService implements ICollectionService { private ArrayList collections; + + @Override public List getAllCollections() { return this.collections; } @@ -18,18 +21,21 @@ public class CollectionService implements ICollectionService { // region Collection // region GET + @Override public Collection getCollectionById(long isbn){ for(Collection collection : this.collections){ - if(collection.getId === isbn) { + if(collection.getId() == isbn) { return collection; } } return null; } + + @Override public List getAllCollectionsByName(String name){ private ArrayList repCollections = new ArrayList(); for(Collection collection : this.collections){ - if(collection.getName === name) { + if(collection.getName() == name) { repCollections.add(collection); } } @@ -37,16 +43,20 @@ public class CollectionService implements ICollectionService { } // endregion - // region DELETE + // region DELETE + @Override public void deleteColletionById(long isbn){ Collection collection = getCollectionById(isbn); this.collections.remove(collection); } - + + @Override public void deleteColletionByName(String name){ ArrayList collectionsByName = getAllCollectionsByName(name); this.collections.remove(collectionsByName[0]); } + + @Override public void deleteAllColletionByName(String name){ ArrayList collectionsByName = getAllCollectionsByName(name); this.collections.removeAll(collectionsByName); @@ -54,18 +64,24 @@ public class CollectionService implements ICollectionService { // endregion // region PUT + @Override public void addCollection(Collection collection){ this.collections.add(collection); } + + @Override public void addCollections(List collections){ this.collections.addAll(collections); } // endregion // region POST + @Override public void modifyCollectionName(Collection collection, String name){ collection.setName(name); } + + @Override public void modifyCollectionNameById(long isbn, String name){ Collection collection = getCollectionById(isbn); modifyCollectionName(collection,name); @@ -74,12 +90,17 @@ public class CollectionService implements ICollectionService { // endregion // region Article + @Override public List
getAllArticles(Collection collection){ return collection.getAllArticles; } + + @Override public void addArticle(Collection collection, Article article){ collection.addArticle } + + @Override public void deleteArticle(Collection collection, Article article){ collection.deleteArticle(article); }