Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.filip.springbootresumejobseeker.domain;
- import javax.persistence.Entity;
- import javax.persistence.GeneratedValue;
- import javax.persistence.GenerationType;
- import javax.persistence.Id;
- import javax.persistence.OneToMany;
- import javax.validation.constraints.Size;
- import java.util.Set;
- import java.util.TreeSet;
- @Entity
- public class Skill {
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- private Long id;
- @Size(min = 1)
- private String name;
- @OneToMany(mappedBy = "skill")
- private Set<UserSkill> userSkillSet;
- public Skill() {
- super();
- userSkillSet = new TreeSet<UserSkill>();
- }
- public Long getId() {
- return id;
- }
- public void setId(Long id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- @Override
- public String toString() {
- return "Skill{" +
- "id=" + id +
- ", name='" + name + '\'' +
- ", userSkillSet=" + userSkillSet +
- '}';
- }
- }
- package org.filip.springbootresumejobseeker.domain;
- import com.fasterxml.jackson.annotation.JsonManagedReference;
- import org.filip.springbootresumejobseeker.validation.annotations.ValidEmail;
- import org.hibernate.annotations.CreationTimestamp;
- import org.hibernate.annotations.UpdateTimestamp;
- import javax.persistence.*;
- import javax.validation.constraints.Email;
- import javax.validation.constraints.NotEmpty;
- import javax.validation.constraints.NotNull;
- import java.io.Serializable;
- import java.time.LocalDateTime;
- import java.util.Collection;
- import java.util.Iterator;
- import java.util.Set;
- import java.util.TreeSet;
- @Entity
- @Table(name = "user_account")
- public class User implements Serializable {
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- private Long id;
- @NotNull
- private String firstName;
- @NotNull
- private String lastName;
- @ValidEmail
- @NotNull
- @Column(nullable = false, unique = true)
- private String email;
- @Column(length = 60)
- private String password;
- private boolean enabled;
- // The timezone
- @Column(name = "TZONE", nullable = false, length = 128)
- private String timezone;
- @UpdateTimestamp
- private LocalDateTime lastUpdatedDate;
- @CreationTimestamp
- private LocalDateTime createdDate;
- @ManyToMany(fetch = FetchType.EAGER)
- @JsonManagedReference
- @JoinTable(name = "users_roles", joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id"),
- inverseJoinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id"))
- private Collection<Role> roles;
- // Specific for resume job seeker
- @OneToMany(mappedBy = "user")
- private Set<UserSkill> userSkillSet;
- public User() {
- super();
- this.enabled = false;
- this.timezone = "Europe/Brussels";
- userSkillSet = new TreeSet<UserSkill>();
- }
- public Long getId() {
- return id;
- }
- public void setId(final Long id) {
- this.id = id;
- }
- public String getFirstName() {
- return firstName;
- }
- public void setFirstName(final String firstName) {
- this.firstName = firstName;
- }
- public String getLastName() {
- return lastName;
- }
- public void setLastName(final String lastName) {
- this.lastName = lastName;
- }
- public String getEmail() {
- return email;
- }
- public void setEmail(final String username) {
- this.email = username;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(final String password) {
- this.password = password;
- }
- public Collection<Role> getRoles() {
- return roles;
- }
- public void setRoles(final Collection<Role> roles) {
- this.roles = roles;
- }
- public String printRoles() {
- Iterator iterator = getRoles().iterator();
- String out = "";
- while (iterator.hasNext()) {
- Role rr = (Role) iterator.next();
- out += rr.getName();
- out += " - ";
- }
- return out;
- }
- public boolean isEnabled() {
- return enabled;
- }
- public void setEnabled(final boolean enabled) {
- this.enabled = enabled;
- }
- public String getTimezone() {
- return timezone;
- }
- public void setTimezone(String timezone) {
- this.timezone = timezone;
- }
- public LocalDateTime getLastUpdatedDate() {
- return lastUpdatedDate;
- }
- public void setLastUpdatedDate(LocalDateTime lastUpdatedDate) {
- this.lastUpdatedDate = lastUpdatedDate;
- }
- public LocalDateTime getCreatedDate() {
- return createdDate;
- }
- public void setCreatedDate(LocalDateTime createdDate) {
- this.createdDate = createdDate;
- }
- public Set<UserSkill> getUserSkillSet() {
- return userSkillSet;
- }
- public void setUserSkillSet(Set<UserSkill> userSkillSet) {
- this.userSkillSet = userSkillSet;
- }
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = (prime * result) + ((email == null) ? 0 : email.hashCode());
- return result;
- }
- @Override
- public boolean equals(final Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- final User user = (User) obj;
- if (!email.equals(user.email)) {
- return false;
- }
- return true;
- }
- @Override
- public String toString() {
- return "User met id= " + id + " en Voornaam= " + firstName + " en Familienaam= " + lastName + "\n\n"
- + " en password= " + password + " en is enabled= " + enabled + " en heeft de rollen= "
- + roles;
- }
- }
- package org.filip.springbootresumejobseeker.domain;
- import javax.persistence.CascadeType;
- import javax.persistence.Entity;
- import javax.persistence.GeneratedValue;
- import javax.persistence.GenerationType;
- import javax.persistence.Id;
- import javax.persistence.JoinColumn;
- import javax.persistence.ManyToOne;
- import javax.persistence.Table;
- @Entity
- @Table(name = "users_skills")
- public class UserSkill {
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- private Long id;
- @ManyToOne(cascade = CascadeType.ALL)
- @JoinColumn(name = "user_id")
- private User user;
- @ManyToOne(cascade = CascadeType.ALL)
- @JoinColumn(name = "skill_id")
- private Skill skill;
- private String skillRatingInStars;
- private String selectValue;
- private String rating;
- public Long getId() {
- return id;
- }
- public void setId(Long id) {
- this.id = id;
- }
- public User getUser() {
- return user;
- }
- public void setUser(User user) {
- this.user = user;
- }
- public Skill getSkill() {
- return skill;
- }
- public void setSkill(Skill skill) {
- this.skill = skill;
- }
- public String getSkillRatingInStars() {
- return skillRatingInStars;
- }
- public void setSkillRatingInStars(String skillRatingInStars) {
- this.skillRatingInStars = skillRatingInStars;
- }
- public String getSelectValue() {
- return selectValue;
- }
- public void setSelectValue(String selectValue) {
- this.selectValue = selectValue;
- }
- public String getRating() {
- return rating;
- }
- public void setRating(String rating) {
- this.rating = rating;
- }
- @Override
- public String toString() {
- return "UserSkill{" +
- "id=" + id +
- ", user=" + user.toString() +
- ", skill=" + skill.toString() +
- ", skillRatingInStars='" + skillRatingInStars + '\'' +
- ", selectValue='" + selectValue + '\'' +
- ", rating='" + rating + '\'' +
- '}';
- }
- }
- package org.filip.springbootresumejobseeker.web.controllers;
- import org.filip.springbootresumejobseeker.domain.Skill;
- import org.filip.springbootresumejobseeker.services.IResumeService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.web.bind.annotation.GetMapping;
- @Controller
- public class ResumeController {
- @Autowired
- private IResumeService resumeService;
- /**
- * Get all skills and tools etc for the resume
- * @return
- */
- @GetMapping("/resume")
- public String getAll(Model model){
- model.addAttribute("skills", resumeService.getAllSkills());
- //model.addAttribute("tools",resumeService.getAllTools());
- return "separateprojects/resume";
- }
- // CRUD
- @GetMapping("/createSkill")
- public String createSkill(Model model){
- model.addAttribute("skill", new Skill());
- return "separateprojects/skillcreate";
- }
- }
- package org.filip.springbootresumejobseeker;
- import org.filip.springbootresumejobseeker.domain.Privilege;
- import org.filip.springbootresumejobseeker.domain.Role;
- import org.filip.springbootresumejobseeker.domain.Skill;
- import org.filip.springbootresumejobseeker.domain.User;
- import org.filip.springbootresumejobseeker.domain.UserSkill;
- import org.filip.springbootresumejobseeker.persistence.repositories.PrivilegeRepository;
- import org.filip.springbootresumejobseeker.persistence.repositories.RoleRepository;
- import org.filip.springbootresumejobseeker.persistence.repositories.SkillRepository;
- import org.filip.springbootresumejobseeker.persistence.repositories.UserRepository;
- import org.filip.springbootresumejobseeker.persistence.repositories.UserSkillRepository;
- import org.junit.Test;
- import org.junit.runner.RunWith;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
- import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager;
- import org.springframework.boot.test.context.SpringBootTest;
- import org.springframework.context.annotation.Primary;
- import org.springframework.scheduling.annotation.Async;
- import org.springframework.test.context.junit4.SpringRunner;
- import java.util.Arrays;
- import java.util.List;
- @RunWith(SpringRunner.class)
- @SpringBootTest
- @DataJpaTest
- public class SpringbootresumejobseekerApplicationTests {
- @Autowired
- private TestEntityManager entityManager;
- @Autowired
- private SkillRepository skillRepository;
- @Autowired
- private UserRepository userRepository;
- @Autowired
- private UserSkillRepository userSkillRepository;
- @Autowired
- private PrivilegeRepository privilegeRepository;
- @Autowired
- private RoleRepository roleRepository;
- @Test
- public void contextLoads() {
- }
- @Test
- public void save_user_with_skill(){
- Privilege privilege = new Privilege("TEST_PRIVILEGE");
- privilegeRepository.save(privilege);
- Role role = new Role("TEST_ROLE");
- role.setPrivileges(Arrays.asList(privilege));
- roleRepository.save(role);
- User user = new User();
- user.setFirstName("Firstname");
- user.setLastName("lastname");
- user.setEnabled(true);
- user.setRoles(Arrays.asList(role));
- user.setPassword("test");
- user.setEmail("test@test.com");
- userRepository.save(user);
- Skill skill = new Skill();
- skill.setName("Skill 1");
- skillRepository.save(skill);
- UserSkill userSkill = new UserSkill();
- userSkill.setRating("5rating");
- userSkill.setSelectValue("5value");
- userSkill.setSkillRatingInStars("stars5");
- userSkill.setSkill(skill);
- userSkill.setUser(user);
- userSkillRepository.save(userSkill);
- List<UserSkill> userSkillList = userSkillRepository.findAll();
- for(UserSkill userSkill1 : userSkillList){
- System.out.println(userSkill1.getId() + " - " + userSkill1.getRating() + " - " + userSkill1.getSelectValue() +
- " - " + userSkill1.getSkillRatingInStars() + " - " + userSkill1.getUser().getFirstName() + " - " + userSkill1.getSkill().getName());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement