diff --git a/src/main/java/fr/unistra/sil/erp/back/controller/IRetrieveCategoriesController.java b/src/main/java/fr/unistra/sil/erp/back/controller/IRetrieveCategoriesController.java new file mode 100644 index 0000000000000000000000000000000000000000..b719adc667fff08e59b9752826dd4fae8adf7f8b --- /dev/null +++ b/src/main/java/fr/unistra/sil/erp/back/controller/IRetrieveCategoriesController.java @@ -0,0 +1,22 @@ +/* + * CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-B + * https://cecill.info/licences/Licence_CeCILL-B_V1-fr.html + */ +package fr.unistra.sil.erp.back.controller; + +import org.springframework.http.ResponseEntity; + +/** + * Interface for designing access to categories. + * @author BEAUVAIS ANTOINE + */ +public interface IRetrieveCategoriesController { + + /** + * Retrieves all categories. + * @return the response. + * @throws java.lang.Exception when the request cannot be served. + */ + public ResponseEntity<Object> getCategories() throws Exception; + +} diff --git a/src/main/java/fr/unistra/sil/erp/back/controller/IRetrieveInfoController.java b/src/main/java/fr/unistra/sil/erp/back/controller/IRetrieveInfoController.java new file mode 100644 index 0000000000000000000000000000000000000000..8ca93af70fb842a4be53501c1c6310e39409683d --- /dev/null +++ b/src/main/java/fr/unistra/sil/erp/back/controller/IRetrieveInfoController.java @@ -0,0 +1,26 @@ +/* + * CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-B + * https://cecill.info/licences/Licence_CeCILL-B_V1-fr.html + */ +package fr.unistra.sil.erp.back.controller; + +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * Interface for designing the retrieval of articles. + * @author BEAUVAIS ANTOINE + */ +public interface IRetrieveInfoController { + + /** + * Retrieves the list of items. + * @param cat + * @return + * @throws Exception + */ + public ResponseEntity<Object> retrieveInfo( + @RequestParam(value = "category", defaultValue = "") String cat + ) throws Exception; + +} diff --git a/src/main/java/fr/unistra/sil/erp/back/controller/ISubmitTransactionController.java b/src/main/java/fr/unistra/sil/erp/back/controller/ISubmitTransactionController.java new file mode 100644 index 0000000000000000000000000000000000000000..2f6ef53d0984b1eef8282806bb0bd55c01e335f0 --- /dev/null +++ b/src/main/java/fr/unistra/sil/erp/back/controller/ISubmitTransactionController.java @@ -0,0 +1,26 @@ +/* + * CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-B + * https://cecill.info/licences/Licence_CeCILL-B_V1-fr.html + */ +package fr.unistra.sil.erp.back.controller; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.springframework.http.ResponseEntity; + +/** + * Interface for designing transaction submission. + * @author BEAUVAIS ANTOINE + */ +public interface ISubmitTransactionController { + + /** + * Submits a transaction to the application. + * @param request the HTTP Servlet Request, provided by Spring Web + * @param response the HTTP Servlet Response, provided by Spring Web + * @return the response served to the user. + */ + public ResponseEntity<Object> submitTransaction(HttpServletRequest request, + HttpServletResponse response); + +} diff --git a/src/main/java/fr/unistra/sil/erp/back/api/controller/ApiBadRequestException.java b/src/main/java/fr/unistra/sil/erp/back/controller/api/ApiBadRequestException.java similarity index 87% rename from src/main/java/fr/unistra/sil/erp/back/api/controller/ApiBadRequestException.java rename to src/main/java/fr/unistra/sil/erp/back/controller/api/ApiBadRequestException.java index 645aa797556509d3b61f76edaa9ca32a415b5d6d..7443d03e099094f3e357ca526c2e9d7d4ed61af0 100644 --- a/src/main/java/fr/unistra/sil/erp/back/api/controller/ApiBadRequestException.java +++ b/src/main/java/fr/unistra/sil/erp/back/controller/api/ApiBadRequestException.java @@ -2,7 +2,7 @@ * CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-B * https://cecill.info/licences/Licence_CeCILL-B_V1-fr.html */ -package fr.unistra.sil.erp.back.api.controller; +package fr.unistra.sil.erp.back.controller.api; /** * HTTP error 400 Bad Request for the API. diff --git a/src/main/java/fr/unistra/sil/erp/back/api/controller/ApiErrorHandler.java b/src/main/java/fr/unistra/sil/erp/back/controller/api/ApiErrorHandler.java similarity index 92% rename from src/main/java/fr/unistra/sil/erp/back/api/controller/ApiErrorHandler.java rename to src/main/java/fr/unistra/sil/erp/back/controller/api/ApiErrorHandler.java index 749f936e8f2e83b606bf8154f928ea26c90da2ad..2e85fb611529485eb509262a33e6e22b77bee8cf 100644 --- a/src/main/java/fr/unistra/sil/erp/back/api/controller/ApiErrorHandler.java +++ b/src/main/java/fr/unistra/sil/erp/back/controller/api/ApiErrorHandler.java @@ -2,9 +2,9 @@ * CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-B * https://cecill.info/licences/Licence_CeCILL-B_V1-fr.html */ -package fr.unistra.sil.erp.back.api.controller; +package fr.unistra.sil.erp.back.controller.api; -import fr.unistra.sil.erp.back.api.model.ErrorMessage; +import fr.unistra.sil.erp.back.model.ErrorMessage; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.http.HttpStatus; diff --git a/src/main/java/fr/unistra/sil/erp/back/api/controller/ApiRetrieveCategoriesController.java b/src/main/java/fr/unistra/sil/erp/back/controller/api/ApiRetrieveCategoriesController.java similarity index 85% rename from src/main/java/fr/unistra/sil/erp/back/api/controller/ApiRetrieveCategoriesController.java rename to src/main/java/fr/unistra/sil/erp/back/controller/api/ApiRetrieveCategoriesController.java index 369679877448f3bbe56689a75e16752c82f05621..fa4a767df3d1d302acd0bec3952e3620f000e2b8 100644 --- a/src/main/java/fr/unistra/sil/erp/back/api/controller/ApiRetrieveCategoriesController.java +++ b/src/main/java/fr/unistra/sil/erp/back/controller/api/ApiRetrieveCategoriesController.java @@ -2,11 +2,12 @@ * CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-B * https://cecill.info/licences/Licence_CeCILL-B_V1-fr.html */ -package fr.unistra.sil.erp.back.api.controller; +package fr.unistra.sil.erp.back.controller.api; import static fr.unistra.sil.erp.back.Config.MAPPING_GETCATEGORIES; import fr.unistra.sil.erp.back.DatabaseSystem; -import fr.unistra.sil.erp.back.api.model.Category; +import fr.unistra.sil.erp.back.controller.IRetrieveCategoriesController; +import fr.unistra.sil.erp.back.model.Category; import fr.unistra.sil.erp.back.db.DatabaseConnectionException; import fr.unistra.sil.erp.back.db.DatabaseInterface; import java.util.List; @@ -22,7 +23,8 @@ import org.springframework.web.bind.annotation.RestController; * @author BEAUVAIS ANTOINE */ @RestController -public class ApiRetrieveCategoriesController { +public class ApiRetrieveCategoriesController + implements IRetrieveCategoriesController { /** * Returns the list of categories in JSON format. @@ -30,6 +32,7 @@ public class ApiRetrieveCategoriesController { * @throws ApiServerErrorException Database failure. */ @GetMapping(MAPPING_GETCATEGORIES) + @Override public ResponseEntity<Object> getCategories() throws ApiServerErrorException { DatabaseInterface db; diff --git a/src/main/java/fr/unistra/sil/erp/back/api/controller/ApiRetrieveInfoController.java b/src/main/java/fr/unistra/sil/erp/back/controller/api/ApiRetrieveInfoController.java similarity index 84% rename from src/main/java/fr/unistra/sil/erp/back/api/controller/ApiRetrieveInfoController.java rename to src/main/java/fr/unistra/sil/erp/back/controller/api/ApiRetrieveInfoController.java index 3593e99a0488eeee4e71cd1edfb45feb5696192b..c5a884f1fb3eb0ab2749c29684f997c7224352ed 100644 --- a/src/main/java/fr/unistra/sil/erp/back/api/controller/ApiRetrieveInfoController.java +++ b/src/main/java/fr/unistra/sil/erp/back/controller/api/ApiRetrieveInfoController.java @@ -2,11 +2,12 @@ * CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-B * https://cecill.info/licences/Licence_CeCILL-B_V1-fr.html */ -package fr.unistra.sil.erp.back.api.controller; +package fr.unistra.sil.erp.back.controller.api; import static fr.unistra.sil.erp.back.Config.MAPPING_RETRIEVEALL; import fr.unistra.sil.erp.back.DatabaseSystem; -import fr.unistra.sil.erp.back.api.model.Item; +import fr.unistra.sil.erp.back.controller.IRetrieveInfoController; +import fr.unistra.sil.erp.back.model.Item; import fr.unistra.sil.erp.back.db.DatabaseConnectionException; import fr.unistra.sil.erp.back.db.DatabaseInterface; import java.util.List; @@ -20,17 +21,17 @@ import org.springframework.web.bind.annotation.RestController; /** * REST controller for the item list. - * @author BEAUVAIS ANTOINE <antoine.beauvais@etu.unistra.fr> + * @author BEAUVAIS ANTOINE */ @RestController -public class ApiRetrieveInfoController { +public class ApiRetrieveInfoController implements IRetrieveInfoController { /** * Returns all products as a JSON response. * @param cat an optional category. * @return a JSON response. - * @throws fr.unistra.sil.erp.back.api.controller.ApiServerErrorException - * @throws fr.unistra.sil.erp.back.api.controller.ApiBadRequestException + * @throws fr.unistra.sil.erp.back.controller.api.ApiServerErrorException + * @throws fr.unistra.sil.erp.back.controller.api.ApiBadRequestException */ @GetMapping(MAPPING_RETRIEVEALL) public ResponseEntity<Object> retrieveInfo( diff --git a/src/main/java/fr/unistra/sil/erp/back/api/controller/ApiServerErrorException.java b/src/main/java/fr/unistra/sil/erp/back/controller/api/ApiServerErrorException.java similarity index 88% rename from src/main/java/fr/unistra/sil/erp/back/api/controller/ApiServerErrorException.java rename to src/main/java/fr/unistra/sil/erp/back/controller/api/ApiServerErrorException.java index 235fc9883ec845054c0d6597718c7a772368933e..7cfe6a04e2f1049bfd5c91c077e507196f95a6ba 100644 --- a/src/main/java/fr/unistra/sil/erp/back/api/controller/ApiServerErrorException.java +++ b/src/main/java/fr/unistra/sil/erp/back/controller/api/ApiServerErrorException.java @@ -2,7 +2,7 @@ * CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-B * https://cecill.info/licences/Licence_CeCILL-B_V1-fr.html */ -package fr.unistra.sil.erp.back.api.controller; +package fr.unistra.sil.erp.back.controller.api; /** * Returns HTTP 500 error page. diff --git a/src/main/java/fr/unistra/sil/erp/back/api/controller/ApiSubmitTransactionController.java b/src/main/java/fr/unistra/sil/erp/back/controller/api/ApiSubmitTransactionController.java similarity index 82% rename from src/main/java/fr/unistra/sil/erp/back/api/controller/ApiSubmitTransactionController.java rename to src/main/java/fr/unistra/sil/erp/back/controller/api/ApiSubmitTransactionController.java index 761f360c59151607bf1a205ee2341de074803f73..0074b6c49db16e1095c931eb5a78ddaf6c95d283 100644 --- a/src/main/java/fr/unistra/sil/erp/back/api/controller/ApiSubmitTransactionController.java +++ b/src/main/java/fr/unistra/sil/erp/back/controller/api/ApiSubmitTransactionController.java @@ -2,9 +2,10 @@ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template */ -package fr.unistra.sil.erp.back.api.controller; +package fr.unistra.sil.erp.back.controller.api; import static fr.unistra.sil.erp.back.Config.MAPPING_SUBTRANSAC; +import fr.unistra.sil.erp.back.controller.ISubmitTransactionController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.http.ResponseEntity; @@ -17,7 +18,8 @@ import org.springframework.web.bind.annotation.RestController; * @author BEAUVAIS ANTOINE */ @RestController -public class ApiSubmitTransactionController { +public class ApiSubmitTransactionController + implements ISubmitTransactionController { @RequestMapping(value=MAPPING_SUBTRANSAC, method = RequestMethod.POST) public ResponseEntity<Object> submitTransaction(HttpServletRequest request, diff --git a/src/main/java/fr/unistra/sil/erp/back/db/DatabaseInterface.java b/src/main/java/fr/unistra/sil/erp/back/db/DatabaseInterface.java index 4c4b6176528a3e0ed2e2a5c083c7ac63b16d229f..d9b5f58e389390dea081aefe3bc791b2c25d42e3 100644 --- a/src/main/java/fr/unistra/sil/erp/back/db/DatabaseInterface.java +++ b/src/main/java/fr/unistra/sil/erp/back/db/DatabaseInterface.java @@ -4,8 +4,8 @@ */ package fr.unistra.sil.erp.back.db; -import fr.unistra.sil.erp.back.api.model.Category; -import fr.unistra.sil.erp.back.api.model.Item; +import fr.unistra.sil.erp.back.model.Category; +import fr.unistra.sil.erp.back.model.Item; import java.util.List; /** diff --git a/src/main/java/fr/unistra/sil/erp/back/db/DatabaseSQLiteImpl.java b/src/main/java/fr/unistra/sil/erp/back/db/DatabaseSQLiteImpl.java index ce99530291f21dd3eb2261e01893e83b111178eb..a67ae65915d436a7eb51c257d4b15d08c01b6e11 100644 --- a/src/main/java/fr/unistra/sil/erp/back/db/DatabaseSQLiteImpl.java +++ b/src/main/java/fr/unistra/sil/erp/back/db/DatabaseSQLiteImpl.java @@ -4,8 +4,8 @@ */ package fr.unistra.sil.erp.back.db; -import fr.unistra.sil.erp.back.api.model.Category; -import fr.unistra.sil.erp.back.api.model.Item; +import fr.unistra.sil.erp.back.model.Category; +import fr.unistra.sil.erp.back.model.Item; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; diff --git a/src/main/java/fr/unistra/sil/erp/back/api/model/Category.java b/src/main/java/fr/unistra/sil/erp/back/model/Category.java similarity index 95% rename from src/main/java/fr/unistra/sil/erp/back/api/model/Category.java rename to src/main/java/fr/unistra/sil/erp/back/model/Category.java index d27c80f355e9293c48179d49d242fe38820c7c9c..9e0fd210faf8a5c5f3938578adcf9d8de04e055d 100644 --- a/src/main/java/fr/unistra/sil/erp/back/api/model/Category.java +++ b/src/main/java/fr/unistra/sil/erp/back/model/Category.java @@ -2,7 +2,7 @@ * CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-B * https://cecill.info/licences/Licence_CeCILL-B_V1-fr.html */ -package fr.unistra.sil.erp.back.api.model; +package fr.unistra.sil.erp.back.model; /** * Category entity. diff --git a/src/main/java/fr/unistra/sil/erp/back/api/model/ErrorMessage.java b/src/main/java/fr/unistra/sil/erp/back/model/ErrorMessage.java similarity index 90% rename from src/main/java/fr/unistra/sil/erp/back/api/model/ErrorMessage.java rename to src/main/java/fr/unistra/sil/erp/back/model/ErrorMessage.java index b0b869bf2dd8765aedbf3b05b2a770513b76de0a..c7fac546bdce415764dab989a3718df8bcdf7486 100644 --- a/src/main/java/fr/unistra/sil/erp/back/api/model/ErrorMessage.java +++ b/src/main/java/fr/unistra/sil/erp/back/model/ErrorMessage.java @@ -2,7 +2,7 @@ * CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-B * https://cecill.info/licences/Licence_CeCILL-B_V1-fr.html */ -package fr.unistra.sil.erp.back.api.model; +package fr.unistra.sil.erp.back.model; /** * JSON error message. diff --git a/src/main/java/fr/unistra/sil/erp/back/api/model/Item.java b/src/main/java/fr/unistra/sil/erp/back/model/Item.java similarity index 98% rename from src/main/java/fr/unistra/sil/erp/back/api/model/Item.java rename to src/main/java/fr/unistra/sil/erp/back/model/Item.java index 0ff85122062e64fcbe5f0a6df58cc8de7ec16796..b37069dd569ff126f909c26bcde7feda0a1b6ecc 100644 --- a/src/main/java/fr/unistra/sil/erp/back/api/model/Item.java +++ b/src/main/java/fr/unistra/sil/erp/back/model/Item.java @@ -2,7 +2,7 @@ * CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-B * https://cecill.info/licences/Licence_CeCILL-B_V1-fr.html */ -package fr.unistra.sil.erp.back.api.model; +package fr.unistra.sil.erp.back.model; import java.math.BigDecimal; diff --git a/src/main/java/fr/unistra/sil/erp/back/api/model/RegistryEntry.java b/src/main/java/fr/unistra/sil/erp/back/model/RegistryEntry.java similarity index 97% rename from src/main/java/fr/unistra/sil/erp/back/api/model/RegistryEntry.java rename to src/main/java/fr/unistra/sil/erp/back/model/RegistryEntry.java index 90d7ab7d67a46d8cee9973576cdbff6ebe4e7982..1bd908b6e07293d9062144decd026cf916b76370 100644 --- a/src/main/java/fr/unistra/sil/erp/back/api/model/RegistryEntry.java +++ b/src/main/java/fr/unistra/sil/erp/back/model/RegistryEntry.java @@ -2,7 +2,7 @@ * CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-B * https://cecill.info/licences/Licence_CeCILL-B_V1-fr.html */ -package fr.unistra.sil.erp.back.api.model; +package fr.unistra.sil.erp.back.model; import java.math.BigDecimal; import java.time.LocalDateTime;