Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package vds.rest;
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.PrintWriter;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.concurrent.ExecutorService;
- import java.util.concurrent.Executors;
- import javax.annotation.PostConstruct;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.http.HttpStatus;
- import org.springframework.http.ResponseEntity;
- import org.springframework.security.crypto.password.PasswordEncoder;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RestController;
- import vds.config.DatabaseConnection;
- import vds.model.Cas;
- import vds.model.Djak;
- import vds.model.Korisnik;
- import vds.model.Predavac;
- import vds.model.Predmet;
- import vds.model.Termin;
- import vds.model.ZahtevZaOtkazivanjeCasa;
- import vds.model.ZahtevZaZakazivanjeCasa;
- import vds.model.ZauzetTermin;
- import vds.model.enumeration.Godina;
- import vds.model.enumeration.Status;
- import vds.model.enumeration.TipSkole;
- import vds.model.enumeration.Uloga;
- import vds.repository.CasRepository;
- import vds.repository.DjakRepository;
- import vds.repository.KorisnikRepository;
- import vds.repository.PredavacRepository;
- import vds.repository.PredmetRepository;
- import vds.repository.TerminRepository;
- import vds.repository.ZahtevZaOtkazivanjeCasaRepository;
- import vds.repository.ZahtevZaZakazivanjeCasaRepository;
- import vds.repository.ZauzetTerminRepository;
- import vds.service.izvestaji.GenerateDjakCasoviReportTask;
- import vds.service.izvestaji.ReportCompleted;
- @RestController
- @RequestMapping("/test")
- public class TestController {
- ExecutorService executorService = Executors.newFixedThreadPool(5);
- @PostConstruct
- public void init() {
- }
- @Autowired
- private PasswordEncoder passwordEncoder;
- @Autowired
- private KorisnikRepository korisnikRepository;
- @Autowired
- private DjakRepository djakRepository;
- @Autowired
- private PredavacRepository predavacRepository;
- @Autowired
- private TerminRepository terminRepository;
- @Autowired
- private ZauzetTerminRepository zauzetTerminRepository;
- @Autowired
- private PredmetRepository predmetRepository;
- @Autowired
- private CasRepository casRepository;
- @Autowired
- private ZahtevZaZakazivanjeCasaRepository zahtevZaZakazivanjeCasaRepository;
- @Autowired
- private ZahtevZaOtkazivanjeCasaRepository zahtevZaOtkazivanjeCasaRepository;
- @Autowired
- private DatabaseConnection connectionConfig;
- @RequestMapping(method = RequestMethod.GET, value = "/generate-report")
- public void generateReport() throws FileNotFoundException {
- //File f = new File("static" + File.separator + "generated-reports" + File.separator + "report.txt");
- String filePath = "src/main/resources/static/generated-reports/report.txt";
- File f = new File(filePath);
- FileOutputStream fos = new FileOutputStream(f);
- PrintWriter printer = new PrintWriter(fos);
- printer.print("TEST STATIC SPRING");
- printer.println("DB");
- printer.println("url:" + connectionConfig.getUrl());
- printer.println("getDriverClassName:" + connectionConfig.getDriverClassName());
- printer.println(".getUsername:" + connectionConfig.getUsername());
- printer.println("getPassword:" + connectionConfig.getPassword());
- printer.close();
- Calendar c = Calendar.getInstance();
- c.set(2017, 5, 1);
- Date pocetak = c.getTime();
- c.set(2017, 6, 1);
- Date kraj = c.getTime();
- GenerateDjakCasoviReportTask task = new GenerateDjakCasoviReportTask(2L, pocetak, kraj, connectionConfig, new ReportCompleted() {
- @Override
- public void onReportComplete(String relativePath) {
- System.out.println("DONEEEEE");
- System.out.println("Izvestaj:::" + relativePath);
- }
- });
- // ZAKAZEMO ZA IZVRSAVANJE...KAD STIGNE, IMA 5 WORKER THREADOVA AKTIVNIH
- executorService.submit(task);
- }
- @RequestMapping(method = RequestMethod.GET, value = "/fill-database")
- public ResponseEntity<?> getProfilePageInfo() {
- Djak dj0 = new Djak();
- dj0.setBrTelefona("brTelefona_dj0");
- dj0.setEmail("dj0@dj0.com");
- dj0.setIme("ime_dj0");
- dj0.setPassword(passwordEncoder.encode("password_dj0"));
- dj0.setPrezime("prezime_dj0");
- dj0.setUloga(Uloga.USER);
- dj0.setUsername("username_dj0");
- Djak dj1 = new Djak();
- dj1.setBrTelefona("brTelefona_dj1");
- dj1.setEmail("dj1@dj1.com");
- dj1.setIme("ime_dj1");
- dj1.setPassword(passwordEncoder.encode("password_dj1"));
- dj1.setPrezime("prezime_dj1");
- dj1.setUloga(Uloga.USER);
- dj1.setUsername("username_dj1");
- Djak dj2 = new Djak();
- dj2.setBrTelefona("brTelefona_dj2");
- dj2.setEmail("dj2@dj2.com");
- dj2.setIme("ime_dj2");
- dj2.setPassword(passwordEncoder.encode("password_dj2"));
- dj2.setPrezime("prezime_dj2");
- dj2.setUloga(Uloga.USER);
- dj2.setUsername("username_dj2");
- Djak dj3 = new Djak();
- dj3.setBrTelefona("brTelefona_dj3");
- dj3.setEmail("dj3@dj3.com");
- dj3.setIme("ime_dj3");
- dj3.setPassword(passwordEncoder.encode("password_dj3"));
- dj3.setPrezime("prezime_dj3");
- dj3.setUloga(Uloga.USER);
- dj3.setUsername("username_dj3");
- Korisnik k4 = new Korisnik();
- k4.setBrTelefona("k4");
- k4.setEmail("k4@k4.com");
- k4.setIme("ime_k4");
- k4.setPassword(passwordEncoder.encode("password_k4"));
- k4.setPrezime("prezime_k4");
- k4.setUloga(Uloga.ADMIN);
- k4.setUsername("username_k4");
- korisnikRepository.save(k4);
- djakRepository.save(dj0);
- djakRepository.save(dj1);
- djakRepository.save(dj2);
- djakRepository.save(dj3);
- Predavac p0 = new Predavac();
- p0.setBrTelefona("brTelefona_p0");
- p0.setEmail("p0@p0.com");
- p0.setIme("ime_p0");
- p0.setPassword(passwordEncoder.encode("password_p0"));
- p0.setPrezime("prezime_p0");
- p0.setUloga(Uloga.USER);
- p0.setUsername("username_p0");
- p0 = predavacRepository.save(p0);
- Calendar c = Calendar.getInstance();
- c.set(2017, 5, 1, 13, 30);
- Date pocetakTermina = c.getTime();
- c.set(2017, 5, 1, 15, 0);
- Date krajTermina = c.getTime();
- Termin t0 = new Termin();
- t0.setPocetak(pocetakTermina);
- t0.setKraj(krajTermina);
- c.set(2017, 5, 1, 9, 0);
- pocetakTermina = c.getTime();
- c.set(2017, 5, 1, 10, 30);
- krajTermina = c.getTime();
- Termin t1 = new Termin();
- t1.setPocetak(pocetakTermina);
- t1.setKraj(krajTermina);
- t0 = terminRepository.save(t0);
- t1 = terminRepository.save(t1);
- c.set(2017, 4, 22);
- Date dan = c.getTime();
- ZauzetTermin zt0 = new ZauzetTermin();
- zt0.setDatum(dan);
- zt0.setPredavac(p0);
- zt0.setTermin(t0);
- zt0 = zauzetTerminRepository.save(zt0);
- Predmet pr0 = new Predmet();
- pr0.setGodina(Godina.CETVRTA);
- pr0.setNaziv("Informatika");
- pr0.setTipSkole(TipSkole.FAKULTET);
- pr0 = predmetRepository.save(pr0);
- pr0.getPredavaci().add(p0);
- p0.getPredmeti().add(pr0);
- predmetRepository.save(pr0);
- predavacRepository.save(p0);
- Cas c0 = new Cas();
- c0.setDjak(dj0);
- c0.setPredmet(pr0);
- c0.setStatus(Status.ZAKAZAN);
- c0.setZauzetTermin(zt0);
- c0 = casRepository.save(c0);
- ZahtevZaZakazivanjeCasa zzc = new ZahtevZaZakazivanjeCasa();
- zzc.setDjak(dj0);
- zzc.setPredavac(p0);
- zzc.setPredmet(pr0);
- zzc.setDatumCasa(new Date());
- zzc.setTrenutakPodnosenja(new Date());
- zzc.setTermin(t1);
- zzc.setOdobren(true);
- zzc = zahtevZaZakazivanjeCasaRepository.save(zzc);
- ZahtevZaZakazivanjeCasa zzc1 = new ZahtevZaZakazivanjeCasa();
- zzc1.setDjak(dj0);
- zzc1.setPredavac(p0);
- zzc1.setPredmet(pr0);
- zzc1.setDatumCasa(new Date());
- zzc1.setTrenutakPodnosenja(new Date());
- zzc1.setTermin(t1);
- zzc1.setOdobren(false);
- zzc1.setOdbijen(false);
- zzc1 = zahtevZaZakazivanjeCasaRepository.save(zzc1);
- ZahtevZaZakazivanjeCasa zzc2 = new ZahtevZaZakazivanjeCasa();
- zzc2.setDjak(dj0);
- zzc2.setPredavac(p0);
- zzc2.setPredmet(pr0);
- zzc2.setDatumCasa(new Date());
- zzc2.setTrenutakPodnosenja(new Date());
- zzc2.setTermin(t1);
- zzc2.setOdobren(true);
- zzc2.setOdbijen(true);
- zzc2 = zahtevZaZakazivanjeCasaRepository.save(zzc2);
- return new ResponseEntity<>(HttpStatus.OK);
- }
- @RequestMapping(method = RequestMethod.GET, value = "/check-triggers")
- public ResponseEntity<?> checkTriggers() {
- Predavac p0 = new Predavac();
- Termin t0 = new Termin();
- ZauzetTermin zt1 = new ZauzetTermin();
- ZauzetTermin zt0 = new ZauzetTermin();
- ZauzetTermin zt00 = new ZauzetTermin();
- Cas c0 = new Cas();
- Cas c1 = new Cas();
- Djak dj0 = new Djak();
- Calendar c = Calendar.getInstance();
- c.set(2017, 5, 1, 13, 30);
- Date pocetakTermina = c.getTime();
- c.set(2017, 5, 1, 15, 0);
- Date krajTermina = c.getTime();
- try {
- dj0.setBrTelefona("brTelefona_dj0");
- dj0.setEmail("dj0@dj0.com");
- dj0.setIme("ime_dj0");
- dj0.setPassword(passwordEncoder.encode("password_dj0"));
- dj0.setPrezime("prezime_dj0");
- dj0.setUloga(Uloga.USER);
- dj0.setUsername("username_dj0");
- dj0 = djakRepository.save(dj0);
- p0.setBrTelefona("brTelefona_p0");
- p0.setEmail("p0@p0.com" + (new Date()).getTime());
- p0.setIme("ime_p0");
- p0.setPassword(passwordEncoder.encode("password_p0"));
- p0.setPrezime("prezime_p0");
- p0.setUloga(Uloga.USER);
- p0.setUsername("username_p0" + (new Date()).getTime());
- p0 = predavacRepository.save(p0);
- t0.setPocetak(pocetakTermina);
- t0.setKraj(krajTermina);
- t0 = terminRepository.save(t0);
- c.set(2017, 5, 1);
- Date dan = c.getTime();
- zt1.setDatum(dan);
- zt1.setPredavac(p0);
- zt1.setTermin(t0);
- zt1 = zauzetTerminRepository.save(zt1);
- zt0.setDatum(dan);
- zt0.setPredavac(p0);
- zt0.setTermin(t0);
- zt0 = zauzetTerminRepository.save(zt0);
- zt00.setDatum(dan);
- zt00.setPredavac(p0);
- zt00.setTermin(t0);
- zt00 = zauzetTerminRepository.save(zt00);
- c0.setDjak(dj0);
- c0.setZauzetTermin(zt0);
- c0.setStatus(Status.ZAKAZAN);
- c0 = casRepository.save(c0);
- c1.setDjak(dj0);
- c1.setZauzetTermin(zt00);
- c1.setStatus(Status.ZAKAZAN);
- c1 = casRepository.save(c1);
- } catch (Exception e) {
- //e.printStackTrace();
- }
- try{
- ZahtevZaOtkazivanjeCasa zzo = new ZahtevZaOtkazivanjeCasa();
- zzo.setTrenutakPodnosenja(pocetakTermina);
- zzo.setCas(c0);
- zzo = zahtevZaOtkazivanjeCasaRepository.save(zzo);
- }catch(Exception e){
- //e.printStackTrace();
- }
- return new ResponseEntity<>(HttpStatus.OK);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement