<workflowRun _class='org.jenkinsci.plugins.workflow.job.WorkflowRun'><action _class='hudson.model.CauseAction'><cause _class='com.cloudbees.jenkins.GitHubPushCause'><shortDescription>Started by GitHub push by jslg99</shortDescription></cause></action><action></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>0</buildableDurationMillis><buildableTimeMillis>14</buildableTimeMillis><buildingDurationMillis>30206</buildingDurationMillis><executingTimeMillis>25176</executingTimeMillis><executorUtilization>0.83</executorUtilization><queuingDurationMillis>9176</queuingDurationMillis><queuingTimeMillis>9192</queuingTimeMillis><subTaskCount>1</subTaskCount><totalDurationMillis>39382</totalDurationMillis><waitingDurationMillis>9161</waitingDurationMillis><waitingTimeMillis>9161</waitingTimeMillis></action><action _class='org.jenkinsci.plugins.workflow.libs.LibrariesAction'></action><action></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>14</buildNumber><marked><SHA1>827e8686d2c0557eb67b2c9b57281cc9265c37a6</SHA1><branch><SHA1>827e8686d2c0557eb67b2c9b57281cc9265c37a6</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>827e8686d2c0557eb67b2c9b57281cc9265c37a6</SHA1><branch><SHA1>827e8686d2c0557eb67b2c9b57281cc9265c37a6</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>827e8686d2c0557eb67b2c9b57281cc9265c37a6</SHA1><branch><SHA1>827e8686d2c0557eb67b2c9b57281cc9265c37a6</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UDFJDC-ModelosProgramacion/MP_202610_G81_E4_Back</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='org.jenkinsci.plugins.workflow.cps.EnvActionImpl'><environment></environment></action><action></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'><artifactsUrl>http://200.69.103.29:8085/jenkins/view/Modelos%20de%20programaci%C3%B3n/job/MP_202610_G81_E4_Back/lastUnsuccessfulBuild/artifact</artifactsUrl><changesUrl>http://200.69.103.29:8085/jenkins/view/Modelos%20de%20programaci%C3%B3n/job/MP_202610_G81_E4_Back/changes</changesUrl><displayUrl>http://200.69.103.29:8085/jenkins/view/Modelos%20de%20programaci%C3%B3n/job/MP_202610_G81_E4_Back/lastUnsuccessfulBuild/pipeline-graph</displayUrl><testsUrl>http://200.69.103.29:8085/jenkins/view/Modelos%20de%20programaci%C3%B3n/job/MP_202610_G81_E4_Back/lastUnsuccessfulBuild/testReport</testsUrl></action><action _class='org.jenkinsci.plugins.pipeline.modeldefinition.actions.RestartDeclarativePipelineAction'><restartEnabled>false</restartEnabled><restartableStage>Checkout</restartableStage><restartableStage>Build</restartableStage></action><action></action><action _class='org.jenkinsci.plugins.workflow.job.views.FlowGraphAction'><node _class='org.jenkinsci.plugins.workflow.graph.FlowStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.graph.FlowEndNode'></node></action><action></action><action></action><building>false</building><displayName>#14</displayName><duration>30206</duration><estimatedDuration>77760</estimatedDuration><fullDisplayName>MP_202610_G81_E4_Back #14</fullDisplayName><id>14</id><keepLog>false</keepLog><number>14</number><queueId>167</queueId><result>FAILURE</result><timestamp>1774809818330</timestamp><url>http://200.69.103.29:8085/jenkins/view/Modelos%20de%20programaci%C3%B3n/job/MP_202610_G81_E4_Back/14/</url><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/VeterinarianService.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/AdopterServiceTest.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/NotificationServiceTest.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/VeterinarianServiceTest.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/NotificationService.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/AdopterService.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/exceptions/RestExceptionHandler.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/MessageService.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/MessageServiceTest.java</affectedPath><commitId>a698e9a74e8b19366be4f70a528030622ee95576</commitId><timestamp>1774311126000</timestamp><author><absoluteUrl>http://200.69.103.29:8085/jenkins/user/javier.rodrig31</absoluteUrl><fullName>javier.rodrig31</fullName></author><authorEmail>javier.rodrig31@gmail.com</authorEmail><comment>Servicios y métodos
</comment><date>2026-03-23 19:12:06 -0500</date><id>a698e9a74e8b19366be4f70a528030622ee95576</id><msg>Servicios y métodos</msg><path><editType>add</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/MessageService.java</file></path><path><editType>add</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/VeterinarianServiceTest.java</file></path><path><editType>add</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/NotificationService.java</file></path><path><editType>add</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/AdopterService.java</file></path><path><editType>add</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/MessageServiceTest.java</file></path><path><editType>add</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/VeterinarianService.java</file></path><path><editType>add</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/AdopterServiceTest.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/exceptions/RestExceptionHandler.java</file></path><path><editType>add</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/NotificationServiceTest.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/NotificationServiceTest.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/AdopterServiceTest.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/VeterinarianServiceTest.java</affectedPath><affectedPath>src/test/java/co/edu/udistrital/mdp/ZZZ/services/MessageServiceTest.java</affectedPath><affectedPath>src/test/java/co/edu/udistrital/mdp/ZZZ/services/AdopterServiceTest.java</affectedPath><affectedPath>src/test/java/co/edu/udistrital/mdp/ZZZ/services/VeterinarianServiceTest.java</affectedPath><affectedPath>src/test/java/co/edu/udistrital/mdp/ZZZ/services/NotificationServiceTest.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/MessageServiceTest.java</affectedPath><commitId>2652dac0bdc3a9aa9427e4bbd4d8c4d4c4163185</commitId><timestamp>1774311913000</timestamp><author><absoluteUrl>http://200.69.103.29:8085/jenkins/user/javier.rodrig31</absoluteUrl><fullName>javier.rodrig31</fullName></author><authorEmail>javier.rodrig31@gmail.com</authorEmail><comment>Cambio de carpeta de Test
</comment><date>2026-03-23 19:25:13 -0500</date><id>2652dac0bdc3a9aa9427e4bbd4d8c4d4c4163185</id><msg>Cambio de carpeta de Test</msg><path><editType>add</editType><file>src/test/java/co/edu/udistrital/mdp/ZZZ/services/AdopterServiceTest.java</file></path><path><editType>add</editType><file>src/test/java/co/edu/udistrital/mdp/ZZZ/services/NotificationServiceTest.java</file></path><path><editType>delete</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/VeterinarianServiceTest.java</file></path><path><editType>add</editType><file>src/test/java/co/edu/udistrital/mdp/ZZZ/services/MessageServiceTest.java</file></path><path><editType>delete</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/NotificationServiceTest.java</file></path><path><editType>add</editType><file>src/test/java/co/edu/udistrital/mdp/ZZZ/services/VeterinarianServiceTest.java</file></path><path><editType>delete</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/MessageServiceTest.java</file></path><path><editType>delete</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/AdopterServiceTest.java</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>http://200.69.103.29:8085/jenkins/user/javier.rodrig31</absoluteUrl><fullName>javier.rodrig31</fullName><id>javier.rodrig31</id></culprit><culprit><absoluteUrl>http://200.69.103.29:8085/jenkins/user/juslopezg</absoluteUrl><fullName>juslopezg</fullName><id>juslopezg</id></culprit><culprit><absoluteUrl>http://200.69.103.29:8085/jenkins/user/scastanedab</absoluteUrl><fullName>scastanedab</fullName><id>scastanedab</id></culprit><inProgress>false</inProgress><previousBuild><action _class='hudson.model.CauseAction'><cause _class='com.cloudbees.jenkins.GitHubPushCause'><shortDescription>Started by GitHub push by jslg99</shortDescription></cause></action><action></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>0</buildableDurationMillis><buildableTimeMillis>1</buildableTimeMillis><buildingDurationMillis>13953</buildingDurationMillis><executingTimeMillis>12011</executingTimeMillis><executorUtilization>0.86</executorUtilization><subTaskCount>1</subTaskCount><waitingDurationMillis>5485</waitingDurationMillis><waitingTimeMillis>5485</waitingTimeMillis></action><action _class='org.jenkinsci.plugins.workflow.libs.LibrariesAction'></action><action></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>13</buildNumber><marked><SHA1>45260c74accae3e9f155d2dedf93044de8f4324d</SHA1><branch><SHA1>45260c74accae3e9f155d2dedf93044de8f4324d</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>45260c74accae3e9f155d2dedf93044de8f4324d</SHA1><branch><SHA1>45260c74accae3e9f155d2dedf93044de8f4324d</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>45260c74accae3e9f155d2dedf93044de8f4324d</SHA1><branch><SHA1>45260c74accae3e9f155d2dedf93044de8f4324d</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/UDFJDC-ModelosProgramacion/MP_202610_G81_E4_Back</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='org.jenkinsci.plugins.workflow.cps.EnvActionImpl'></action><action></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><action _class='org.jenkinsci.plugins.pipeline.modeldefinition.actions.RestartDeclarativePipelineAction'></action><action></action><action _class='org.jenkinsci.plugins.workflow.job.views.FlowGraphAction'></action><action></action><action></action><building>false</building><displayName>#13</displayName><duration>13953</duration><estimatedDuration>77760</estimatedDuration><fullDisplayName>MP_202610_G81_E4_Back #13</fullDisplayName><id>13</id><keepLog>false</keepLog><number>13</number><queueId>87</queueId><result>FAILURE</result><timestamp>1774223607226</timestamp><url>http://200.69.103.29:8085/jenkins/view/Modelos%20de%20programaci%C3%B3n/job/MP_202610_G81_E4_Back/13/</url><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/entities/TrialStayEntity.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/TrialStayService.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/AdoptionService.java</affectedPath><commitId>cc1c73e3bef00f2dc45ddea9ddc584a7813be63e</commitId><timestamp>1773365787000</timestamp><author><absoluteUrl>http://200.69.103.29:8085/jenkins/user/juslopezg</absoluteUrl><fullName>juslopezg</fullName></author><authorEmail>juslopezg@udistrital.edu.co</authorEmail><comment>Add AdoptionService and TrialStayService

Introduce AdoptionService and TrialStayService providing CRUD operations, basic validations and logging for adoption and trial-stay flows. AdoptionService enforces non-null inputs, pet availability, adoption date presence, status update on update, and prevents deletion unless adoption status is FINISHED. TrialStayService enforces date and adoption presence on create, supports full updates, and prevents deletion when an adoption is associated. Also include minor whitespace/formatting cleanup in TrialStayEntity.
</comment><date>2026-03-12 20:36:27 -0500</date><id>cc1c73e3bef00f2dc45ddea9ddc584a7813be63e</id><msg>Add AdoptionService and TrialStayService</msg><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/entities/TrialStayEntity.java</file></path><path><editType>add</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/AdoptionService.java</file></path><path><editType>add</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/TrialStayService.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/ReviewService.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/AdoptionService.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/TrialStayService.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/ShelterService.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/ShelterEventService.java</affectedPath><commitId>5bd019825038c5dd4fca39ea742c2920789fb890</commitId><timestamp>1773588037000</timestamp><author><absoluteUrl>http://200.69.103.29:8085/jenkins/user/juslopezg</absoluteUrl><fullName>juslopezg</fullName></author><authorEmail>juslopezg@udistrital.edu.co</authorEmail><comment>Add Review, Shelter, and ShelterEvent services

Introduce new service classes: ReviewService, ShelterService, and ShelterEventService providing CRUD operations with input validation and domain-specific safeguards (e.g. rating bounds, future-only event dates, preventing deletion of shelters with pets). Also minor cleanups: remove extraneous blank line in AdoptionService and tidy imports/whitespace in TrialStayService.
</comment><date>2026-03-15 10:20:37 -0500</date><id>5bd019825038c5dd4fca39ea742c2920789fb890</id><msg>Add Review, Shelter, and ShelterEvent services</msg><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/AdoptionService.java</file></path><path><editType>add</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/ReviewService.java</file></path><path><editType>add</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/ShelterService.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/TrialStayService.java</file></path><path><editType>add</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/ShelterEventService.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/test/java/co/test/java/co/edu/udistrital/test/java/co/edu/udistrital/mdp/pets/test/java/co/edu/udistrital/mdp/ShelterServiceTest.java</affectedPath><affectedPath>src/test/java/co/edu/udistrital/mdp/ZZZ/services/.gitkeep</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/TrialStayService.java</affectedPath><affectedPath>src/test/java/co/test/java/co/edu/udistrital/test/java/co/edu/udistrital/mdp/pets/test/java/co/edu/udistrital/mdp/ShelterEventServiceTest.java</affectedPath><affectedPath>src/test/java/co/test/java/co/edu/udistrital/test/java/co/edu/udistrital/mdp/pets/test/java/co/edu/udistrital/mdp/TrialStayServiceTest.java</affectedPath><affectedPath>src/test/java/co/test/java/co/edu/udistrital/test/java/co/edu/udistrital/mdp/pets/test/java/co/edu/udistrital/mdp/ReviewServiceTest.java</affectedPath><affectedPath>src/test/java/co/test/java/co/edu/udistrital/test/java/co/edu/udistrital/mdp/pets/test/java/co/edu/udistrital/mdp/AdoptionServiceTest.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/entities/ShelterEntity.java</affectedPath><commitId>345f4aa15fe1f2ce5b533430861da67e744dba3e</commitId><timestamp>1773979808000</timestamp><author><absoluteUrl>http://200.69.103.29:8085/jenkins/user/juslopezg</absoluteUrl><fullName>juslopezg</fullName></author><authorEmail>juslopezg@udistrital.edu.co</authorEmail><comment>Add unit tests and tidy entities/services

Remove extraneous comment lines in ShelterEntity and minor import/format cleanup in TrialStayService. Delete an unused .gitkeep test placeholder. Add several new service unit tests (AdoptionServiceTest placeholder, ReviewServiceTest, ShelterEventServiceTest, ShelterServiceTest, TrialStayServiceTest) to improve coverage and validate service behavior. Note: the new test files are added under src/test/java (their package paths mirror the project but include duplicated segments).
</comment><date>2026-03-19 23:10:08 -0500</date><id>345f4aa15fe1f2ce5b533430861da67e744dba3e</id><msg>Add unit tests and tidy entities/services</msg><path><editType>add</editType><file>src/test/java/co/test/java/co/edu/udistrital/test/java/co/edu/udistrital/mdp/pets/test/java/co/edu/udistrital/mdp/AdoptionServiceTest.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/entities/ShelterEntity.java</file></path><path><editType>add</editType><file>src/test/java/co/test/java/co/edu/udistrital/test/java/co/edu/udistrital/mdp/pets/test/java/co/edu/udistrital/mdp/ReviewServiceTest.java</file></path><path><editType>add</editType><file>src/test/java/co/test/java/co/edu/udistrital/test/java/co/edu/udistrital/mdp/pets/test/java/co/edu/udistrital/mdp/ShelterServiceTest.java</file></path><path><editType>add</editType><file>src/test/java/co/test/java/co/edu/udistrital/test/java/co/edu/udistrital/mdp/pets/test/java/co/edu/udistrital/mdp/ShelterEventServiceTest.java</file></path><path><editType>add</editType><file>src/test/java/co/test/java/co/edu/udistrital/test/java/co/edu/udistrital/mdp/pets/test/java/co/edu/udistrital/mdp/TrialStayServiceTest.java</file></path><path><editType>delete</editType><file>src/test/java/co/edu/udistrital/mdp/ZZZ/services/.gitkeep</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/TrialStayService.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/entities/AdoptionRequestEntity.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/repositories/TrialStayRepository.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/repositories/AdopterRepository.java</affectedPath><affectedPath>src/test/java/co/edu/udistrital/mdp/ZZZ/services/PetServiceTest.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/repositories/VeterinarianRepository.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/VaccineService.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/entities/AdoptionTrackingEntity.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/repositories/VaccinationRecordRepository.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/repositories/NotificationRepository.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/repositories/VaccineRepository.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/repositories/ReportRepository.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/entities/AdoptionEntity.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/repositories/MedicalEventRepository.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/repositories/ShelterRepository.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/MedicalEventService.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/repositories/AdoptionRepository.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/PetService.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/repositories/ShelterEventRepository.java</affectedPath><affectedPath>src/test/java/co/edu/udistrital/mdp/ZZZ/services/VaccinationRecordServiceRequest.java</affectedPath><affectedPath>src/test/java/co/edu/udistrital/mdp/ZZZ/services/AdoptionRequestServiceTest.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/repositories/AdoptionTrackingRepository.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/repositories/MessageRepository.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/repositories/PetRepository.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/repositories/DevolutionRepository.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/repositories/ReviewRepository.java</affectedPath><affectedPath>src/test/java/co/edu/udistrital/mdp/ZZZ/services/VaccineService.java</affectedPath><affectedPath>src/test/java/co/edu/udistrital/mdp/ZZZ/services/MedicalEventServiceTest.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/VaccinationRecordService.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/AdoptionRequestService.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/repositories/AdoptionRequestRepository.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/entities/AdoptionHistoryEntity.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/repositories/AdoptionHistoryRepository.java</affectedPath><commitId>9805c774d43aef97a470924c6b0fb8747965cfdd</commitId><timestamp>1774087727000</timestamp><author><absoluteUrl>http://200.69.103.29:8085/jenkins/user/scastanedab</absoluteUrl><fullName>scastanedab</fullName></author><authorEmail>scastanedab@udistrital.edu.co</authorEmail><comment>feat: implement services with business logic and corresponding unit tests

- Implemented service layer for main entities with CRUD operations
- Added validation of business rules in create, update, and delete methods
- Developed unit tests for each service:
  - Valid scenarios (successful operations)
  - Invalid scenarios (exception handling based on business rules)
  - Edge cases (non-existent entities)
- Cleaned up unused imports across multiple files
</comment><date>2026-03-21 05:08:47 -0500</date><id>9805c774d43aef97a470924c6b0fb8747965cfdd</id><msg>feat: implement services with business logic and corresponding unit tests</msg><path><editType>add</editType><file>src/test/java/co/edu/udistrital/mdp/ZZZ/services/PetServiceTest.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/repositories/PetRepository.java</file></path><path><editType>add</editType><file>src/test/java/co/edu/udistrital/mdp/ZZZ/services/MedicalEventServiceTest.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/repositories/ReportRepository.java</file></path><path><editType>add</editType><file>src/test/java/co/edu/udistrital/mdp/ZZZ/services/VaccinationRecordServiceRequest.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/repositories/NotificationRepository.java</file></path><path><editType>add</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/PetService.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/repositories/ShelterEventRepository.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/repositories/ReviewRepository.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/repositories/VeterinarianRepository.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/entities/AdoptionRequestEntity.java</file></path><path><editType>add</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/VaccinationRecordService.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/entities/AdoptionHistoryEntity.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/entities/AdoptionEntity.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/repositories/AdoptionHistoryRepository.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/repositories/VaccineRepository.java</file></path><path><editType>add</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/AdoptionRequestService.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/repositories/MedicalEventRepository.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/entities/AdoptionTrackingEntity.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/repositories/AdoptionRepository.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/repositories/ShelterRepository.java</file></path><path><editType>add</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/VaccineService.java</file></path><path><editType>add</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/MedicalEventService.java</file></path><path><editType>add</editType><file>src/test/java/co/edu/udistrital/mdp/ZZZ/services/AdoptionRequestServiceTest.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/repositories/MessageRepository.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/repositories/AdoptionRequestRepository.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/repositories/AdoptionTrackingRepository.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/repositories/TrialStayRepository.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/repositories/AdopterRepository.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/repositories/DevolutionRepository.java</file></path><path><editType>add</editType><file>src/test/java/co/edu/udistrital/mdp/ZZZ/services/VaccineService.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/repositories/VaccinationRecordRepository.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>postman/collections/Orejitas y Colas/Shelter/Delete Shelter.request.yaml</affectedPath><affectedPath>postman/collections/Orejitas y Colas/TrialStay/Search trial Stay.request.yaml</affectedPath><affectedPath>postman/collections/Orejitas y Colas/Review/Create Review.request.yaml</affectedPath><affectedPath>postman/collections/Orejitas y Colas/ShelterEvent/Search Shelter Event.request.yaml</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/ShelterService.java</affectedPath><affectedPath>postman/collections/Orejitas y Colas/ShelterEvent/.resources/definition.yaml</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/ShelterEventService.java</affectedPath><affectedPath>postman/collections/Orejitas y Colas/TrialStay/Search Trial Stays.request.yaml</affectedPath><affectedPath>postman/collections/Orejitas y Colas/Adoption/Search Adoption.request.yaml</affectedPath><affectedPath>postman/collections/Orejitas y Colas/Adoption/Update Adoption.request.yaml</affectedPath><affectedPath>postman/collections/Orejitas y Colas/Shelter/Update Shelter.request.yaml</affectedPath><affectedPath>postman/collections/Orejitas y Colas/.resources/definition.yaml</affectedPath><affectedPath>postman/collections/Orejitas y Colas/Adoption/Create Adoption.request.yaml</affectedPath><affectedPath>postman/collections/Orejitas y Colas/Adoption/Search Adoptions.request.yaml</affectedPath><affectedPath>postman/collections/Orejitas y Colas/ShelterEvent/Delete Shelter Event.request.yaml</affectedPath><affectedPath>postman/collections/Orejitas y Colas/TrialStay/Update Trial Stay.request.yaml</affectedPath><affectedPath>postman/collections/Orejitas y Colas/Review/Delete Review.request.yaml</affectedPath><affectedPath>postman/environments/Develop.environment.yaml</affectedPath><affectedPath>postman/collections/Orejitas y Colas/Adoption/Delete Adoption.request.yaml</affectedPath><affectedPath>postman/collections/Orejitas y Colas/ShelterEvent/Search Shelters Events.request.yaml</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/AdoptionService.java</affectedPath><affectedPath>postman/collections/Orejitas y Colas/TrialStay/Delete Trial Stays.request.yaml</affectedPath><affectedPath>postman/collections/Orejitas y Colas/TrialStay/Create Trial Stay.request.yaml</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/entities/AdoptionEntity.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/TrialStayService.java</affectedPath><affectedPath>postman/collections/Orejitas y Colas/Review/.resources/definition.yaml</affectedPath><affectedPath>postman/collections/Orejitas y Colas/ShelterEvent/Update Shelter Event.request.yaml</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/services/ReviewService.java</affectedPath><affectedPath>postman/collections/Orejitas y Colas/Adoption/.resources/definition.yaml</affectedPath><affectedPath>postman/collections/Orejitas y Colas/ShelterEvent/Create Shelter Event.request.yaml</affectedPath><affectedPath>postman/collections/Orejitas y Colas/Review/Search  Review.request.yaml</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/entities/ReviewEntity.java</affectedPath><affectedPath>postman/collections/Orejitas y Colas/Review/Update Review.request.yaml</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/entities/ShelterEntity.java</affectedPath><affectedPath>postman/collections/Orejitas y Colas/Review/Search Reviews.request.yaml</affectedPath><affectedPath>postman/collections/Orejitas y Colas/Shelter/Create Shelter.request.yaml</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/repositories/ShelterEventRepository.java</affectedPath><affectedPath>src/main/java/co/edu/udistrital/mdp/pets/entities/ShelterEventEntity.java</affectedPath><affectedPath>postman/collections/Orejitas y Colas/Shelter/Search Shelter.request.yaml</affectedPath><affectedPath>postman/collections/Orejitas y Colas/Shelter/.resources/definition.yaml</affectedPath><affectedPath>postman/collections/Orejitas y Colas/TrialStay/.resources/definition.yaml</affectedPath><commitId>5b78e6f44505e313ba1529dd98e8fe1497d9fefa</commitId><timestamp>1774223237000</timestamp><author><absoluteUrl>http://200.69.103.29:8085/jenkins/user/juslopezg</absoluteUrl><fullName>juslopezg</fullName></author><authorEmail>juslopezg@udistrital.edu.co</authorEmail><comment>Add Postman collection and update backend

Add a full Postman collection for the "Orejitas y Colas" API (collections, requests and environment) covering CRUD operations for Shelter, Review, ShelterEvent, TrialStay and Adoption, including test scripts that store created IDs in environment variables. Also apply backend updates to align with the API: modify entities and services (AdoptionEntity, ReviewEntity, ShelterEntity, ShelterEventEntity), ShelterEventRepository, and service implementations (AdoptionService, ReviewService, ShelterEventService, ShelterService, TrialStayService) to support the new/updated endpoints and workflows.
</comment><date>2026-03-22 18:47:17 -0500</date><id>5b78e6f44505e313ba1529dd98e8fe1497d9fefa</id><msg>Add Postman collection and update backend</msg><path><editType>add</editType><file>postman/collections/Orejitas y Colas/Review/Update Review.request.yaml</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/Shelter/.resources/definition.yaml</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/Shelter/Delete Shelter.request.yaml</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/TrialStay/Update Trial Stay.request.yaml</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/TrialStay/Create Trial Stay.request.yaml</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/ShelterService.java</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/ShelterEvent/.resources/definition.yaml</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/Shelter/Update Shelter.request.yaml</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/Adoption/Search Adoption.request.yaml</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/Adoption/Search Adoptions.request.yaml</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/entities/ShelterEventEntity.java</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/TrialStay/Search trial Stay.request.yaml</file></path><path><editType>add</editType><file>postman/environments/Develop.environment.yaml</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/repositories/ShelterEventRepository.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/TrialStayService.java</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/Review/Create Review.request.yaml</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/entities/ReviewEntity.java</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/ShelterEventService.java</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/ShelterEvent/Create Shelter Event.request.yaml</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/ShelterEvent/Search Shelter Event.request.yaml</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/TrialStay/Search Trial Stays.request.yaml</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/Review/Search Reviews.request.yaml</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/ShelterEvent/Search Shelters Events.request.yaml</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/Adoption/Update Adoption.request.yaml</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/Review/Delete Review.request.yaml</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/entities/ShelterEntity.java</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/ShelterEvent/Delete Shelter Event.request.yaml</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/Review/.resources/definition.yaml</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/ReviewService.java</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/ShelterEvent/Update Shelter Event.request.yaml</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/.resources/definition.yaml</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/services/AdoptionService.java</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/Adoption/Delete Adoption.request.yaml</file></path><path><editType>edit</editType><file>src/main/java/co/edu/udistrital/mdp/pets/entities/AdoptionEntity.java</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/Adoption/Create Adoption.request.yaml</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/Adoption/.resources/definition.yaml</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/Shelter/Search Shelter.request.yaml</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/Shelter/Create Shelter.request.yaml</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/TrialStay/Delete Trial Stays.request.yaml</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/Review/Search  Review.request.yaml</file></path><path><editType>add</editType><file>postman/collections/Orejitas y Colas/TrialStay/.resources/definition.yaml</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>http://200.69.103.29:8085/jenkins/user/juslopezg</absoluteUrl><fullName>juslopezg</fullName></culprit><culprit><absoluteUrl>http://200.69.103.29:8085/jenkins/user/scastanedab</absoluteUrl><fullName>scastanedab</fullName></culprit><inProgress>false</inProgress><nextBuild><number>14</number><url>http://200.69.103.29:8085/jenkins/view/Modelos%20de%20programaci%C3%B3n/job/MP_202610_G81_E4_Back/14/</url></nextBuild><previousBuild><number>12</number><url>http://200.69.103.29:8085/jenkins/view/Modelos%20de%20programaci%C3%B3n/job/MP_202610_G81_E4_Back/12/</url></previousBuild></previousBuild></workflowRun>