From b18cf7822ac4f44fe22db3d879f5fe0e2dd417fd Mon Sep 17 00:00:00 2001 From: Trebellar Date: Sat, 11 Apr 2026 00:20:03 +0200 Subject: [PATCH] Modificado ServicioDepartamento para DuplicateInstanceException --- .../dao/departamento/DepartamentoEXistDao.java | 4 ---- .../departamento/ServicioDepartamento.java | 15 +++++++++++++-- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/main/java/modelo/dao/departamento/DepartamentoEXistDao.java b/src/main/java/modelo/dao/departamento/DepartamentoEXistDao.java index 8f1fedb..0db747a 100644 --- a/src/main/java/modelo/dao/departamento/DepartamentoEXistDao.java +++ b/src/main/java/modelo/dao/departamento/DepartamentoEXistDao.java @@ -87,7 +87,6 @@ public class DepartamentoEXistDao extends AbstractGenericDao imple exito = true; } catch (XMLDBException e) { - // TODO Auto-generated catch block e.printStackTrace(); } @@ -135,7 +134,6 @@ public class DepartamentoEXistDao extends AbstractGenericDao imple } catch (XMLDBException e) { departamento = null; - // TODO Auto-generated catch block e.printStackTrace(); } return departamento; @@ -187,11 +185,9 @@ public class DepartamentoEXistDao extends AbstractGenericDao imple } catch (ParserConfigurationException e) { output = ""; - // TODO Auto-generated catch block e.printStackTrace(); } catch (TransformerException e) { output = ""; - // TODO Auto-generated catch block e.printStackTrace(); } diff --git a/src/main/java/modelo/servicio/departamento/ServicioDepartamento.java b/src/main/java/modelo/servicio/departamento/ServicioDepartamento.java index 780b77e..ac12d4d 100644 --- a/src/main/java/modelo/servicio/departamento/ServicioDepartamento.java +++ b/src/main/java/modelo/servicio/departamento/ServicioDepartamento.java @@ -17,10 +17,21 @@ public class ServicioDepartamento implements IServicioDepartamento { } @Override - public boolean create(Departamento dept) throws DuplicateInstanceException { + public boolean create(Departamento dept) throws DuplicateInstanceException { + try { + // Intentamos ler se hai un departamento con ese mesmo código. + departamentoDao.read(dept.getDeptno()); + + // Si non encontra un id o read lanza unha InstanceNotFoundException + throw new DuplicateInstanceException("Xa existe este código nun departamento", dept.getDeptno(), + Departamento.class.getName()); + + } catch (InstanceNotFoundException e) { + // InstanceNotFoundException, non encontra error polo tanto continua coa + // creación do departamento. return departamentoDao.create(dept); - + } }