Se mejora la calidad del código como los mensajes repetidos en las excepciones

parent a2df5be6
package ec.edu.espe.movilidad.MovilidadWS.Exceptions;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ResponseStatus;
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
public class FileStorageException extends RuntimeException {
public FileStorageException(String message, Throwable cause) {
super(message, cause);
}
}
package ec.edu.espe.movilidad.MovilidadWS.Service.FileStorage; package ec.edu.espe.movilidad.MovilidadWS.Service.FileStorage;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.FileStorageException;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
...@@ -14,6 +16,9 @@ public class FileStorageService implements IFileStorageService { ...@@ -14,6 +16,9 @@ public class FileStorageService implements IFileStorageService {
private final Path rootFolderIMG = Paths.get("uploadsIMG"); private final Path rootFolderIMG = Paths.get("uploadsIMG");
private static final String FILE_ALREADY_EXISTS_MESSAGE = "El archivo ya existe: ";
@Override @Override
public String saveFile(MultipartFile file, String fileName, boolean overwrite) { public String saveFile(MultipartFile file, String fileName, boolean overwrite) {
try { try {
...@@ -21,7 +26,7 @@ public class FileStorageService implements IFileStorageService { ...@@ -21,7 +26,7 @@ public class FileStorageService implements IFileStorageService {
// Verificar si el archivo ya existe y si se permite la sobrescritura // Verificar si el archivo ya existe y si se permite la sobrescritura
if (Files.exists(filePath) && !overwrite) { if (Files.exists(filePath) && !overwrite) {
throw new FileAlreadyExistsException("File already exists: " + fileName); throw new FileAlreadyExistsException(FILE_ALREADY_EXISTS_MESSAGE + fileName);
} }
// Eliminar el archivo anterior si existe // Eliminar el archivo anterior si existe
...@@ -36,13 +41,9 @@ public class FileStorageService implements IFileStorageService { ...@@ -36,13 +41,9 @@ public class FileStorageService implements IFileStorageService {
return filePath.toString(); return filePath.toString();
} catch (FileAlreadyExistsException e) { } catch (FileAlreadyExistsException e) {
// Manejar la excepción de archivo existente throw new ResourceNotFoundException(FILE_ALREADY_EXISTS_MESSAGE + fileName + e);
// ... Realizar acciones adecuadas (por ejemplo, generar un nombre único)
throw new RuntimeException("File already exists: " + fileName, e);
} catch (IOException e) { } catch (IOException e) {
// Manejar la excepción de E/S throw new FileStorageException("Failed to save file: " + fileName, e);
// ... Realizar acciones adecuadas (por ejemplo, registrar el error)
throw new RuntimeException("Failed to save file: " + fileName, e);
} }
} }
...@@ -52,7 +53,7 @@ public class FileStorageService implements IFileStorageService { ...@@ -52,7 +53,7 @@ public class FileStorageService implements IFileStorageService {
Path targetPath = rootFolder.resolve(targetFileName); Path targetPath = rootFolder.resolve(targetFileName);
if (Files.exists(targetPath) && !overwrite) { if (Files.exists(targetPath) && !overwrite) {
throw new FileAlreadyExistsException("File already exists: " + targetFileName); throw new FileAlreadyExistsException(FILE_ALREADY_EXISTS_MESSAGE + targetFileName);
} }
// Eliminar el archivo objetivo si existe y se permite la sobrescritura // Eliminar el archivo objetivo si existe y se permite la sobrescritura
...@@ -73,7 +74,7 @@ public class FileStorageService implements IFileStorageService { ...@@ -73,7 +74,7 @@ public class FileStorageService implements IFileStorageService {
// Verificar si el archivo ya existe y si se permite la sobrescritura // Verificar si el archivo ya existe y si se permite la sobrescritura
if (Files.exists(filePath) && !overwrite) { if (Files.exists(filePath) && !overwrite) {
throw new FileAlreadyExistsException("File already exists: " + fileName); throw new FileAlreadyExistsException("FILE_ALREADY_EXISTS_MESSAGE " + fileName);
} }
// Eliminar el archivo anterior si existe // Eliminar el archivo anterior si existe
...@@ -88,13 +89,9 @@ public class FileStorageService implements IFileStorageService { ...@@ -88,13 +89,9 @@ public class FileStorageService implements IFileStorageService {
return filePath.toString(); return filePath.toString();
} catch (FileAlreadyExistsException e) { } catch (FileAlreadyExistsException e) {
// Manejar la excepción de archivo existente throw new ResourceNotFoundException(FILE_ALREADY_EXISTS_MESSAGE + fileName + e);
// ... Realizar acciones adecuadas (por ejemplo, generar un nombre único)
throw new RuntimeException("File already exists: " + fileName, e);
} catch (IOException e) { } catch (IOException e) {
// Manejar la excepción de E/S throw new FileStorageException("Failed to save file" + fileName, e);
// ... Realizar acciones adecuadas (por ejemplo, registrar el error)
throw new RuntimeException("Failed to save file: " + fileName, e);
} }
} }
...@@ -104,7 +101,7 @@ public class FileStorageService implements IFileStorageService { ...@@ -104,7 +101,7 @@ public class FileStorageService implements IFileStorageService {
Path targetPath = rootFolderIMG.resolve(targetFileName); Path targetPath = rootFolderIMG.resolve(targetFileName);
if (Files.exists(targetPath) && !overwrite) { if (Files.exists(targetPath) && !overwrite) {
throw new FileAlreadyExistsException("File already exists: " + targetFileName); throw new FileAlreadyExistsException(FILE_ALREADY_EXISTS_MESSAGE + targetFileName);
} }
// Eliminar el archivo objetivo si existe y se permite la sobrescritura // Eliminar el archivo objetivo si existe y se permite la sobrescritura
......
...@@ -25,6 +25,7 @@ public class ServiceUzyTavProyec implements IServiceUzyTavProyec { ...@@ -25,6 +25,7 @@ public class ServiceUzyTavProyec implements IServiceUzyTavProyec {
private final DaoUzyTavCabComca daoUzyTavCabComca; private final DaoUzyTavCabComca daoUzyTavCabComca;
private final DaoUzyTavConparaEva daoUzyTavConparaEva; private final DaoUzyTavConparaEva daoUzyTavConparaEva;
public static final String MESSAGE = "No se encontró el registro con ID: ";
public ServiceUzyTavProyec(DaoUzyTavProyec daoUzyTavProyec, UzyTavProyecMapper mapper, DaoUzyTavCabComca daoUzyTavCabComca, DaoUzyTavConparaEva daoUzyTavConparaEva) { public ServiceUzyTavProyec(DaoUzyTavProyec daoUzyTavProyec, UzyTavProyecMapper mapper, DaoUzyTavCabComca daoUzyTavCabComca, DaoUzyTavConparaEva daoUzyTavConparaEva) {
this.daoUzyTavProyec = daoUzyTavProyec; this.daoUzyTavProyec = daoUzyTavProyec;
this.mapper = mapper; this.mapper = mapper;
...@@ -34,7 +35,7 @@ public class ServiceUzyTavProyec implements IServiceUzyTavProyec { ...@@ -34,7 +35,7 @@ public class ServiceUzyTavProyec implements IServiceUzyTavProyec {
@Override @Override
public DtoUzyTavProyec ListarPorID(Long id) { public DtoUzyTavProyec ListarPorID(Long id) {
ModelUzyTavProyec entity = daoUzyTavProyec.findById(id) ModelUzyTavProyec entity = daoUzyTavProyec.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id)); .orElseThrow(() -> new ResourceNotFoundException(MESSAGE + id));
return mapper.entityToDto(entity); return mapper.entityToDto(entity);
} }
...@@ -60,10 +61,10 @@ public class ServiceUzyTavProyec implements IServiceUzyTavProyec { ...@@ -60,10 +61,10 @@ public class ServiceUzyTavProyec implements IServiceUzyTavProyec {
public DtoUzyTavProyec editar(@PathVariable Long id, DtoUzyTavProyec dtoUzyTavProyec) { public DtoUzyTavProyec editar(@PathVariable Long id, DtoUzyTavProyec dtoUzyTavProyec) {
try { try {
ModelUzyTavProyec entity = daoUzyTavProyec.findById(id) ModelUzyTavProyec entity = daoUzyTavProyec.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id)); .orElseThrow(() -> new ResourceNotFoundException(MESSAGE + id));
if (entity == null) { if (entity == null) {
throw new ResourceNotFoundException("No se encontró el registro con ID: " + id); throw new ResourceNotFoundException(MESSAGE + id);
} }
actualizarRelaciones(entity, dtoUzyTavProyec); actualizarRelaciones(entity, dtoUzyTavProyec);
...@@ -72,7 +73,7 @@ public class ServiceUzyTavProyec implements IServiceUzyTavProyec { ...@@ -72,7 +73,7 @@ public class ServiceUzyTavProyec implements IServiceUzyTavProyec {
ModelUzyTavProyec updatedEntity = daoUzyTavProyec.save(entity); ModelUzyTavProyec updatedEntity = daoUzyTavProyec.save(entity);
return mapper.entityToDto(updatedEntity); return mapper.entityToDto(updatedEntity);
} catch (Exception e) { } catch (Exception e) {
throw new ResourceNotFoundException("Error al editar el registro: " + e.getMessage()); throw new ResourceNotFoundException(MESSAGE + e.getMessage());
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment