diff --git a/build.gradle b/build.gradle index 756c0f3..4fdbd2b 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ plugins { - id 'net.woggioni.gradle.lombok' apply false - id 'net.woggioni.gradle.wildfly' + alias(catalog.plugins.lombok) apply false + alias(catalog.plugins.wildfly) id 'war' id 'maven-publish' } @@ -33,7 +33,7 @@ allprojects { } tasks.withType(JavaCompile) { - options.release = 11 + options.release = 17 } tasks.withType(Test) { @@ -44,46 +44,35 @@ allprojects { dependencies { implementation project(':jpacrepo-impl') - implementation group: 'net.woggioni', name: 'jwo' - implementation group: 'org.slf4j', name: 'slf4j-api' - compileOnly group: 'org.hibernate', name: 'hibernate-jpamodelgen' -// compileOnly group: 'jakarta.persistence', -// name: 'jakarta.persistence-api', version: getProperty('jakarta.persistence.version') -// compileOnly group: 'jakarta.annotation', -// name: 'jakarta.annotation-api', -// version: getProperty('jakarta.annotation.version') -// compileOnly group: 'jakarta.platform', -// name: 'jakarta.jakartaee-web-api', -// version: getProperty('jakarta.ee.version') - compileOnly group: 'jakarta.platform', name: 'jakarta.jakartaee-api' - implementation group: 'org.apache.commons', name: 'commons-compress' - implementation group: 'net.java.dev.jna', name: 'jna' + implementation catalog.jwo + implementation catalog.slf4j.api -// compileOnly group: 'jakarta.inject', -// name: 'jakarta.inject-api', version: getProperty('jakarta.inject.version') -// compileOnly group: 'jakarta.enterprise', name: 'jakarta.enterprise.cdi-api', version: getProperty('jakarta.cdi.version') + compileOnly catalog.hibernate.jpamodelgen + compileOnly catalog.jakarta.enterprise.cdi.api + compileOnly catalog.jakarta.servlet.api + compileOnly catalog.jakarta.ejb.api + compileOnly catalog.jakarta.ws.rs.api + compileOnly catalog.jakarta.xml.bind.api + compileOnly catalog.jakarta.enterprise.concurrent.api - testImplementation group: 'jakarta.platform', name: 'jakarta.jakartaee-api' -// testImplementation group: 'jakarta.platform', -// name: 'jakarta.jakartaee-web-api', -// version: getProperty('jakarta.ee.version') - testImplementation group: 'org.jboss', name: 'jboss-ejb-client' - testImplementation group: 'org.jboss.weld.se', name: 'weld-se-core' - testImplementation group: 'com.h2database', name: 'h2' - testImplementation group: 'org.hibernate', name: 'hibernate-core' - testImplementation group: 'org.jboss.resteasy', name: 'resteasy-client' - testImplementation group: 'org.jboss.resteasy', name: 'resteasy-jackson2-provider' - testRuntimeOnly group: 'org.slf4j', name: 'slf4j-simple' - testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api' - testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-params' - testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine' -} + implementation catalog.commons.compress + implementation catalog.jna -wrapper { - distributionType = Wrapper.DistributionType.BIN - gradleVersion = getProperty('gradle.version') + + testImplementation catalog.jackson.module.jakarta.xmlbind.annotations + testImplementation catalog.jboss.ejb.client + testImplementation catalog.weld.se.core + testImplementation catalog.h2 + testImplementation catalog.hibernate.core + testImplementation catalog.resteasy.client + testImplementation catalog.resteasy.jackson2.provider + testImplementation catalog.jackson.datatype.jsr310 + testRuntimeOnly catalog.slf4j.simple + testImplementation catalog.junit.jupiter.api + testImplementation catalog.junit.jupiter.params + testRuntimeOnly catalog.junit.jupiter.engine } File nimDir = project.file('nim') diff --git a/gradle.properties b/gradle.properties index 12f0f19..834ac3c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,3 @@ -gradle.version=7.4.2 - net.woggioni.gradle.lombok.version=0.1 net.woggioni.gradle.wildfly.version=0.1 net.woggioni.gradle.envelope.version=1.0-SNAPSHOT @@ -15,10 +13,10 @@ apache.commons.compress.version=1.21 hibernate.version=5.6.5.Final jzstd.version=0.1-SNAPSHOT jwo.version=1.0-SNAPSHOT -jakarta.persistence.version=3.0.0 -jakarta.inject.version=2.0.0 -jakarta.cdi.version=3.0.1 -jakarta.annotation.version=2.0.0 +jakarta.persistence.version=3.1.0 +jakarta.inject.version=2.0.1 +jakarta.cdi.version=4.0.1 +jakarta.annotation.version=2.1.1 jakarta.ee.version=8.0.0 jaxb.api.version=2.3.1 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index aa991fc..ae04661 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/jpacrepo-api/build.gradle b/jpacrepo-api/build.gradle index df1e33b..38a9240 100644 --- a/jpacrepo-api/build.gradle +++ b/jpacrepo-api/build.gradle @@ -3,11 +3,12 @@ plugins { } dependencies { - compileOnly group: 'jakarta.platform', name: 'jakarta.jakartaee-api' - compileOnly group: 'javax.xml.bind', name: 'jaxb-api' + compileOnly catalog.jakarta.xml.bind.api + compileOnly catalog.jakarta.ejb.api + compileOnly catalog.jakarta.persistence.api } -tasks.named(JavaPlugin.COMPILE_JAVA_TASK_NAME, JavaCompile) { JavaCompile j -> +tasks.named(JavaPlugin.COMPILE_JAVA_TASK_NAME, JavaCompile) { options.compilerArgs += [ '--add-reads', 'net.woggioni.jpacrepo.api=ALL-UNNAMED' ] diff --git a/jpacrepo-api/src/main/java/module-info.java b/jpacrepo-api/src/main/java/module-info.java index df6bd33..03f0eda 100644 --- a/jpacrepo-api/src/main/java/module-info.java +++ b/jpacrepo-api/src/main/java/module-info.java @@ -1,6 +1,9 @@ module net.woggioni.jpacrepo.api { requires static lombok; - requires static java.xml.bind; + requires static jakarta.xml.bind; + requires static jakarta.ejb; + requires static jakarta.persistence; + exports net.woggioni.jpacrepo.api.model; exports net.woggioni.jpacrepo.api.service; } \ No newline at end of file diff --git a/jpacrepo-api/src/main/java/net/woggioni/jpacrepo/api/model/PkgData.java b/jpacrepo-api/src/main/java/net/woggioni/jpacrepo/api/model/PkgData.java index 0e6d99f..b7eba71 100644 --- a/jpacrepo-api/src/main/java/net/woggioni/jpacrepo/api/model/PkgData.java +++ b/jpacrepo-api/src/main/java/net/woggioni/jpacrepo/api/model/PkgData.java @@ -1,22 +1,26 @@ package net.woggioni.jpacrepo.api.model; +import jakarta.persistence.ElementCollection; +import jakarta.persistence.Entity; +import jakarta.persistence.Access; +import jakarta.persistence.AccessType; +import jakarta.persistence.FetchType; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.PrePersist; +import jakarta.persistence.PreUpdate; +import jakarta.persistence.Table; +import jakarta.persistence.Index; +import jakarta.persistence.EmbeddedId; + +import jakarta.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; + + + import lombok.Data; -import javax.persistence.Access; -import javax.persistence.AccessType; -import javax.persistence.ElementCollection; -import javax.persistence.EmbeddedId; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Index; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.PrePersist; -import javax.persistence.PreUpdate; -import javax.persistence.Table; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; import java.time.OffsetDateTime; import java.util.Set; diff --git a/jpacrepo-api/src/main/java/net/woggioni/jpacrepo/api/model/PkgId.java b/jpacrepo-api/src/main/java/net/woggioni/jpacrepo/api/model/PkgId.java index 27992a6..ed8397a 100644 --- a/jpacrepo-api/src/main/java/net/woggioni/jpacrepo/api/model/PkgId.java +++ b/jpacrepo-api/src/main/java/net/woggioni/jpacrepo/api/model/PkgId.java @@ -1,17 +1,16 @@ package net.woggioni.jpacrepo.api.model; +import jakarta.persistence.Access; +import jakarta.persistence.AccessType; +import jakarta.persistence.Embeddable; +import jakarta.persistence.EnumType; +import jakarta.persistence.Enumerated; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlRootElement; import lombok.Data; -import javax.persistence.Access; -import javax.persistence.AccessType; -import javax.persistence.Embeddable; -import javax.persistence.EnumType; -import javax.persistence.Enumerated; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; import java.io.Serializable; - @Data @Embeddable @Access(AccessType.FIELD) diff --git a/jpacrepo-api/src/main/java/net/woggioni/jpacrepo/api/service/PacmanServiceLocal.java b/jpacrepo-api/src/main/java/net/woggioni/jpacrepo/api/service/PacmanServiceLocal.java index c3a48c6..7c0c8e6 100644 --- a/jpacrepo-api/src/main/java/net/woggioni/jpacrepo/api/service/PacmanServiceLocal.java +++ b/jpacrepo-api/src/main/java/net/woggioni/jpacrepo/api/service/PacmanServiceLocal.java @@ -1,9 +1,10 @@ package net.woggioni.jpacrepo.api.service; +import jakarta.ejb.Local; + import net.woggioni.jpacrepo.api.model.PkgData; -import javax.ejb.Local; import java.util.List; @Local diff --git a/jpacrepo-api/src/main/java/net/woggioni/jpacrepo/api/service/PacmanServiceRemote.java b/jpacrepo-api/src/main/java/net/woggioni/jpacrepo/api/service/PacmanServiceRemote.java index b4b48b4..95b9fa8 100644 --- a/jpacrepo-api/src/main/java/net/woggioni/jpacrepo/api/service/PacmanServiceRemote.java +++ b/jpacrepo-api/src/main/java/net/woggioni/jpacrepo/api/service/PacmanServiceRemote.java @@ -1,6 +1,6 @@ package net.woggioni.jpacrepo.api.service; -import javax.ejb.Remote; +import jakarta.ejb.Remote; @Remote public interface PacmanServiceRemote { diff --git a/jpacrepo-client/build.gradle b/jpacrepo-client/build.gradle index 30f63c0..0ef754a 100644 --- a/jpacrepo-client/build.gradle +++ b/jpacrepo-client/build.gradle @@ -1,6 +1,6 @@ plugins { id 'java-library' - id "net.woggioni.gradle.envelope" + alias(catalog.plugins.envelope) } import net.woggioni.gradle.envelope.EnvelopeJarTask @@ -8,10 +8,10 @@ import net.woggioni.gradle.envelope.EnvelopeJarTask dependencies { implementation project(':jpacrepo-api') - implementation group: 'org.slf4j', name: 'slf4j-api' - implementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl' + implementation catalog.slf4j.api + implementation catalog.log4j.slf4j.impl - runtimeOnly group: 'org.jboss', name: 'jboss-ejb-client' + runtimeOnly catalog.jboss.ejb.client } @@ -19,7 +19,7 @@ java { modularity.inferModulePath = true } -tasks.named(JavaPlugin.COMPILE_JAVA_TASK_NAME, JavaCompile) { JavaCompile j -> +tasks.named(JavaPlugin.COMPILE_JAVA_TASK_NAME, JavaCompile) { options.javaModuleMainClass = 'net.woggioni.jpacrepo.client.Main' // options.compilerArgs += [ // '--add-reads', 'javax.ejb=ALL-UNNAMED' diff --git a/jpacrepo-impl/build.gradle b/jpacrepo-impl/build.gradle index 1b15c6f..c101b25 100644 --- a/jpacrepo-impl/build.gradle +++ b/jpacrepo-impl/build.gradle @@ -3,17 +3,13 @@ plugins { } dependencies { - compileOnly group: 'jakarta.platform', - name: 'jakarta.jakartaee-api', - version: getProperty('jakarta.ee.version') + compileOnly catalog.jakarta.persistence.api - implementation group: 'org.tukaani', name: 'xz' - implementation group: 'org.slf4j', name: 'slf4j-api' - implementation group: 'net.woggioni', name: 'jzstd', version: getProperty('jzstd.version') - implementation group: 'net.woggioni', name: 'jwo' - implementation group: 'org.apache.commons', - name: 'commons-compress', - version: getProperty('apache.commons.compress.version') + implementation catalog.xz + implementation catalog.slf4j.api + implementation catalog.jzstd + implementation catalog.jwo + implementation catalog.commons.compress api project(':jpacrepo-api') } \ No newline at end of file diff --git a/jpacrepo-impl/src/main/java/module-info.java b/jpacrepo-impl/src/main/java/module-info.java index 7995041..1377853 100644 --- a/jpacrepo-impl/src/main/java/module-info.java +++ b/jpacrepo-impl/src/main/java/module-info.java @@ -1,5 +1,6 @@ module net.woggioni.jpacrepo.impl { requires static lombok; + requires jakarta.persistence; requires net.woggioni.jpacrepo.api; requires net.woggioni.jwo; requires net.woggioni.jzstd; diff --git a/settings.gradle b/settings.gradle index d98ba70..004529f 100644 --- a/settings.gradle +++ b/settings.gradle @@ -11,11 +11,22 @@ pluginManagement { } gradlePluginPortal() } +} - plugins { - id "net.woggioni.gradle.lombok" version getProperty('net.woggioni.gradle.lombok.version') - id "net.woggioni.gradle.wildfly" version getProperty('net.woggioni.gradle.wildfly.version') - id "net.woggioni.gradle.envelope" version getProperty('net.woggioni.gradle.envelope.version') +dependencyResolutionManagement { + repositories { + maven { + url = 'https://woggioni.net/mvn/' + content { + includeGroup 'com.lys' + } + } + } + versionCatalogs { + catalog { + from group: 'com.lys', name: 'lys-catalog', version: getProperty('lys.version') + version("slf4j", "1.7.36") + } } } diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java new file mode 100644 index 0000000..f3e0935 --- /dev/null +++ b/src/main/java/module-info.java @@ -0,0 +1,17 @@ +open module net.woggioni.jpacrepo { + requires static lombok; + requires static jakarta.xml.bind; + requires static jakarta.ejb; + requires static jakarta.persistence; + requires static jakarta.servlet; + requires static jakarta.inject; + requires static jakarta.concurrency; + requires static jakarta.cdi; + requires static jakarta.ws.rs; + + requires net.woggioni.jwo; + requires net.woggioni.jpacrepo.impl; + requires org.slf4j; + + requires net.woggioni.jpacrepo.api; +} \ No newline at end of file diff --git a/src/main/java/net/woggioni/jpacrepo/factory/BeanFactory.java b/src/main/java/net/woggioni/jpacrepo/factory/BeanFactory.java index d8e895f..96c6217 100644 --- a/src/main/java/net/woggioni/jpacrepo/factory/BeanFactory.java +++ b/src/main/java/net/woggioni/jpacrepo/factory/BeanFactory.java @@ -1,11 +1,11 @@ package net.woggioni.jpacrepo.factory; +import jakarta.enterprise.inject.Produces; +import jakarta.enterprise.inject.spi.InjectionPoint; import net.woggioni.jpacrepo.config.AppConfig; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.enterprise.inject.Produces; -import javax.enterprise.inject.spi.InjectionPoint; public class BeanFactory { diff --git a/src/main/java/net/woggioni/jpacrepo/factory/PersistenceUnitFactory.java b/src/main/java/net/woggioni/jpacrepo/factory/PersistenceUnitFactory.java index 0191b6c..60de7a2 100644 --- a/src/main/java/net/woggioni/jpacrepo/factory/PersistenceUnitFactory.java +++ b/src/main/java/net/woggioni/jpacrepo/factory/PersistenceUnitFactory.java @@ -1,11 +1,11 @@ package net.woggioni.jpacrepo.factory; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.enterprise.inject.Produces; +import jakarta.persistence.EntityManagerFactory; +import jakarta.persistence.Persistence; import net.woggioni.jpacrepo.config.AppConfig; -import javax.enterprise.context.ApplicationScoped; -import javax.enterprise.inject.Produces; -import javax.persistence.EntityManagerFactory; -import javax.persistence.Persistence; import java.util.Properties; public class PersistenceUnitFactory { diff --git a/src/main/java/net/woggioni/jpacrepo/persistence/QueryEngine.java b/src/main/java/net/woggioni/jpacrepo/persistence/QueryEngine.java index d95a2cd..f7d1e06 100644 --- a/src/main/java/net/woggioni/jpacrepo/persistence/QueryEngine.java +++ b/src/main/java/net/woggioni/jpacrepo/persistence/QueryEngine.java @@ -1,14 +1,14 @@ package net.woggioni.jpacrepo.persistence; +import jakarta.persistence.EntityManager; +import jakarta.persistence.TypedQuery; +import jakarta.persistence.criteria.CriteriaBuilder; +import jakarta.persistence.criteria.CriteriaQuery; +import jakarta.persistence.criteria.Predicate; +import jakarta.persistence.criteria.Root; import net.woggioni.jpacrepo.api.model.PkgData; -import javax.persistence.EntityManager; -import javax.persistence.TypedQuery; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/net/woggioni/jpacrepo/service/PacmanServiceEJB.java b/src/main/java/net/woggioni/jpacrepo/service/PacmanServiceEJB.java index 17a2690..977ab62 100644 --- a/src/main/java/net/woggioni/jpacrepo/service/PacmanServiceEJB.java +++ b/src/main/java/net/woggioni/jpacrepo/service/PacmanServiceEJB.java @@ -1,5 +1,25 @@ package net.woggioni.jpacrepo.service; +import jakarta.annotation.Resource; +import jakarta.ejb.Asynchronous; +import jakarta.ejb.ConcurrencyManagement; +import jakarta.ejb.ConcurrencyManagementType; +import jakarta.ejb.Local; +import jakarta.ejb.Lock; +import jakarta.ejb.LockType; +import jakarta.ejb.Remote; +import jakarta.ejb.Schedule; +import jakarta.ejb.Startup; +import jakarta.ejb.TransactionAttribute; +import jakarta.ejb.TransactionAttributeType; +import jakarta.ejb.TransactionManagement; +import jakarta.ejb.TransactionManagementType; +import jakarta.enterprise.concurrent.ManagedExecutorService; +import jakarta.inject.Inject; +import jakarta.inject.Singleton; +import jakarta.persistence.EntityManager; +import jakarta.persistence.EntityManagerFactory; +import jakarta.persistence.TypedQuery; import lombok.SneakyThrows; import net.woggioni.jpacrepo.api.model.PkgData; import net.woggioni.jpacrepo.api.service.PacmanServiceLocal; @@ -13,26 +33,7 @@ import net.woggioni.jwo.JWO; import net.woggioni.jwo.Sup; import org.slf4j.Logger; -import javax.annotation.Resource; -import javax.ejb.Asynchronous; -import javax.ejb.ConcurrencyManagement; -import javax.ejb.ConcurrencyManagementType; -import javax.ejb.Local; -import javax.ejb.Lock; -import javax.ejb.LockType; -import javax.ejb.Remote; -import javax.ejb.Schedule; -import javax.ejb.Singleton; -import javax.ejb.Startup; -import javax.ejb.TransactionAttribute; -import javax.ejb.TransactionAttributeType; -import javax.ejb.TransactionManagement; -import javax.ejb.TransactionManagementType; -import javax.enterprise.concurrent.ManagedExecutorService; -import javax.inject.Inject; -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; -import javax.persistence.TypedQuery; + import java.nio.file.Files; import java.nio.file.Path; import java.time.OffsetDateTime; diff --git a/src/main/java/net/woggioni/jpacrepo/service/PacmanWebService.java b/src/main/java/net/woggioni/jpacrepo/service/PacmanWebService.java index d319ea6..d6930fd 100644 --- a/src/main/java/net/woggioni/jpacrepo/service/PacmanWebService.java +++ b/src/main/java/net/woggioni/jpacrepo/service/PacmanWebService.java @@ -1,5 +1,39 @@ package net.woggioni.jpacrepo.service; +import jakarta.ejb.ConcurrencyManagement; +import jakarta.ejb.ConcurrencyManagementType; +import jakarta.ejb.Singleton; +import jakarta.ejb.TransactionAttribute; +import jakarta.ejb.TransactionAttributeType; +import jakarta.ejb.TransactionManagement; +import jakarta.ejb.TransactionManagementType; +import jakarta.inject.Inject; +import jakarta.persistence.EntityManager; +import jakarta.persistence.EntityManagerFactory; +import jakarta.persistence.NoResultException; +import jakarta.persistence.NonUniqueResultException; +import jakarta.persistence.TypedQuery; +import jakarta.ws.rs.BadRequestException; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.FormParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.MatrixParam; +import jakarta.ws.rs.NotFoundException; +import jakarta.ws.rs.OPTIONS; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.WebApplicationException; +import jakarta.ws.rs.core.CacheControl; +import jakarta.ws.rs.core.Context; +import jakarta.ws.rs.core.EntityTag; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Request; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.StreamingOutput; +import jakarta.ws.rs.core.UriInfo; import lombok.SneakyThrows; import lombok.val; import net.woggioni.jpacrepo.api.model.CompressionFormat; @@ -22,40 +56,7 @@ import org.apache.commons.compress.archivers.tar.TarArchiveEntry; import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream; import org.slf4j.Logger; -import javax.ejb.ConcurrencyManagement; -import javax.ejb.ConcurrencyManagementType; -import javax.ejb.Singleton; -import javax.ejb.TransactionAttribute; -import javax.ejb.TransactionAttributeType; -import javax.ejb.TransactionManagement; -import javax.ejb.TransactionManagementType; -import javax.inject.Inject; -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; -import javax.persistence.NoResultException; -import javax.persistence.NonUniqueResultException; -import javax.persistence.TypedQuery; -import javax.ws.rs.BadRequestException; -import javax.ws.rs.Consumes; -import javax.ws.rs.FormParam; -import javax.ws.rs.GET; -import javax.ws.rs.MatrixParam; -import javax.ws.rs.NotFoundException; -import javax.ws.rs.OPTIONS; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.WebApplicationException; -import javax.ws.rs.core.CacheControl; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.EntityTag; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Request; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.StreamingOutput; -import javax.ws.rs.core.UriInfo; + import java.io.InputStream; import java.io.OutputStream; import java.net.URI; diff --git a/src/main/java/net/woggioni/jpacrepo/service/WxRsApplication.java b/src/main/java/net/woggioni/jpacrepo/service/WxRsApplication.java index c4bec17..4499e49 100644 --- a/src/main/java/net/woggioni/jpacrepo/service/WxRsApplication.java +++ b/src/main/java/net/woggioni/jpacrepo/service/WxRsApplication.java @@ -1,7 +1,8 @@ package net.woggioni.jpacrepo.service; -import javax.ws.rs.ApplicationPath; -import javax.ws.rs.core.Application; +import jakarta.ws.rs.ApplicationPath; +import jakarta.ws.rs.core.Application; + import java.util.HashSet; import java.util.Set; diff --git a/src/main/java/net/woggioni/jpacrepo/service/wire/PkgDataList.java b/src/main/java/net/woggioni/jpacrepo/service/wire/PkgDataList.java index caf36b5..8634cfc 100644 --- a/src/main/java/net/woggioni/jpacrepo/service/wire/PkgDataList.java +++ b/src/main/java/net/woggioni/jpacrepo/service/wire/PkgDataList.java @@ -1,10 +1,10 @@ package net.woggioni.jpacrepo.service.wire; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; import net.woggioni.jpacrepo.api.model.PkgData; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/net/woggioni/jpacrepo/service/wire/PkgTuple.java b/src/main/java/net/woggioni/jpacrepo/service/wire/PkgTuple.java index 6666086..867cae2 100644 --- a/src/main/java/net/woggioni/jpacrepo/service/wire/PkgTuple.java +++ b/src/main/java/net/woggioni/jpacrepo/service/wire/PkgTuple.java @@ -1,9 +1,8 @@ package net.woggioni.jpacrepo.service.wire; +import jakarta.xml.bind.annotation.XmlRootElement; import lombok.Data; -import javax.xml.bind.annotation.XmlRootElement; - @Data @XmlRootElement public class PkgTuple { diff --git a/src/main/java/net/woggioni/jpacrepo/service/wire/StringList.java b/src/main/java/net/woggioni/jpacrepo/service/wire/StringList.java index c4965b4..8c1989a 100644 --- a/src/main/java/net/woggioni/jpacrepo/service/wire/StringList.java +++ b/src/main/java/net/woggioni/jpacrepo/service/wire/StringList.java @@ -1,7 +1,8 @@ package net.woggioni.jpacrepo.service.wire; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; + import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/net/woggioni/jpacrepo/servlet/AbstractFileServlet.java b/src/main/java/net/woggioni/jpacrepo/servlet/AbstractFileServlet.java index c315d84..3d27aad 100644 --- a/src/main/java/net/woggioni/jpacrepo/servlet/AbstractFileServlet.java +++ b/src/main/java/net/woggioni/jpacrepo/servlet/AbstractFileServlet.java @@ -1,10 +1,12 @@ package net.woggioni.jpacrepo.servlet; -import javax.servlet.ServletException; -import javax.servlet.ServletOutputStream; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.ServletException; +import jakarta.servlet.ServletOutputStream; +import jakarta.servlet.ServletContext; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; + import java.io.File; import java.io.FileInputStream; import java.io.IOException; diff --git a/src/main/java/net/woggioni/jpacrepo/servlet/FileServlet.java b/src/main/java/net/woggioni/jpacrepo/servlet/FileServlet.java index 490763b..224194b 100644 --- a/src/main/java/net/woggioni/jpacrepo/servlet/FileServlet.java +++ b/src/main/java/net/woggioni/jpacrepo/servlet/FileServlet.java @@ -1,10 +1,10 @@ package net.woggioni.jpacrepo.servlet; +import jakarta.inject.Inject; +import jakarta.servlet.annotation.WebServlet; +import jakarta.servlet.http.HttpServletRequest; import net.woggioni.jpacrepo.config.AppConfig; -import javax.inject.Inject; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServletRequest; import java.io.File; import java.nio.file.Path; diff --git a/src/test/java/ClientTest.java b/src/test/java/ClientTest.java index 18759cc..6c82359 100644 --- a/src/test/java/ClientTest.java +++ b/src/test/java/ClientTest.java @@ -1,5 +1,5 @@ import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule; +import com.fasterxml.jackson.module.jakarta.xmlbind.JakartaXmlBindAnnotationModule; import jakarta.ws.rs.client.Client; import jakarta.ws.rs.client.ClientBuilder; import jakarta.ws.rs.client.Entity; @@ -41,7 +41,7 @@ public class ClientTest { static { om = new ObjectMapper(); - JaxbAnnotationModule module = new JaxbAnnotationModule(); + JakartaXmlBindAnnotationModule module = new JakartaXmlBindAnnotationModule(); om.registerModule(module); } diff --git a/src/test/java/ParseTest.java b/src/test/java/ParseTest.java index b8ff4a0..76bba48 100644 --- a/src/test/java/ParseTest.java +++ b/src/test/java/ParseTest.java @@ -1,9 +1,11 @@ import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import com.fasterxml.jackson.module.jakarta.xmlbind.JakartaXmlBindAnnotationModule; import lombok.SneakyThrows; import net.woggioni.jpacrepo.api.model.PkgData; import net.woggioni.jpacrepo.impl.model.CompressionFormatImpl; import net.woggioni.jpacrepo.impl.model.PkgDataImpl; +import org.junit.jupiter.api.Test; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; @@ -17,11 +19,14 @@ import java.util.regex.Pattern; public class ParseTest { + @Test @SneakyThrows public void test() { ObjectMapper om = new ObjectMapper(); - JaxbAnnotationModule module = new JaxbAnnotationModule(); + JakartaXmlBindAnnotationModule module = new JakartaXmlBindAnnotationModule(); om.registerModule(module); + JavaTimeModule javaTimeModule = new JavaTimeModule(); + om.registerModule(javaTimeModule); Pattern pattern = Pattern.compile(".*\\.pkg\\.tar\\.(zst)"); Files.list(Paths.get("/var/cache/pacman/pkg")) .filter(Files::isRegularFile)