Modificado ServicioDepartamento para DuplicateInstanceException

This commit is contained in:
2026-04-11 00:20:03 +02:00
parent 989324ceaa
commit b18cf7822a
2 changed files with 13 additions and 6 deletions

View File

@@ -87,7 +87,6 @@ public class DepartamentoEXistDao extends AbstractGenericDao<Departamento> imple
exito = true; exito = true;
} catch (XMLDBException e) { } catch (XMLDBException e) {
// TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
} }
@@ -135,7 +134,6 @@ public class DepartamentoEXistDao extends AbstractGenericDao<Departamento> imple
} catch (XMLDBException e) { } catch (XMLDBException e) {
departamento = null; departamento = null;
// TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
} }
return departamento; return departamento;
@@ -187,11 +185,9 @@ public class DepartamentoEXistDao extends AbstractGenericDao<Departamento> imple
} catch (ParserConfigurationException e) { } catch (ParserConfigurationException e) {
output = ""; output = "";
// TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
} catch (TransformerException e) { } catch (TransformerException e) {
output = ""; output = "";
// TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
} }

View File

@@ -17,10 +17,21 @@ public class ServicioDepartamento implements IServicioDepartamento {
} }
@Override @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); return departamentoDao.create(dept);
}
} }