package com.eswaraj.core.service; import java.io.InputStream; import java.util.List; import com.eswaraj.core.exceptions.ApplicationException; import com.eswaraj.web.dto.BoundaryDto; import com.eswaraj.web.dto.GeoPointDto; import com.eswaraj.web.dto.LocationBoundaryFileDto; import com.eswaraj.web.dto.LocationDto; import com.eswaraj.web.dto.LocationTypeDto; import com.eswaraj.web.dto.LocationTypeJsonDto; public interface LocationService { LocationDto saveLocation(LocationDto locationDto) throws ApplicationException; LocationDto getLocationById(Long id) throws ApplicationException; List<LocationDto> getChildLocationsOfParent(Long parentLocationId) throws ApplicationException; LocationTypeDto saveLocationType(LocationTypeDto locationTypeDto) throws ApplicationException; LocationTypeJsonDto getLocationTypes(String clientName) throws ApplicationException; //LocationDto getLocationByNameAndType(String locationName, LocationType locationType) throws ApplicationException; LocationDto getRootLocationForSwarajIndia() throws ApplicationException; /** * We are passing the file service from outside as its not possible to inject FileService for testing on proxy implemention * @param locationId * @param inputStream * @param fileService * @return * @throws ApplicationException */ LocationBoundaryFileDto createNewLocationBoundaryFile(Long locationId, InputStream inputStream, FileService fileService) throws ApplicationException; BoundaryDto saveBoundary(BoundaryDto boundaryDto) throws ApplicationException; GeoPointDto saveBoundaryPoint(GeoPointDto geoPointDto) throws ApplicationException; }