From faf3875560eb1cedef153125fe8f855bf73dc2c0 Mon Sep 17 00:00:00 2001 From: Trebellar Date: Fri, 10 Apr 2026 10:03:27 +0200 Subject: [PATCH] Metodo Update Listo --- .../departamento/DepartamentoEXistDao.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/main/java/modelo/dao/departamento/DepartamentoEXistDao.java b/src/main/java/modelo/dao/departamento/DepartamentoEXistDao.java index c3ec95b..28807c7 100644 --- a/src/main/java/modelo/dao/departamento/DepartamentoEXistDao.java +++ b/src/main/java/modelo/dao/departamento/DepartamentoEXistDao.java @@ -240,6 +240,32 @@ public class DepartamentoEXistDao extends AbstractGenericDao imple // throw new UnsupportedOperationException("Este método update debe ser // implementado"); boolean exito = false; + int numeroDep = entity.getDeptno(); + + try (Collection col = DatabaseManager.getCollection(dataSource.getUrl() + dataSource.getColeccion(), + dataSource.getUser(), dataSource.getPwd())) { + + XQueryService xqs = (XQueryService) col.getService("XQueryService", "1.0"); + xqs.setProperty("indent", "yes"); + + String xmlFormatoString = toXMLString(entity); + + String consulta = "update replace //DEP_ROW[DEPT_NO=" + numeroDep + "] with " + xmlFormatoString; + + // Ver se esta o departamento que temos que eliminar. + ResourceSet check = xqs.query("//DEP_ROW[DEPT_NO=" + numeroDep + "]"); + if (check.getSize() == 0) { + System.out.println("Non se atopa o departamento con ID " + numeroDep); + throw new InstanceNotFoundException(numeroDep, Departamento.class.getName()); + } + + // Executamos a consulta + xqs.query(consulta); + System.out.println("Departamento co ID " + numeroDep + " eliminado con éxito."); + exito = true; + } catch (InstanceNotFoundException | XMLDBException e) { + e.printStackTrace(); + } return exito; }