Advertisement
Guest User

fdhfd

a guest
Oct 7th, 2017
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.51 KB | None | 0 0
  1. /**
  2.      * {@inheritDoc}
  3.      */
  4.     @Override
  5.     public void createMovie(
  6.             @NotNull @Valid final MovieDTO movieDTO,
  7.             @Min(1) final Long userId
  8.     ) throws ResourceNotFoundException {
  9.         this.editionRepository.save(this.movieDtoToEditionEntity(movieDTO, userId));
  10.     }
  11.  
  12.     /**
  13.      * {@inheritDoc}
  14.      */
  15.     @Override
  16.     public void accept(
  17.             @Min(1) final Long editionID
  18.     ) throws ResourceNotFoundException {
  19.         final EditionEntity editionEntity
  20.                 = this.editionRepository
  21.                         .findByIdAndStatus(editionID, EditStatus.WAITING)
  22.                         .orElseThrow(
  23.                                 () -> new ResourceNotFoundException("No edition found with id " + editionID)
  24.                         );
  25.  
  26.         final MovieEntity movie = new MovieEntity();
  27.         editionEntity.getTitle().ifPresent(movie::setTitle);
  28.         editionEntity.getType().ifPresent(movie::setType);
  29.         editionEntity.getDescription().ifPresent(movie::setDescription);
  30.         editionEntity.getBudget().ifPresent(movie::setBudget);
  31.         editionEntity.getBoxOffice().ifPresent(movie::setBoxOffice);
  32.         editionEntity.getOfficialSite().ifPresent(movie::setOfficialSite);
  33.         editionEntity.getReleaseDate().ifPresent(movie::setReleaseDate);
  34.         editionEntity.getStoryline().ifPresent(movie::setStoryline);
  35.  
  36.         editionEntity.setStatus(EditStatus.ACCEPTED);
  37.  
  38.         this.editionRepository.save(editionEntity);
  39.  
  40.         this.movieRepository.save(movie);
  41.     }
  42.  
  43.     /**
  44.      * {@inheritDoc}
  45.      */
  46.     @Override
  47.     public void reject(
  48.             @Min(1) final Long editionID
  49.     ) throws ResourceNotFoundException {
  50.         final EditionEntity editionEntity
  51.                 = this.editionRepository
  52.                         .findByIdAndStatus(editionID, EditStatus.WAITING)
  53.                         .orElseThrow(
  54.                                 () -> new ResourceNotFoundException("No edition found with id " + editionID)
  55.                         );
  56.  
  57.         editionEntity.setStatus(EditStatus.REJECTED);
  58.  
  59.         this.editionRepository.save(editionEntity);
  60.     }
  61.  
  62.     /**
  63.      * Converter MovieDTO to EditionEntity.
  64.      *
  65.      * @param movieDTO MovieDTO object
  66.      * @return The edition entity
  67.      * @throws ResourceNotFoundException if no user found
  68.      */
  69.     private EditionEntity movieDtoToEditionEntity(
  70.             final MovieDTO movieDTO,
  71.             final Long userId
  72.     ) throws ResourceNotFoundException {
  73.         final EditionEntity editionEntity = new EditionEntity();
  74.         editionEntity.setUserId(this.userRepository
  75.                                     .findByIdAndEnabledTrue(userId)
  76.                                     .orElseThrow(() -> new ResourceNotFoundException("No user found with id " + userId)));
  77.         editionEntity.setEditType(movieDTO.getType().toEditType());
  78.         editionEntity.setStatus(EditStatus.WAITING);
  79.  
  80.  
  81.  
  82.         editionEntity.setTitle(movieDTO.getTitle());
  83.         editionEntity.setType(movieDTO.getType());
  84.         movieDTO.getDescription().ifPresent(editionEntity::setDescription);
  85.         movieDTO.getBudget().ifPresent(editionEntity::setBudget);
  86.         if(movieDTO.getType() == MovieType.CINEMA) {
  87.             movieDTO.getBoxOffice().ifPresent(editionEntity::setBoxOffice);
  88.         }
  89.         movieDTO.getOfficialSite().ifPresent(editionEntity::setOfficialSite);
  90.         movieDTO.getStoryline().ifPresent(editionEntity::setStoryline);
  91.  
  92.         return editionEntity;
  93.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement