<mavenBuild _class='hudson.maven.MavenBuild'><action _class='hudson.maven.reporters.SurefireReport'><failCount>0</failCount><skipCount>0</skipCount><totalCount>46</totalCount><urlName>testReport</urlName></action><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><attachedArtifact><artifactId>dgss2526-teamA-microstories-service</artifactId><canonicalName>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT-sources.jar</canonicalName><classifier>sources</classifier><fileName>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT-sources.jar</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>ee8e9a66160dd44ceaa3470275d1b7c5</md5sum><type>java-source</type><version>0.1.0-SNAPSHOT</version></attachedArtifact><attachedArtifact><artifactId>dgss2526-teamA-microstories-service</artifactId><canonicalName>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT-javadoc.jar</canonicalName><classifier>javadoc</classifier><fileName>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT-javadoc.jar</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>ff5e6e99c3b32d5f27e63623b0cf8d76</md5sum><type>javadoc</type><version>0.1.0-SNAPSHOT</version></attachedArtifact><attachedArtifact><artifactId>dgss2526-teamA-microstories-service</artifactId><canonicalName>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT-tests.jar</canonicalName><classifier>tests</classifier><fileName>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT-tests.jar</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>f3d4cf3f3ba162bdf3212b5900746f0d</md5sum><type>test-jar</type><version>0.1.0-SNAPSHOT</version></attachedArtifact><mainArtifact><artifactId>dgss2526-teamA-microstories-service</artifactId><canonicalName>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT.jar</canonicalName><fileName>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT.jar</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>3e6e7747176845f87928fdc7b9ca29e4</md5sum><type>jar</type><version>0.1.0-SNAPSHOT</version></mainArtifact><parent><number>156</number><url>http://sing.ei.uvigo.es/dt/jenkins/job/microstories-2526-teamA/es.uvigo.esei.dgss.teamA.microstories$dgss2526-teamA-microstories-service/156/</url></parent><pomArtifact><artifactId>dgss2526-teamA-microstories-service</artifactId><canonicalName>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT.pom</canonicalName><fileName>pom.xml</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>33cc8ebc893890903062103433b901d9</md5sum><type>pom</type><version>0.1.0-SNAPSHOT</version></pomArtifact><url>http://sing.ei.uvigo.es/dt/jenkins/job/microstories-2526-teamA/es.uvigo.esei.dgss.teamA.microstories$dgss2526-teamA-microstories-service/156/mavenArtifacts/</url></action><action></action><artifact><displayPath>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT-javadoc.jar</displayPath><fileName>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT-javadoc.jar</fileName><relativePath>es.uvigo.esei.dgss.teamA.microstories/dgss2526-teamA-microstories-service/0.1.0-SNAPSHOT/dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT-javadoc.jar</relativePath></artifact><artifact><displayPath>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT-sources.jar</displayPath><fileName>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT-sources.jar</fileName><relativePath>es.uvigo.esei.dgss.teamA.microstories/dgss2526-teamA-microstories-service/0.1.0-SNAPSHOT/dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT-sources.jar</relativePath></artifact><artifact><displayPath>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT-tests.jar</displayPath><fileName>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT-tests.jar</fileName><relativePath>es.uvigo.esei.dgss.teamA.microstories/dgss2526-teamA-microstories-service/0.1.0-SNAPSHOT/dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT-tests.jar</relativePath></artifact><artifact><displayPath>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT.jar</displayPath><fileName>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT.jar</fileName><relativePath>es.uvigo.esei.dgss.teamA.microstories/dgss2526-teamA-microstories-service/0.1.0-SNAPSHOT/dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT.jar</relativePath></artifact><artifact><displayPath>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT.pom</displayPath><fileName>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT.pom</fileName><relativePath>es.uvigo.esei.dgss.teamA.microstories/dgss2526-teamA-microstories-service/0.1.0-SNAPSHOT/dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT.pom</relativePath></artifact><building>false</building><displayName>#156</displayName><duration>48877</duration><estimatedDuration>63778</estimatedDuration><fullDisplayName>microstories-2526-teamA » Service #156</fullDisplayName><id>156</id><keepLog>false</keepLog><number>156</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1766081106804</timestamp><url>http://sing.ei.uvigo.es/dt/jenkins/job/microstories-2526-teamA/es.uvigo.esei.dgss.teamA.microstories$dgss2526-teamA-microstories-service/156/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>service/src/test/java/es/uvigo/esei/microstories/services/StoryServiceIntegrationTest.java</affectedPath><affectedPath>tests/src/main/resources/datasets/stories-new-favorited.xml</affectedPath><affectedPath>service/src/main/java/es/uvigo/esei/microstories/services/StoryService.java</affectedPath><commitId>8b4e841317e2869939c363bf97c24fa8aab6cb54</commitId><timestamp>1766080777000</timestamp><author><absoluteUrl>http://sing.ei.uvigo.es/dt/jenkins/user/devpablogg</absoluteUrl><fullName>devpablogg</fullName></author><authorEmail>devpablogg@gmail.com</authorEmail><comment>tsk69: Implements add/remove favorite story functionality in service
layer
This commit implements the service-layer methods to allow users to add
and remove stories from their favorites. It introduces addFavorite and 
removeFavorite in StoryService, including proper validation for story
existence and user authorization. Integration tests were added to verify
successful addition and removal, as well as error cases for non-existent
stories and unauthorized access. The DBUnit dataset
stories-new-favorited.xml was created to support the tests.
</comment><date>2025-12-18 18:59:37 +0100</date><id>8b4e841317e2869939c363bf97c24fa8aab6cb54</id><msg>tsk69: Implements add/remove favorite story functionality in service</msg><path><editType>edit</editType><file>service/src/test/java/es/uvigo/esei/microstories/services/StoryServiceIntegrationTest.java</file></path><path><editType>edit</editType><file>service/src/main/java/es/uvigo/esei/microstories/services/StoryService.java</file></path><path><editType>add</editType><file>tests/src/main/resources/datasets/stories-new-favorited.xml</file></path></item></changeSet><culprit><absoluteUrl>http://sing.ei.uvigo.es/dt/jenkins/user/devpablogg</absoluteUrl><fullName>devpablogg</fullName><id>devpablogg</id><property _class='jenkins.security.ApiTokenProperty'></property><property _class='com.cloudbees.plugins.credentials.UserCredentialsProvider$UserCredentialsProperty'></property><property _class='hudson.plugins.emailext.watching.EmailExtWatchAction$UserProperty'></property><property _class='hudson.model.MyViewsProperty'></property><property _class='org.jenkinsci.plugins.displayurlapi.user.PreferredProviderUserProperty'></property><property _class='hudson.model.PaneStatusProperties'></property><property _class='hudson.search.UserSearchProperty'><insensitiveSearch>true</insensitiveSearch></property><property _class='hudson.tasks.Mailer$UserProperty'><address>devpablogg@gmail.com</address></property></culprit><mavenArtifacts><attachedArtifact><artifactId>dgss2526-teamA-microstories-service</artifactId><canonicalName>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT-sources.jar</canonicalName><classifier>sources</classifier><fileName>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT-sources.jar</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>ee8e9a66160dd44ceaa3470275d1b7c5</md5sum><type>java-source</type><version>0.1.0-SNAPSHOT</version></attachedArtifact><attachedArtifact><artifactId>dgss2526-teamA-microstories-service</artifactId><canonicalName>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT-javadoc.jar</canonicalName><classifier>javadoc</classifier><fileName>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT-javadoc.jar</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>ff5e6e99c3b32d5f27e63623b0cf8d76</md5sum><type>javadoc</type><version>0.1.0-SNAPSHOT</version></attachedArtifact><attachedArtifact><artifactId>dgss2526-teamA-microstories-service</artifactId><canonicalName>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT-tests.jar</canonicalName><classifier>tests</classifier><fileName>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT-tests.jar</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>f3d4cf3f3ba162bdf3212b5900746f0d</md5sum><type>test-jar</type><version>0.1.0-SNAPSHOT</version></attachedArtifact><mainArtifact><artifactId>dgss2526-teamA-microstories-service</artifactId><canonicalName>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT.jar</canonicalName><fileName>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT.jar</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>3e6e7747176845f87928fdc7b9ca29e4</md5sum><type>jar</type><version>0.1.0-SNAPSHOT</version></mainArtifact><parent><number>156</number><url>http://sing.ei.uvigo.es/dt/jenkins/job/microstories-2526-teamA/es.uvigo.esei.dgss.teamA.microstories$dgss2526-teamA-microstories-service/156/</url></parent><pomArtifact><artifactId>dgss2526-teamA-microstories-service</artifactId><canonicalName>dgss2526-teamA-microstories-service-0.1.0-SNAPSHOT.pom</canonicalName><fileName>pom.xml</fileName><groupId>es.uvigo.esei.dgss.teamA.microstories</groupId><md5sum>33cc8ebc893890903062103433b901d9</md5sum><type>pom</type><version>0.1.0-SNAPSHOT</version></pomArtifact><url>http://sing.ei.uvigo.es/dt/jenkins/job/microstories-2526-teamA/es.uvigo.esei.dgss.teamA.microstories$dgss2526-teamA-microstories-service/156/mavenArtifacts/</url></mavenArtifacts></mavenBuild>