From ef79540dd30b3d93a95a359bc739ac26e7fefc2e Mon Sep 17 00:00:00 2001 From: prenaudat Date: Mon, 9 Feb 2015 15:15:48 +0100 Subject: [PATCH] Error message display internationalized. CLI update, now works with spring injection --- .gitignore | 1 + .../rest-demo-minute.2015-01-30_16-23.log | 0 c:/tmp/rest-demo.log | 0 pom.xml | 13 +- .../excilys/computerdatabase/cli/Client.java | 113 ++++++++++-------- .../controller/AddComputer.java | 13 +- .../controller/DashBoard.java | 13 +- .../controller/EditComputer.java | 12 +- .../dao/impl/ComputerDAO.java | 4 +- .../computerdatabase/dto/ComputerDTO.java | 12 +- .../mapper/dto/impl/CompanyDTOMapper.java | 48 -------- .../mapper/dto/impl/CompanyDTOMapperImpl.java | 74 ++++++++++++ ...Mapper.java => ComputerDTOMapperImpl.java} | 18 +-- .../computerdatabase/model/Company.java | 8 +- .../computerdatabase/model/Computer.java | 6 - .../computerdatabase/pagination/Page.java | 2 +- ...ceInterface.java => CompanyDBService.java} | 2 +- ...eInterface.java => ComputerDBService.java} | 4 +- ...Service.java => CompanyDBServiceImpl.java} | 4 +- ...ervice.java => ComputerDBServiceImpl.java} | 54 +++++++-- .../validator/ComputerDTOValidator.java | 19 ++- .../computerdatabase/validator/Validator.java | 109 ----------------- src/main/resources/context.xml | 33 +++++ src/main/resources/messages_en.properties | 4 + src/main/resources/messages_fr.properties | 3 +- src/main/webapp/WEB-INF/views/addComputer.jsp | 48 +++++--- src/main/webapp/WEB-INF/views/dashboard.jsp | 4 +- .../webapp/WEB-INF/views/editComputer.jsp | 32 ++--- .../computerdatabase/dao/ComputerDAOMock.java | 4 +- .../service/CompanyDBServiceMock.java | 4 +- .../service/CompanyDBServiceTest.java | 2 +- .../service/ComputerDBServiceMock.java | 4 +- 32 files changed, 336 insertions(+), 331 deletions(-) delete mode 100644 c:/tmp/minutes/rest-demo-minute.2015-01-30_16-23.log delete mode 100644 c:/tmp/rest-demo.log delete mode 100644 src/main/java/com/excilys/computerdatabase/mapper/dto/impl/CompanyDTOMapper.java create mode 100644 src/main/java/com/excilys/computerdatabase/mapper/dto/impl/CompanyDTOMapperImpl.java rename src/main/java/com/excilys/computerdatabase/mapper/dto/impl/{ComputerDTOMapper.java => ComputerDTOMapperImpl.java} (79%) rename src/main/java/com/excilys/computerdatabase/service/{CompanyDBServiceInterface.java => CompanyDBService.java} (89%) rename src/main/java/com/excilys/computerdatabase/service/{ComputerDBServiceInterface.java => ComputerDBService.java} (89%) rename src/main/java/com/excilys/computerdatabase/service/impl/{CompanyDBService.java => CompanyDBServiceImpl.java} (87%) rename src/main/java/com/excilys/computerdatabase/service/impl/{ComputerDBService.java => ComputerDBServiceImpl.java} (59%) delete mode 100644 src/main/java/com/excilys/computerdatabase/validator/Validator.java create mode 100644 src/main/resources/context.xml diff --git a/.gitignore b/.gitignore index 10b2c98..0a7f7ed 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,4 @@ target/ *.jar *.war *.ear +c:/* diff --git a/c:/tmp/minutes/rest-demo-minute.2015-01-30_16-23.log b/c:/tmp/minutes/rest-demo-minute.2015-01-30_16-23.log deleted file mode 100644 index e69de29..0000000 diff --git a/c:/tmp/rest-demo.log b/c:/tmp/rest-demo.log deleted file mode 100644 index e69de29..0000000 diff --git a/pom.xml b/pom.xml index 50d26d6..added81 100644 --- a/pom.xml +++ b/pom.xml @@ -18,7 +18,9 @@ 0.8.0.RELEASE 4.1.4.RELEASE 1.7.10 - + 1.4.1 + 5.0.1.Final + 1.1.0.Final @@ -133,12 +135,17 @@ javax.validation validation-api - 1.1.0.Final + ${javax-validation.version} org.hibernate hibernate-validator - 5.0.1.Final + ${hibernate-validator.version} + + + commons-validator + commons-validator + ${commons-validator.version} diff --git a/src/main/java/com/excilys/computerdatabase/cli/Client.java b/src/main/java/com/excilys/computerdatabase/cli/Client.java index a441ec6..d86ab7d 100644 --- a/src/main/java/com/excilys/computerdatabase/cli/Client.java +++ b/src/main/java/com/excilys/computerdatabase/cli/Client.java @@ -1,32 +1,36 @@ package com.excilys.computerdatabase.cli; import java.time.LocalDate; +import java.util.Locale; import java.util.Scanner; -import org.springframework.web.context.support.SpringBeanAutowiringSupport; +import org.apache.commons.validator.GenericValidator; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.support.ClassPathXmlApplicationContext; import com.excilys.computerdatabase.model.Company; import com.excilys.computerdatabase.model.Computer; import com.excilys.computerdatabase.pagination.Page; -import com.excilys.computerdatabase.service.impl.CompanyDBService; -import com.excilys.computerdatabase.service.impl.ComputerDBService; -import com.excilys.computerdatabase.validator.Validator; +import com.excilys.computerdatabase.service.impl.CompanyDBServiceImpl; +import com.excilys.computerdatabase.service.impl.ComputerDBServiceImpl; /** * @author excilys * */ public class Client { - //Database Services - private ComputerDBService computerDBService; - private CompanyDBService companyDBService; - //Page index for Company and Computer Directory + // Database Services + private ComputerDBServiceImpl computerDBService; + private CompanyDBServiceImpl companyDBService; + // Page index for Company and Computer Directory Page page; private Boolean loop; private Scanner sc; + private static final String FAIL = "You failed to select an available option, please try again"; private static final String MAIN_MENU = "A) List computers \nB) List companies \nC) Detailed computer view \nD) Create a computer \nE) Update a computer \nF) Delete a computer \nG) Change page size \nH) Delete Company+Computers"; - //Logger for this class + + // Logger for this class /** * Display page of Computers and calls Computer Menu @@ -35,8 +39,7 @@ public class Client { public void getComputerList() { Boolean innerLoop = true; while (innerLoop) { - System.out.println(computerDBService.getPage( - page.getPageNumber())); + System.out.println(computerDBService.getPage(page.getPageNumber())); innerLoop = getComputerListMenu(); } } @@ -50,7 +53,7 @@ public void getComputerById() { while (detailedLoop) { System.out.println("Id of computer to visualize?"); final String id = sc.nextLine(); - detailedLoop = !Validator.isValidNumber(id); + detailedLoop = GenericValidator.isLong(id); if (!detailedLoop) { System.out.println(computerDBService.get(Integer.parseInt(id))); detailedLoop = getComputerMenu(Integer.parseInt(id)); @@ -69,9 +72,9 @@ public void deleteComputer() { System.out .println("Enter id of computer would you like to delete?"); id = sc.nextLine(); - deleteLoop = !Validator.isValidNumber(id); + deleteLoop = GenericValidator.isLong(id); } - computerDBService.remove(Long.parseLong(id)); + computerDBService.remove(id); } /** @@ -84,8 +87,8 @@ public void updateComputer() { case "a": Boolean displayLoop = true; while (displayLoop) { - System.out.println(computerDBService.getPage( - page.getPageNumber())); + System.out.println(computerDBService.getPage(page + .getPageNumber())); displayLoop = getComputerListMenu(); } break; @@ -95,7 +98,7 @@ public void updateComputer() { while (idValidation) { System.out.println("Id of computer to update?"); input = sc.nextLine(); - idValidation = !Validator.isValidNumber(input); + idValidation = GenericValidator.isLong(input); } Boolean nameLoop = true; Computer c = computerDBService.get(Long.parseLong(input)); @@ -103,7 +106,7 @@ public void updateComputer() { System.out.println("Current name is : " + c.getName()); System.out.println("New name?"); String name = sc.nextLine(); - nameLoop = !Validator.isValidString(name); + nameLoop = !GenericValidator.minLength(name, 1); if (!nameLoop) { c.setName(name); } @@ -115,7 +118,8 @@ public void updateComputer() { System.out .println("New introduction year? Format : YYYY-MM-DD"); String introduced = sc.nextLine(); - introducedLoop = !Validator.isValidDate(introduced); + introducedLoop = !GenericValidator.isDate(introduced, + Locale.FRANCE); if (!introducedLoop) { c.setIntroduced(LocalDate.parse(introduced)); } @@ -127,7 +131,8 @@ public void updateComputer() { System.out .println("New introduction year? Format : YYYY-MM-DD"); String discontinued = sc.nextLine(); - discontinuedLoop = !Validator.isValidDate(discontinued); + discontinuedLoop = !GenericValidator.isDate(discontinued, + Locale.FRANCE); if (!discontinuedLoop) { c.setDiscontinued(LocalDate.parse(discontinued)); } @@ -136,10 +141,10 @@ public void updateComputer() { while (companyLoop) { System.out.println("new company ID?"); String id = sc.nextLine(); - companyLoop = !Validator.isValidNumber(id); + companyLoop = !GenericValidator.isLong(id); if (!companyLoop) { - c.setCompany(new Company.CompanyBuilder().id( - Long.parseLong(id)).build()); + c.setCompany(new Company.Builder().id(Long.parseLong(id)) + .build()); } } computerDBService.update(c); @@ -148,9 +153,8 @@ public void updateComputer() { } - /** - *Create computer + * Create computer * */ public void createComputer() { @@ -159,7 +163,7 @@ public void createComputer() { while (nameLoop) { System.out.println("New name?"); String name = sc.nextLine(); - nameLoop = !Validator.isValidString(name); + nameLoop = !GenericValidator.minLength(name, 1); if (!nameLoop) { c.name(name); } @@ -168,7 +172,8 @@ public void createComputer() { while (introducedLoop) { System.out.println("Introduction year? Format : YYYY-MM-DD"); String introduced = sc.nextLine(); - introducedLoop = !Validator.isValidDate(introduced); + introducedLoop = !GenericValidator + .isDate(introduced, Locale.FRANCE); if (!introducedLoop) { c.introduced(LocalDate.parse(introduced)); } @@ -177,7 +182,8 @@ public void createComputer() { while (discontinuedLoop) { System.out.println("Discontinuation year? Format : YYYY-MM-DD"); String discontinued = sc.nextLine(); - discontinuedLoop = !Validator.isValidDate(discontinued); + discontinuedLoop = !GenericValidator.isDate(discontinued, + Locale.FRANCE); if (!discontinuedLoop) { c.discontinued(LocalDate.parse(discontinued)); } @@ -186,18 +192,17 @@ public void createComputer() { while (companyLoop) { System.out.println("Company ID?"); String id = sc.nextLine(); - companyLoop = !Validator.isValidNumber(id); + companyLoop = !GenericValidator.isLong(id); if (!companyLoop) { - c.company(new Company.CompanyBuilder().id(Long.parseLong(id)) - .build()); + c.company(new Company.Builder().id(Long.parseLong(id)).build()); } } computerDBService.save(c.build()); } - /** * Displays menu after a computer is displayed + * * @param index * @return */ @@ -228,9 +233,10 @@ private Boolean getComputerMenu(int index) { return outerLoop; } - /** - * Displays menu after displaying computer List. User can change pages or return to previous menu + * Displays menu after displaying computer List. User can change pages or + * return to previous menu + * * @return */ private Boolean getComputerListMenu() { @@ -248,13 +254,13 @@ private Boolean getComputerListMenu() { page.setPageNumber(0); break; case "b": - page.setPageNumber(page.getPageNumber()+1); + page.setPageNumber(page.getPageNumber() + 1); outerLoop = true; innerLoop = false; break; case "c": if (page.getPageNumber() > page.getSize()) { - page.setPageNumber(page.getPageNumber()-1); + page.setPageNumber(page.getPageNumber() - 1); outerLoop = true; innerLoop = false; } else { @@ -273,7 +279,6 @@ private Boolean getComputerListMenu() { return outerLoop; } - /** * Returns list of companies * @@ -303,13 +308,13 @@ private Boolean getCompanyListMenu(int index) { page.setPageNumber(0); break; case "b": - page.setPageNumber(page.getPageNumber()+1); + page.setPageNumber(page.getPageNumber() + 1); innerLoop = false; outerLoop = true; break; case "c": if (page.getPageNumber() > page.getSize()) { - page.setPageNumber(page.getPageNumber()- page.getSize()); + page.setPageNumber(page.getPageNumber() - page.getSize()); innerLoop = false; outerLoop = true; } else { @@ -326,7 +331,6 @@ private Boolean getCompanyListMenu(int index) { return outerLoop; } - /** * Display page size and modify.size */ @@ -336,7 +340,7 @@ public void changePageSize() { System.out.println("Current page size is " + page.getSize() + ".\nChange page size to :"); String input = sc.nextLine(); - pageSizeLoop = !Validator.isValidNumber(input); + pageSizeLoop = !GenericValidator.isInt(input); if (!pageSizeLoop) { page.setSize(Integer.parseInt(input)); System.out.printf("Page size changed to %d \n", page.getSize()); @@ -352,28 +356,32 @@ public void deleteCompanyAndComputers() { while (massDelete) { System.out.println("Please select ID of company to delete "); String input = sc.nextLine(); - massDelete = !Validator.isValidNumber(input); + massDelete = !GenericValidator.isLong(input); if (!massDelete) { - computerDBService.remove(Long.parseLong(input)); + computerDBService.remove(input); } } } + /** - *Instantiate DBservices, associated counters + * Instantiate DBservices, associated counters */ public void init() { - SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext (this); - computerDBService = new ComputerDBService(); - companyDBService = new CompanyDBService(); + final ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( + "context.xml"); + computerDBService = (ComputerDBServiceImpl) context + .getBean("computerService"); + companyDBService = (CompanyDBServiceImpl) context + .getBean("companyService"); sc = new Scanner(System.in); loop = true; page = new Page(); mainMenu(); + context.close(); } - /** - * Display main menu loop + * Display main menu loop */ public void mainMenu() { while (loop) { @@ -418,13 +426,14 @@ public void fail() { } /** - * Execution start point: Instantiate Client and start it. - * @param args + * Execution start point: Instantiate Client and start it. + * + * @param args */ public static void main(final String[] args) { Client client = new Client(); client.init(); - + } } diff --git a/src/main/java/com/excilys/computerdatabase/controller/AddComputer.java b/src/main/java/com/excilys/computerdatabase/controller/AddComputer.java index 1521cd5..7774314 100644 --- a/src/main/java/com/excilys/computerdatabase/controller/AddComputer.java +++ b/src/main/java/com/excilys/computerdatabase/controller/AddComputer.java @@ -17,13 +17,12 @@ import org.springframework.web.servlet.view.RedirectView; import com.excilys.computerdatabase.dto.ComputerDTO; -import com.excilys.computerdatabase.mapper.dto.impl.ComputerDTOMapper; +import com.excilys.computerdatabase.mapper.dto.impl.ComputerDTOMapperImpl; import com.excilys.computerdatabase.model.Company; import com.excilys.computerdatabase.model.Computer; -import com.excilys.computerdatabase.service.impl.CompanyDBService; -import com.excilys.computerdatabase.service.impl.ComputerDBService; +import com.excilys.computerdatabase.service.impl.CompanyDBServiceImpl; +import com.excilys.computerdatabase.service.impl.ComputerDBServiceImpl; import com.excilys.computerdatabase.validator.ComputerDTOValidator; -import com.excilys.computerdatabase.validator.Validator; /** * Manage /addComputer Display and persist computer for adding @@ -34,10 +33,10 @@ @Controller public class AddComputer { @Autowired - ComputerDBService computerDBService; + ComputerDBServiceImpl computerDBService; @Autowired - CompanyDBService companyDBService; - ComputerDTOMapper computerDTOMapper = new ComputerDTOMapper(); + CompanyDBServiceImpl companyDBService; + ComputerDTOMapperImpl computerDTOMapper = new ComputerDTOMapperImpl(); @InitBinder("computerDTO") protected void initComputerDTOBinder(WebDataBinder binder) { diff --git a/src/main/java/com/excilys/computerdatabase/controller/DashBoard.java b/src/main/java/com/excilys/computerdatabase/controller/DashBoard.java index e2cc4d3..b61e4c7 100644 --- a/src/main/java/com/excilys/computerdatabase/controller/DashBoard.java +++ b/src/main/java/com/excilys/computerdatabase/controller/DashBoard.java @@ -10,10 +10,9 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.servlet.ModelAndView; -import com.excilys.computerdatabase.mapper.dto.impl.ComputerDTOMapper; +import com.excilys.computerdatabase.mapper.dto.impl.ComputerDTOMapperImpl; import com.excilys.computerdatabase.pagination.Page; -import com.excilys.computerdatabase.service.impl.ComputerDBService; -import com.excilys.computerdatabase.validator.Validator; +import com.excilys.computerdatabase.service.impl.ComputerDBServiceImpl; /** * Servlet redirects to after populating JSP with computer List @@ -23,8 +22,8 @@ @Controller public class DashBoard { @Autowired - ComputerDBService computerDBService; - ComputerDTOMapper computerDTOMapper = new ComputerDTOMapper(); + ComputerDBServiceImpl computerDBService; + ComputerDTOMapperImpl computerDTOMapper = new ComputerDTOMapperImpl(); /** * Map GET requests to /computers. @@ -46,7 +45,7 @@ protected ModelAndView get( protected ModelAndView post( @RequestParam Map allRequestParams) { Arrays.asList(allRequestParams.get("selection").split(",")).forEach( - i -> computerDBService.remove(Validator.validateInt(i))); + i -> computerDBService.remove(i)); return sendHomePage(allRequestParams); } @@ -56,7 +55,7 @@ protected ModelAndView post( * @return ModelAndView of dashboard. */ protected ModelAndView sendHomePage(Map allRequestParams) { - Page page = Validator.validateParameterList(allRequestParams); + Page page = computerDBService.generatePage(allRequestParams); page.setList(computerDBService.getPage(page).getList()); page.setTarget("computers"); return new ModelAndView("dashboard", "page", page); diff --git a/src/main/java/com/excilys/computerdatabase/controller/EditComputer.java b/src/main/java/com/excilys/computerdatabase/controller/EditComputer.java index 7f3c796..2b30a7b 100644 --- a/src/main/java/com/excilys/computerdatabase/controller/EditComputer.java +++ b/src/main/java/com/excilys/computerdatabase/controller/EditComputer.java @@ -16,9 +16,9 @@ import org.springframework.web.servlet.view.RedirectView; import com.excilys.computerdatabase.dto.ComputerDTO; -import com.excilys.computerdatabase.mapper.dto.impl.ComputerDTOMapper; -import com.excilys.computerdatabase.service.impl.CompanyDBService; -import com.excilys.computerdatabase.service.impl.ComputerDBService; +import com.excilys.computerdatabase.mapper.dto.impl.ComputerDTOMapperImpl; +import com.excilys.computerdatabase.service.impl.CompanyDBServiceImpl; +import com.excilys.computerdatabase.service.impl.ComputerDBServiceImpl; import com.excilys.computerdatabase.validator.ComputerDTOValidator; /** @@ -30,10 +30,10 @@ @Controller public class EditComputer { @Autowired - ComputerDBService computerDBService; + ComputerDBServiceImpl computerDBService; @Autowired - CompanyDBService companyDBService; - ComputerDTOMapper computerDTOMapper = new ComputerDTOMapper(); + CompanyDBServiceImpl companyDBService; + ComputerDTOMapperImpl computerDTOMapper = new ComputerDTOMapperImpl(); /** * Initialize and bind ComputerDTOValidator diff --git a/src/main/java/com/excilys/computerdatabase/dao/impl/ComputerDAO.java b/src/main/java/com/excilys/computerdatabase/dao/impl/ComputerDAO.java index 620ca48..c98837f 100644 --- a/src/main/java/com/excilys/computerdatabase/dao/impl/ComputerDAO.java +++ b/src/main/java/com/excilys/computerdatabase/dao/impl/ComputerDAO.java @@ -12,7 +12,7 @@ import org.springframework.stereotype.Repository; import com.excilys.computerdatabase.dao.ComputerDAOInterface; -import com.excilys.computerdatabase.mapper.dto.impl.ComputerDTOMapper; +import com.excilys.computerdatabase.mapper.dto.impl.ComputerDTOMapperImpl; import com.excilys.computerdatabase.mapper.row.impl.ComputerMapper; import com.excilys.computerdatabase.model.Computer; import com.excilys.computerdatabase.pagination.Page; @@ -32,7 +32,7 @@ public class ComputerDAO implements ComputerDAOInterface { private static final String COUNT_STMT = "SELECT COUNT(cpt.id) FROM computer cpt LEFT JOIN company cmp ON cpt.company_id=cmp.id WHERE cpt.name LIKE ? OR cmp.name LIKE ?"; private static final String PAGE_QUERY = "SELECT cpt.id, cpt.name, cpt.introduced, cpt.discontinued, cmp.id as company_id, cmp.name as company_name FROM computer cpt LEFT JOIN company cmp ON cpt.company_id=cmp.id WHERE cpt.name LIKE ? OR cmp.name LIKE ? "; private static final String DELETE_COMPANY_COMPUTERS = "DELETE FROM computer WHERE company_id=?"; - private ComputerDTOMapper computerDTOMapper = new ComputerDTOMapper(); + private ComputerDTOMapperImpl computerDTOMapper = new ComputerDTOMapperImpl(); @Autowired private DataSource dataSource; private static int pageSize = 10; diff --git a/src/main/java/com/excilys/computerdatabase/dto/ComputerDTO.java b/src/main/java/com/excilys/computerdatabase/dto/ComputerDTO.java index ab0d2cc..e07d3cb 100644 --- a/src/main/java/com/excilys/computerdatabase/dto/ComputerDTO.java +++ b/src/main/java/com/excilys/computerdatabase/dto/ComputerDTO.java @@ -6,6 +6,8 @@ import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; +import org.springframework.format.annotation.DateTimeFormat; + /** * @author excilys Computer Data Transfer Object */ @@ -65,12 +67,7 @@ public String getDiscontinued() { } public void setDiscontinued(String discontinued) { - if (discontinued != null) { this.discontinued = discontinued.toString(); - } - if (discontinued.length() != 10) { - this.discontinued = null; - } } public Long getCompanyId() { @@ -82,12 +79,7 @@ public void setCompanyId(Long companyId) { } public void setIntroduced(String introduced) { - if (introduced != null) { this.introduced = introduced.toString(); - } - if (introduced.length() != 10) { - this.introduced = null; - } } @Override diff --git a/src/main/java/com/excilys/computerdatabase/mapper/dto/impl/CompanyDTOMapper.java b/src/main/java/com/excilys/computerdatabase/mapper/dto/impl/CompanyDTOMapper.java deleted file mode 100644 index 11ca5df..0000000 --- a/src/main/java/com/excilys/computerdatabase/mapper/dto/impl/CompanyDTOMapper.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.excilys.computerdatabase.mapper.dto.impl; - -import java.util.List; - -import com.excilys.computerdatabase.dto.CompanyDTO; -import com.excilys.computerdatabase.dto.ComputerDTO; -import com.excilys.computerdatabase.mapper.dto.DTOMapper; -import com.excilys.computerdatabase.model.Company; -import com.excilys.computerdatabase.model.Computer; - -/** - * Map between Company and CompanyDTO - * @author excilys - * - */ -public class CompanyDTOMapper implements DTOMapper { - - /* (non-Javadoc) - * @see com.excilys.computerdatabase.mapper.dto.DTOMapper#mapToDTO(java.lang.Object) - */ - @Override - public CompanyDTO mapToDTO(Company c) { - return new CompanyDTO(c.getId(),c.getName()); - } - - /* (non-Javadoc) - * @see com.excilys.computerdatabase.mapper.dto.DTOMapper#mapFromDTO(java.lang.Object) - */ - @Override - public Company mapFromDTO(CompanyDTO c) { - return new Company(c.getId(),c.getName()); - - } - - @Override - public List mapToDTO(List y) { - // TODO Auto-generated method stub - return null; - } - - @Override - public List mapFromDTO(List x) { - // TODO Auto-generated method stub - return null; - } - - -} diff --git a/src/main/java/com/excilys/computerdatabase/mapper/dto/impl/CompanyDTOMapperImpl.java b/src/main/java/com/excilys/computerdatabase/mapper/dto/impl/CompanyDTOMapperImpl.java new file mode 100644 index 0000000..f45c609 --- /dev/null +++ b/src/main/java/com/excilys/computerdatabase/mapper/dto/impl/CompanyDTOMapperImpl.java @@ -0,0 +1,74 @@ +package com.excilys.computerdatabase.mapper.dto.impl; + +import java.util.ArrayList; +import java.util.List; + +import com.excilys.computerdatabase.dto.CompanyDTO; +import com.excilys.computerdatabase.mapper.dto.DTOMapper; +import com.excilys.computerdatabase.model.Company; + +/** + * Map between Company and CompanyDTO + * + * @author excilys + * + */ +public class CompanyDTOMapperImpl implements DTOMapper { + + /* + * (non-Javadoc) + * + * @see + * com.excilys.computerdatabase.mapper.dto.DTOMapper#mapToDTO(java.lang. + * Object) + */ + @Override + public CompanyDTO mapToDTO(Company c) { + return new CompanyDTO(c.getId(), c.getName()); + } + + /* + * (non-Javadoc) + * + * @see + * com.excilys.computerdatabase.mapper.dto.DTOMapper#mapFromDTO(java.lang + * .Object) + */ + @Override + public Company mapFromDTO(CompanyDTO c) { + return new Company(c.getId(), c.getName()); + + } + + /* + * (non-Javadoc) + * + * @see + * com.excilys.computerdatabase.mapper.dto.DTOMapper#mapToDTO(java.util. + * List) + */ + @Override + public List mapToDTO(List y) { + List dtoList = new ArrayList(); + y.forEach(c -> { + dtoList.add(mapToDTO(c)); + }); + return dtoList; + } + + /* + * (non-Javadoc) + * + * @see + * com.excilys.computerdatabase.mapper.dto.DTOMapper#mapFromDTO(java.util + * .List) + */ + @Override + public List mapFromDTO(List x) { + List companyList = new ArrayList(); + x.forEach(c -> { + companyList.add(mapFromDTO(c)); + }); + return companyList; + } +} diff --git a/src/main/java/com/excilys/computerdatabase/mapper/dto/impl/ComputerDTOMapper.java b/src/main/java/com/excilys/computerdatabase/mapper/dto/impl/ComputerDTOMapperImpl.java similarity index 79% rename from src/main/java/com/excilys/computerdatabase/mapper/dto/impl/ComputerDTOMapper.java rename to src/main/java/com/excilys/computerdatabase/mapper/dto/impl/ComputerDTOMapperImpl.java index 79df551..31b41a9 100644 --- a/src/main/java/com/excilys/computerdatabase/mapper/dto/impl/ComputerDTOMapper.java +++ b/src/main/java/com/excilys/computerdatabase/mapper/dto/impl/ComputerDTOMapperImpl.java @@ -14,7 +14,7 @@ * @author excilys * */ -public class ComputerDTOMapper implements DTOMapper { +public class ComputerDTOMapperImpl implements DTOMapper { /* * (non-Javadoc) @@ -42,14 +42,11 @@ public ComputerDTO mapToDTO(Computer c) { */ @Override public Computer mapFromDTO(ComputerDTO x) { - return new Computer.Builder() - .id(x.getId()) - .name(x.getName()) + return new Computer.Builder().id(x.getId()).name(x.getName()) .introduced(x.getIntroduced()) .discontinued(x.getDiscontinued()) - .company( - new Company.CompanyBuilder().id(x.getCompanyId()) - .build()).build(); + .company(new Company.Builder().id(x.getCompanyId()).build()) + .build(); } @Override @@ -63,7 +60,10 @@ public List mapToDTO(List computer) { @Override public List mapFromDTO(List x) { - return null; + List computerList = new ArrayList(); + x.forEach(c -> { + computerList.add(mapFromDTO(c)); + }); + return computerList; } - } diff --git a/src/main/java/com/excilys/computerdatabase/model/Company.java b/src/main/java/com/excilys/computerdatabase/model/Company.java index 3dbd7e4..dc3f4a3 100644 --- a/src/main/java/com/excilys/computerdatabase/model/Company.java +++ b/src/main/java/com/excilys/computerdatabase/model/Company.java @@ -110,20 +110,20 @@ public Company() { * @author excilys * */ - public static class CompanyBuilder { + public static class Builder { private Company company = new Company(); - public CompanyBuilder() { + public Builder() { company.setId(null); company.name = null; } - public CompanyBuilder id(final long id) { + public Builder id(final long id) { company.id = id; return this; } - public CompanyBuilder name(final String name) { + public Builder name(final String name) { company.name = name; return this; } diff --git a/src/main/java/com/excilys/computerdatabase/model/Computer.java b/src/main/java/com/excilys/computerdatabase/model/Computer.java index a00749d..133d620 100644 --- a/src/main/java/com/excilys/computerdatabase/model/Computer.java +++ b/src/main/java/com/excilys/computerdatabase/model/Computer.java @@ -4,8 +4,6 @@ import java.time.LocalDate; import java.time.LocalDateTime; -import com.excilys.computerdatabase.validator.Validator; - /** * Computer Object Class * @author paulr_000 @@ -45,11 +43,7 @@ public String getName() { * @param name Name to be set */ public void setName(String name) { - if(Validator.isValidString(name)){ this.name = name; - }else{ - this.name=""; - } } /** diff --git a/src/main/java/com/excilys/computerdatabase/pagination/Page.java b/src/main/java/com/excilys/computerdatabase/pagination/Page.java index fded45e..ccd07d1 100644 --- a/src/main/java/com/excilys/computerdatabase/pagination/Page.java +++ b/src/main/java/com/excilys/computerdatabase/pagination/Page.java @@ -15,7 +15,7 @@ * @author excilys * */ -public class Page { +public class Page{ // A page has a size, a pageNumber, a list of Computers, is sorted(id, name, // introduced company or discontinued) and ordered(asc or desc) private int size; diff --git a/src/main/java/com/excilys/computerdatabase/service/CompanyDBServiceInterface.java b/src/main/java/com/excilys/computerdatabase/service/CompanyDBService.java similarity index 89% rename from src/main/java/com/excilys/computerdatabase/service/CompanyDBServiceInterface.java rename to src/main/java/com/excilys/computerdatabase/service/CompanyDBService.java index 2b4dac1..a1147ce 100644 --- a/src/main/java/com/excilys/computerdatabase/service/CompanyDBServiceInterface.java +++ b/src/main/java/com/excilys/computerdatabase/service/CompanyDBService.java @@ -9,7 +9,7 @@ * @author paulr_000 * */ -public interface CompanyDBServiceInterface { +public interface CompanyDBService { public Company get(long id); diff --git a/src/main/java/com/excilys/computerdatabase/service/ComputerDBServiceInterface.java b/src/main/java/com/excilys/computerdatabase/service/ComputerDBService.java similarity index 89% rename from src/main/java/com/excilys/computerdatabase/service/ComputerDBServiceInterface.java rename to src/main/java/com/excilys/computerdatabase/service/ComputerDBService.java index 2fb9c38..f3d2f72 100644 --- a/src/main/java/com/excilys/computerdatabase/service/ComputerDBServiceInterface.java +++ b/src/main/java/com/excilys/computerdatabase/service/ComputerDBService.java @@ -7,7 +7,7 @@ * @author excilys * */ -public interface ComputerDBServiceInterface { +public interface ComputerDBService { /** * @param pageNumber * @return @@ -23,7 +23,7 @@ public interface ComputerDBServiceInterface { /** * @param id */ - public void remove(final long id); + public void remove(String id); /** * @param computer diff --git a/src/main/java/com/excilys/computerdatabase/service/impl/CompanyDBService.java b/src/main/java/com/excilys/computerdatabase/service/impl/CompanyDBServiceImpl.java similarity index 87% rename from src/main/java/com/excilys/computerdatabase/service/impl/CompanyDBService.java rename to src/main/java/com/excilys/computerdatabase/service/impl/CompanyDBServiceImpl.java index f961823..ae28e10 100644 --- a/src/main/java/com/excilys/computerdatabase/service/impl/CompanyDBService.java +++ b/src/main/java/com/excilys/computerdatabase/service/impl/CompanyDBServiceImpl.java @@ -9,14 +9,14 @@ import com.excilys.computerdatabase.dao.impl.CompanyDAO; import com.excilys.computerdatabase.model.Company; import com.excilys.computerdatabase.pagination.Page; -import com.excilys.computerdatabase.service.CompanyDBServiceInterface; +import com.excilys.computerdatabase.service.CompanyDBService; /** * @author excilys * */ @Service("companyService") -public class CompanyDBService implements CompanyDBServiceInterface { +public class CompanyDBServiceImpl implements CompanyDBService { @Autowired CompanyDAO companyDAO; diff --git a/src/main/java/com/excilys/computerdatabase/service/impl/ComputerDBService.java b/src/main/java/com/excilys/computerdatabase/service/impl/ComputerDBServiceImpl.java similarity index 59% rename from src/main/java/com/excilys/computerdatabase/service/impl/ComputerDBService.java rename to src/main/java/com/excilys/computerdatabase/service/impl/ComputerDBServiceImpl.java index 3d409b8..36b8353 100644 --- a/src/main/java/com/excilys/computerdatabase/service/impl/ComputerDBService.java +++ b/src/main/java/com/excilys/computerdatabase/service/impl/ComputerDBServiceImpl.java @@ -1,7 +1,9 @@ package com.excilys.computerdatabase.service.impl; import java.sql.SQLException; +import java.util.Map; +import org.apache.commons.validator.GenericValidator; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -9,15 +11,17 @@ import com.excilys.computerdatabase.dao.impl.CompanyDAO; import com.excilys.computerdatabase.dao.impl.ComputerDAO; import com.excilys.computerdatabase.model.Computer; +import com.excilys.computerdatabase.pagination.OrderBy; import com.excilys.computerdatabase.pagination.Page; -import com.excilys.computerdatabase.service.ComputerDBServiceInterface; +import com.excilys.computerdatabase.pagination.Sort; +import com.excilys.computerdatabase.service.ComputerDBService; /** * @author paulr_000 * */ @Service("computerService") -public class ComputerDBService implements ComputerDBServiceInterface { +public class ComputerDBServiceImpl implements ComputerDBService { @Autowired ComputerDAO computerDAO; @Autowired @@ -27,6 +31,7 @@ public class ComputerDBService implements ComputerDBServiceInterface { * @param currentComputerPageIndex * @param pageSize * @return + ; * @throws SQLException */ public Page getPage(int pageNumber) { @@ -65,14 +70,6 @@ public Page getPage(Page page) { return computerDAO.getPage(page); } - /** - * @param id - * @throws SQLException - */ - public void remove(final long id) { - computerDAO.remove(id); - } - /** * @param id * @param name @@ -89,8 +86,8 @@ public void update(final Computer computer) { * (non-Javadoc) * * @see - * com.excilys.computerdatabase.service.ComputerDBServiceInterface#save( - * com.excilys.computerdatabase.model.Computer) + * com.excilisIntys.computerdatabase.service.ComputerDBServiceInterface# + * save( com.excilys.computerdatabase.model.Computer) */ public void save(final Computer computer) { computerDAO.save(computer); @@ -111,4 +108,37 @@ public void removeByCompany(long id) { } companyDAO.remove(id); } + /** + * @param i + * @return + */ + public void remove(String id) { + if (GenericValidator.isLong(id)) { + computerDAO.remove(Long.parseLong(id)); + } + } + + public Page generatePage(Map allRequestParams) { + Page page = new Page(); + if(allRequestParams.containsKey("size") && GenericValidator.isInt(allRequestParams.get("size"))){ + page.setSize(Integer.parseInt(allRequestParams.get("size"))); + } + if(allRequestParams.containsKey("page") && GenericValidator.isInt(allRequestParams.get("page"))){ + page.setPageNumber(Integer.parseInt(allRequestParams.get("page"))); + } + if(allRequestParams.containsKey("sort")){ + page.setSort(Sort.valueOf(allRequestParams.get("sort").toUpperCase())); + } + if(allRequestParams.containsKey("order")){ + page.setOrderBy(OrderBy.valueOf(allRequestParams.get("order").toUpperCase())); + } + if(allRequestParams.containsKey("query")){ + page.setQuery(allRequestParams.get("query")); + } + else{ + page.setQuery(""); + } + return page; + + } } diff --git a/src/main/java/com/excilys/computerdatabase/validator/ComputerDTOValidator.java b/src/main/java/com/excilys/computerdatabase/validator/ComputerDTOValidator.java index 5ad03ac..8c600ee 100644 --- a/src/main/java/com/excilys/computerdatabase/validator/ComputerDTOValidator.java +++ b/src/main/java/com/excilys/computerdatabase/validator/ComputerDTOValidator.java @@ -1,36 +1,35 @@ package com.excilys.computerdatabase.validator; +import org.apache.commons.validator.GenericValidator; import org.springframework.validation.Errors; import org.springframework.validation.Validator; import com.excilys.computerdatabase.dto.ComputerDTO; public class ComputerDTOValidator implements Validator { - /** * This Validator validates *just* ComputerDTO instances */ @Override - public boolean supports(Class classz) { - return ComputerDTO.class.equals(classz); + public boolean supports(Class clazz) { + return ComputerDTO.class.equals(clazz); } @Override public void validate(Object obj, Errors e) { ComputerDTO dto = (ComputerDTO) obj; + System.out.println(dto); if (dto.getName() != null && (dto.getName().length() == 0 || dto.getName().length() > 255)) { - e.rejectValue("name", "Name is not between 1 and 255 characters"); + e.rejectValue("name", "error.name"); } - if (dto.getIntroduced() != null && dto.getIntroduced().length() != 10 && dto.getIntroduced().length() != 0) { - System.out.println(dto.getIntroduced().length()); + if (dto.getIntroduced() != null && !GenericValidator.isDate(dto.getIntroduced(),"yyyy-MM-dd" ,false)) { e.rejectValue("introduced", - "Introduction date must be in correct format yyyy-mm-dd"); + "error.introduced"); } - if (dto.getDiscontinued() != null && dto.getDiscontinued().length() != 10 && dto.getDiscontinued().length() != 0) { + if (dto.getDiscontinued() != null && !GenericValidator.isDate(dto.getDiscontinued(),"yyyy-MM-dd" ,false)) { e.rejectValue("discontinued", - "Discontinuation date must be in correct format yyyy-mm-dd"); + "error.discontinued"); } - } } diff --git a/src/main/java/com/excilys/computerdatabase/validator/Validator.java b/src/main/java/com/excilys/computerdatabase/validator/Validator.java deleted file mode 100644 index 04b7d05..0000000 --- a/src/main/java/com/excilys/computerdatabase/validator/Validator.java +++ /dev/null @@ -1,109 +0,0 @@ -package com.excilys.computerdatabase.validator; - -import java.util.Map; - -import com.excilys.computerdatabase.exception.PersistenceException; -import com.excilys.computerdatabase.pagination.OrderBy; -import com.excilys.computerdatabase.pagination.Page; -import com.excilys.computerdatabase.pagination.Sort; - -public class Validator { - private static final String REGEX_DELIMITER = "(\\.|-|\\/)"; - private static final String REGEX_DATE_EN = "(" - + "((\\d{4})" + REGEX_DELIMITER + "(0[13578]|10|12)" + REGEX_DELIMITER + "(0[1-9]|[12][0-9]|3[01]))" - + "|((\\d{4})" + REGEX_DELIMITER + "(0[469]|11)" + REGEX_DELIMITER + "([0][1-9]|[12][0-9]|30))" - + "|((\\d{4})" + REGEX_DELIMITER + "(02)" + REGEX_DELIMITER + "(0[1-9]|1[0-9]|2[0-8]))" - + "|(([02468][048]00)" + REGEX_DELIMITER + "(02)" + REGEX_DELIMITER + "(29))" - + "|(([13579][26]00)" + REGEX_DELIMITER + "(02)" + REGEX_DELIMITER + "(29))" - + "|(([0-9][0-9][0][48])" + REGEX_DELIMITER + "(02)" + REGEX_DELIMITER + "(29))" - + "|(([0-9][0-9][2468][048])" + REGEX_DELIMITER + "(02)" + REGEX_DELIMITER + "(29))" - + "|(([0-9][0-9][13579][26])" + REGEX_DELIMITER + "(02)" + REGEX_DELIMITER + "(29))" - + ")"; - private static final String REGEX_DATE_FR = "(" - + "((0[1-9]|[12][0-9]|3[01])" + REGEX_DELIMITER + "(0[13578]|10|12)" + REGEX_DELIMITER + "(\\d{4}))" - + "|(([0][1-9]|[12][0-9]|30)" + REGEX_DELIMITER + "(0[469]|11)" + REGEX_DELIMITER + "(\\d{4}))" - + "|((0[1-9]|1[0-9]|2[0-8])" + REGEX_DELIMITER + "(02)" + REGEX_DELIMITER + "(\\d{4}))" - + "|((29)" + REGEX_DELIMITER + "(02)" + REGEX_DELIMITER + "([02468][048]00))" - + "|((29)" + REGEX_DELIMITER + "(02)" + REGEX_DELIMITER + "([13579][26]00))" - + "|((29)" + REGEX_DELIMITER + "(02)" + REGEX_DELIMITER + "([0-9][0-9][0][48]))" - + "|((29)" + REGEX_DELIMITER + "(02)" + REGEX_DELIMITER + "([0-9][0-9][2468][048]))" - + "|((29)" + REGEX_DELIMITER + "(02)" + REGEX_DELIMITER + "([0-9][0-9][13579][26]))" - + ")"; - private static final String REGEX_NUMBER = "[+-]?\\d{1,19}"; - - - public static Boolean isValidNumber(final String input) { - if (input == null) { - return false; - } - if (input.matches(REGEX_NUMBER) || input==null && input!="0" ) { - return true; - } else { - System.out.println("invalid number" + input); - return false; - } - } - - public static void main(String[] args){ - System.out.println(REGEX_DATE_EN); - } - public static Boolean isValidDate(final String input) { - if (input.length() == 10 && input.matches(REGEX_DATE_EN) && Integer.parseInt(input.split("-")[0])>1970) { - return true; - } else { - return false; - } - } - - public static Boolean isValidString(final String input) { - if(input != null && input.trim().length()>0){ - return true; - } else { - return false; - } - } - - public static int validateInt(final String input) { - if (input != null && input.matches(REGEX_NUMBER) && input.length() > 0) { - return Integer.parseInt(input); - } - else { - throw new PersistenceException(); - } - } - public static String validateString(final String input) { - if (input != null) { - if(input.length()>0){ - return input; - } - else{ - throw new PersistenceException(); - } - } else { - throw new PersistenceException(); - } - } - - public static Page validateParameterList(Map paramList){ - Page page = new Page(); - if(paramList.containsKey("size")){ - page.setSize(Validator.validateInt(paramList.get("size"))); - } - if(paramList.containsKey("page")){ - page.setPageNumber(Validator.validateInt(paramList.get("page"))); - } - if(paramList.containsKey("sort")){ - page.setSort(Sort.valueOf(paramList.get("sort").toUpperCase())); - } - if(paramList.containsKey("order")){ - page.setOrderBy(OrderBy.valueOf(paramList.get("order").toUpperCase())); - } - if(paramList.containsKey("query")){ - page.setQuery(paramList.get("query")); - } - else{ - page.setQuery(""); - } - return page; - } -} diff --git a/src/main/resources/context.xml b/src/main/resources/context.xml new file mode 100644 index 0000000..e3b7275 --- /dev/null +++ b/src/main/resources/context.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/messages_en.properties b/src/main/resources/messages_en.properties index e42b6d6..6ed48a7 100644 --- a/src/main/resources/messages_en.properties +++ b/src/main/resources/messages_en.properties @@ -11,3 +11,7 @@ label.introduced=Introduced label.discontinued=Discontinued label.cmpName=Company name label.or=or +error.name= Name is not between 1 and 255 characters +error.introduction= Introduction date must be in correct format yyyy-mm-dd +error.discontinuation = Discontinuation date must be in correct format +error.company= Company must be selected from available selection \o/ ... \ No newline at end of file diff --git a/src/main/resources/messages_fr.properties b/src/main/resources/messages_fr.properties index 451d8c7..af58c47 100644 --- a/src/main/resources/messages_fr.properties +++ b/src/main/resources/messages_fr.properties @@ -1,5 +1,5 @@ dashboard.computersFound=ordinateurs trouvés -dashboard.filter=Recherche +dashboard.filter=Filtrer dashboard.first=Première dashboard.last=Dernière label.add=Ajouter un ordinateur @@ -11,3 +11,4 @@ label.introduced=Date d'introduction label.discontinued=Date de discontinuation label.cmpName=Nom de l'entreprise label.or=ou +error.name=Le nom n'est pas entre 1 et 255 caractères \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/addComputer.jsp b/src/main/webapp/WEB-INF/views/addComputer.jsp index ca28607..eebaed7 100644 --- a/src/main/webapp/WEB-INF/views/addComputer.jsp +++ b/src/main/webapp/WEB-INF/views/addComputer.jsp @@ -1,5 +1,6 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> <%@taglib uri="http://www.springframework.org/tags" prefix="spring"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@taglib uri="http://www.springframework.org/tags" prefix="spring"%> @@ -30,35 +31,48 @@
-

+

+ +

+ +
+
+ × Error! A + problem has been occurred while submitting your data. + +
  • +
    +
    +
    +
    +
    -
    ">
    ">
    @@ -74,11 +88,13 @@
    - " id="submit" - class="btn btn-primary"> + class="btn btn-primary"> + +
    diff --git a/src/main/webapp/WEB-INF/views/dashboard.jsp b/src/main/webapp/WEB-INF/views/dashboard.jsp index da2127d..6b04679 100644 --- a/src/main/webapp/WEB-INF/views/dashboard.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard.jsp @@ -44,7 +44,7 @@ method="GET" class="form-inline"> " class="btn btn-primary" />
    @@ -132,7 +132,7 @@ "> + class="cb" value=""> "> diff --git a/src/main/webapp/WEB-INF/views/editComputer.jsp b/src/main/webapp/WEB-INF/views/editComputer.jsp index 912262d..79d0f78 100644 --- a/src/main/webapp/WEB-INF/views/editComputer.jsp +++ b/src/main/webapp/WEB-INF/views/editComputer.jsp @@ -1,10 +1,11 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <%@taglib uri="http://www.springframework.org/tags" prefix="spring"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@taglib uri="http://www.springframework.org/tags" prefix="spring"%> -<%@ page isELIgnored="false" %> +<%@ page isELIgnored="false"%> @@ -39,24 +40,25 @@

    -
    -
    - × Error! A - problem has been occurred while submitting your data. - -
  • ${error}
  • -
    + +
    +
    + × Error! A + problem has been occurred while submitting your data. + +
  • +
    +
    -
    - +
    - + " value="${computer.name}"> @@ -65,14 +67,16 @@ " value="">
    " value="" />
    diff --git a/src/test/java/test/excilys/computerdatabase/dao/ComputerDAOMock.java b/src/test/java/test/excilys/computerdatabase/dao/ComputerDAOMock.java index bbd87d3..0f2534e 100644 --- a/src/test/java/test/excilys/computerdatabase/dao/ComputerDAOMock.java +++ b/src/test/java/test/excilys/computerdatabase/dao/ComputerDAOMock.java @@ -14,7 +14,7 @@ import com.excilys.computerdatabase.dao.ConnectionManager; import com.excilys.computerdatabase.exception.PersistenceException; -import com.excilys.computerdatabase.mapper.dto.impl.ComputerDTOMapper; +import com.excilys.computerdatabase.mapper.dto.impl.ComputerDTOMapperImpl; import com.excilys.computerdatabase.model.Company; import com.excilys.computerdatabase.model.Computer; import com.excilys.computerdatabase.pagination.Page; @@ -23,7 +23,7 @@ public class ComputerDAOMock { private ConnectionManager connectionManager = ConnectionManager .getInstance(); - private ComputerDTOMapper computerDTOMapper = new ComputerDTOMapper(); + private ComputerDTOMapperImpl computerDTOMapper = new ComputerDTOMapperImpl(); private static final String SINGLE_QUERY_STMT = "SELECT cpt.id, cpt.name, cpt.introduced, cpt.discontinued, cmp.id as company_id, cmp.name as company_name FROM computer cpt LEFT JOIN company cmp ON cpt.company_id=cmp.id WHERE cpt.id=?;"; private static final String LIST_QUERY_STMT = "SELECT cpt.id, cpt.name, cpt.introduced, cpt.discontinued, cmp.id AS company_id, cmp.name AS company_name FROM computer cpt LEFT JOIN company cmp ON cpt.company_id=cmp.id LIMIT ? , ?;"; private static final String INSERT_STMT = "INSERT into computer(name, introduced, discontinued, company_id) VALUES (?,?,?,?);"; diff --git a/src/test/java/test/excilys/computerdatabase/service/CompanyDBServiceMock.java b/src/test/java/test/excilys/computerdatabase/service/CompanyDBServiceMock.java index 51bdf6e..cd4e64e 100644 --- a/src/test/java/test/excilys/computerdatabase/service/CompanyDBServiceMock.java +++ b/src/test/java/test/excilys/computerdatabase/service/CompanyDBServiceMock.java @@ -9,10 +9,10 @@ import com.excilys.computerdatabase.dao.ConnectionManager; import com.excilys.computerdatabase.model.Company; -import com.excilys.computerdatabase.service.CompanyDBServiceInterface; +import com.excilys.computerdatabase.service.CompanyDBService; @RunWith(org.mockito.runners.MockitoJUnitRunner.class) -public class CompanyDBServiceMock implements CompanyDBServiceInterface { +public class CompanyDBServiceMock implements CompanyDBService { private CompanyDAOMock companyDAO = new CompanyDAOMock(); ConnectionManager connectionManager = ConnectionManager.getInstance(); diff --git a/src/test/java/test/excilys/computerdatabase/service/CompanyDBServiceTest.java b/src/test/java/test/excilys/computerdatabase/service/CompanyDBServiceTest.java index 92d3cd4..fac29b6 100644 --- a/src/test/java/test/excilys/computerdatabase/service/CompanyDBServiceTest.java +++ b/src/test/java/test/excilys/computerdatabase/service/CompanyDBServiceTest.java @@ -13,7 +13,7 @@ import com.excilys.computerdatabase.dao.impl.CompanyDAO; import com.excilys.computerdatabase.model.Company; -import com.excilys.computerdatabase.service.impl.CompanyDBService; +import com.excilys.computerdatabase.service.impl.CompanyDBServiceImpl; /** * Test class for CompanyDBService.Tests get, getList, save and update diff --git a/src/test/java/test/excilys/computerdatabase/service/ComputerDBServiceMock.java b/src/test/java/test/excilys/computerdatabase/service/ComputerDBServiceMock.java index 16bc72c..c45437f 100644 --- a/src/test/java/test/excilys/computerdatabase/service/ComputerDBServiceMock.java +++ b/src/test/java/test/excilys/computerdatabase/service/ComputerDBServiceMock.java @@ -2,11 +2,11 @@ import com.excilys.computerdatabase.model.Computer; import com.excilys.computerdatabase.pagination.Page; -import com.excilys.computerdatabase.service.ComputerDBServiceInterface; +import com.excilys.computerdatabase.service.ComputerDBService; import test.excilys.computerdatabase.dao.ComputerDAOMock; -public class ComputerDBServiceMock implements ComputerDBServiceInterface{ +public class ComputerDBServiceMock implements ComputerDBService{ private ComputerDAOMock computerDAO; public ComputerDBServiceMock(ComputerDAOMock companyDAO) {