From 89b1c533d1b48b8b339b9c74a59c2ce73e6431af Mon Sep 17 00:00:00 2001
From: Joaquín Reñé <jrene@curisit.net>
Date: Tue, 27 May 2025 10:27:57 +0000
Subject: [PATCH] #4399 - Fix JPA and Serialization for new JPA versions (new eclipse envs)
---
securis/src/main/java/net/curisit/securis/GzipFilter.java | 20
securis/src/main/java/net/curisit/securis/RestServicesApplication.java | 4
securis/src/main/java/net/curisit/securis/db/common/PersistentEnumUserType.java | 14
securis/src/main/java/net/curisit/securis/services/ApiResource.java | 26
securis/src/main/java/net/curisit/securis/db/BlockedRequest.java | 14
securis/src/main/java/net/curisit/securis/db/User.java | 18
securis/src/main/java/net/curisit/securis/db/Application.java | 26
securis/src/main/java/net/curisit/securis/services/helpers/MetadataHelper.java | 6
securis/src/main/java/net/curisit/securis/db/common/SystemParams.java | 6
securis/src/main/webapp/src/lang/messages_fr.json | 65 ++
securis/src/main/java/net/curisit/securis/db/LicenseTypeMetadata.java | 16
securis/src/main/java/net/curisit/securis/db/ApplicationMetadata.java | 16
securis/src/main/java/net/curisit/securis/services/ApplicationResource.java | 36
securis/src/main/webapp/META-INF/MANIFEST.MF | 3
securis/src/main/java/net/curisit/securis/services/LicenseTypeResource.java | 36
securis/src/main/java/net/curisit/securis/DefaultExceptionHandler.java | 20
securis/src/main/java/net/curisit/securis/services/helpers/LicenseHelper.java | 8
securis/src/main/java/net/curisit/securis/utils/TokenHelper.java | 29
securis/src/main/webapp/WEB-INF/web.xml | 2
securis/src/main/java/net/curisit/securis/utils/CacheTTL.java | 4
securis/src/main/java/net/curisit/securis/db/LicenseHistory.java | 18
securis/src/main/java/net/curisit/securis/services/LicenseResource.java | 36
securis/src/main/java/net/curisit/securis/ioc/EntityManagerProvider.java | 9
securis/src/main/webapp/src/lang/messages_es.json | 65 ++
securis/src/main/java/net/curisit/securis/db/LicenseType.java | 24
securis/src/main/java/net/curisit/securis/db/PackMetadata.java | 16
securis/src/main/java/net/curisit/securis/services/OrganizationResource.java | 36
securis/src/main/java/net/curisit/securis/ioc/EnsureTransaction.java | 2
securis/src/main/java/net/curisit/securis/ioc/RequestsInterceptor.java | 230 +++----
securis/src/main/java/net/curisit/securis/AuthFilter.java | 20
securis/src/main/java/net/curisit/securis/services/BasicServices.java | 32
securis/src/main/java/net/curisit/securis/DevFilter.java | 20
securis/src/main/java/net/curisit/securis/db/Pack.java | 24
securis/src/main/java/net/curisit/securis/services/PackResource.java | 38
securis/src/main/java/net/curisit/securis/db/License.java | 30
securis/src/main/java/net/curisit/securis/utils/GZipServletResponseWrapper.java | 8
/dev/null | 155 -----
securis/pom.xml | 334 ++++------
securis/pom.xml.old | 249 ++++++++
securis/src/main/java/net/curisit/securis/services/helpers/UserHelper.java | 6
securis/src/main/webapp/.vscode/settings.json | 1
securis/src/main/java/net/curisit/securis/db/Organization.java | 28
securis/src/main/java/net/curisit/securis/services/UserResource.java | 44
securis/src/main/java/net/curisit/securis/security/BasicSecurityContext.java | 2
securis/src/main/java/net/curisit/securis/ioc/SecurisModule.java | 8
securis/src/main/java/net/curisit/securis/utils/EmailManager.java | 2
46 files changed, 955 insertions(+), 851 deletions(-)
diff --git a/securis/pom.xml b/securis/pom.xml
index b01aa2c..45ef01e 100644
--- a/securis/pom.xml
+++ b/securis/pom.xml
@@ -1,220 +1,136 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
- <name>SeCuris-Server</name>
- <groupId>net.curisit</groupId>
- <artifactId>securis-server</artifactId>
- <version>2.0.1</version>
- <modelVersion>4.0.0</modelVersion>
-
- <description>CurisTEC Server Licenses</description>
-
- <organization>
- <name>CURISTEC</name>
- </organization>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>net.curisit</groupId>
+ <artifactId>securis-server</artifactId>
+ <version>2.0.1</version>
+ <name>SeCuris-Server</name>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <curisit.theme>default</curisit.theme>
- <maven.version>3.10.0</maven.version>
- <maven.resources.overwrite>true</maven.resources.overwrite>
- <maven.compiler.debug>true</maven.compiler.debug>
- <maven.compiler.source>21</maven.compiler.source>
- <maven.compiler.target>21</maven.compiler.target>
- <maven-assembly-plugin.version>3.4.2</maven-assembly-plugin.version>
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <maven.compiler.source>21</maven.compiler.source>
+ <maven.compiler.target>21</maven.compiler.target>
+ <resteasy.version>6.2.4.Final</resteasy.version>
+ <hibernate.version>5.6.15.Final</hibernate.version>
+ <jakarta.persistence.version>3.1.0</jakarta.persistence.version>
+ <jakarta.servlet.version>6.0.0</jakarta.servlet.version>
+ <jakarta.cdi.version>4.0.1</jakarta.cdi.version>
+ <log4j.version>2.18.0</log4j.version>
+ </properties>
- <curistec.internal.version>3.3.0</curistec.internal.version>
- <securis.version>1.3.1</securis.version>
+ <dependencies>
+ <!-- Internas -->
+ <dependency>
+ <groupId>net.curisit</groupId>
+ <artifactId>securis-client</artifactId>
+ <version>1.3.1</version>
+ </dependency>
- <log4j.version>2.18.0</log4j.version>
- <hibernate.version>4.3.6.Final</hibernate.version>
-
- <javax.servlet.version>3.1.0</javax.servlet.version>
- <jboss.version>3.0.13.Final</jboss.version>
- <jboss-weld.version>2.2.9.Final</jboss-weld.version>
- <jboss-jandex.version>1.2.2.Final</jboss-jandex.version>
-
- <commons-cli.version>1.2</commons-cli.version>
- <lang.version>2.6</lang.version>
- <lang3.version>3.17.0</lang3.version>
- <io.version>2.17.0</io.version>
- <httpclient.version>4.5.6</httpclient.version>
- <httpmime.version>4.4.1</httpmime.version>
- <jackson.version>2.14.1</jackson.version>
- </properties>
-
- <dependencies>
+ <!-- RESTEasy 6 - Jakarta EE 10 -->
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-core</artifactId>
+ <version>${resteasy.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-servlet-initializer</artifactId>
+ <version>${resteasy.version}</version>
+ </dependency>
<dependency>
- <groupId>net.curisit.integrity</groupId>
- <artifactId>commons-curis</artifactId>
- <version>${curistec.internal.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-core</artifactId>
- </exclusion>
- <exclusion>
- <artifactId>jackson-core</artifactId>
- <groupId>com.fasterxml.jackson.core</groupId>
- </exclusion>
- <exclusion>
- <artifactId>jackson-databind</artifactId>
- <groupId>com.fasterxml.jackson.core</groupId>
- </exclusion>
- </exclusions>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-multipart-provider</artifactId>
+ <version>${resteasy.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-jackson2-provider</artifactId>
+ <version>${resteasy.version}</version>
+ </dependency>
<dependency>
- <groupId>net.curisit</groupId>
- <artifactId>securis-client</artifactId>
- <version>${securis.version}</version>
- <exclusions>
- <exclusion>
- <artifactId>jackson-databind</artifactId>
- <groupId>com.fasterxml.jackson.core</groupId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-web</artifactId>
- <version>${log4j.version}</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-entitymanager</artifactId>
- <version>${hibernate.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpclient</artifactId>
- <version>${httpclient.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpmime</artifactId>
- <version>${httpmime.version}</version>
- </dependency>
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>${lang.version}</version>
- </dependency>
- <dependency>
- <groupId>javax.enterprise</groupId>
- <artifactId>cdi-api</artifactId>
- <version>1.2</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
- <version>${javax.servlet.version}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-multipart-provider</artifactId>
- <version>${jboss.version}</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-jaxrs</artifactId>
- <version>${jboss.version}</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.weld.servlet</groupId>
- <artifactId>weld-servlet</artifactId>
- <version>${jboss-weld.version}</version>
- </dependency>
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jandex</artifactId>
- <version>${jboss-jandex.version}</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-jackson2-provider</artifactId>
- <version>${jboss.version}</version>
- <exclusions>
- <exclusion>
- <artifactId>jackson-core</artifactId>
- <groupId>com.fasterxml.jackson.core</groupId>
- </exclusion>
- <exclusion>
- <artifactId>jackson-databind</artifactId>
- <groupId>com.fasterxml.jackson.core</groupId>
- </exclusion>
- </exclusions>
- </dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpmime</artifactId>
+ <version>4.5.13</version>
+ </dependency>
<dependency>
- <groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-cdi</artifactId>
- <version>${jboss.version}</version>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>3.12.0</version>
</dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.jaxrs</groupId>
- <artifactId>jackson-jaxrs-json-provider</artifactId>
- <version>${jackson.version}</version>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-annotations</artifactId>
- <version>${jackson.version}</version>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>${maven.version}</version>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- <encoding>${project.build.sourceEncoding}</encoding>
- <debug>true</debug>
- <showDeprecation>true</showDeprecation>
- <showWarnings>true</showWarnings>
- </configuration>
- </plugin>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>${maven-assembly-plugin.version}</version>
- <configuration>
- <formats>
- <format>zip</format>
- <format>tar.gz</format>
- </formats>
- <descriptors>
- <descriptor>etc/build/pro/mvn_descriptor.xml</descriptor>
- </descriptors>
- <appendAssemblyId>false</appendAssemblyId>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <repositories>
- <repository>
- <id>internal</id>
- <name>CurisIT Repository</name>
- <url>http://archiva.curisit.net/archiva/repository/internal</url>
- </repository>
- <repository>
- <id>curistec</id>
- <name>CurisTec Corporate Repository</name>
- <url>http://archiva.curisit.net/archiva/repository/internal/</url>
- <layout>default</layout>
- </repository>
- <repository>
- <id>curistecSnapshot</id>
- <name>CurisTec Snapshots</name>
- <url>http://archiva.curisit.net/archiva/repository/snapshots/</url>
- <layout>default</layout>
- </repository>
- </repositories>
+ <!-- Jakarta EE APIs -->
+ <dependency>
+ <groupId>jakarta.persistence</groupId>
+ <artifactId>jakarta.persistence-api</artifactId>
+ <version>${jakarta.persistence.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
+ <version>${jakarta.servlet.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>jakarta.enterprise</groupId>
+ <artifactId>jakarta.enterprise.cdi-api</artifactId>
+ <version>${jakarta.cdi.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- Hibernate 5 compatible con Jakarta Persistence -->
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-core</artifactId>
+ <version>${hibernate.version}</version>
+ </dependency>
+
+ <!-- Logging -->
+ <dependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-core</artifactId>
+ <version>${log4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-api</artifactId>
+ <version>${log4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-web</artifactId>
+ <version>${log4j.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.google.inject</groupId>
+ <artifactId>guice</artifactId>
+ <version>5.1.0</version>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.10.0</version>
+ <configuration>
+ <source>${maven.compiler.source}</source>
+ <target>${maven.compiler.target}</target>
+ <encoding>${project.build.sourceEncoding}</encoding>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <repositories>
+ <repository>
+ <id>central</id>
+ <url>https://repo.maven.apache.org/maven2</url>
+ </repository>
+ </repositories>
</project>
\ No newline at end of file
diff --git a/securis/pom.xml.old b/securis/pom.xml.old
new file mode 100644
index 0000000..ad4770d
--- /dev/null
+++ b/securis/pom.xml.old
@@ -0,0 +1,249 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <name>SeCuris-Server</name>
+ <groupId>net.curisit</groupId>
+ <artifactId>securis-server</artifactId>
+ <version>2.0.1</version>
+ <modelVersion>4.0.0</modelVersion>
+
+ <description>CurisTEC Server Licenses</description>
+
+ <organization>
+ <name>CURISTEC</name>
+ </organization>
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <curisit.theme>default</curisit.theme>
+ <maven.version>3.10.0</maven.version>
+ <maven.resources.overwrite>true</maven.resources.overwrite>
+ <maven.compiler.debug>true</maven.compiler.debug>
+ <maven.compiler.source>11</maven.compiler.source>
+ <maven.compiler.target>11</maven.compiler.target>
+ <maven-assembly-plugin.version>3.4.2</maven-assembly-plugin.version>
+
+ <curistec.internal.version>3.3.0</curistec.internal.version>
+ <securis.version>1.3.1</securis.version>
+
+ <log4j.version>2.18.0</log4j.version>
+ <hibernate.version>4.3.6.Final</hibernate.version>
+
+ <javax.servlet.version>3.1.0</javax.servlet.version>
+ <jboss.version>3.0.24.Final</jboss.version>
+ <jboss-weld.version>2.2.9.Final</jboss-weld.version>
+ <jboss-jandex.version>1.2.2.Final</jboss-jandex.version>
+
+ <commons-cli.version>1.2</commons-cli.version>
+ <lang.version>2.6</lang.version>
+ <lang3.version>3.17.0</lang3.version>
+ <io.version>2.17.0</io.version>
+ <httpclient.version>4.5.6</httpclient.version>
+ <httpmime.version>4.4.1</httpmime.version>
+ <jackson.version>2.14.1</jackson.version>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>net.curisit.integrity</groupId>
+ <artifactId>commons-curis</artifactId>
+ <version>${curistec.internal.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <artifactId>jackson-core</artifactId>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>jackson-databind</artifactId>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>net.curisit</groupId>
+ <artifactId>securis-client</artifactId>
+ <version>${securis.version}</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>jackson-databind</artifactId>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-core</artifactId>
+ <version>${log4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-api</artifactId>
+ <version>${log4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-web</artifactId>
+ <version>${log4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-entitymanager</artifactId>
+ <version>${hibernate.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ <version>${httpclient.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpmime</artifactId>
+ <version>${httpmime.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <version>${lang.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.enterprise</groupId>
+ <artifactId>cdi-api</artifactId>
+ <version>1.2</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>javax.servlet-api</artifactId>
+ <version>${javax.servlet.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-multipart-provider</artifactId>
+ <version>${jboss.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-jaxrs</artifactId>
+ <version>${jboss.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-servlet</artifactId>
+ <version>${jboss.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-servlet-initializer</artifactId>
+ <version>${jboss.version}</version>
+ </dependency> <dependency>
+ <groupId>org.jboss.weld.servlet</groupId>
+ <artifactId>weld-servlet</artifactId>
+ <version>${jboss-weld.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jandex</artifactId>
+ <version>${jboss-jandex.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-jackson2-provider</artifactId>
+ <version>${jboss.version}</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>jackson-core</artifactId>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>jackson-databind</artifactId>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-cdi</artifactId>
+ <version>${jboss.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.jaxrs</groupId>
+ <artifactId>jackson-jaxrs-json-provider</artifactId>
+ <version>${jackson.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-annotations</artifactId>
+ <version>${jackson.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
+ <version>5.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>${maven.version}</version>
+ <configuration>
+ <source>${maven.compiler.source}</source>
+ <target>${maven.compiler.target}</target>
+ <encoding>${project.build.sourceEncoding}</encoding>
+ <debug>true</debug>
+ <showDeprecation>true</showDeprecation>
+ <showWarnings>true</showWarnings>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>${maven-assembly-plugin.version}</version>
+ <configuration>
+ <formats>
+ <format>zip</format>
+ <format>tar.gz</format>
+ </formats>
+ <descriptors>
+ <descriptor>etc/build/pro/mvn_descriptor.xml</descriptor>
+ </descriptors>
+ <appendAssemblyId>false</appendAssemblyId>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <repositories>
+ <repository>
+ <id>internal</id>
+ <name>CurisIT Repository</name>
+ <url>http://archiva.curisit.net/archiva/repository/internal</url>
+ </repository>
+ <repository>
+ <id>curistec</id>
+ <name>CurisTec Corporate Repository</name>
+ <url>http://archiva.curisit.net/archiva/repository/internal/</url>
+ <layout>default</layout>
+ </repository>
+ <repository>
+ <id>curistecSnapshot</id>
+ <name>CurisTec Snapshots</name>
+ <url>http://archiva.curisit.net/archiva/repository/snapshots/</url>
+ <layout>default</layout>
+ </repository>
+ <repository>
+ <id>jboss-public</id>
+ <url>https://repository.jboss.org/nexus/content/groups/public/</url>
+ </repository>
+ </repositories>
+
+</project>
\ No newline at end of file
diff --git a/securis/src/main/java/net/curisit/securis/AuthFilter.java b/securis/src/main/java/net/curisit/securis/AuthFilter.java
index 4d5e1e8..48acee4 100644
--- a/securis/src/main/java/net/curisit/securis/AuthFilter.java
+++ b/securis/src/main/java/net/curisit/securis/AuthFilter.java
@@ -3,16 +3,16 @@
import java.io.IOException;
import java.security.Principal;
-import javax.enterprise.context.ApplicationScoped;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.annotation.WebFilter;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.annotation.WebFilter;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequestWrapper;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
diff --git a/securis/src/main/java/net/curisit/securis/DefaultExceptionHandler.java b/securis/src/main/java/net/curisit/securis/DefaultExceptionHandler.java
index 8578d51..7726c7d 100644
--- a/securis/src/main/java/net/curisit/securis/DefaultExceptionHandler.java
+++ b/securis/src/main/java/net/curisit/securis/DefaultExceptionHandler.java
@@ -1,15 +1,15 @@
package net.curisit.securis;
-import javax.persistence.EntityManager;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.ForbiddenException;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
+import jakarta.persistence.EntityManager;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.ForbiddenException;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
diff --git a/securis/src/main/java/net/curisit/securis/DevFilter.java b/securis/src/main/java/net/curisit/securis/DevFilter.java
index 4889e10..2ed1e4d 100644
--- a/securis/src/main/java/net/curisit/securis/DevFilter.java
+++ b/securis/src/main/java/net/curisit/securis/DevFilter.java
@@ -2,16 +2,16 @@
import java.io.IOException;
-import javax.enterprise.context.ApplicationScoped;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.annotation.WebFilter;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.annotation.WebFilter;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
diff --git a/securis/src/main/java/net/curisit/securis/GzipFilter.java b/securis/src/main/java/net/curisit/securis/GzipFilter.java
index 4c0682c..a8ceaee 100644
--- a/securis/src/main/java/net/curisit/securis/GzipFilter.java
+++ b/securis/src/main/java/net/curisit/securis/GzipFilter.java
@@ -2,16 +2,16 @@
import java.io.IOException;
-import javax.enterprise.context.ApplicationScoped;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.annotation.WebFilter;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.annotation.WebFilter;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
diff --git a/securis/src/main/java/net/curisit/securis/RestServicesApplication.java b/securis/src/main/java/net/curisit/securis/RestServicesApplication.java
index c5b3b95..fc1c0b5 100644
--- a/securis/src/main/java/net/curisit/securis/RestServicesApplication.java
+++ b/securis/src/main/java/net/curisit/securis/RestServicesApplication.java
@@ -3,8 +3,8 @@
import java.util.HashSet;
import java.util.Set;
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.ApplicationPath;
+import jakarta.ws.rs.core.Application;
import net.curisit.securis.ioc.RequestsInterceptor;
import net.curisit.securis.services.ApiResource;
diff --git a/securis/src/main/java/net/curisit/securis/db/Application.java b/securis/src/main/java/net/curisit/securis/db/Application.java
index dba0b7b..138481f 100644
--- a/securis/src/main/java/net/curisit/securis/db/Application.java
+++ b/securis/src/main/java/net/curisit/securis/db/Application.java
@@ -4,19 +4,19 @@
import java.util.Date;
import java.util.Set;
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinTable;
-import javax.persistence.ManyToMany;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.JoinTable;
+import jakarta.persistence.ManyToMany;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.Table;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
diff --git a/securis/src/main/java/net/curisit/securis/db/ApplicationMetadata.java b/securis/src/main/java/net/curisit/securis/db/ApplicationMetadata.java
index 8123dae..eafd418 100644
--- a/securis/src/main/java/net/curisit/securis/db/ApplicationMetadata.java
+++ b/securis/src/main/java/net/curisit/securis/db/ApplicationMetadata.java
@@ -4,14 +4,14 @@
import java.util.Date;
import java.util.Objects;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.Table;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
diff --git a/securis/src/main/java/net/curisit/securis/db/BlockedRequest.java b/securis/src/main/java/net/curisit/securis/db/BlockedRequest.java
index b0b2826..74f562b 100644
--- a/securis/src/main/java/net/curisit/securis/db/BlockedRequest.java
+++ b/securis/src/main/java/net/curisit/securis/db/BlockedRequest.java
@@ -3,13 +3,13 @@
import java.io.Serializable;
import java.util.Date;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.EntityManager;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
import net.curisit.integrity.commons.Utils;
diff --git a/securis/src/main/java/net/curisit/securis/db/License.java b/securis/src/main/java/net/curisit/securis/db/License.java
index 1d721da..8b36055 100644
--- a/securis/src/main/java/net/curisit/securis/db/License.java
+++ b/securis/src/main/java/net/curisit/securis/db/License.java
@@ -6,21 +6,21 @@
import java.util.List;
import java.util.Map;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.EntityListeners;
-import javax.persistence.EntityManager;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.NoResultException;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
-import javax.persistence.TypedQuery;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.EntityListeners;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.NoResultException;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.Table;
+import jakarta.persistence.TypedQuery;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
diff --git a/securis/src/main/java/net/curisit/securis/db/LicenseHistory.java b/securis/src/main/java/net/curisit/securis/db/LicenseHistory.java
index b063ffe..7fd0b03 100644
--- a/securis/src/main/java/net/curisit/securis/db/LicenseHistory.java
+++ b/securis/src/main/java/net/curisit/securis/db/LicenseHistory.java
@@ -3,15 +3,15 @@
import java.io.Serializable;
import java.util.Date;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.Table;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonIgnore;
diff --git a/securis/src/main/java/net/curisit/securis/db/LicenseType.java b/securis/src/main/java/net/curisit/securis/db/LicenseType.java
index bd180ef..1733787 100644
--- a/securis/src/main/java/net/curisit/securis/db/LicenseType.java
+++ b/securis/src/main/java/net/curisit/securis/db/LicenseType.java
@@ -4,18 +4,18 @@
import java.util.Date;
import java.util.Set;
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.Table;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
diff --git a/securis/src/main/java/net/curisit/securis/db/LicenseTypeMetadata.java b/securis/src/main/java/net/curisit/securis/db/LicenseTypeMetadata.java
index 777801b..e17ae8c 100644
--- a/securis/src/main/java/net/curisit/securis/db/LicenseTypeMetadata.java
+++ b/securis/src/main/java/net/curisit/securis/db/LicenseTypeMetadata.java
@@ -3,14 +3,14 @@
import java.io.Serializable;
import java.util.Objects;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.Table;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonBackReference;
diff --git a/securis/src/main/java/net/curisit/securis/db/Organization.java b/securis/src/main/java/net/curisit/securis/db/Organization.java
index 4084245..6b8b217 100644
--- a/securis/src/main/java/net/curisit/securis/db/Organization.java
+++ b/securis/src/main/java/net/curisit/securis/db/Organization.java
@@ -6,20 +6,20 @@
import java.util.List;
import java.util.Set;
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinTable;
-import javax.persistence.ManyToMany;
-import javax.persistence.ManyToOne;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.JoinTable;
+import jakarta.persistence.ManyToMany;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.Table;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
diff --git a/securis/src/main/java/net/curisit/securis/db/Pack.java b/securis/src/main/java/net/curisit/securis/db/Pack.java
index b4ee893..aee90fa 100644
--- a/securis/src/main/java/net/curisit/securis/db/Pack.java
+++ b/securis/src/main/java/net/curisit/securis/db/Pack.java
@@ -7,18 +7,18 @@
import java.util.Map;
import java.util.Set;
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.Table;
import org.hibernate.annotations.Type;
diff --git a/securis/src/main/java/net/curisit/securis/db/PackMetadata.java b/securis/src/main/java/net/curisit/securis/db/PackMetadata.java
index c6f07c2..d35b22c 100644
--- a/securis/src/main/java/net/curisit/securis/db/PackMetadata.java
+++ b/securis/src/main/java/net/curisit/securis/db/PackMetadata.java
@@ -3,14 +3,14 @@
import java.io.Serializable;
import java.util.Objects;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.Table;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonIgnore;
diff --git a/securis/src/main/java/net/curisit/securis/db/User.java b/securis/src/main/java/net/curisit/securis/db/User.java
index 39d1509..052082f 100644
--- a/securis/src/main/java/net/curisit/securis/db/User.java
+++ b/securis/src/main/java/net/curisit/securis/db/User.java
@@ -9,15 +9,15 @@
import java.util.Set;
import java.util.stream.Collectors;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinTable;
-import javax.persistence.ManyToMany;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.JoinTable;
+import jakarta.persistence.ManyToMany;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.Table;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonIgnore;
diff --git a/securis/src/main/java/net/curisit/securis/db/common/PersistentEnumUserType.java b/securis/src/main/java/net/curisit/securis/db/common/PersistentEnumUserType.java
index 100b5c4..19879f2 100644
--- a/securis/src/main/java/net/curisit/securis/db/common/PersistentEnumUserType.java
+++ b/securis/src/main/java/net/curisit/securis/db/common/PersistentEnumUserType.java
@@ -7,7 +7,7 @@
import java.sql.Types;
import org.hibernate.HibernateException;
-import org.hibernate.engine.spi.SessionImplementor;
+import org.hibernate.engine.spi.SharedSessionContractImplementor;
import org.hibernate.usertype.UserType;
public abstract class PersistentEnumUserType<T extends CodedEnum> implements UserType {
@@ -58,7 +58,8 @@
}
@Override
- public Object nullSafeGet(ResultSet rs, String[] names, SessionImplementor session, Object owner) throws HibernateException, SQLException {
+ public Object nullSafeGet(ResultSet rs, String[] names, SharedSessionContractImplementor session, Object owner)
+ throws HibernateException, SQLException {
String code = rs.getString(names[0]);
for (CodedEnum en : returnedClass().getEnumConstants()) {
if (en.getCode().equals(code)) {
@@ -69,8 +70,13 @@
}
@Override
- public void nullSafeSet(PreparedStatement st, Object value, int index, SessionImplementor session) throws HibernateException, SQLException {
- st.setString(index, value == null ? null : ((CodedEnum) value).getCode());
+ public void nullSafeSet(PreparedStatement st, Object value, int index, SharedSessionContractImplementor session)
+ throws HibernateException, SQLException {
+ if (value == null) {
+ st.setNull(index, java.sql.Types.VARCHAR);
+ } else {
+ st.setString(index, ((CodedEnum) value).getCode());
+ }
}
}
diff --git a/securis/src/main/java/net/curisit/securis/db/common/SystemParams.java b/securis/src/main/java/net/curisit/securis/db/common/SystemParams.java
index ac97ba0..0e745f2 100644
--- a/securis/src/main/java/net/curisit/securis/db/common/SystemParams.java
+++ b/securis/src/main/java/net/curisit/securis/db/common/SystemParams.java
@@ -2,9 +2,9 @@
import java.util.Date;
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.persistence.EntityManager;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.persistence.EntityManager;
import net.curisit.integrity.commons.Utils;
import net.curisit.securis.db.Settings;
diff --git a/securis/src/main/java/net/curisit/securis/ioc/EnsureTransaction.java b/securis/src/main/java/net/curisit/securis/ioc/EnsureTransaction.java
index 017c46f..f2e9008 100644
--- a/securis/src/main/java/net/curisit/securis/ioc/EnsureTransaction.java
+++ b/securis/src/main/java/net/curisit/securis/ioc/EnsureTransaction.java
@@ -5,7 +5,7 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import javax.interceptor.InterceptorBinding;
+import jakarta.interceptor.InterceptorBinding;
@Target({
ElementType.METHOD, ElementType.TYPE
diff --git a/securis/src/main/java/net/curisit/securis/ioc/EntityManagerProvider.java b/securis/src/main/java/net/curisit/securis/ioc/EntityManagerProvider.java
index 6678530..be020f5 100644
--- a/securis/src/main/java/net/curisit/securis/ioc/EntityManagerProvider.java
+++ b/securis/src/main/java/net/curisit/securis/ioc/EntityManagerProvider.java
@@ -1,8 +1,9 @@
package net.curisit.securis.ioc;
-import javax.enterprise.context.ApplicationScoped;
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.EntityManagerFactory;
+import jakarta.persistence.Persistence;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -13,7 +14,7 @@
@SuppressWarnings("unused")
private static final Logger log = LogManager.getLogger(EntityManagerProvider.class);
- private final EntityManagerFactory entityManagerFactory = javax.persistence.Persistence.createEntityManagerFactory("localdb");
+ private final EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("localdb");
public EntityManager getEntityManager() {
return entityManagerFactory.createEntityManager();
diff --git a/securis/src/main/java/net/curisit/securis/ioc/RequestsInterceptor.java b/securis/src/main/java/net/curisit/securis/ioc/RequestsInterceptor.java
index 391ec7f..fd61433 100644
--- a/securis/src/main/java/net/curisit/securis/ioc/RequestsInterceptor.java
+++ b/securis/src/main/java/net/curisit/securis/ioc/RequestsInterceptor.java
@@ -5,30 +5,25 @@
import java.util.List;
import java.util.Set;
-import javax.annotation.Priority;
-import javax.inject.Inject;
-import javax.persistence.EntityManager;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.ext.Provider;
-import javax.ws.rs.ext.WriterInterceptor;
-import javax.ws.rs.ext.WriterInterceptorContext;
+import jakarta.annotation.Priority;
+import jakarta.inject.Inject;
+import jakarta.persistence.EntityManager;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.ext.Provider;
+import jakarta.ws.rs.ext.WriterInterceptor;
+import jakarta.ws.rs.ext.WriterInterceptorContext;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.jboss.resteasy.core.Dispatcher;
-import org.jboss.resteasy.core.ResourceMethodInvoker;
-import org.jboss.resteasy.core.ServerResponse;
-import org.jboss.resteasy.spi.Failure;
-import org.jboss.resteasy.spi.HttpRequest;
-import org.jboss.resteasy.spi.ResteasyProviderFactory;
import net.curisit.securis.db.User;
import net.curisit.securis.security.BasicSecurityContext;
@@ -39,6 +34,7 @@
@Provider
@Priority(Priorities.AUTHENTICATION)
public class RequestsInterceptor implements ContainerRequestFilter, WriterInterceptor {
+
private static final Logger LOG = LogManager.getLogger(RequestsInterceptor.class);
@Context
@@ -47,171 +43,131 @@
@Context
private HttpServletRequest servletRequest;
+ @Context
+ private ResourceInfo resourceInfo;
+
@Inject
private CacheTTL cache;
@Inject
private TokenHelper tokenHelper;
- @Context
- private Dispatcher dispatcher;
-
@Inject
private EntityManagerProvider emProvider;
+ private static final String EM_CONTEXT_PROPERTY = "curisit.entitymanager";
+
@Override
- public void filter(ContainerRequestContext containerRequestContext) throws IOException {
+ public void filter(ContainerRequestContext requestContext) throws IOException {
EntityManager em = emProvider.getEntityManager();
LOG.debug("GETTING EM: {}", em);
- ResteasyProviderFactory.pushContext(EntityManager.class, em);
+ // Guardamos el EntityManager en el contexto para recuperación posterior
+ requestContext.setProperty(EM_CONTEXT_PROPERTY, em);
- ResourceMethodInvoker methodInvoker = (ResourceMethodInvoker) containerRequestContext.getProperty("org.jboss.resteasy.core.ResourceMethodInvoker");
- Method method = methodInvoker.getMethod();
+ Method method = resourceInfo.getResourceMethod();
- LOG.debug("Stored in context, em: {}, {}", em, method.toGenericString());
-
- boolean next = checkSecurableMethods(containerRequestContext, method);
- if (next) {
- prepareTransaction(containerRequestContext, method, em);
+ if (checkSecurableMethods(requestContext, method)) {
+ if (method.isAnnotationPresent(EnsureTransaction.class)) {
+ LOG.debug("Beginning transaction");
+ em.getTransaction().begin();
+ }
}
}
- private void prepareTransaction(ContainerRequestContext containerRequestContext, Method method, EntityManager em) {
+ private boolean checkSecurableMethods(ContainerRequestContext ctx, Method method) {
+ if (!method.isAnnotationPresent(Securable.class)) return true;
- if (method.isAnnotationPresent(EnsureTransaction.class)) {
- LOG.debug("Beginning a new transaction");
- em.getTransaction().begin();
- }
- }
-
- private boolean checkSecurableMethods(ContainerRequestContext containerRequestContext, Method method) {
- if (!method.isAnnotationPresent(Securable.class)) {
- return true;
- }
String token = servletRequest.getHeader(TokenHelper.TOKEN_HEADER_PÀRAM);
if (token == null || !tokenHelper.isTokenValid(token)) {
- LOG.warn("Access denied, Token not valid: {} for method: {}::{}", token, method.getDeclaringClass(), method.getName());
- containerRequestContext.abortWith(Response.status(Status.UNAUTHORIZED).build());
+ LOG.warn("Access denied, invalid token");
+ ctx.abortWith(Response.status(Status.UNAUTHORIZED).build());
return false;
- } else {
- Securable securable = method.getAnnotation(Securable.class);
- // If roles == 0 we only need to validate the token
- String username = tokenHelper.extractUserFromToken(token);
- int userRoles = getUserRoles(username);
- if (securable.roles() != 0 && (securable.roles() & userRoles) == 0) {
- LOG.warn("Method {} requires roles: {}, but user {} hasn't got them", method.getName(), securable.roles(), username);
- containerRequestContext.abortWith(Response.status(Status.UNAUTHORIZED).build());
- return false;
- }
- Set<Integer> orgs = getUserOrganizations(username);
- Set<Integer> apps = getUserApplications(username);
-
- BasicSecurityContext scw = new BasicSecurityContext(username, userRoles, servletRequest.isSecure());
- scw.setOrganizationsIds(orgs);
- scw.setApplicationsIds(apps);
- containerRequestContext.setSecurityContext(scw);
- // Next line provide injection in resource methods
- ResteasyProviderFactory.pushContext(BasicSecurityContext.class, scw);
- LOG.debug("Added custom SecurityContext for user {}, orgs: {}", username, orgs);
}
+
+ String username = tokenHelper.extractUserFromToken(token);
+ int roles = getUserRoles(username);
+ Securable securable = method.getAnnotation(Securable.class);
+
+ if (securable.roles() != 0 && (securable.roles() & roles) == 0) {
+ LOG.warn("User {} lacks required roles for method {}", username, method.getName());
+ ctx.abortWith(Response.status(Status.UNAUTHORIZED).build());
+ return false;
+ }
+
+ BasicSecurityContext sc = new BasicSecurityContext(username, roles, servletRequest.isSecure());
+ sc.setOrganizationsIds(getUserOrganizations(username));
+ sc.setApplicationsIds(getUserApplications(username));
+ ctx.setSecurityContext(sc);
return true;
-
- }
-
- private Set<Integer> getUserOrganizations(String username) {
- @SuppressWarnings("unchecked")
- Set<Integer> userOrgs = cache.get("orgs_" + username, Set.class);
- if (userOrgs == null) {
- EntityManager em = ResteasyProviderFactory.getContextData(EntityManager.class);
-
- // Theorically this shouldn't be never null, but just in case...
- User user = em.find(User.class, username);
- if (user != null) {
- userOrgs = user.getAllOrgsIds();
- // We store user orgs in cache only for one hour
- cache.set("orgs_" + username, userOrgs, 3600);
- }
- }
-
- return userOrgs;
- }
-
- private Set<Integer> getUserApplications(String username) {
- @SuppressWarnings("unchecked")
- Set<Integer> userApps = cache.get("apps_" + username, Set.class);
- if (userApps == null) {
- EntityManager em = ResteasyProviderFactory.getContextData(EntityManager.class);
-
- // Theorically this shouldn't be never null, but just in case...
- User user = em.find(User.class, username);
- if (user != null) {
- userApps = user.getAllAppsIds();
- // We store user orgs in cache only for one hour
- cache.set("apps_" + username, userApps, 3600);
- }
- }
-
- return userApps;
}
private int getUserRoles(String username) {
- if (username == null) {
- return 0;
- }
- Integer userRoles = cache.get("roles_" + username, Integer.class);
- if (userRoles == null) {
- EntityManager em = ResteasyProviderFactory.getContextData(EntityManager.class);
+ if (username == null) return 0;
+ Integer cached = cache.get("roles_" + username, Integer.class);
+ if (cached != null) return cached;
- User user = em.find(User.class, username);
- if (user != null) {
- userRoles = 0;
- List<Integer> roles = user.getRoles();
- if (roles != null) {
- for (Integer rol : roles) {
- userRoles += rol;
- }
- }
- // We store user roles in cache only for one hour
- cache.set("roles_" + username, userRoles, 3600);
- cache.set("orgs_" + username, user.getOrgsIds(), 3600);
- }
+ EntityManager em = emProvider.getEntityManager();
+ User user = em.find(User.class, username);
+ int roles = 0;
+ if (user != null) {
+ List<Integer> r = user.getRoles();
+ if (r != null) for (Integer role : r) roles += role;
+ cache.set("roles_" + username, roles, 3600);
+ cache.set("orgs_" + username, user.getOrgsIds(), 3600);
}
- return userRoles == null ? 0 : userRoles.intValue();
+ return roles;
}
- // @Override
- public ServerResponse preProcess(HttpRequest request, ResourceMethodInvoker method) throws Failure, WebApplicationException {
- return null;
+ private Set<Integer> getUserOrganizations(String username) {
+ Set<Integer> cached = cache.get("orgs_" + username, Set.class);
+ if (cached != null) return cached;
+ User user = emProvider.getEntityManager().find(User.class, username);
+ if (user != null) {
+ Set<Integer> result = user.getAllOrgsIds();
+ cache.set("orgs_" + username, result, 3600);
+ return result;
+ }
+ return Set.of();
+ }
+
+ private Set<Integer> getUserApplications(String username) {
+ Set<Integer> cached = cache.get("apps_" + username, Set.class);
+ if (cached != null) return cached;
+ User user = emProvider.getEntityManager().find(User.class, username);
+ if (user != null) {
+ Set<Integer> result = user.getAllAppsIds();
+ cache.set("apps_" + username, result, 3600);
+ return result;
+ }
+ return Set.of();
}
@Override
public void aroundWriteTo(WriterInterceptorContext context) throws IOException, WebApplicationException {
context.proceed();
- EntityManager em = ResteasyProviderFactory.getContextData(EntityManager.class);
+
+ EntityManager em = (EntityManager) context.getProperty(EM_CONTEXT_PROPERTY);
+ if (em == null) return;
+
try {
- if (em != null && em.getTransaction().isActive()) {
+ if (em.getTransaction().isActive()) {
if (servletResponse.getStatus() == Status.OK.getStatusCode()) {
em.getTransaction().commit();
- LOG.debug("COMMIT");
+ LOG.debug("Transaction committed");
} else {
- // This code is never executed if there is an error the
- // filter chain is broken
em.getTransaction().rollback();
- LOG.debug("ROLLBACK");
+ LOG.debug("Transaction rolled back");
}
}
} finally {
if (em.isOpen()) {
- LOG.debug("CLOSING EM: {}, trans: {}", em, em.isJoinedToTransaction());
try {
em.close();
- } catch (Exception ex) {
- ex.printStackTrace();
- LOG.error("Error closing EM: {}, {}", em, ex);
+ } catch (Exception e) {
+ LOG.error("Error closing EntityManager", e);
}
}
}
}
-
}
diff --git a/securis/src/main/java/net/curisit/securis/ioc/SecurisModule.java b/securis/src/main/java/net/curisit/securis/ioc/SecurisModule.java
index 8b0b6c8..8cdfa22 100644
--- a/securis/src/main/java/net/curisit/securis/ioc/SecurisModule.java
+++ b/securis/src/main/java/net/curisit/securis/ioc/SecurisModule.java
@@ -7,10 +7,10 @@
import java.util.List;
import java.util.Properties;
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Named;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriBuilderException;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Named;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriBuilderException;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
diff --git a/securis/src/main/java/net/curisit/securis/security/BasicSecurityContext.java b/securis/src/main/java/net/curisit/securis/security/BasicSecurityContext.java
index dc0f40b..1c831b5 100644
--- a/securis/src/main/java/net/curisit/securis/security/BasicSecurityContext.java
+++ b/securis/src/main/java/net/curisit/securis/security/BasicSecurityContext.java
@@ -4,7 +4,7 @@
import java.util.Map;
import java.util.Set;
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.SecurityContext;
import net.curisit.integrity.commons.Utils;
import net.curisit.securis.db.User;
diff --git a/securis/src/main/java/net/curisit/securis/services/ApiResource.java b/securis/src/main/java/net/curisit/securis/services/ApiResource.java
index cd7d688..2718e51 100644
--- a/securis/src/main/java/net/curisit/securis/services/ApiResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/ApiResource.java
@@ -4,20 +4,20 @@
import java.util.Date;
import java.util.List;
-import javax.inject.Inject;
-import javax.persistence.EntityManager;
-import javax.persistence.NoResultException;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
+import jakarta.inject.Inject;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.NoResultException;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
-import org.apache.commons.lang.time.DateUtils;
+import org.apache.commons.lang3.time.DateUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput;
diff --git a/securis/src/main/java/net/curisit/securis/services/ApplicationResource.java b/securis/src/main/java/net/curisit/securis/services/ApplicationResource.java
index 15e473f..e9b2776 100644
--- a/securis/src/main/java/net/curisit/securis/services/ApplicationResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/ApplicationResource.java
@@ -6,24 +6,24 @@
import java.util.Map;
import java.util.Set;
-import javax.annotation.security.RolesAllowed;
-import javax.inject.Inject;
-import javax.persistence.EntityManager;
-import javax.persistence.TypedQuery;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.annotation.security.RolesAllowed;
+import jakarta.inject.Inject;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.TypedQuery;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
diff --git a/securis/src/main/java/net/curisit/securis/services/BasicServices.java b/securis/src/main/java/net/curisit/securis/services/BasicServices.java
index 11fa986..f025795 100644
--- a/securis/src/main/java/net/curisit/securis/services/BasicServices.java
+++ b/securis/src/main/java/net/curisit/securis/services/BasicServices.java
@@ -5,22 +5,22 @@
import java.util.HashMap;
import java.util.Map;
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.persistence.EntityManager;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-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.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.core.UriBuilder;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.persistence.EntityManager;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+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.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.UriBuilder;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
diff --git a/securis/src/main/java/net/curisit/securis/services/LicenseResource.java b/securis/src/main/java/net/curisit/securis/services/LicenseResource.java
index 1027ee7..ed337ce 100644
--- a/securis/src/main/java/net/curisit/securis/services/LicenseResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/LicenseResource.java
@@ -6,24 +6,24 @@
import java.util.Date;
import java.util.List;
-import javax.inject.Inject;
-import javax.persistence.EntityManager;
-import javax.persistence.TypedQuery;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.inject.Inject;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.TypedQuery;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.ObjectUtils;
diff --git a/securis/src/main/java/net/curisit/securis/services/LicenseTypeResource.java b/securis/src/main/java/net/curisit/securis/services/LicenseTypeResource.java
index 21a819a..28b5c7d 100644
--- a/securis/src/main/java/net/curisit/securis/services/LicenseTypeResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/LicenseTypeResource.java
@@ -6,24 +6,24 @@
import java.util.Set;
import java.util.stream.Collectors;
-import javax.annotation.security.RolesAllowed;
-import javax.inject.Inject;
-import javax.persistence.EntityManager;
-import javax.persistence.TypedQuery;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.annotation.security.RolesAllowed;
+import jakarta.inject.Inject;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.TypedQuery;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
diff --git a/securis/src/main/java/net/curisit/securis/services/OrganizationResource.java b/securis/src/main/java/net/curisit/securis/services/OrganizationResource.java
index 346c726..ee23619 100644
--- a/securis/src/main/java/net/curisit/securis/services/OrganizationResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/OrganizationResource.java
@@ -5,24 +5,24 @@
import java.util.List;
import java.util.Set;
-import javax.annotation.security.RolesAllowed;
-import javax.enterprise.context.RequestScoped;
-import javax.persistence.EntityManager;
-import javax.persistence.TypedQuery;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.annotation.security.RolesAllowed;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.TypedQuery;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
diff --git a/securis/src/main/java/net/curisit/securis/services/PackResource.java b/securis/src/main/java/net/curisit/securis/services/PackResource.java
index dcdf6e6..4623314 100644
--- a/securis/src/main/java/net/curisit/securis/services/PackResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/PackResource.java
@@ -7,25 +7,25 @@
import java.util.List;
import java.util.Set;
-import javax.annotation.security.RolesAllowed;
-import javax.inject.Inject;
-import javax.persistence.EntityManager;
-import javax.persistence.TypedQuery;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.core.UriInfo;
+import jakarta.annotation.security.RolesAllowed;
+import jakarta.inject.Inject;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.TypedQuery;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.UriInfo;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
diff --git a/securis/src/main/java/net/curisit/securis/services/UserResource.java b/securis/src/main/java/net/curisit/securis/services/UserResource.java
index 3ca37e0..d5a9690 100644
--- a/securis/src/main/java/net/curisit/securis/services/UserResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/UserResource.java
@@ -5,28 +5,28 @@
import java.util.List;
import java.util.Set;
-import javax.annotation.security.RolesAllowed;
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceException;
-import javax.persistence.TypedQuery;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.annotation.security.RolesAllowed;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.PersistenceException;
+import jakarta.persistence.TypedQuery;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
diff --git a/securis/src/main/java/net/curisit/securis/services/helpers/LicenseHelper.java b/securis/src/main/java/net/curisit/securis/services/helpers/LicenseHelper.java
index 142a747..7159ddc 100644
--- a/securis/src/main/java/net/curisit/securis/services/helpers/LicenseHelper.java
+++ b/securis/src/main/java/net/curisit/securis/services/helpers/LicenseHelper.java
@@ -9,10 +9,10 @@
import java.util.Map;
import java.util.Set;
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.persistence.EntityManager;
-import javax.persistence.TypedQuery;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.TypedQuery;
import org.apache.commons.io.FileUtils;
import org.apache.logging.log4j.LogManager;
diff --git a/securis/src/main/java/net/curisit/securis/services/helpers/MetadataHelper.java b/securis/src/main/java/net/curisit/securis/services/helpers/MetadataHelper.java
index ce6fb45..ac70711 100644
--- a/securis/src/main/java/net/curisit/securis/services/helpers/MetadataHelper.java
+++ b/securis/src/main/java/net/curisit/securis/services/helpers/MetadataHelper.java
@@ -7,9 +7,9 @@
import java.util.Set;
import java.util.stream.Collectors;
-import javax.enterprise.context.ApplicationScoped;
-import javax.persistence.EntityManager;
-import javax.persistence.TypedQuery;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.TypedQuery;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
diff --git a/securis/src/main/java/net/curisit/securis/services/helpers/UserHelper.java b/securis/src/main/java/net/curisit/securis/services/helpers/UserHelper.java
index 9c8d00d..4c561dc 100644
--- a/securis/src/main/java/net/curisit/securis/services/helpers/UserHelper.java
+++ b/securis/src/main/java/net/curisit/securis/services/helpers/UserHelper.java
@@ -1,8 +1,8 @@
package net.curisit.securis.services.helpers;
-import javax.enterprise.context.ApplicationScoped;
-import javax.persistence.EntityManager;
-import javax.ws.rs.core.Response.Status;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.persistence.EntityManager;
+import jakarta.ws.rs.core.Response.Status;
import net.curisit.securis.db.User;
import net.curisit.securis.security.BasicSecurityContext;
diff --git a/securis/src/main/java/net/curisit/securis/utils/CacheTTL.java b/securis/src/main/java/net/curisit/securis/utils/CacheTTL.java
index f627602..2b0146a 100644
--- a/securis/src/main/java/net/curisit/securis/utils/CacheTTL.java
+++ b/securis/src/main/java/net/curisit/securis/utils/CacheTTL.java
@@ -6,8 +6,8 @@
import java.util.List;
import java.util.Map;
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
diff --git a/securis/src/main/java/net/curisit/securis/utils/EmailManager.java b/securis/src/main/java/net/curisit/securis/utils/EmailManager.java
index 1d8641e..5b3ad1f 100644
--- a/securis/src/main/java/net/curisit/securis/utils/EmailManager.java
+++ b/securis/src/main/java/net/curisit/securis/utils/EmailManager.java
@@ -14,7 +14,7 @@
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
-import javax.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.ApplicationScoped;
import net.curisit.securis.SeCurisException;
import net.curisit.securis.services.exception.SeCurisServiceException;
diff --git a/securis/src/main/java/net/curisit/securis/utils/GZipServletResponseWrapper.java b/securis/src/main/java/net/curisit/securis/utils/GZipServletResponseWrapper.java
index 11fc895..82ba7f6 100644
--- a/securis/src/main/java/net/curisit/securis/utils/GZipServletResponseWrapper.java
+++ b/securis/src/main/java/net/curisit/securis/utils/GZipServletResponseWrapper.java
@@ -5,10 +5,10 @@
import java.io.PrintWriter;
import java.util.zip.GZIPOutputStream;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.WriteListener;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpServletResponseWrapper;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.WriteListener;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponseWrapper;
public class GZipServletResponseWrapper extends HttpServletResponseWrapper {
diff --git a/securis/src/main/java/net/curisit/securis/utils/TokenHelper.java b/securis/src/main/java/net/curisit/securis/utils/TokenHelper.java
index b6eb249..ff567f7 100644
--- a/securis/src/main/java/net/curisit/securis/utils/TokenHelper.java
+++ b/securis/src/main/java/net/curisit/securis/utils/TokenHelper.java
@@ -7,8 +7,8 @@
import java.security.NoSuchAlgorithmException;
import java.util.Date;
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Inject;
import net.curisit.integrity.commons.Utils;
import net.curisit.securis.services.ApiResource;
@@ -16,7 +16,9 @@
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.jboss.resteasy.util.Base64;
+
+import java.util.Base64;
+import java.nio.charset.StandardCharsets;
@ApplicationScoped
public class TokenHelper {
@@ -47,16 +49,21 @@
return generateToken(user, new Date());
}
+ ;
+
public String generateToken(String user, Date date) {
try {
String secret = generateSecret(user, date);
- StringBuffer sb = new StringBuffer();
+ StringBuilder sb = new StringBuilder();
sb.append(secret);
sb.append(' ');
sb.append(user);
sb.append(' ');
sb.append(Utils.toIsoFormat(date));
- return Base64.encodeBytes(sb.toString().getBytes("utf-8"));
+
+ // Codificación estándar con UTF-8
+ return Base64.getEncoder().encodeToString(sb.toString().getBytes(StandardCharsets.UTF_8));
+
} catch (NoSuchAlgorithmException e) {
LOG.error("Error generating SHA-256 hash", e);
} catch (UnsupportedEncodingException e) {
@@ -86,7 +93,7 @@
*/
public boolean isTokenValid(String token) {
try {
- String tokenDecoded = new String(Base64.decode(token));
+ String tokenDecoded = new String(Base64.getDecoder().decode(token), StandardCharsets.UTF_8);
String[] parts = StringUtils.split(tokenDecoded, ' ');
if (parts == null || parts.length < 3) {
return false;
@@ -114,14 +121,14 @@
if (token == null) {
return null;
}
- String tokenDecoded = new String(Base64.decode(token));
+ String tokenDecoded = new String(Base64.getDecoder().decode(token), StandardCharsets.UTF_8);
String[] parts = StringUtils.split(tokenDecoded, ' ');
if (parts == null || parts.length < 3) {
return null;
}
String user = parts[1];
return user;
- } catch (IOException e) {
+ } catch (Exception e) {
LOG.error("Error decoding Base64 token", e);
}
return null;
@@ -129,14 +136,14 @@
public Date extractDateCreationFromToken(String token) {
try {
- String tokenDecoded = new String(Base64.decode(token));
+ String tokenDecoded = new String(Base64.getDecoder().decode(token), StandardCharsets.UTF_8);
String[] parts = StringUtils.split(tokenDecoded, ' ');
if (parts == null || parts.length < 3) {
return null;
}
Date date = Utils.toDateFromIso(parts[2]);
return date;
- } catch (IOException e) {
+ } catch (Exception e) {
LOG.error("Error decoding Base64 token", e);
}
return null;
@@ -148,7 +155,7 @@
// OTk3ODRiMzY5NzQ5MWI5NmYyZGQyODRiYjY2ZTU2YzdmMTZjYzM3YTY3N2ExM2M3ODI2MjU5ZTMzOTIyYjUzNSBfY2xpZW50IDE5NzAtMDEtMDFUMDA6NTk6NTkuOTk5KzAxMDA=
String t = new TokenHelper().generateToken("_client", new Date(-1));
System.out.println("client token: " + t);
- System.out.println("client token: " + new String(Base64.decode(t)));
+ System.out.println("client token: " + new String(Base64.getDecoder().decode(t), StandardCharsets.UTF_8));
System.out.println("is valid client token: " + new TokenHelper().isTokenValid(t));
}
diff --git a/securis/src/main/resources/db/create_db.sql b/securis/src/main/resources/db/create_db.sql
deleted file mode 100644
index 00aa749..0000000
--- a/securis/src/main/resources/db/create_db.sql
+++ /dev/null
@@ -1,5 +0,0 @@
-create database securis CHARACTER SET utf8 COLLATE utf8_bin;
-create user securis@localhost identified by 'securis';
-grant all on securis.* to securis@localhost;
-#Update passwords
-flush privileges;
\ No newline at end of file
diff --git a/securis/src/main/resources/db/initial_data.sql b/securis/src/main/resources/db/initial_data.sql
deleted file mode 100644
index 46ca982..0000000
--- a/securis/src/main/resources/db/initial_data.sql
+++ /dev/null
@@ -1,5 +0,0 @@
-delete from user;
-
-#Password: securis
-insert into user (username, password, roles, first_name, last_name, creation_timestamp) values ('admin', '64f170fd736a2d4658fa87abde12043009d2554636c397032d57d71aea8556e9', 2, 'Administrator', null, now());
-insert into user (username, password, roles, first_name, last_name, creation_timestamp) values ('_client', '64f170fd736a2d4658fa87abde12043009d2554636c397032d57d71aea8556e9', 128, 'SeCuris client user', null, now());
\ No newline at end of file
diff --git a/securis/src/main/resources/db/schema.sql b/securis/src/main/resources/db/schema.sql
deleted file mode 100644
index 926365f..0000000
--- a/securis/src/main/resources/db/schema.sql
+++ /dev/null
@@ -1,155 +0,0 @@
-
-drop table IF EXISTS settings;
-CREATE TABLE IF NOT EXISTS settings (
- `key` VARCHAR(100) NOT NULL ,
- value VARCHAR(2000) NULL ,
- modification_timestamp TIMESTAMP NOT NULL default now(),
- PRIMARY KEY (``key``) );
-
-drop table IF EXISTS user;
-CREATE TABLE IF NOT EXISTS user (
- username VARCHAR(45) NOT NULL ,
- password VARCHAR(256) NULL ,
- roles INT NOT NULL default 0,
- first_name VARCHAR(100) NULL ,
- last_name VARCHAR(100) NULL ,
- last_login TIMESTAMP NULL ,
- lang VARCHAR(10) NULL ,
- email VARCHAR(150) NULL ,
- creation_timestamp TIMESTAMP NOT NULL default now(),
- modification_timestamp TIMESTAMP NULL ,
- PRIMARY KEY (username));
-
-drop table IF EXISTS application;
-CREATE TABLE IF NOT EXISTS application (
- id INT NOT NULL auto_increment,
- code VARCHAR(4) NOT NULL ,
- name VARCHAR(45) NOT NULL ,
- license_filename VARCHAR(100) NOT NULL ,
- description VARCHAR(500) NULL ,
- creation_timestamp TIMESTAMP NOT NULL default now(),
- PRIMARY KEY (id));
-
-drop table IF EXISTS application_metadata;
-CREATE TABLE IF NOT EXISTS application_metadata (
- application_id INT NOT NULL ,
- `key` VARCHAR(100) NOT NULL ,
- value VARCHAR(512) NULL ,
- mandatory BOOLEAN NOT NULL default true,
- creation_timestamp TIMESTAMP NULL default now(),
- PRIMARY KEY (application_id, `key`));
-
-
-drop table IF EXISTS license_type;
-CREATE TABLE IF NOT EXISTS license_type (
- id INT NOT NULL auto_increment,
- code VARCHAR(10) NOT NULL ,
- name VARCHAR(45) NOT NULL ,
- description VARCHAR(100) NULL ,
- application_id INT NULL ,
- creation_timestamp TIMESTAMP NOT NULL default now(),
- PRIMARY KEY (id));
-
-drop table IF EXISTS licensetype_metadata;
-CREATE TABLE IF NOT EXISTS licensetype_metadata (
- license_type_id INT NOT NULL ,
- `key` VARCHAR(100) NOT NULL ,
- value VARCHAR(512) NULL ,
- mandatory BOOLEAN NOT NULL default true,
- PRIMARY KEY (license_type_id, `key`));
-
-drop table IF EXISTS organization;
-CREATE TABLE IF NOT EXISTS organization (
- id INT NOT NULL auto_increment,
- code VARCHAR(10) NOT NULL ,
- name VARCHAR(45) NOT NULL ,
- description VARCHAR(100) NULL ,
- org_parent_id INT NULL ,
- creation_timestamp TIMESTAMP NOT NULL default now(),
- PRIMARY KEY (id));
-
-drop table IF EXISTS user_organization;
-CREATE TABLE IF NOT EXISTS user_organization (
- username VARCHAR(45) NOT NULL,
- organization_id INT NOT NULL,
- PRIMARY KEY (username, organization_id));
-
-drop table IF EXISTS user_application;
-CREATE TABLE IF NOT EXISTS user_application (
- username VARCHAR(45) NOT NULL,
- application_id INT NOT NULL,
- PRIMARY KEY (username, application_id));
-
-
-drop table IF EXISTS pack;
-CREATE TABLE IF NOT EXISTS pack (
- id INT NOT NULL auto_increment,
- code VARCHAR(50) NOT NULL ,
- num_licenses INT NOT NULL ,
- init_valid_date DATE NOT NULL,
- end_valid_date DATE NOT NULL,
- status VARCHAR(2) NOT NULL default 'CR',
- comments VARCHAR(1024) NULL ,
- license_type_id INT NOT NULL,
- organization_id INT NOT NULL,
- license_preactivation BOOLEAN NOT NULL DEFAULT true,
- preactivation_valid_period INT NOT NULL DEFAULT 7,
- renew_valid_period INT NOT NULL DEFAULT 30,
- created_by varchar(45) NULL ,
- creation_timestamp TIMESTAMP NOT NULL default now(),
- frozen BOOLEAN NOT NULL default false,
- PRIMARY KEY (id));
-
-drop table IF EXISTS pack_metadata;
-CREATE TABLE IF NOT EXISTS pack_metadata (
- pack_id INT NOT NULL ,
- `key` VARCHAR(100) NOT NULL ,
- value VARCHAR(512) NULL ,
- readonly BOOlEAN NOT NULL default false,
- mandatory BOOLEAN NOT NULL default true,
- PRIMARY KEY (pack_id, `key`));
-
-
-drop table IF EXISTS license;
-CREATE TABLE IF NOT EXISTS license (
- id INT NOT NULL auto_increment,
- code VARCHAR(100) NOT NULL ,
- activation_code VARCHAR(100) NULL ,
- code_suffix INT NULL ,
- request_data VARCHAR(1024) NULL ,
- request_data_hash VARCHAR(64) NULL ,
- license_data VARCHAR(2048) NULL ,
- pack_id INT NOT NULL,
- full_name VARCHAR(150) NULL,
- email VARCHAR(100) NULL,
- comments VARCHAR(1024) NULL ,
- creation_timestamp TIMESTAMP NOT NULL default now(),
- modification_timestamp TIMESTAMP NULL ,
- last_access_timestamp TIMESTAMP NULL ,
- expiration_date TIMESTAMP NULL ,
- cancelled_by varchar(45) NULL ,
- created_by varchar(45) NULL ,
- status VARCHAR(2) NOT NULL default 'CR',
- metadata_obsolete BOOLEAN NOT NULL default false,
- PRIMARY KEY (id),
- index(request_data_hash, pack_id));
-
-drop table IF EXISTS license_history;
-CREATE TABLE IF NOT EXISTS license_history (
- id INT NOT NULL auto_increment,
- license_id INT NOT NULL,
- username VARCHAR(45) NOT NULL,
- creation_timestamp TIMESTAMP NOT NULL default now(),
- action VARCHAR(40) ,
- comments VARCHAR(512) ,
- PRIMARY KEY (id));
-
-
-drop table IF EXISTS blocked_request;
-CREATE TABLE IF NOT EXISTS blocked_request (
- hash VARCHAR(64) NOT NULL ,
- request_data VARCHAR(1024) NULL ,
- blocked_by varchar(45) NULL ,
- creation_timestamp TIMESTAMP NOT NULL default now(),
- PRIMARY KEY (hash));
-
\ No newline at end of file
diff --git a/securis/src/main/webapp/.vscode/settings.json b/securis/src/main/webapp/.vscode/settings.json
index e7c0a2c..1627953 100644
--- a/securis/src/main/webapp/.vscode/settings.json
+++ b/securis/src/main/webapp/.vscode/settings.json
@@ -1,4 +1,3 @@
-// Place your settings in this file to overwrite default and user settings.
{
"typescript.tsdk": "./node_modules/typescript/lib",
"files.exclude": {
diff --git a/securis/src/main/webapp/META-INF/MANIFEST.MF b/securis/src/main/webapp/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..5e94951
--- /dev/null
+++ b/securis/src/main/webapp/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
diff --git a/securis/src/main/webapp/WEB-INF/web.xml b/securis/src/main/webapp/WEB-INF/web.xml
index 9e90a78..4f34c69 100644
--- a/securis/src/main/webapp/WEB-INF/web.xml
+++ b/securis/src/main/webapp/WEB-INF/web.xml
@@ -66,7 +66,7 @@
<filter>
<filter-name>Resteasy</filter-name>
<filter-class>
- org.jboss.resteasy.plugins.server.servlet.FilterDispatcher
+ org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
</filter-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
diff --git a/securis/src/main/webapp/src/lang/messages_es.json b/securis/src/main/webapp/src/lang/messages_es.json
index 413715e..6b645c5 100644
--- a/securis/src/main/webapp/src/lang/messages_es.json
+++ b/securis/src/main/webapp/src/lang/messages_es.json
@@ -1,4 +1,65 @@
{
-"": "",
-"": ""
+ "field.code": "Code",
+ "field.num_licenses": "Num. licenses",
+ "field.num_available": "Available licenses",
+ "field.pack": "Pack",
+ "field.id": "ID",
+ "field.init_valid_date": "Init valid date",
+ "field.end_valid_date": "End valid date",
+ "field.license_preactivation": "License preactivation",
+ "field.license_type_id": "License type",
+ "field.organization_id": "Organization",
+ "field.application_id": "Application",
+ "field.licensetype_code": "License type",
+ "field.organization_name": "Organization",
+ "field.preactivation_valid_period": "Preactivation valid period",
+ "field.renew_valid_period": "Renew valid period",
+ "field.application_name": "Application name",
+ "field.activation_code": "Activation code",
+ "field.status": "Status",
+ "field.metadata": "Metadata",
+ "field.key": "Parameter",
+ "field.value": "Value",
+ "field.username": "Username",
+ "field.password": "Password",
+ "field.first_name": "Firstname",
+ "field.last_name": "Lastname",
+ "field.created_by": "Created by",
+ "field.creation_date": "Creation date",
+ "field.expiration_date": "Expiration date",
+ "field.request_data": "Request data",
+ "field.full_name": "Fullname",
+ "field.email": "Email",
+ "field.lastLogin": "Last login",
+ "field.creation_timestamp": "Creation timestamp",
+ "field.comments": "Comments",
+ "field.mandatory": "Required",
+ "field.org_parent_id": "Parent organization",
+ "field.name": "Name",
+ "field.frozen": "Frozen",
+ "field.license_filename": "License filename",
+ "field.description": "Description",
+ "pack.status.CR": "Created",
+ "pack.status.AC": "Active",
+ "pack.status.OH": "On Hold",
+ "pack.status.EX": "Expired",
+ "pack.status.CA": "Cancelled",
+ "license.status.CR": "Created",
+ "license.status.AC": "Active",
+ "license.status.PA": "Pre-active",
+ "license.status.RE": "Requested",
+ "license.status.EX": "Expired",
+ "license.status.BL": "Blocked",
+ "license.status.CA": "Cancelled",
+ "menu.packs": "Packs",
+ "menu.packs.description": "Packs to manage licenses",
+ "menu.applications": "Applications",
+ "menu.applications.description": "Applications",
+ "menu.license_types": "License types",
+ "menu.license_types.description": "License types",
+ "menu.organizations": "Organizations",
+ "menu.organizations.description": "Organizations",
+ "menu.users": "Users",
+ "menu.users.description": "Users",
+ "": ""
}
\ No newline at end of file
diff --git a/securis/src/main/webapp/src/lang/messages_fr.json b/securis/src/main/webapp/src/lang/messages_fr.json
index 413715e..6b645c5 100644
--- a/securis/src/main/webapp/src/lang/messages_fr.json
+++ b/securis/src/main/webapp/src/lang/messages_fr.json
@@ -1,4 +1,65 @@
{
-"": "",
-"": ""
+ "field.code": "Code",
+ "field.num_licenses": "Num. licenses",
+ "field.num_available": "Available licenses",
+ "field.pack": "Pack",
+ "field.id": "ID",
+ "field.init_valid_date": "Init valid date",
+ "field.end_valid_date": "End valid date",
+ "field.license_preactivation": "License preactivation",
+ "field.license_type_id": "License type",
+ "field.organization_id": "Organization",
+ "field.application_id": "Application",
+ "field.licensetype_code": "License type",
+ "field.organization_name": "Organization",
+ "field.preactivation_valid_period": "Preactivation valid period",
+ "field.renew_valid_period": "Renew valid period",
+ "field.application_name": "Application name",
+ "field.activation_code": "Activation code",
+ "field.status": "Status",
+ "field.metadata": "Metadata",
+ "field.key": "Parameter",
+ "field.value": "Value",
+ "field.username": "Username",
+ "field.password": "Password",
+ "field.first_name": "Firstname",
+ "field.last_name": "Lastname",
+ "field.created_by": "Created by",
+ "field.creation_date": "Creation date",
+ "field.expiration_date": "Expiration date",
+ "field.request_data": "Request data",
+ "field.full_name": "Fullname",
+ "field.email": "Email",
+ "field.lastLogin": "Last login",
+ "field.creation_timestamp": "Creation timestamp",
+ "field.comments": "Comments",
+ "field.mandatory": "Required",
+ "field.org_parent_id": "Parent organization",
+ "field.name": "Name",
+ "field.frozen": "Frozen",
+ "field.license_filename": "License filename",
+ "field.description": "Description",
+ "pack.status.CR": "Created",
+ "pack.status.AC": "Active",
+ "pack.status.OH": "On Hold",
+ "pack.status.EX": "Expired",
+ "pack.status.CA": "Cancelled",
+ "license.status.CR": "Created",
+ "license.status.AC": "Active",
+ "license.status.PA": "Pre-active",
+ "license.status.RE": "Requested",
+ "license.status.EX": "Expired",
+ "license.status.BL": "Blocked",
+ "license.status.CA": "Cancelled",
+ "menu.packs": "Packs",
+ "menu.packs.description": "Packs to manage licenses",
+ "menu.applications": "Applications",
+ "menu.applications.description": "Applications",
+ "menu.license_types": "License types",
+ "menu.license_types.description": "License types",
+ "menu.organizations": "Organizations",
+ "menu.organizations.description": "Organizations",
+ "menu.users": "Users",
+ "menu.users.description": "Users",
+ "": ""
}
\ No newline at end of file
--
Gitblit v1.3.2