Ignore:
Timestamp:
02/12/23 22:54:47 (17 months ago)
Author:
Filip Chorbeski <86695898+FilipChorbeski@…>
Branches:
main
Children:
325a55d
Parents:
988f3fa
Message:

create post form (initial version)

successfully communicates with database and adds pet and post (will be worked upon more)

Location:
Prototype Application/Paw5/src/main
Files:
1 added
2 deleted
7 edited

Legend:

Unmodified
Added
Removed
  • Prototype Application/Paw5/src/main/java/finki/paw5/model/entities/Pet.java

    r988f3fa r468b7b6  
    4343
    4444    @Column(name = "id_adoption")
    45     private int adoptionId;
     45    private Integer adoptionId;
    4646
    4747    @Column(name = "id_shelter")
    48     private int shelterId;
     48    private Integer shelterId;
    4949
    50     public Pet(String imageUrl, AgeGroup ageGroup, Size size, String breed, String name, Species species, Gender gender, boolean canBeFostered, int adoptionId, int shelterId) {
     50    public Pet(String imageUrl, AgeGroup ageGroup, Size size, String breed, String name, Species species, Gender gender, boolean canBeFostered, Integer adoptionId, Integer shelterId) {
    5151        this.imageUrl = imageUrl;
    5252        this.ageGroup = ageGroup;
  • Prototype Application/Paw5/src/main/java/finki/paw5/model/entities/Post.java

    r988f3fa r468b7b6  
    55
    66import java.time.LocalDate;
    7 import java.util.Date;
    87
    98@Data
     
    2423
    2524    @Column(name="id_pet", nullable = false)
    26     private int petId;
     25    private Integer petId;
    2726
    2827    @Column(name="id_surendee")
    29     private int surendeeId;
     28    private Integer surendeeId;
    3029
    3130    @Column(name="id_employee")
    32     private int employeeId;
     31    private Integer employeeId;
    3332
    34     public Post(LocalDate dateCreated, String thumbnailUrl, int petId, int surendeeId, int employeeId) {
     33    public Post(LocalDate dateCreated, String thumbnailUrl, Integer petId, Integer surendeeId, Integer employeeId) {
    3534        this.dateCreated = dateCreated;
    3635        this.thumbnailUrl = thumbnailUrl;
  • Prototype Application/Paw5/src/main/java/finki/paw5/service/PetService.java

    r988f3fa r468b7b6  
    11package finki.paw5.service;
    22
     3import finki.paw5.model.entities.Pet;
     4
    35public interface PetService {
     6
     7    void save (Pet pet);
    48}
  • Prototype Application/Paw5/src/main/java/finki/paw5/service/PostService.java

    r988f3fa r468b7b6  
    99public interface PostService {
    1010
    11     Post submit (String pet_name, Gender gender, AgeGroup ageGroup, Size size, Species species, String breed, String urlimage);
     11    void save (Post post);
    1212
    1313}
  • Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/PetServiceImplementation.java

    r988f3fa r468b7b6  
    11package finki.paw5.service.implementation;
    22
     3import finki.paw5.model.entities.Pet;
    34import finki.paw5.repository.PetRepository;
    45import finki.paw5.service.PetService;
     
    1415    }
    1516
     17    @Override
     18    public void save(Pet pet) {
     19        this.petRepository.save(pet);
     20    }
    1621}
  • Prototype Application/Paw5/src/main/java/finki/paw5/service/implementation/PostServiceImplementation.java

    r988f3fa r468b7b6  
    22
    33import finki.paw5.model.entities.Post;
    4 import finki.paw5.model.enumerations.AgeGroup;
    5 import finki.paw5.model.enumerations.Gender;
    6 import finki.paw5.model.enumerations.Size;
    7 import finki.paw5.model.enumerations.Species;
    84import finki.paw5.repository.PostRepository;
    95import finki.paw5.service.PostService;
     
    2016
    2117    @Override
    22     public Post submit(String name, Gender gender, AgeGroup ageGroup, Size size, Species species, String breed, String urlimage) {
    23         //Post post = new Post(name, gender, ageGroup, size, species, breed, urlimage);
    24         return null;
     18    public void save(Post post) {
     19        this.postRepository.save(post);
    2520    }
    2621
  • Prototype Application/Paw5/src/main/java/finki/paw5/web/controllers/PostController.java

    r988f3fa r468b7b6  
    11package finki.paw5.web.controllers;
    22
     3import finki.paw5.model.entities.Pet;
     4import finki.paw5.model.entities.Post;
    35import finki.paw5.model.enumerations.AgeGroup;
    46import finki.paw5.model.enumerations.Gender;
    57import finki.paw5.model.enumerations.Size;
    68import finki.paw5.model.enumerations.Species;
     9import finki.paw5.service.PetService;
    710import finki.paw5.service.PostService;
    811import org.springframework.stereotype.Controller;
     12import org.springframework.ui.Model;
     13import org.springframework.web.bind.annotation.GetMapping;
    914import org.springframework.web.bind.annotation.PostMapping;
    10 import org.springframework.web.bind.annotation.RequestMapping;
    1115import org.springframework.web.bind.annotation.RequestParam;
    1216
     17import java.time.LocalDate;
     18
    1319@Controller
    14 @RequestMapping("/CreatePost")
    1520public class PostController {
    1621
    1722    private final PostService postService;
     23    private final PetService petService;
    1824
    19     public PostController(PostService postService) {
     25    public PostController(PostService postService, PetService petService) {
    2026        this.postService = postService;
     27        this.petService = petService;
    2128    }
    2229
    23     @PostMapping
    24     public String submit(@RequestParam String name,
    25                          @RequestParam Gender gender,
    26                          @RequestParam AgeGroup ageGroup,
    27                          @RequestParam Size size,
    28                          @RequestParam Species species,
    29                          @RequestParam String breed,
    30                          @RequestParam String urlimage) {
     30    @GetMapping("create-post")
     31    public String get(Model model) {
     32        //TODO: vakvo ama za lista so pets
     33        //        List<Manufacturer> manufacturers = this.manufacturerService.findAll();
     34        //        model.addAttribute("manufacturers", manufacturers);
     35        return "create-post";
     36    }
    3137
    32         this.postService.submit(name, gender, ageGroup, size, species, breed, urlimage);
     38    @PostMapping("submit-post")
     39    public String savePost(@RequestParam(required = false) String name,
     40                           @RequestParam String gender,
     41                           @RequestParam String ageGroup,
     42                           @RequestParam String size,
     43                           @RequestParam String species,
     44                           @RequestParam(required = false) String breed,
     45                           @RequestParam(required = false) String imageUrl,
     46                           @RequestParam boolean canBeFostered) {
     47
     48        Pet pet = new Pet(imageUrl, AgeGroup.valueOf(ageGroup), Size.valueOf(size), breed, name, Species.valueOf(species), Gender.valueOf(gender), canBeFostered, null, 1);
     49        this.petService.save(pet);
     50
     51        Post post = new Post(LocalDate.now(), imageUrl, pet.getId(), null, 10);
     52        this.postService.save(post);
    3353
    3454        return null;
Note: See TracChangeset for help on using the changeset viewer.