Skip to content

Instantly share code, notes, and snippets.

@jianhe-fun
Created August 28, 2021 06:02
Show Gist options
  • Save jianhe-fun/ab3da7d9de0ff95efe0eeff5697323c5 to your computer and use it in GitHub Desktop.
Save jianhe-fun/ab3da7d9de0ff95efe0eeff5697323c5 to your computer and use it in GitHub Desktop.
package jian.he.bootstrap;
import jian.he.model.*;
import jian.he.services.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
import java.time.LocalDate;
@Component
public class DataLoader implements CommandLineRunner {
private final OwnerService ownerService;
private final VetService vetService;
private final PetTypeService petTypeService;
private final SpecialtyService specialtyService;
private final VisitService visitService;
@Autowired
public DataLoader(OwnerService ownerService, VetService vetService, PetTypeService petTypeService, SpecialtyService specialtyService, VisitService visitService) {
this.ownerService = ownerService;
this.vetService = vetService;
this.petTypeService = petTypeService;
this.specialtyService = specialtyService;
this.visitService = visitService;
}
@Override
public void run(String... args) throws Exception {
int count = petTypeService.findAll().size();
if(count == 0){loadData();}
}
private void loadData() {
PetType cat = new PetType();
cat.setName("cat");
PetType savedCatPetType = petTypeService.save(cat);
PetType dog = new PetType();
cat.setName("dog");
PetType savedDogPetType = petTypeService.save(dog);
Specialty radiology = new Specialty();
radiology.setDescription("Radiology");
Specialty savedRadiology = specialtyService.save(radiology);
Specialty surgery = new Specialty();
surgery.setDescription("Surgery");
Specialty savedSurgery = specialtyService.save(surgery);
Specialty dentistry = new Specialty();
dentistry.setDescription("Dentistry");
Specialty savedDentistry = specialtyService.save(dentistry);
Owner owner1 = new Owner();
owner1.setFirstName("Dionne");
owner1.setLastName("Warwick");
owner1.setAddress("123 fairfield iowa");
owner1.setCity("iowa");
owner1.setTelephone("12324");
Pet mikesPet= new Pet();
mikesPet.setName("Rosco");
mikesPet.setOwner(owner1);
mikesPet.setBirthDate(LocalDate.now());
mikesPet.setPetType(savedDogPetType);
owner1.getPets().add(mikesPet);
Owner owner2 = new Owner();
owner2.setFirstName("The");
owner2.setLastName("Crystals");
owner2.setAddress("123 Brickerel");
owner2.setCity("Miami");
owner2.setTelephone("34897");
Pet fionasCat = new Pet();
fionasCat.setName("Just Cat");
fionasCat.setOwner(owner2);
fionasCat.setBirthDate(LocalDate.now());
fionasCat.setPetType(savedCatPetType);
owner2.getPets().add(fionasCat);
ownerService.save(owner2);
ownerService.save(owner1);
Visit catVisit = new Visit();
catVisit.setPet(fionasCat);
catVisit.setDate(LocalDate.now());
catVisit.setDescription("Cat Visit. Sneeze kitty");
visitService.save(catVisit);
System.out.println("|||| Loading owners.");
System.out.println("owner1 have "+ owner1.getPets().size() + "pets ID is" + owner1.getPets().getClass() );
System.out.println("owner2 have "+ owner1.getPets().size() );
Vet vet1 = new Vet();
vet1.setFirstName("Sam");
vet1.setLastName("Axe");
vet1.getSpecialities().add(savedRadiology);
vetService.save(vet1);
Vet vet2 = new Vet();
vet2.setFirstName("Jessie");
vet2.setLastName("Porter");
vet2.getSpecialities().add(savedSurgery);
vetService.save(vet2);
System.out.println("Loading Vets");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment