diff --git a/.gitignore b/.gitignore index 6198db2d5612868aad500b7967778a779e9d396b..7c1feba22f85536cf4a9121eae618631eaf2c787 100644 --- a/.gitignore +++ b/.gitignore @@ -8,4 +8,4 @@ target #General bak - +bin diff --git a/README.md b/README.md index 2075e2e71384b4163426f7a971645f907f290c81..b57d2e229af09324d1ce2e1ead00544dd696a3e8 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Kata 3: JDBC -En esta Kata utilizaremos JDBC para trabajar con una base de datos, partiendo del siguiente proyecto base: https://sing-group.org/dt/gitlab/dai-2324/kata3-base +En esta Kata utilizaremos JDBC para trabajar con una base de datos, partiendo del siguiente proyecto base: https://sing-group.org/dt/gitlab/dai-2627/kata3-base Este proyecto contiene un sistema funcional para la gestión de datos de usuarios. El único problema de este sistema es que el almacenamiento de datos realizado por la clase `EmployeesMapDAO` se realiza en memoria, con lo que el sistema no resulta realmente útil. @@ -14,8 +14,9 @@ Aunque al principio del Kata se explicará brevemente la estructura del programa 2. Cuando se haya completado la Kata se probará contra dos bases de datos: - * **JavaDB** / **Derby**: es un SGBD ligero y embebible, diseñado, principalmente, para pruebas. En el proyecto tendrás una base de datos Derby en el directorio `db` y las consultas de creación de las tablas en `sql/employees.javadb.sql`. En principio, no debería ser necesario que las ejecutes manualmente, puesto que la tabla ya debería estar creada en la base de datos. + * **H2**: es un SGBD ligero y embebible, diseñado, principalmente, para pruebas. En el proyecto tendrás una base de datos H2 en el directorio `db` y las consultas de creación de las tablas en `sql/employees.h2.sql`. * **MySQL**: en el fichero `sql/employees.mysql.sql` están las consultas necesarias para crear las base de datos. La base de datos se llamará `employees` y debe tener acceso a ella el usuario `kata3` con password `kata3`. - + + * En ambos casos, `Launcher` se encargará de crear la base de datos y la tabla necesarios si no existen. En el caso de MySQL sí que tendrás que crear un usuario `kata3` con password `kata3` y permisos de acceso y manipulación a la base de datos `employees`. diff --git a/db/employees/README_DO_NOT_TOUCH_FILES.txt b/db/employees/README_DO_NOT_TOUCH_FILES.txt deleted file mode 100644 index a4bc14529893603be90684356d705e12a8b203f8..0000000000000000000000000000000000000000 --- a/db/employees/README_DO_NOT_TOUCH_FILES.txt +++ /dev/null @@ -1,9 +0,0 @@ - -# ************************************************************************* -# *** DO NOT TOUCH FILES IN THIS DIRECTORY! *** -# *** FILES IN THIS DIRECTORY AND SUBDIRECTORIES CONSTITUTE A DERBY *** -# *** DATABASE, WHICH INCLUDES THE DATA (USER AND SYSTEM) AND THE *** -# *** FILES NECESSARY FOR DATABASE RECOVERY. *** -# *** EDITING, ADDING, OR DELETING ANY OF THESE FILES MAY CAUSE DATA *** -# *** CORRUPTION AND LEAVE THE DATABASE IN A NON-RECOVERABLE STATE. *** -# ************************************************************************* \ No newline at end of file diff --git a/db/employees/db.lck b/db/employees/db.lck deleted file mode 100644 index cc5b8f38ac64b59e764674c91aabe6b52f76472c..0000000000000000000000000000000000000000 Binary files a/db/employees/db.lck and /dev/null differ diff --git a/db/employees/dbex.lck b/db/employees/dbex.lck deleted file mode 100644 index 720d64f4baafc33efdf971f02084aca5f25b34a5..0000000000000000000000000000000000000000 Binary files a/db/employees/dbex.lck and /dev/null differ diff --git a/db/employees/log/README_DO_NOT_TOUCH_FILES.txt b/db/employees/log/README_DO_NOT_TOUCH_FILES.txt deleted file mode 100644 index 56df292f65e5915a60263115d7202dca2dabd042..0000000000000000000000000000000000000000 --- a/db/employees/log/README_DO_NOT_TOUCH_FILES.txt +++ /dev/null @@ -1,8 +0,0 @@ - -# ************************************************************************* -# *** DO NOT TOUCH FILES IN THIS DIRECTORY! *** -# *** FILES IN THIS DIRECTORY ARE USED BY THE DERBY DATABASE RECOVERY *** -# *** SYSTEM. EDITING, ADDING, OR DELETING FILES IN THIS DIRECTORY *** -# *** WILL CAUSE THE DERBY RECOVERY SYSTEM TO FAIL, LEADING TO *** -# *** NON-RECOVERABLE CORRUPT DATABASES. *** -# ************************************************************************* \ No newline at end of file diff --git a/db/employees/log/log.ctrl b/db/employees/log/log.ctrl deleted file mode 100644 index dfa7e55b9b1128c1cc4ead319082dcf24c465db9..0000000000000000000000000000000000000000 Binary files a/db/employees/log/log.ctrl and /dev/null differ diff --git a/db/employees/log/log1.dat b/db/employees/log/log1.dat deleted file mode 100644 index 4dc6c56bf90e4c807a1614a1c754fe138ddf764e..0000000000000000000000000000000000000000 Binary files a/db/employees/log/log1.dat and /dev/null differ diff --git a/db/employees/log/logmirror.ctrl b/db/employees/log/logmirror.ctrl deleted file mode 100644 index dfa7e55b9b1128c1cc4ead319082dcf24c465db9..0000000000000000000000000000000000000000 Binary files a/db/employees/log/logmirror.ctrl and /dev/null differ diff --git a/db/employees/seg0/README_DO_NOT_TOUCH_FILES.txt b/db/employees/seg0/README_DO_NOT_TOUCH_FILES.txt deleted file mode 100644 index 2bdad06127437e4b9b82a64cdfaf694d3ba146b1..0000000000000000000000000000000000000000 --- a/db/employees/seg0/README_DO_NOT_TOUCH_FILES.txt +++ /dev/null @@ -1,8 +0,0 @@ - -# ************************************************************************* -# *** DO NOT TOUCH FILES IN THIS DIRECTORY! *** -# *** FILES IN THIS DIRECTORY ARE USED BY THE DERBY DATABASE TO STORE *** -# *** USER AND SYSTEM DATA. EDITING, ADDING, OR DELETING FILES IN THIS *** -# *** DIRECTORY WILL CORRUPT THE ASSOCIATED DERBY DATABASE AND MAKE *** -# *** IT NON-RECOVERABLE. *** -# ************************************************************************* \ No newline at end of file diff --git a/db/employees/seg0/c10.dat b/db/employees/seg0/c10.dat deleted file mode 100644 index f3e7e340601f0485bb5727480a053f774a081315..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c10.dat and /dev/null differ diff --git a/db/employees/seg0/c101.dat b/db/employees/seg0/c101.dat deleted file mode 100644 index b1ad48df45dbe1dde4d8173999fbdb1f477d617d..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c101.dat and /dev/null differ diff --git a/db/employees/seg0/c111.dat b/db/employees/seg0/c111.dat deleted file mode 100644 index 29bebfbf9aecf535d807f78fbb57df9224dfb6f8..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c111.dat and /dev/null differ diff --git a/db/employees/seg0/c121.dat b/db/employees/seg0/c121.dat deleted file mode 100644 index 3ebccd158f493b359daa328ea36cedff351284e9..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c121.dat and /dev/null differ diff --git a/db/employees/seg0/c130.dat b/db/employees/seg0/c130.dat deleted file mode 100644 index 18dd6a371d8062508b5d62e70be84e668b3084a3..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c130.dat and /dev/null differ diff --git a/db/employees/seg0/c141.dat b/db/employees/seg0/c141.dat deleted file mode 100644 index d9d49f52e5ff256db9abef6a83dd476d21965cd4..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c141.dat and /dev/null differ diff --git a/db/employees/seg0/c150.dat b/db/employees/seg0/c150.dat deleted file mode 100644 index e2ea5767cbeb88ee1a4270898f9b17c296b50016..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c150.dat and /dev/null differ diff --git a/db/employees/seg0/c161.dat b/db/employees/seg0/c161.dat deleted file mode 100644 index 90960e6d4a00549e71d007bcbb2ef09b92b2e39c..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c161.dat and /dev/null differ diff --git a/db/employees/seg0/c171.dat b/db/employees/seg0/c171.dat deleted file mode 100644 index 55d40959a493d5ee3bf7cd04992bfc655896f7ef..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c171.dat and /dev/null differ diff --git a/db/employees/seg0/c180.dat b/db/employees/seg0/c180.dat deleted file mode 100644 index 5914885710e3bf1c5bed1f15fd5c257bbee5f002..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c180.dat and /dev/null differ diff --git a/db/employees/seg0/c191.dat b/db/employees/seg0/c191.dat deleted file mode 100644 index 3ee2e8a9940c1fd3d4dc7c320ce32d925fb41c60..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c191.dat and /dev/null differ diff --git a/db/employees/seg0/c1a1.dat b/db/employees/seg0/c1a1.dat deleted file mode 100644 index 87e0215332df0ccb3e7ffff67572e8cd44d7a8ce..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c1a1.dat and /dev/null differ diff --git a/db/employees/seg0/c1b1.dat b/db/employees/seg0/c1b1.dat deleted file mode 100644 index 382647306349e21bf696a301e8431f19e1c62509..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c1b1.dat and /dev/null differ diff --git a/db/employees/seg0/c1c0.dat b/db/employees/seg0/c1c0.dat deleted file mode 100644 index c5b91e2c3fef26113800b2a821fa2bb19fdf1105..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c1c0.dat and /dev/null differ diff --git a/db/employees/seg0/c1d1.dat b/db/employees/seg0/c1d1.dat deleted file mode 100644 index 451f02f45f24d575ab53a16df6a3b9f730336855..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c1d1.dat and /dev/null differ diff --git a/db/employees/seg0/c1e0.dat b/db/employees/seg0/c1e0.dat deleted file mode 100644 index 761408d3b3483e2cb3bc4d3d46e37c5e92d2a255..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c1e0.dat and /dev/null differ diff --git a/db/employees/seg0/c1f1.dat b/db/employees/seg0/c1f1.dat deleted file mode 100644 index 78d701f45559f9fc67104563ad350118d55c794e..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c1f1.dat and /dev/null differ diff --git a/db/employees/seg0/c20.dat b/db/employees/seg0/c20.dat deleted file mode 100644 index 4752a8fca90c2992ce14f4ae8c4330f982bd57a2..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c20.dat and /dev/null differ diff --git a/db/employees/seg0/c200.dat b/db/employees/seg0/c200.dat deleted file mode 100644 index c3a7808dd76bce2cfa24ab40d4e9e5d87dc76d32..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c200.dat and /dev/null differ diff --git a/db/employees/seg0/c211.dat b/db/employees/seg0/c211.dat deleted file mode 100644 index 54e1586958acadf39872d757100822023755d145..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c211.dat and /dev/null differ diff --git a/db/employees/seg0/c221.dat b/db/employees/seg0/c221.dat deleted file mode 100644 index 59900bc01279b60106d28567bbbf6524aaac4165..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c221.dat and /dev/null differ diff --git a/db/employees/seg0/c230.dat b/db/employees/seg0/c230.dat deleted file mode 100644 index 7211e736e64adaea537fc5bf63ebe4f32ae96b16..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c230.dat and /dev/null differ diff --git a/db/employees/seg0/c241.dat b/db/employees/seg0/c241.dat deleted file mode 100644 index d0609f0401df1679edeaf98654a29b0bf3b73e1d..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c241.dat and /dev/null differ diff --git a/db/employees/seg0/c251.dat b/db/employees/seg0/c251.dat deleted file mode 100644 index f2a385a2eb64ff0580ac0b0e087911b15feee6df..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c251.dat and /dev/null differ diff --git a/db/employees/seg0/c260.dat b/db/employees/seg0/c260.dat deleted file mode 100644 index 25f81fde784105363c372eba91f6175388235f63..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c260.dat and /dev/null differ diff --git a/db/employees/seg0/c271.dat b/db/employees/seg0/c271.dat deleted file mode 100644 index 51cde573e72a37ef75833e5cc49c51a7371e111b..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c271.dat and /dev/null differ diff --git a/db/employees/seg0/c281.dat b/db/employees/seg0/c281.dat deleted file mode 100644 index cfed875dfceab65004fe1b91cbefd660cea0ccb7..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c281.dat and /dev/null differ diff --git a/db/employees/seg0/c290.dat b/db/employees/seg0/c290.dat deleted file mode 100644 index a85589e545d81d6ae0a080bcb44ba28d846f9987..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c290.dat and /dev/null differ diff --git a/db/employees/seg0/c2a1.dat b/db/employees/seg0/c2a1.dat deleted file mode 100644 index 8e2ed6afe90b6e9bab82029f98a338a3cf455bf8..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c2a1.dat and /dev/null differ diff --git a/db/employees/seg0/c2b1.dat b/db/employees/seg0/c2b1.dat deleted file mode 100644 index 2a2969247718ad8c76b895d72b43a1f781e3cbd9..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c2b1.dat and /dev/null differ diff --git a/db/employees/seg0/c2c1.dat b/db/employees/seg0/c2c1.dat deleted file mode 100644 index 5511575f62c4403a8655a1dc183f74e5747dc947..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c2c1.dat and /dev/null differ diff --git a/db/employees/seg0/c2d0.dat b/db/employees/seg0/c2d0.dat deleted file mode 100644 index 4adc6e4470f86182da42ea94fe6881290c97948a..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c2d0.dat and /dev/null differ diff --git a/db/employees/seg0/c2e1.dat b/db/employees/seg0/c2e1.dat deleted file mode 100644 index b37b9b254234c4de527ff90f13f4624bfa8f98c3..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c2e1.dat and /dev/null differ diff --git a/db/employees/seg0/c2f0.dat b/db/employees/seg0/c2f0.dat deleted file mode 100644 index d854b4b482d64363d5e58c63e9e4d8e5633ff2ec..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c2f0.dat and /dev/null differ diff --git a/db/employees/seg0/c300.dat b/db/employees/seg0/c300.dat deleted file mode 100644 index 2053e0105b40818ea4cc1ea3a6c1cb5edb9972df..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c300.dat and /dev/null differ diff --git a/db/employees/seg0/c31.dat b/db/employees/seg0/c31.dat deleted file mode 100644 index 1b054ecdab211ea9fddf31145df2a44b078c4f57..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c31.dat and /dev/null differ diff --git a/db/employees/seg0/c311.dat b/db/employees/seg0/c311.dat deleted file mode 100644 index f60c260f85bd9b0a9e1ac4fbc0967fb1521015d6..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c311.dat and /dev/null differ diff --git a/db/employees/seg0/c321.dat b/db/employees/seg0/c321.dat deleted file mode 100644 index a9d745366de2ffc50f52ab82f6a34a8543e111a0..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c321.dat and /dev/null differ diff --git a/db/employees/seg0/c331.dat b/db/employees/seg0/c331.dat deleted file mode 100644 index 85ee72b31368516c6de9fbe3516e0e3229ea2755..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c331.dat and /dev/null differ diff --git a/db/employees/seg0/c340.dat b/db/employees/seg0/c340.dat deleted file mode 100644 index d99b11a3f2dfe2333989898bca9463dfb265ef5f..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c340.dat and /dev/null differ diff --git a/db/employees/seg0/c351.dat b/db/employees/seg0/c351.dat deleted file mode 100644 index f822f4cb0c68ba75ef276746d4ec866e151c9e4e..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c351.dat and /dev/null differ diff --git a/db/employees/seg0/c361.dat b/db/employees/seg0/c361.dat deleted file mode 100644 index b5c8f259d0d1fefc112f60325bfde24724aded2e..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c361.dat and /dev/null differ diff --git a/db/employees/seg0/c371.dat b/db/employees/seg0/c371.dat deleted file mode 100644 index ad11f01b25b6bd995142e4d731203e66b5792409..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c371.dat and /dev/null differ diff --git a/db/employees/seg0/c380.dat b/db/employees/seg0/c380.dat deleted file mode 100644 index a06b07cff942be110d00fe732dfdc8de242c69ed..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c380.dat and /dev/null differ diff --git a/db/employees/seg0/c391.dat b/db/employees/seg0/c391.dat deleted file mode 100644 index 2957dc4a1ed2662373d8e326b15f09e029e14ee5..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c391.dat and /dev/null differ diff --git a/db/employees/seg0/c3a1.dat b/db/employees/seg0/c3a1.dat deleted file mode 100644 index 55a3f292543d7fe9e132db0c8a33894b2fa0844a..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c3a1.dat and /dev/null differ diff --git a/db/employees/seg0/c3b1.dat b/db/employees/seg0/c3b1.dat deleted file mode 100644 index c8b45a2176e62042d5f17560142608569c16aeda..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c3b1.dat and /dev/null differ diff --git a/db/employees/seg0/c3c0.dat b/db/employees/seg0/c3c0.dat deleted file mode 100644 index 4d061cf0609ecd4b111d8f763b15c5658bf6caa6..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c3c0.dat and /dev/null differ diff --git a/db/employees/seg0/c3d1.dat b/db/employees/seg0/c3d1.dat deleted file mode 100644 index 45c9fa244b0a2004a450ef39909f490377f00a45..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c3d1.dat and /dev/null differ diff --git a/db/employees/seg0/c3e1.dat b/db/employees/seg0/c3e1.dat deleted file mode 100644 index 48f53e682fad1a672e0f68dabb0eb43c224231f2..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c3e1.dat and /dev/null differ diff --git a/db/employees/seg0/c3f1.dat b/db/employees/seg0/c3f1.dat deleted file mode 100644 index 08acdcee31e218c5d9c3b4f62ef38fb0f42c8e72..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c3f1.dat and /dev/null differ diff --git a/db/employees/seg0/c400.dat b/db/employees/seg0/c400.dat deleted file mode 100644 index 0c865bd44e9a03dd8025abc04b5296ce43f4d411..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c400.dat and /dev/null differ diff --git a/db/employees/seg0/c41.dat b/db/employees/seg0/c41.dat deleted file mode 100644 index ca237b40698b4788698e778bd7eef04c03481980..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c41.dat and /dev/null differ diff --git a/db/employees/seg0/c411.dat b/db/employees/seg0/c411.dat deleted file mode 100644 index e032673a995b8fb9ed05b13bdbb2c6ba3afd96bc..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c411.dat and /dev/null differ diff --git a/db/employees/seg0/c421.dat b/db/employees/seg0/c421.dat deleted file mode 100644 index 7219195d8c70a9651ef17722c372b2e5251a15a9..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c421.dat and /dev/null differ diff --git a/db/employees/seg0/c430.dat b/db/employees/seg0/c430.dat deleted file mode 100644 index 55c948db3494a63fd9c7aa83b683caed1cb112f5..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c430.dat and /dev/null differ diff --git a/db/employees/seg0/c441.dat b/db/employees/seg0/c441.dat deleted file mode 100644 index 3948b2a3c5aa10a7b713afa7069d6d7442b77319..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c441.dat and /dev/null differ diff --git a/db/employees/seg0/c451.dat b/db/employees/seg0/c451.dat deleted file mode 100644 index fe1ab73e129b9d8da878e8cb40be7e85925aac57..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c451.dat and /dev/null differ diff --git a/db/employees/seg0/c461.dat b/db/employees/seg0/c461.dat deleted file mode 100644 index e6d98541fb79659dd82e6c495be7eda4795dd219..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c461.dat and /dev/null differ diff --git a/db/employees/seg0/c470.dat b/db/employees/seg0/c470.dat deleted file mode 100644 index c9f2eb1cae75e19bcc6f3d1feb17572a3f80c36e..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c470.dat and /dev/null differ diff --git a/db/employees/seg0/c481.dat b/db/employees/seg0/c481.dat deleted file mode 100644 index 397b291728daf0659f676de73f52ab7e45c3494b..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c481.dat and /dev/null differ diff --git a/db/employees/seg0/c490.dat b/db/employees/seg0/c490.dat deleted file mode 100644 index 6b47c8df7c8f0e49d45d4b675b7b32062f9d9a75..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c490.dat and /dev/null differ diff --git a/db/employees/seg0/c4a1.dat b/db/employees/seg0/c4a1.dat deleted file mode 100644 index 8d4cc01a1f1bb90936acac8685933f4e70aff18f..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c4a1.dat and /dev/null differ diff --git a/db/employees/seg0/c51.dat b/db/employees/seg0/c51.dat deleted file mode 100644 index 8abb1f44fd841179299055d62c9c6a424b4392aa..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c51.dat and /dev/null differ diff --git a/db/employees/seg0/c60.dat b/db/employees/seg0/c60.dat deleted file mode 100644 index c37266e810b637784d43b0d37fa927d34efad312..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c60.dat and /dev/null differ diff --git a/db/employees/seg0/c71.dat b/db/employees/seg0/c71.dat deleted file mode 100644 index 6651a77279133143a7fbee5e9caefb9086dd6b77..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c71.dat and /dev/null differ diff --git a/db/employees/seg0/c81.dat b/db/employees/seg0/c81.dat deleted file mode 100644 index 8e84edd1f296126ea387933441e10e736c65a7f3..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c81.dat and /dev/null differ diff --git a/db/employees/seg0/c90.dat b/db/employees/seg0/c90.dat deleted file mode 100644 index c7755bc335e98388dcea2ddf9776b74c7c43e41f..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/c90.dat and /dev/null differ diff --git a/db/employees/seg0/ca1.dat b/db/employees/seg0/ca1.dat deleted file mode 100644 index 0174d940226d521d05d82520dd654538f08347bd..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/ca1.dat and /dev/null differ diff --git a/db/employees/seg0/cb1.dat b/db/employees/seg0/cb1.dat deleted file mode 100644 index 9612512775b6bc50a8d3f4062f1137bda43b504b..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/cb1.dat and /dev/null differ diff --git a/db/employees/seg0/cc0.dat b/db/employees/seg0/cc0.dat deleted file mode 100644 index ccdde68ba1ddc18af22876598f88aeec25dd09b6..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/cc0.dat and /dev/null differ diff --git a/db/employees/seg0/cd1.dat b/db/employees/seg0/cd1.dat deleted file mode 100644 index f1e3b9de95f788e8acea050e13ea77c6ed761307..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/cd1.dat and /dev/null differ diff --git a/db/employees/seg0/ce1.dat b/db/employees/seg0/ce1.dat deleted file mode 100644 index c6240fff19555b60ce470d7c79d8b89cbc7ff00c..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/ce1.dat and /dev/null differ diff --git a/db/employees/seg0/cf0.dat b/db/employees/seg0/cf0.dat deleted file mode 100644 index 707e01ab1ae3306e40d832edb143d71fdcea35e7..0000000000000000000000000000000000000000 Binary files a/db/employees/seg0/cf0.dat and /dev/null differ diff --git a/db/employees/service.properties b/db/employees/service.properties deleted file mode 100644 index c0a5ae95c19e137486531f0189bb37d9a737180b..0000000000000000000000000000000000000000 --- a/db/employees/service.properties +++ /dev/null @@ -1,23 +0,0 @@ -#/home/michi/git/dai-katas/Kata3/db/employees -# ******************************************************************** -# *** Please do NOT edit this file. *** -# *** CHANGING THE CONTENT OF THIS FILE MAY CAUSE DATA CORRUPTION. *** -# ******************************************************************** -#Tue Oct 03 13:15:58 CEST 2023 -SysconglomeratesIdentifier=32 -SyscolumnsIdentifier=144 -derby.serviceLocale=en_US -SystablesIdentifier=96 -SysconglomeratesIndex3Identifier=81 -derby.storage.propertiesId=16 -derby.serviceProtocol=org.apache.derby.database.Database -SyscolumnsIndex1Identifier=161 -SysschemasIndex2Identifier=225 -SystablesIndex2Identifier=129 -SyscolumnsIndex2Identifier=177 -SysconglomeratesIndex2Identifier=65 -SysschemasIndex1Identifier=209 -SysschemasIdentifier=192 -SystablesIndex1Identifier=113 -SysconglomeratesIndex1Identifier=49 -#--- last line, don't put anything after this line --- diff --git a/pom.xml b/pom.xml index 42a9a12688391f2c19de881e4cae5f0809ef7b77..7248824a1fd3421898e797d4c3276458fced2a49 100644 --- a/pom.xml +++ b/pom.xml @@ -32,14 +32,14 @@ - 11 - 11 + 21 + 21 UTF-8 UTF-8 - 8.1.0 - 10.15.2.0 + 9.7.0 + 2.5.252 2.2.0 @@ -74,9 +74,9 @@ ${mysql-connector-j.version} - org.apache.derby - derby - ${derby.version} + com.h2database + h2 + ${h2.version} diff --git a/sql/employees.h2.sql b/sql/employees.h2.sql new file mode 100644 index 0000000000000000000000000000000000000000..c1da1f6e35bf77b394133023776d222c3036faf9 --- /dev/null +++ b/sql/employees.h2.sql @@ -0,0 +1,11 @@ +CREATE SCHEMA IF NOT EXISTS KATA3; + +CREATE TABLE IF NOT EXISTS Employees ( + id INTEGER AUTO_INCREMENT, + name VARCHAR(100) NOT NULL, + surname VARCHAR(100) NOT NULL, + birth DATE NOT NULL, + salary INTEGER NOT NULL, + intern BOOLEAN NOT NULL, + PRIMARY KEY (id) +); \ No newline at end of file diff --git a/sql/employees.javadb.sql b/sql/employees.javadb.sql deleted file mode 100644 index 571a574a11be761f486b17c94ff70a348652741e..0000000000000000000000000000000000000000 --- a/sql/employees.javadb.sql +++ /dev/null @@ -1,11 +0,0 @@ -DROP TABLE Employees; - -CREATE TABLE Employees ( - id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), - name VARCHAR(100) NOT NULL, - surname VARCHAR(100) NOT NULL, - birth DATE NOT NULL, - salary INTEGER NOT NULL, - intern BOOLEAN NOT NULL, - PRIMARY KEY (id) -); diff --git a/sql/employees.mysql.sql b/sql/employees.mysql.sql index 887dccbb3ade9a9d92332f38877fe171dd63f787..798e2065e33398b6a18396e05e4c6c58d93c6216 100644 --- a/sql/employees.mysql.sql +++ b/sql/employees.mysql.sql @@ -1,14 +1,11 @@ CREATE DATABASE IF NOT EXISTS `employees`; -USE `employees`; -DROP TABLE IF EXISTS Employees; - -CREATE TABLE `employees`.`Employees` ( - `id` INT NOT NULL AUTO_INCREMENT , - `name` VARCHAR(100) NULL , - `surname` VARCHAR(100) NULL , - `birth` DATE NULL , - `salary` INT NULL , - `intern` BIT NULL , +CREATE TABLE IF NOT EXISTS `employees`.`Employees` ( + `id` INT NOT NULL AUTO_INCREMENT, + `name` VARCHAR(100), + `surname` VARCHAR(100), + `birth` DATE, + `salary` INT, + `intern` BIT, PRIMARY KEY (`id`) ); diff --git a/src/main/java/es/uvigo/esei/dai/kata3/EmployeeNotFoundException.java b/src/main/java/es/uvigo/esei/dai/kata3/EmployeeNotFoundException.java index 7937d441c3539bd4b56817ebd1e4104e9a82bdd2..bb7571d4ce0d3b33116c76772d1d2440803ac4e4 100644 --- a/src/main/java/es/uvigo/esei/dai/kata3/EmployeeNotFoundException.java +++ b/src/main/java/es/uvigo/esei/dai/kata3/EmployeeNotFoundException.java @@ -2,7 +2,7 @@ * #%L * DAI Dojo - Código base Kata 3 * %% - * Copyright (C) 2014 - 2023 Miguel Reboiro Jato + * Copyright (C) 2014 - 2026 Miguel Reboiro Jato * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as diff --git a/src/main/java/es/uvigo/esei/dai/kata3/Launch.java b/src/main/java/es/uvigo/esei/dai/kata3/Launch.java index 57c981b94c6ed15e7cacf145b71cb05e382cdc6b..ca62dc9185659ef9637525fc2858ce7b00eea306 100644 --- a/src/main/java/es/uvigo/esei/dai/kata3/Launch.java +++ b/src/main/java/es/uvigo/esei/dai/kata3/Launch.java @@ -2,7 +2,7 @@ * #%L * DAI Dojo - Código base Kata 3 * %% - * Copyright (C) 2014 - 2023 Miguel Reboiro Jato + * Copyright (C) 2014 - 2026 Miguel Reboiro Jato * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as @@ -21,8 +21,14 @@ */ package es.uvigo.esei.dai.kata3; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; import java.sql.Connection; import java.sql.DriverManager; +import java.sql.PreparedStatement; import java.sql.SQLException; import javax.swing.JFrame; @@ -37,12 +43,16 @@ import es.uvigo.esei.dai.kata3.model.dao.EmployeesMapDAO; import es.uvigo.esei.dai.kata3.view.EmployeesPanel; public class Launch { - public static void main(String[] args) throws SQLException { - // Una vez completado el ejercicio cambiar el DAO creado - final EmployeesDAO dao = new EmployeesMapDAO(); - // final EmployeesDAO dao = createEmployeesJavaDBDAO(false); - // final EmployeesDAO dao = createEmployeesMySQLDBDAO(); + private final static Path SQL_PATH = Path.of("sql"); + + public static void main(String[] args) throws SQLException, IOException { + // Una vez completado el ejercicio cambiar la conexión y el DAO creados. + final Connection connection = null; + // final Connection connection = createH2Connection(); + // final Connection connection = createMySQLConnection(); + final EmployeesDAO dao = new EmployeesMapDAO(); + // final EmployeesDAO dao = new EmployeesDBDAO(connection); final EmployeesController controller = new DefaultEmployeesController(dao); SwingUtilities.invokeLater(() -> { @@ -55,44 +65,49 @@ public class Launch { frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); + + // JDBC connection is closed when the window is closed. + frame.addWindowListener(new WindowAdapter() { + @Override + public void windowClosed(WindowEvent e) { + if (connection != null) { + try { + connection.close(); + } catch (SQLException e1) { + e1.printStackTrace(); + } + } + } + }); }); } - /* Una vez completado el ejercicio descomentar este bloque de código. - private final static EmployeesDAO createEmployeesJavaDBDAO(boolean createDatabase) throws SQLException { - final Connection connection; + private final static Connection createH2Connection() throws SQLException, IOException { + final Connection connection = DriverManager.getConnection("jdbc:h2:./db/employees;DB_CLOSE_DELAY=-1", "kata3", + "kata3"); - // La base de datos ya debería estar creada - if (createDatabase) { - connection = DriverManager.getConnection("jdbc:derby:db/employees;create=true", "kata3", "kata3"); - createJavaDBDatabase(connection); - } else { - connection = DriverManager.getConnection("jdbc:derby:db/employees", "kata3", "kata3"); + final String sql = Files.readString(SQL_PATH.resolve("employees.h2.sql")); + + try (PreparedStatement statement = connection.prepareStatement(sql)) { + statement.execute(); } - return new EmployeesDBDAO(connection); + return connection; } - private final static void createJavaDBDatabase(Connection connection) throws SQLException { - connection.createStatement().execute("CREATE SCHEMA KATA3"); - connection.createStatement().execute( - "CREATE TABLE Employees " - + "(id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), " - + "name VARCHAR(100) NOT NULL, " - + "surname VARCHAR(100) NOT NULL, " - + "birth DATE NOT NULL, " - + "salary INTEGER NOT NULL, " - + "intern BOOLEAN NOT NULL, PRIMARY KEY (id)" - + ")" - ); - } + private final static Connection createMySQLConnection() throws SQLException, IOException { + final Connection connection = DriverManager.getConnection( + "jdbc:mysql://localhost:3306/employees?allowMultiQueries=true", "kata3", + "kata3"); - private final static EmployeesDAO createEmployeesMySQLDBDAO() throws SQLException { - final Connection connection = DriverManager - .getConnection("jdbc:mysql://localhost:3306/employees", "kata3", "kata3"); + final String sql = Files.readString(SQL_PATH.resolve("employees.mysql.sql")); - return new EmployeesDBDAO(connection); - }*/ + try (PreparedStatement statement = connection.prepareStatement(sql)) { + statement.execute(); + } + + return connection; + } private static void changeLookAndFeelToNimbus() { try { diff --git a/src/main/java/es/uvigo/esei/dai/kata3/SearchType.java b/src/main/java/es/uvigo/esei/dai/kata3/SearchType.java index f3517d09dc0d9a8b78af893c82bfae9d0ae40ac3..691e118524451f4d98ad5a3c193408ac8d3d2eb1 100644 --- a/src/main/java/es/uvigo/esei/dai/kata3/SearchType.java +++ b/src/main/java/es/uvigo/esei/dai/kata3/SearchType.java @@ -2,7 +2,7 @@ * #%L * DAI Dojo - Código base Kata 3 * %% - * Copyright (C) 2014 - 2023 Miguel Reboiro Jato + * Copyright (C) 2014 - 2026 Miguel Reboiro Jato * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as diff --git a/src/main/java/es/uvigo/esei/dai/kata3/controller/DefaultEmployeesController.java b/src/main/java/es/uvigo/esei/dai/kata3/controller/DefaultEmployeesController.java index 509579198419912f4728cd6a4b3dff3c2485c289..3d0d8008af24d5e53b981ac03f522c421641ea27 100644 --- a/src/main/java/es/uvigo/esei/dai/kata3/controller/DefaultEmployeesController.java +++ b/src/main/java/es/uvigo/esei/dai/kata3/controller/DefaultEmployeesController.java @@ -2,7 +2,7 @@ * #%L * DAI Dojo - Código base Kata 3 * %% - * Copyright (C) 2014 - 2023 Miguel Reboiro Jato + * Copyright (C) 2014 - 2026 Miguel Reboiro Jato * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as diff --git a/src/main/java/es/uvigo/esei/dai/kata3/controller/EmployeesController.java b/src/main/java/es/uvigo/esei/dai/kata3/controller/EmployeesController.java index f48415aa76cffb01f7acf4107c91444149f2156a..810aa1aef3d0dd91c356d86ed1d4a938cedac8af 100644 --- a/src/main/java/es/uvigo/esei/dai/kata3/controller/EmployeesController.java +++ b/src/main/java/es/uvigo/esei/dai/kata3/controller/EmployeesController.java @@ -2,7 +2,7 @@ * #%L * DAI Dojo - Código base Kata 3 * %% - * Copyright (C) 2014 - 2023 Miguel Reboiro Jato + * Copyright (C) 2014 - 2026 Miguel Reboiro Jato * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as diff --git a/src/main/java/es/uvigo/esei/dai/kata3/model/dao/EmployeesDAO.java b/src/main/java/es/uvigo/esei/dai/kata3/model/dao/EmployeesDAO.java index 659ac3b91dfb116a88ff441022bd2890f0d25448..8c10977ca22ce245938e87acd9937c359f9592c9 100644 --- a/src/main/java/es/uvigo/esei/dai/kata3/model/dao/EmployeesDAO.java +++ b/src/main/java/es/uvigo/esei/dai/kata3/model/dao/EmployeesDAO.java @@ -2,7 +2,7 @@ * #%L * DAI Dojo - Código base Kata 3 * %% - * Copyright (C) 2014 - 2023 Miguel Reboiro Jato + * Copyright (C) 2014 - 2026 Miguel Reboiro Jato * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as diff --git a/src/main/java/es/uvigo/esei/dai/kata3/model/dao/EmployeesMapDAO.java b/src/main/java/es/uvigo/esei/dai/kata3/model/dao/EmployeesMapDAO.java index 0d160cd3532b6a5245b7df0935f31b5a0cd7fc85..d7895b94149365eb2d973db69b6ce44c820fb884 100644 --- a/src/main/java/es/uvigo/esei/dai/kata3/model/dao/EmployeesMapDAO.java +++ b/src/main/java/es/uvigo/esei/dai/kata3/model/dao/EmployeesMapDAO.java @@ -2,7 +2,7 @@ * #%L * DAI Dojo - Código base Kata 3 * %% - * Copyright (C) 2014 - 2023 Miguel Reboiro Jato + * Copyright (C) 2014 - 2026 Miguel Reboiro Jato * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as @@ -21,9 +21,9 @@ */ package es.uvigo.esei.dai.kata3.model.dao; +import java.time.LocalDate; +import java.time.Month; import java.util.ArrayList; -import java.util.Calendar; -import java.util.GregorianCalendar; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -40,13 +40,9 @@ public class EmployeesMapDAO implements EmployeesDAO { public EmployeesMapDAO() { this.employees = new HashMap<>(); - final Calendar calendar = GregorianCalendar.getInstance(); - this.idGenerator = 1; - calendar.set(1980, Calendar.FEBRUARY, 10); - this.create(new Employee("Manuel", "Martínez", calendar.getTime(), 10000, false)); - calendar.set(1975, Calendar.MARCH, 21); - this.create(new Employee("María", "Muñíz", calendar.getTime(), 12000, true)); + this.create(new Employee("Manuel", "Martínez", LocalDate.of(2000, Month.FEBRUARY, 10), 25000, true)); + this.create(new Employee("María", "Muñíz", LocalDate.of(1975, Month.MARCH, 21), 52000, false)); } diff --git a/src/main/java/es/uvigo/esei/dai/kata3/model/entity/Employee.java b/src/main/java/es/uvigo/esei/dai/kata3/model/entity/Employee.java index 2ecb8d4d7ab60ea0cd50f14fa80ac3b12c0db452..6f879fee36d575b9e6b61e36558db48b1cb6ebaa 100644 --- a/src/main/java/es/uvigo/esei/dai/kata3/model/entity/Employee.java +++ b/src/main/java/es/uvigo/esei/dai/kata3/model/entity/Employee.java @@ -2,7 +2,7 @@ * #%L * DAI Dojo - Código base Kata 3 * %% - * Copyright (C) 2014 - 2023 Miguel Reboiro Jato + * Copyright (C) 2014 - 2026 Miguel Reboiro Jato * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as @@ -22,7 +22,7 @@ package es.uvigo.esei.dai.kata3.model.entity; import java.io.Serializable; -import java.util.Date; +import java.time.LocalDate; import java.util.Objects; public class Employee implements Serializable { @@ -32,13 +32,13 @@ public class Employee implements Serializable { private String name; private String surname; private int salary; - private Date birth; + private LocalDate birth; private boolean intern; public Employee() { } - public Employee(String name, String surname, Date birth, int salary, boolean intern) { + public Employee(String name, String surname, LocalDate birth, int salary, boolean intern) { this.name = name; this.surname = surname; this.salary = salary; @@ -46,7 +46,7 @@ public class Employee implements Serializable { this.intern = intern; } - public Employee(Integer id, String name, String surname, Date birth, int salary, boolean intern) { + public Employee(Integer id, String name, String surname, LocalDate birth, int salary, boolean intern) { this.id = id; this.name = name; this.surname = surname; @@ -87,11 +87,11 @@ public class Employee implements Serializable { this.salary = salary; } - public Date getBirth() { + public LocalDate getBirth() { return birth; } - public void setBirth(Date birth) { + public void setBirth(LocalDate birth) { this.birth = birth; } diff --git a/src/main/java/es/uvigo/esei/dai/kata3/view/EmployeesDataPanel.java b/src/main/java/es/uvigo/esei/dai/kata3/view/EmployeesDataPanel.java index f3cf29891bed913537c3d01d33311ddd700d14c8..8929783ce77010bb5753a7658f39c893a56e5cd4 100644 --- a/src/main/java/es/uvigo/esei/dai/kata3/view/EmployeesDataPanel.java +++ b/src/main/java/es/uvigo/esei/dai/kata3/view/EmployeesDataPanel.java @@ -2,7 +2,7 @@ * #%L * DAI Dojo - Código base Kata 3 * %% - * Copyright (C) 2014 - 2023 Miguel Reboiro Jato + * Copyright (C) 2014 - 2026 Miguel Reboiro Jato * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as @@ -30,7 +30,8 @@ import java.awt.event.FocusAdapter; import java.awt.event.FocusEvent; import java.text.NumberFormat; import java.text.SimpleDateFormat; -import java.util.Date; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import javax.swing.AbstractAction; import javax.swing.JButton; @@ -79,7 +80,7 @@ public class EmployeesDataPanel extends JPanel { this.txtName.setPreferredSize(new Dimension(200, (int) this.txtName.getPreferredSize().getHeight())); this.txtSurname = new JTextField(); this.ftxtSalary = new JFormattedTextField(NumberFormat.getIntegerInstance()); - this.ftxtBirth = new JFormattedTextField(new SimpleDateFormat("dd/MM/yyyy")); + this.ftxtBirth = new JFormattedTextField(DateTimeFormatter.ofPattern("dd/MM/uuuu").toFormat(LocalDate::from)); this.chkIntern = new JCheckBox(); final String[] labels = new String[] { "Name", "Surname", "Salary", "Birth", "Is intern?" }; @@ -132,7 +133,7 @@ public class EmployeesDataPanel extends JPanel { this.employee.setName(this.txtName.getText()); this.employee.setSurname(this.txtSurname.getText()); this.employee.setSalary(((Number) this.ftxtSalary.getValue()).intValue()); - this.employee.setBirth((Date) this.ftxtBirth.getValue()); + this.employee.setBirth((LocalDate) this.ftxtBirth.getValue()); this.employee.setIntern(this.chkIntern.isSelected()); return this.employee; diff --git a/src/main/java/es/uvigo/esei/dai/kata3/view/EmployeesMediator.java b/src/main/java/es/uvigo/esei/dai/kata3/view/EmployeesMediator.java index d7787cfbbdac983ee7304ef2838c7f9324c1d588..8c42983bec8474021223223e1626e31f92fb0b8e 100644 --- a/src/main/java/es/uvigo/esei/dai/kata3/view/EmployeesMediator.java +++ b/src/main/java/es/uvigo/esei/dai/kata3/view/EmployeesMediator.java @@ -2,7 +2,7 @@ * #%L * DAI Dojo - Código base Kata 3 * %% - * Copyright (C) 2014 - 2023 Miguel Reboiro Jato + * Copyright (C) 2014 - 2026 Miguel Reboiro Jato * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as diff --git a/src/main/java/es/uvigo/esei/dai/kata3/view/EmployeesPanel.java b/src/main/java/es/uvigo/esei/dai/kata3/view/EmployeesPanel.java index 8c84af4b84313c4db6e3fa1266e875324f2aedbc..e1e3fcb8a79a1ed2015742a7042c2912c90f93e3 100644 --- a/src/main/java/es/uvigo/esei/dai/kata3/view/EmployeesPanel.java +++ b/src/main/java/es/uvigo/esei/dai/kata3/view/EmployeesPanel.java @@ -2,7 +2,7 @@ * #%L * DAI Dojo - Código base Kata 3 * %% - * Copyright (C) 2014 - 2023 Miguel Reboiro Jato + * Copyright (C) 2014 - 2026 Miguel Reboiro Jato * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as @@ -37,7 +37,6 @@ import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.ListSelectionModel; import javax.swing.event.ListSelectionEvent; -import javax.swing.event.ListSelectionListener; import javax.swing.table.AbstractTableModel; import es.uvigo.esei.dai.kata3.SearchType; @@ -96,14 +95,11 @@ public class EmployeesPanel extends JPanel { this.tableEmployees.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); this.tableEmployees.setRowSelectionAllowed(true); this.tableEmployees.setColumnSelectionAllowed(false); - this.tableEmployees.getSelectionModel().addListSelectionListener(new ListSelectionListener() { - @Override - public void valueChanged(ListSelectionEvent e) { - final int index = EmployeesPanel.this.tableEmployees.getSelectedRow(); + this.tableEmployees.getSelectionModel().addListSelectionListener((ListSelectionEvent e) -> { + final int index = EmployeesPanel.this.tableEmployees.getSelectedRow(); - if (index >= 0) { - EmployeesPanel.this.mediator.editEmployee(model.getEmployee(index)); - } + if (index >= 0) { + EmployeesPanel.this.mediator.editEmployee(model.getEmployee(index)); } });