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;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.FileStorageException;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
......@@ -14,6 +16,9 @@ public class FileStorageService implements IFileStorageService {
private final Path rootFolderIMG = Paths.get("uploadsIMG");
private static final String FILE_ALREADY_EXISTS_MESSAGE = "El archivo ya existe: ";
@Override
public String saveFile(MultipartFile file, String fileName, boolean overwrite) {
try {
......@@ -21,7 +26,7 @@ public class FileStorageService implements IFileStorageService {
// Verificar si el archivo ya existe y si se permite la sobrescritura
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
......@@ -36,13 +41,9 @@ public class FileStorageService implements IFileStorageService {
return filePath.toString();
} catch (FileAlreadyExistsException e) {
// Manejar la excepción de archivo existente
// ... Realizar acciones adecuadas (por ejemplo, generar un nombre único)
throw new RuntimeException("File already exists: " + fileName, e);
throw new ResourceNotFoundException(FILE_ALREADY_EXISTS_MESSAGE + fileName + e);
} catch (IOException e) {
// Manejar la excepción de E/S
// ... Realizar acciones adecuadas (por ejemplo, registrar el error)
throw new RuntimeException("Failed to save file: " + fileName, e);
throw new FileStorageException("Failed to save file: " + fileName, e);
}
}
......@@ -52,7 +53,7 @@ public class FileStorageService implements IFileStorageService {
Path targetPath = rootFolder.resolve(targetFileName);
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
......@@ -73,7 +74,7 @@ public class FileStorageService implements IFileStorageService {
// Verificar si el archivo ya existe y si se permite la sobrescritura
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
......@@ -88,13 +89,9 @@ public class FileStorageService implements IFileStorageService {
return filePath.toString();
} catch (FileAlreadyExistsException e) {
// Manejar la excepción de archivo existente
// ... Realizar acciones adecuadas (por ejemplo, generar un nombre único)
throw new RuntimeException("File already exists: " + fileName, e);
throw new ResourceNotFoundException(FILE_ALREADY_EXISTS_MESSAGE + fileName + e);
} catch (IOException e) {
// Manejar la excepción de E/S
// ... Realizar acciones adecuadas (por ejemplo, registrar el error)
throw new RuntimeException("Failed to save file: " + fileName, e);
throw new FileStorageException("Failed to save file" + fileName, e);
}
}
......@@ -104,7 +101,7 @@ public class FileStorageService implements IFileStorageService {
Path targetPath = rootFolderIMG.resolve(targetFileName);
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
......
......@@ -25,6 +25,7 @@ public class ServiceUzyTavProyec implements IServiceUzyTavProyec {
private final DaoUzyTavCabComca daoUzyTavCabComca;
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) {
this.daoUzyTavProyec = daoUzyTavProyec;
this.mapper = mapper;
......@@ -34,7 +35,7 @@ public class ServiceUzyTavProyec implements IServiceUzyTavProyec {
@Override
public DtoUzyTavProyec ListarPorID(Long 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);
}
......@@ -60,10 +61,10 @@ public class ServiceUzyTavProyec implements IServiceUzyTavProyec {
public DtoUzyTavProyec editar(@PathVariable Long id, DtoUzyTavProyec dtoUzyTavProyec) {
try {
ModelUzyTavProyec entity = daoUzyTavProyec.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id));
.orElseThrow(() -> new ResourceNotFoundException(MESSAGE + id));
if (entity == null) {
throw new ResourceNotFoundException("No se encontró el registro con ID: " + id);
throw new ResourceNotFoundException(MESSAGE + id);
}
actualizarRelaciones(entity, dtoUzyTavProyec);
......@@ -72,7 +73,7 @@ public class ServiceUzyTavProyec implements IServiceUzyTavProyec {
ModelUzyTavProyec updatedEntity = daoUzyTavProyec.save(entity);
return mapper.entityToDto(updatedEntity);
} 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