<mavenBuild _class='hudson.maven.MavenBuild'><action _class='hudson.maven.reporters.SurefireReport'><failCount>0</failCount><skipCount>0</skipCount><totalCount>36</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>b74a839f0e2a45d2bd7bb7a281adeb30</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>689d08bcb7e0cb6e9aee0c87bfc87524</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>7b47d08acb9d5896a88786f722e6a6e6</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>cf80ccb4b117269212c6400c202a7bf7</md5sum><type>jar</type><version>0.1.0-SNAPSHOT</version></mainArtifact><parent><number>135</number><url>http://sing.ei.uvigo.es/dt/jenkins/job/microstories-2526-teamA/es.uvigo.esei.dgss.teamA.microstories$dgss2526-teamA-microstories-service/135/</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/135/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>#135</displayName><duration>45550</duration><estimatedDuration>63778</estimatedDuration><fullDisplayName>microstories-2526-teamA » Service #135</fullDisplayName><id>135</id><keepLog>false</keepLog><number>135</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1765013527784</timestamp><url>http://sing.ei.uvigo.es/dt/jenkins/job/microstories-2526-teamA/es.uvigo.esei.dgss.teamA.microstories$dgss2526-teamA-microstories-service/135/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>jsf/src/main/webapp/story/explore.xhtml</affectedPath><affectedPath>jsf/src/main/java/es/uvigo/esei/microstories/jsf/ExploreBean.java</affectedPath><affectedPath>service/src/test/java/es/uvigo/esei/microstories/services/StoryServiceIntegrationTest.java</affectedPath><affectedPath>jsf/src/main/java/es/uvigo/esei/microstories/jsf/pagination/Paginated.java</affectedPath><commitId>f76f401fdca79bf9e149ab2b66869d1a759dc6f2</commitId><timestamp>1765013289000</timestamp><author><absoluteUrl>http://sing.ei.uvigo.es/dt/jenkins/user/devpablogg</absoluteUrl><fullName>devpablogg</fullName></author><authorEmail>devpablogg@gmail.com</authorEmail><comment>tsk43: Refactors story exploration to integrate reusable pagination
logic
Replaces custom pagination with a shared `Paginated` class to centralize 
functionality. Updates `ExploreBean` and `Explore.xhtml` to streamline 
navigation, enhance maintainability, and correct typographical errors in
`availableGenres` and `availableThemes`. Creates method in service to 
count the number of filtered stories and adds tests to it.
</comment><date>2025-12-06 10:28:09 +0100</date><id>f76f401fdca79bf9e149ab2b66869d1a759dc6f2</id><msg>tsk43: Refactors story exploration to integrate reusable pagination</msg><path><editType>edit</editType><file>jsf/src/main/java/es/uvigo/esei/microstories/jsf/ExploreBean.java</file></path><path><editType>edit</editType><file>jsf/src/main/webapp/story/explore.xhtml</file></path><path><editType>edit</editType><file>jsf/src/main/java/es/uvigo/esei/microstories/jsf/pagination/Paginated.java</file></path><path><editType>edit</editType><file>service/src/test/java/es/uvigo/esei/microstories/services/StoryServiceIntegrationTest.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>service/src/test/resources/beans.xml</affectedPath><affectedPath>tests/src/main/java/es/uvigo/esei/dgss/teama/microstories/service/util/security/CreatorRoleCaller.java</affectedPath><affectedPath>domain/src/main/java/es/uvigo/esei/microstories/domain/entities/Story.java</affectedPath><affectedPath>service/src/test/java/es/uvigo/esei/microstories/services/StoryServiceIntegrationTest.java</affectedPath><affectedPath>tests/src/main/resources/datasets/stories.xml</affectedPath><affectedPath>service/src/main/java/es/uvigo/esei/microstories/mappers/StoryMapper.java</affectedPath><affectedPath>service/src/main/java/es/uvigo/esei/microstories/services/UserService.java</affectedPath><affectedPath>service/src/main/java/es/uvigo/esei/microstories/services/StoryService.java</affectedPath><affectedPath>service/src/main/java/es/uvigo/esei/microstories/dtos/StoryCreateDto.java</affectedPath><affectedPath>additional-material/db/microstories-mysql.creation.sql</affectedPath><affectedPath>additional-material/db/microstories-mysql.full.sql</affectedPath><affectedPath>domain/src/test/java/es/uvigo/esei/microstories/domain/entities/StoryTest.java</affectedPath><commitId>9c9f284f27e50c1133da185222a2aedf319ce900</commitId><timestamp>1765013307000</timestamp><author><absoluteUrl>http://sing.ei.uvigo.es/dt/jenkins/user/devpablogg</absoluteUrl><fullName>devpablogg</fullName></author><authorEmail>devpablogg@gmail.com</authorEmail><comment>tsk59: Implements story creation and update in service layer
This commit adds full support for creating and updating stories. It
introduces
`StoryCreateDto`, implements creation and update flows in
`StoryService`, and applies permission checks using the security role
caller for CREATOR actions. A new `UserService` is added to resolve the
current user. The `Story` entity now supports relaxed nullability for
drafts, immutability after publication, theme and text validations, and
a new `isComplete` method. The database schema is updated to match these
rules. The `StoryMapper` is adjusted for the updated entity constructor.
Comprehensive unit and integration tests verify creation, updating,
validation behavior, and authorization handling.
</comment><date>2025-12-06 10:28:27 +0100</date><id>9c9f284f27e50c1133da185222a2aedf319ce900</id><msg>tsk59: Implements story creation and update in service layer</msg><path><editType>add</editType><file>service/src/main/java/es/uvigo/esei/microstories/dtos/StoryCreateDto.java</file></path><path><editType>edit</editType><file>service/src/test/resources/beans.xml</file></path><path><editType>edit</editType><file>service/src/main/java/es/uvigo/esei/microstories/mappers/StoryMapper.java</file></path><path><editType>edit</editType><file>tests/src/main/resources/datasets/stories.xml</file></path><path><editType>edit</editType><file>domain/src/main/java/es/uvigo/esei/microstories/domain/entities/Story.java</file></path><path><editType>edit</editType><file>domain/src/test/java/es/uvigo/esei/microstories/domain/entities/StoryTest.java</file></path><path><editType>edit</editType><file>additional-material/db/microstories-mysql.creation.sql</file></path><path><editType>edit</editType><file>additional-material/db/microstories-mysql.full.sql</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>service/src/main/java/es/uvigo/esei/microstories/services/UserService.java</file></path><path><editType>add</editType><file>tests/src/main/java/es/uvigo/esei/dgss/teama/microstories/service/util/security/CreatorRoleCaller.java</file></path><path><editType>edit</editType><file>service/src/test/java/es/uvigo/esei/microstories/services/StoryServiceIntegrationTest.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>jsf/src/main/java/es/uvigo/esei/microstories/jsf/StoryManagedBean.java</affectedPath><affectedPath>jsf/src/main/webapp/story/search.xhtml</affectedPath><affectedPath>service/src/main/java/es/uvigo/esei/microstories/services/StoryService.java</affectedPath><affectedPath>service/src/test/java/es/uvigo/esei/microstories/services/StoryServiceIntegrationTest.java</affectedPath><commitId>f6ca7fae65d71ac87798a6aaa92945a2ff199580</commitId><timestamp>1765013308000</timestamp><author><absoluteUrl>http://sing.ei.uvigo.es/dt/jenkins/user/devpablogg</absoluteUrl><fullName>devpablogg</fullName></author><authorEmail>devpablogg@gmail.com</authorEmail><comment>tsk39: Integrates advanced pagination and search improvements for
stories
Refactors `StoryManagedBean` to use a reusable `Paginated` class, 
centralizing pagination logic. Enhances `search.xhtml` with dynamic page 
size, navigation controls, and updated search result display. Updates
`StoryService` to add counts for published and filtered stories,
alongside improved query logic. Adds and updates related tests.
</comment><date>2025-12-06 10:28:28 +0100</date><id>f6ca7fae65d71ac87798a6aaa92945a2ff199580</id><msg>tsk39: Integrates advanced pagination and search improvements for</msg><path><editType>edit</editType><file>service/src/main/java/es/uvigo/esei/microstories/services/StoryService.java</file></path><path><editType>edit</editType><file>service/src/test/java/es/uvigo/esei/microstories/services/StoryServiceIntegrationTest.java</file></path><path><editType>edit</editType><file>jsf/src/main/webapp/story/search.xhtml</file></path><path><editType>edit</editType><file>jsf/src/main/java/es/uvigo/esei/microstories/jsf/StoryManagedBean.java</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>b74a839f0e2a45d2bd7bb7a281adeb30</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>689d08bcb7e0cb6e9aee0c87bfc87524</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>7b47d08acb9d5896a88786f722e6a6e6</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>cf80ccb4b117269212c6400c202a7bf7</md5sum><type>jar</type><version>0.1.0-SNAPSHOT</version></mainArtifact><parent><number>135</number><url>http://sing.ei.uvigo.es/dt/jenkins/job/microstories-2526-teamA/es.uvigo.esei.dgss.teamA.microstories$dgss2526-teamA-microstories-service/135/</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/135/mavenArtifacts/</url></mavenArtifacts></mavenBuild>