package com.eswaraj.core.convertors; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.eswaraj.core.exceptions.ApplicationException; import com.eswaraj.domain.nodes.Location; import com.eswaraj.domain.nodes.LocationBoundaryFile; import com.eswaraj.domain.repo.LocationRepository; import com.eswaraj.web.dto.LocationBoundaryFileDto; @Component public class LocationBoundaryFileConvertor extends BaseConvertor<LocationBoundaryFile, LocationBoundaryFileDto> { @Autowired private LocationRepository LocationRepository; @Override protected LocationBoundaryFile convertInternal(LocationBoundaryFileDto webDto) throws ApplicationException { LocationBoundaryFile LocationBoundaryFile = new LocationBoundaryFile(); BeanUtils.copyProperties(webDto, LocationBoundaryFile); if(webDto.getLocationId() != null){ Location location = LocationRepository.findOne(webDto.getLocationId()); if(location == null){ throw new ApplicationException("No such LocationBoundaryFile exists[id="+webDto.getLocationId()+"]"); } LocationBoundaryFile.setLocation(location); } return LocationBoundaryFile; } @Override protected LocationBoundaryFileDto convertBeanInternal(LocationBoundaryFile dbDto) { LocationBoundaryFileDto locationBoundaryFileDto = new LocationBoundaryFileDto(); BeanUtils.copyProperties(dbDto, locationBoundaryFileDto); if(dbDto.getLocation() != null){ locationBoundaryFileDto.setLocationId(dbDto.getLocation().getId()); } return locationBoundaryFileDto; } }