source: src/main/java/it/finki/tinki/bootstrap/DataHolder.java@ 33d4f5d

Last change on this file since 33d4f5d was 33d4f5d, checked in by Vzdra <vladko.zdravkovski@…>, 3 years ago

bugfixes and refactoring

  • Property mode set to 100644
File size: 4.8 KB
RevLine 
[e6ff724]1package it.finki.tinki.bootstrap;
2
[bd46dbb]3import it.finki.tinki.model.Work.Job;
[efdb71a]4import it.finki.tinki.model.Skill;
[a8e8545]5import it.finki.tinki.model.Users.Account;
[29c0ed0]6import it.finki.tinki.model.enumerator.AccountType;
7import it.finki.tinki.repository.*;
[a8e8545]8import it.finki.tinki.service.AccountService;
9import it.finki.tinki.service.WorkService;
[efdb71a]10import org.springframework.stereotype.Component;
11
[e6ff724]12import javax.annotation.PostConstruct;
[33d4f5d]13import java.text.DateFormat;
[29c0ed0]14import java.util.ArrayList;
[33d4f5d]15import java.util.Date;
[29c0ed0]16import java.util.List;
[e6ff724]17
[efdb71a]18@Component
[e6ff724]19public class DataHolder {
20
[efdb71a]21 SkillRepository skillRepository;
[a8e8545]22 AccountService accountService;
23 WorkService workService;
24 MatchRepository matchRepository;
[efdb71a]25
[a8e8545]26 public DataHolder(SkillRepository skillRepository,
27 AccountService accountService,
28 WorkService workService,
29 MatchRepository matchRepository) {
[efdb71a]30 this.skillRepository = skillRepository;
[a8e8545]31 this.accountService = accountService;
32 this.workService = workService;
33 this.matchRepository = matchRepository;
[efdb71a]34 }
35
36 @PostConstruct
37 public void init(){
[5f9d25a]38 if(this.skillRepository.findAll().size()==0){
[efdb71a]39 Skill s1 = new Skill("C++");
40 Skill s2 = new Skill("Java");
41 Skill s3 = new Skill("Python");
42 Skill s4 = new Skill("JavaScript");
43 Skill s5 = new Skill("React");
44 Skill s6 = new Skill("Spring");
45 Skill s7 = new Skill("C#");
46 Skill s8 = new Skill(".NET");
47 Skill s9 = new Skill("NodeJs");
48 Skill s0 = new Skill("Go");
49
[5f9d25a]50 this.skillRepository.save(s1);
51 this.skillRepository.save(s2);
52 this.skillRepository.save(s3);
53 this.skillRepository.save(s4);
54 this.skillRepository.save(s5);
55 this.skillRepository.save(s6);
56 this.skillRepository.save(s7);
57 this.skillRepository.save(s8);
58 this.skillRepository.save(s9);
59 this.skillRepository.save(s0);
[efdb71a]60 }
[29c0ed0]61
[509cb95]62 List<Skill> lista;
[5f9d25a]63 lista = this.skillRepository.findAll();
[509cb95]64
[33d4f5d]65 List<Skill> lista2 = new ArrayList<>();
66 lista2.add(this.skillRepository.findById(3L).get());
67 lista2.add(this.skillRepository.findById(2L).get());
68 lista2.add(this.skillRepository.findById(4L).get());
69 lista2.add(this.skillRepository.findById(7L).get());
70 lista2.add(this.skillRepository.findById(1L).get());
71 lista2.add(this.skillRepository.findById(5L).get());
72 lista2.add(this.skillRepository.findById(9L).get());
73 lista2.add(this.skillRepository.findById(6L).get());
[4cec0a3]74
75
[33d4f5d]76 List<Skill> lista3 = new ArrayList<>();
77 lista3.add(this.skillRepository.findById(3L).get());
78 lista3.add(this.skillRepository.findById(2L).get());
79 lista3.add(this.skillRepository.findById(4L).get());
80 lista3.add(this.skillRepository.findById(7L).get());
[4cec0a3]81
[33d4f5d]82 List<Long> allSkills = new ArrayList<>();
[a8e8545]83 lista.forEach(item -> {
[33d4f5d]84 allSkills.add(item.getId());
[a8e8545]85 });
86
[33d4f5d]87 List<Long> skills8 = new ArrayList<>();
88 lista2.forEach(item -> {
89 skills8.add(item.getId());
[4cec0a3]90 });
91
[33d4f5d]92 List<Long> skills4 = new ArrayList<>();
93 lista3.forEach(item -> {
94 skills4.add(item.getId());
[4cec0a3]95 });
96
[33d4f5d]97 Account c = this.accountService.registerCompany("company@company", "company", "Co.Co", "Macedonia", "Skopje", "Pero Nakov");
98 Account ct = this.accountService.registerCompany("company@co", "company", "Co.Co", "Macedonia", "Skopje", "Pero Nakov");
[5f9d25a]99 Account m = this.accountService.registerTeam("team@team", "team", "TeamRocket", 3);
[a8e8545]100
[33d4f5d]101 this.workService.insertJob("Team Job 1", "Team job 1 requires 3 members!", m.getId() ,1515, allSkills, AccountType.TEAM);
102 this.workService.insertJob("Team Job 2", "Team job 2 requires 2 members!", m.getId() ,5511, skills4, AccountType.TEAM);
103 this.workService.insertJob("Company Job 1", "Company job 1 requires 3 members!", c.getId() ,12345, allSkills, AccountType.COMPANY);
104 this.workService.insertJob("Company Job 2", "Company job 2 requires 3 members!", ct.getId() ,8901, skills8, AccountType.COMPANY);
105 this.workService.insertInternship("Internship 1", "Opportunity to learn new things!", c.getId() ,5000, skills4, 6, AccountType.COMPANY);
106 this.workService.insertInternship("Internship 2", "Opportunity to learn new things!", c.getId() ,5000, allSkills, 3, AccountType.COMPANY);
107 this.workService.insertProject("Project 1", "Project that lasts few days!", m.getId() ,5000, skills8, new Date(), AccountType.TEAM);
108 this.workService.insertProject("Project 2", "Project that ends soon!", m.getId() ,5000, skills4, new Date(), AccountType.TEAM);
[a8e8545]109
[33d4f5d]110 this.accountService.registerUser("user@user", "user", "Zoki", "Poki", lista3, lista);
[509cb95]111
[efdb71a]112 }
113
[e6ff724]114}
Note: See TracBrowser for help on using the repository browser.