Skip to content

Commit

Permalink
profile update to use JPA Service + small refactoring. Closes #46
Browse files Browse the repository at this point in the history
  • Loading branch information
CodrinE committed Apr 7, 2020
1 parent 8f3fded commit 773cd5d
Show file tree
Hide file tree
Showing 19 changed files with 115 additions and 91 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,13 @@
@Table(name = "owners")
public class Owner extends Person{

@Column
private String address;

@Column
private String city;

@Column
private String telephone;

@OneToMany(cascade = CascadeType.ALL, mappedBy = "owner")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,18 @@
import lombok.Getter;
import lombok.Setter;

import javax.persistence.Column;
import javax.persistence.MappedSuperclass;

@Getter
@Setter
@MappedSuperclass
public class Person extends BaseEntity{

@Column
private String firstName;

@Column
private String lastName;

}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,10 @@
@Table(name = "pets")
public class Pet extends BaseEntity{

@Column
private String name;

@Column
private LocalDate birthDate;

@ManyToOne
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import lombok.Getter;
import lombok.Setter;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

Expand All @@ -11,5 +12,7 @@
@Entity
@Table(name = "types")
public class PetType extends BaseEntity{

@Column
private String name;
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import lombok.Getter;
import lombok.Setter;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

Expand All @@ -12,5 +13,6 @@
@Table(name = "specilities")
public class Speciality extends BaseEntity {

@Column
private String description;
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,7 @@
import lombok.Getter;
import lombok.Setter;

import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.*;
import java.time.LocalDate;

@Getter
Expand All @@ -15,7 +12,10 @@
@Table(name = "visits")
public class Visit extends BaseEntity{

@Column
private LocalDate date;

@Column
private String description;

@ManyToOne
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import com.springframework.petclinic.services.PetService;
import com.springframework.petclinic.services.PetTypeService;
import lombok.AllArgsConstructor;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;

import java.util.Set;
Expand All @@ -15,6 +16,7 @@

@Service
@AllArgsConstructor
@Profile({"default", "map"})
public class OwnerServiceMap extends AbstractMapService<Owner, Long> implements OwnerService {

private final PetTypeService petTypeService;
Expand All @@ -36,16 +38,16 @@ public void deleteById(Long id){
}

@Override
public void delete(Owner object){
super.delete(object);
public void delete(Owner owner){
super.delete(owner);
}

@Override
public Owner save(Owner object) {
public Owner save(Owner owner) {

if(nonNull(object)){
if(nonNull(object.getPets())){
object.getPets().forEach(pet ->{
if(nonNull(owner)){
if(nonNull(owner.getPets())){
owner.getPets().forEach(pet ->{
if(nonNull(pet.getPetType())){
if(isNull(pet.getPetType().getId())){
pet.setPetType(petTypeService.save(pet.getPetType()));
Expand All @@ -61,7 +63,7 @@ public Owner save(Owner object) {
}
});
}
return super.save(object);
return super.save(owner);
}
return null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@

import com.springframework.petclinic.model.Pet;
import com.springframework.petclinic.services.PetService;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;

import java.util.Set;

@Service
@Profile({"default", "map"})
public class PetServiceMap extends AbstractMapService<Pet, Long> implements PetService {

@Override
Expand All @@ -25,13 +27,13 @@ public void deleteById(Long id){
}

@Override
public void delete(Pet object){
super.delete(object);
public void delete(Pet pet){
super.delete(pet);
}

@Override
public Pet save(Pet object) {
return super.save(object);
public Pet save(Pet pet) {
return super.save(pet);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@

import com.springframework.petclinic.model.PetType;
import com.springframework.petclinic.services.PetTypeService;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;

import java.util.Set;

@Service
@Profile({"default", "map"})
public class PetTypeServiceMap extends AbstractMapService<PetType, Long> implements PetTypeService {
@Override
public Set<PetType> findAll() {
Expand All @@ -19,13 +21,13 @@ public void deleteById(Long id) {
}

@Override
public void delete(PetType object) {
super.delete(object);
public void delete(PetType petType) {
super.delete(petType);
}

@Override
public PetType save(PetType object) {
return super.save(object);
public PetType save(PetType petType) {
return super.save(petType);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@

import com.springframework.petclinic.model.Speciality;
import com.springframework.petclinic.services.SpecialityService;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;

import java.util.Set;

@Service
@Profile({"default", "map"})
public class SpecialityServiceMap extends AbstractMapService<Speciality, Long> implements SpecialityService {

@Override
Expand All @@ -20,13 +22,13 @@ public void deleteById(Long id) {
}

@Override
public void delete(Speciality object) {
super.delete(object);
public void delete(Speciality speciality) {
super.delete(speciality);
}

@Override
public Speciality save(Speciality object) {
return super.save(object);
public Speciality save(Speciality speciality) {
return super.save(speciality);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.springframework.petclinic.services.SpecialityService;
import com.springframework.petclinic.services.VetService;
import lombok.AllArgsConstructor;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;

import java.util.Set;
Expand All @@ -13,6 +14,7 @@

@Service
@AllArgsConstructor
@Profile({"default", "map"})
public class VetServiceMap extends AbstractMapService<Vet, Long> implements VetService {

private final SpecialityService specialityService;
Expand All @@ -33,22 +35,22 @@ public void deleteById(Long id){
}

@Override
public void delete(Vet object){
super.delete(object);
public void delete(Vet vet){
super.delete(vet);
}

@Override
public Vet save(Vet object) {
public Vet save(Vet vet) {

if(!object.getSpecialities().isEmpty()){
object.getSpecialities().forEach(speciality -> {
if(!vet.getSpecialities().isEmpty()){
vet.getSpecialities().forEach(speciality -> {
if(isNull(speciality.getId())){
Speciality savedSpeciality = specialityService.save(speciality);
speciality.setId(savedSpeciality.getId());
}
});
}
return super.save(object);
return super.save(vet);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.springframework.petclinic.services.VisitService;
import com.sun.xml.bind.v2.model.core.ID;
import lombok.AllArgsConstructor;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Service;

import java.util.Objects;
Expand All @@ -13,6 +14,7 @@

@Service
@AllArgsConstructor
@Profile({"default", "map"})
public class VisitServiceMap extends AbstractMapService<Visit, Long> implements VisitService {

@Override
Expand All @@ -26,19 +28,19 @@ public void deleteById(Long id) {
}

@Override
public void delete(Visit object) {
super.delete(object);
public void delete(Visit visit) {
super.delete(visit);
}

@Override
public Visit save(Visit object) {
if(isNull(object.getPet())
|| isNull(object.getPet().getOwner())
|| isNull(object.getPet().getId())
|| isNull(object.getPet().getOwner().getId())){
public Visit save(Visit visit) {
if(isNull(visit.getPet())
|| isNull(visit.getPet().getOwner())
|| isNull(visit.getPet().getId())
|| isNull(visit.getPet().getOwner().getId())){
throw new RuntimeException("Invalid Visit");
}
return super.save(object);
return super.save(visit);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,22 +34,22 @@ public Set<Owner> findAll() {
}

@Override
public Owner findById(Long aLong) {
return ownerRepository.findById(aLong).orElse(null);
public Owner findById(Long id) {
return ownerRepository.findById(id).orElse(null);
}

@Override
public Owner save(Owner object) {
return ownerRepository.save(object);
public Owner save(Owner owner) {
return ownerRepository.save(owner);
}

@Override
public void delete(Owner object) {
ownerRepository.delete(object);
public void delete(Owner owner) {
ownerRepository.delete(owner);
}

@Override
public void deleteById(Long aLong) {
ownerRepository.deleteById(aLong);
public void deleteById(Long id) {
ownerRepository.deleteById(id);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,22 +25,22 @@ public Set<Pet> findAll() {
}

@Override
public Pet findById(Long aLong) {
return petRepository.findById(aLong).orElse(null);
public Pet findById(Long id) {
return petRepository.findById(id).orElse(null);
}

@Override
public Pet save(Pet object) {
return petRepository.save(object);
public Pet save(Pet pet) {
return petRepository.save(pet);
}

@Override
public void delete(Pet object) {
petRepository.delete(object);
public void delete(Pet pet) {
petRepository.delete(pet);
}

@Override
public void deleteById(Long aLong) {
petRepository.deleteById(aLong);
public void deleteById(Long id) {
petRepository.deleteById(id);
}
}
Loading

0 comments on commit 773cd5d

Please sign in to comment.