diff --git a/deploy/docker/Dockerfile b/deploy/docker/Dockerfile index 5ecbbd579d..1fe536b7b1 100644 --- a/deploy/docker/Dockerfile +++ b/deploy/docker/Dockerfile @@ -1,7 +1,7 @@ ## ## Build Lowcoder api-service application ## -FROM maven:3.9-eclipse-temurin-17 AS build-api-service +FROM maven:3-eclipse-temurin-21 AS build-api-service # Build lowcoder-api COPY ./server/api-service /lowcoder-server @@ -26,7 +26,7 @@ RUN chmod +x /lowcoder/api-service/*.sh ## To create a separate image out of it, build it with: ## DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t lowcoderorg/lowcoder-ce-api-service --target lowcoder-ce-api-service . ## -FROM eclipse-temurin:17-jammy AS lowcoder-ce-api-service +FROM eclipse-temurin:21-jammy AS lowcoder-ce-api-service LABEL maintainer="lowcoder" RUN apt-get update && apt-get install -y --no-install-recommends gosu \ @@ -58,7 +58,7 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install --no-instal # Add nodejs repo and keys RUN mkdir -p /etc/apt/keyrings \ && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ - && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_23.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list # Download nodejs and install yarn RUN apt-get update \ @@ -90,7 +90,7 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install --no-instal # Add nodejs repo and keys RUN mkdir -p /etc/apt/keyrings \ && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ - && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_23.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list # Download nodejs and install yarn RUN apt-get update \ @@ -110,7 +110,7 @@ CMD [ "/bin/sh", "/lowcoder/node-service/entrypoint.sh" ] ## ## Build lowcoder client application ## -FROM node:20.2-slim AS build-client +FROM node:23.10-slim AS build-client # curl is required for yarn build to succeed, because it calls it while building client RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates @@ -147,7 +147,7 @@ RUN yarn build ## To create a separate image out of it, build it with: ## DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t lowcoderorg/lowcoder-ce-frontend --target lowcoder-ce-frontend . ## -FROM nginx:1.27.1 AS lowcoder-ce-frontend +FROM nginx:1.27.4 AS lowcoder-ce-frontend LABEL maintainer="lowcoder" # Change default nginx user into lowcoder user and remove default nginx config @@ -199,7 +199,7 @@ RUN apt-get update \ # Add required apt repositories and signing keys RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource-keyring.gpg \ - && echo "deb [signed-by=/usr/share/keyrings/nodesource-keyring.gpg] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \ + && echo "deb [signed-by=/usr/share/keyrings/nodesource-keyring.gpg] https://deb.nodesource.com/node_23.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \ && curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg \ && echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb `lsb_release -cs` main" | tee /etc/apt/sources.list.d/redis.list \ && curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | gpg --dearmor -o /usr/share/keyrings/mongodb-archive-keyring.gpg \ @@ -210,13 +210,13 @@ RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg - # Install required packages RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends -y \ - nginx=1.27.1-1~jammy \ + nginx=1.27.4-1~jammy \ mongodb-org \ redis \ supervisor \ gosu \ nodejs \ - openjdk-17-jdk-headless \ + openjdk-21-jdk-headless \ && npm install -g yarn \ && rm -rf /var/cache/apt/lists /var/lib/apt/lists/* /var/log/dpkg.log \ && apt-get clean \ @@ -224,8 +224,8 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y install --no-ins # Use configuration setup from official nginx image RUN rm -rf /etc/nginx/nginx.conf -COPY --from=nginx:1.27.1 /docker-entrypoint.d /docker-entrypoint.d -COPY --from=nginx:1.27.1 /docker-entrypoint.sh /docker-entrypoint.sh +COPY --from=nginx:1.27.4 /docker-entrypoint.d /docker-entrypoint.d +COPY --from=nginx:1.27.4 /docker-entrypoint.sh /docker-entrypoint.sh # Add lowcoder user RUN usermod --login lowcoder --uid 9001 nginx \ diff --git a/server/api-service/lowcoder-dependencies/pom.xml b/server/api-service/lowcoder-dependencies/pom.xml index 0787bcfcf4..6a69dba570 100644 --- a/server/api-service/lowcoder-dependencies/pom.xml +++ b/server/api-service/lowcoder-dependencies/pom.xml @@ -18,7 +18,7 @@ org.springframework.boot spring-boot-dependencies - 3.2.4 + 3.4.5 pom import @@ -38,24 +38,24 @@ org.json json - 20240303 + 20250107 org.projectlombok lombok - 1.18.32 + 1.18.38 org.apache.commons commons-text - 1.11.0 + 1.13.1 commons-io commons-io - 2.16.0 + 2.19.0 org.glassfish @@ -76,18 +76,18 @@ jakarta.persistence jakarta.persistence-api - 3.1.0 + 3.2.0 org.apache.commons commons-collections4 - 4.4 + 4.5.0 com.google.guava guava - 33.1.0-jre + 33.4.8-jre @@ -109,7 +109,7 @@ com.github.ben-manes.caffeine caffeine - 3.1.8 + 3.2.0 es.moki.ratelimitj @@ -119,7 +119,7 @@ com.github.spullara.mustache.java compiler - 0.9.11 + 0.9.14 @@ -131,7 +131,7 @@ io.projectreactor reactor-core - 3.6.4 + 3.7.4 @@ -246,7 +246,7 @@ org.springdoc springdoc-openapi-starter-webflux-ui - 2.5.0 + 2.8.6 diff --git a/server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/localcache/ReloadableCache.java b/server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/localcache/ReloadableCache.java index 59b568d06c..edb685f798 100644 --- a/server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/localcache/ReloadableCache.java +++ b/server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/localcache/ReloadableCache.java @@ -5,9 +5,9 @@ import jakarta.annotation.Nonnull; import lombok.extern.slf4j.Slf4j; import org.lowcoder.sdk.destructor.DestructorUtil; +import org.springframework.lang.CheckReturnValue; import reactor.core.publisher.Mono; -import javax.annotation.CheckReturnValue; import java.time.Duration; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; diff --git a/server/api-service/lowcoder-plugins/clickHousePlugin/pom.xml b/server/api-service/lowcoder-plugins/clickHousePlugin/pom.xml index 0f4b417d37..e93ce6d9ee 100644 --- a/server/api-service/lowcoder-plugins/clickHousePlugin/pom.xml +++ b/server/api-service/lowcoder-plugins/clickHousePlugin/pom.xml @@ -15,7 +15,8 @@ UTF-8 - 17 + UTF-8 + 21 ${java.version} ${java.version} clickHouse-plugin @@ -39,18 +40,9 @@ - com.clickhouse clickhouse-jdbc - 0.3.2-patch11 - - all - - - * - * - - + 0.8.4 @@ -58,7 +50,11 @@ org.testcontainers testcontainers - 1.18.0 + test + + + org.testcontainers + clickhouse test @@ -69,30 +65,6 @@ org.apache.maven.plugins maven-shade-plugin - 3.2.4 - - - shade-plugin-jar - package - - shade - - - false - - - - ${plugin.id} - ${plugin.class} - ${plugin.version} - ${plugin.provider} - - - - - - maven-dependency-plugin diff --git a/server/api-service/lowcoder-plugins/elasticSearchPlugin/pom.xml b/server/api-service/lowcoder-plugins/elasticSearchPlugin/pom.xml index d420375260..364204383d 100644 --- a/server/api-service/lowcoder-plugins/elasticSearchPlugin/pom.xml +++ b/server/api-service/lowcoder-plugins/elasticSearchPlugin/pom.xml @@ -16,7 +16,8 @@ UTF-8 - 17 + UTF-8 + 21 ${java.version} ${java.version} es-plugin @@ -31,21 +32,19 @@ org.elasticsearch.client elasticsearch-rest-client - 8.2.3 + 9.0.0 org.testcontainers testcontainers - 1.18.0 test org.testcontainers elasticsearch - 1.16.3 test @@ -63,29 +62,6 @@ org.apache.maven.plugins maven-shade-plugin - 3.2.4 - - - shade-plugin-jar - package - - shade - - - false - - - - ${plugin.id} - ${plugin.class} - ${plugin.version} - ${plugin.provider} - - - - - - maven-dependency-plugin diff --git a/server/api-service/lowcoder-plugins/googleSheetsPlugin/pom.xml b/server/api-service/lowcoder-plugins/googleSheetsPlugin/pom.xml index e50a0dbe63..0a153690d9 100644 --- a/server/api-service/lowcoder-plugins/googleSheetsPlugin/pom.xml +++ b/server/api-service/lowcoder-plugins/googleSheetsPlugin/pom.xml @@ -16,7 +16,8 @@ UTF-8 - 17 + UTF-8 + 21 ${java.version} ${java.version} googleSheets-plugin @@ -31,22 +32,22 @@ com.google.api-client google-api-client - 1.31.2 + 2.7.2 com.google.oauth-client google-oauth-client-jetty - 1.30.6 + 1.39.0 com.google.auth google-auth-library-oauth2-http - 1.3.0 + 1.33.1 com.google.apis google-api-services-sheets - v4-rev20230526-2.0.0 + v4-rev612-1.25.0 @@ -54,20 +55,19 @@ org.assertj assertj-core - 3.13.2 test org.springframework.boot spring-boot-starter-webflux - 3.0.6 + 3.4.5 test com.google.guava guava - 31.1-jre + 33.4.8-jre compile @@ -79,30 +79,6 @@ org.apache.maven.plugins maven-shade-plugin - 3.2.4 - - - shade-plugin-jar - package - - shade - - - false - - - - ${plugin.id} - ${plugin.class} - ${plugin.version} - ${plugin.provider} - - - - - - maven-dependency-plugin diff --git a/server/api-service/lowcoder-plugins/graphqlPlugin/pom.xml b/server/api-service/lowcoder-plugins/graphqlPlugin/pom.xml index cc0aa2d7df..777b93c718 100644 --- a/server/api-service/lowcoder-plugins/graphqlPlugin/pom.xml +++ b/server/api-service/lowcoder-plugins/graphqlPlugin/pom.xml @@ -16,7 +16,8 @@ UTF-8 - 17 + UTF-8 + 21 ${java.version} ${java.version} graphql-plugin @@ -24,6 +25,7 @@ ${revision} service@lowcoder.org + 0.12.6 @@ -67,23 +69,22 @@ io.jsonwebtoken jjwt-api - 0.11.2 + ${jjwt.version} io.jsonwebtoken jjwt-impl - 0.11.2 + ${jjwt.version} io.jsonwebtoken jjwt-jackson - 0.11.2 + ${jjwt.version} org.assertj assertj-core - 3.13.2 test @@ -106,13 +107,13 @@ org.springframework.boot spring-boot-starter-webflux - 3.0.6 + 3.4.5 test org.springframework spring-test - 6.0.10 + 6.2.6 test @@ -133,30 +134,6 @@ org.apache.maven.plugins maven-shade-plugin - 3.2.4 - - - shade-plugin-jar - package - - shade - - - false - - - - ${plugin.id} - ${plugin.class} - ${plugin.version} - ${plugin.provider} - - - - - - org.apache.maven.plugins diff --git a/server/api-service/lowcoder-plugins/lowcoderApiPlugin/pom.xml b/server/api-service/lowcoder-plugins/lowcoderApiPlugin/pom.xml index 7a9e6f4b96..40633bfd96 100644 --- a/server/api-service/lowcoder-plugins/lowcoderApiPlugin/pom.xml +++ b/server/api-service/lowcoder-plugins/lowcoderApiPlugin/pom.xml @@ -14,7 +14,8 @@ UTF-8 - 17 + UTF-8 + 21 ${java.version} ${java.version} lowcoder-api-plugin @@ -29,29 +30,6 @@ org.apache.maven.plugins maven-shade-plugin - 3.2.4 - - - shade-plugin-jar - package - - shade - - - false - - - - ${plugin.id} - ${plugin.class} - ${plugin.version} - ${plugin.provider} - - - - - - maven-antrun-plugin diff --git a/server/api-service/lowcoder-plugins/mongoPlugin/pom.xml b/server/api-service/lowcoder-plugins/mongoPlugin/pom.xml index 4361d9f387..58da0c09bb 100644 --- a/server/api-service/lowcoder-plugins/mongoPlugin/pom.xml +++ b/server/api-service/lowcoder-plugins/mongoPlugin/pom.xml @@ -16,7 +16,8 @@ UTF-8 - 17 + UTF-8 + 21 ${java.version} ${java.version} mongo-plugin @@ -32,7 +33,6 @@ org.testcontainers testcontainers - 1.18.0 test @@ -53,29 +53,6 @@ org.apache.maven.plugins maven-shade-plugin - 3.2.4 - - - shade-plugin-jar - package - - shade - - - false - - - - ${plugin.id} - ${plugin.class} - ${plugin.version} - ${plugin.provider} - - - - - - maven-antrun-plugin diff --git a/server/api-service/lowcoder-plugins/mssqlPlugin/pom.xml b/server/api-service/lowcoder-plugins/mssqlPlugin/pom.xml index 790a695bdb..e6862bdb27 100644 --- a/server/api-service/lowcoder-plugins/mssqlPlugin/pom.xml +++ b/server/api-service/lowcoder-plugins/mssqlPlugin/pom.xml @@ -16,7 +16,8 @@ UTF-8 - 17 + UTF-8 + 21 ${java.version} ${java.version} mssql-plugin @@ -43,13 +44,11 @@ org.testcontainers testcontainers - 1.18.0 test org.testcontainers mssqlserver - 1.16.3 test @@ -65,39 +64,6 @@ org.apache.maven.plugins maven-shade-plugin - 3.2.4 - - - shade-plugin-jar - package - - shade - - - false - - - - ${plugin.id} - ${plugin.class} - ${plugin.version} - ${plugin.provider} - - - - - - *:* - - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - - - - maven-dependency-plugin diff --git a/server/api-service/lowcoder-plugins/mysqlPlugin/pom.xml b/server/api-service/lowcoder-plugins/mysqlPlugin/pom.xml index 201618644d..bb846b81fc 100644 --- a/server/api-service/lowcoder-plugins/mysqlPlugin/pom.xml +++ b/server/api-service/lowcoder-plugins/mysqlPlugin/pom.xml @@ -16,7 +16,8 @@ UTF-8 - 17 + UTF-8 + 21 ${java.version} ${java.version} mysql-plugin @@ -29,11 +30,10 @@ - mysql - mysql-connector-java - 8.0.30 - - + com.mysql + mysql-connector-j + 9.2.0 + org.lowcoder sqlBasedPlugin compile @@ -42,14 +42,12 @@ org.testcontainers testcontainers - 1.18.0 test org.testcontainers mysql - 1.16.3 test @@ -59,29 +57,6 @@ org.apache.maven.plugins maven-shade-plugin - 3.2.4 - - - shade-plugin-jar - package - - shade - - - false - - - - ${plugin.id} - ${plugin.class} - ${plugin.version} - ${plugin.provider} - - - - - - maven-dependency-plugin diff --git a/server/api-service/lowcoder-plugins/oraclePlugin/pom.xml b/server/api-service/lowcoder-plugins/oraclePlugin/pom.xml index a109e8a7ae..e1571ebfbc 100644 --- a/server/api-service/lowcoder-plugins/oraclePlugin/pom.xml +++ b/server/api-service/lowcoder-plugins/oraclePlugin/pom.xml @@ -16,9 +16,9 @@ UTF-8 UTF-8 - - 17 - 17 + 21 + ${java.version} + ${java.version} oracle-plugin org.lowcoder.plugin.oracle.OraclePlugin @@ -37,7 +37,6 @@ org.testcontainers oracle-xe - 1.17.3 test @@ -57,30 +56,6 @@ org.apache.maven.plugins maven-shade-plugin - 3.2.4 - - - shade-plugin-jar - package - - shade - - - false - - - - ${plugin.id} - ${plugin.class} - ${plugin.version} - ${plugin.provider} - - - - - - maven-dependency-plugin diff --git a/server/api-service/lowcoder-plugins/pom.xml b/server/api-service/lowcoder-plugins/pom.xml index fc506109c9..e57df26c66 100644 --- a/server/api-service/lowcoder-plugins/pom.xml +++ b/server/api-service/lowcoder-plugins/pom.xml @@ -20,6 +20,10 @@ + + 1.21.0 + + org.pf4j @@ -162,6 +166,50 @@ snowflakePlugin ${revision} + + + + org.assertj + assertj-core + 3.27.3 + + + org.testcontainers + testcontainers + ${testcontainers.version} + + + org.testcontainers + clickhouse + ${testcontainers.version} + + + org.testcontainers + elasticsearch + ${testcontainers.version} + + + org.testcontainers + mssqlserver + ${testcontainers.version} + + + org.testcontainers + mysqlserver + ${testcontainers.version} + + + org.testcontainers + oracle-xe + ${testcontainers.version} + + + org.testcontainers + postgresql + ${testcontainers.version} + + + @@ -177,13 +225,14 @@ ${java.version} -parameters + -proc:full org.apache.maven.plugins maven-dependency-plugin - 3.6.1 + 3.8.1 org.apache.maven.plugins @@ -204,6 +253,35 @@ + + org.apache.maven.plugins + maven-shade-plugin + 3.6.0 + + + shade-plugin-jar + package + + shade + + + false + + + + ${plugin.id} + ${plugin.class} + ${plugin.version} + ${plugin.provider} + + + + + + + + diff --git a/server/api-service/lowcoder-plugins/postgresPlugin/pom.xml b/server/api-service/lowcoder-plugins/postgresPlugin/pom.xml index 4d6c00086d..e07cee33f8 100644 --- a/server/api-service/lowcoder-plugins/postgresPlugin/pom.xml +++ b/server/api-service/lowcoder-plugins/postgresPlugin/pom.xml @@ -17,7 +17,8 @@ UTF-8 - 17 + UTF-8 + 21 ${java.version} ${java.version} postgres-plugin @@ -32,7 +33,7 @@ org.postgresql postgresql - 42.3.8 + 42.3.9 @@ -45,13 +46,11 @@ org.testcontainers testcontainers - 1.18.0 test org.testcontainers postgresql - 1.16.3 test @@ -61,29 +60,6 @@ org.apache.maven.plugins maven-shade-plugin - 3.2.4 - - - shade-plugin-jar - package - - shade - - - false - - - - ${plugin.id} - ${plugin.class} - ${plugin.version} - ${plugin.provider} - - - - - - maven-dependency-plugin diff --git a/server/api-service/lowcoder-plugins/redisPlugin/pom.xml b/server/api-service/lowcoder-plugins/redisPlugin/pom.xml index f65a1d22d5..a8bb049b91 100644 --- a/server/api-service/lowcoder-plugins/redisPlugin/pom.xml +++ b/server/api-service/lowcoder-plugins/redisPlugin/pom.xml @@ -16,7 +16,8 @@ UTF-8 - 17 + UTF-8 + 21 ${java.version} ${java.version} redis-plugin @@ -45,10 +46,14 @@ org.testcontainers testcontainers - 1.18.0 test - + + com.redis + testcontainers-redis + 2.2.4 + test + @@ -56,30 +61,6 @@ org.apache.maven.plugins maven-shade-plugin - 3.2.4 - - - shade-plugin-jar - package - - shade - - - false - - - - ${plugin.id} - ${plugin.class} - ${plugin.version} - ${plugin.provider} - - - - - - maven-dependency-plugin diff --git a/server/api-service/lowcoder-plugins/restApiPlugin/pom.xml b/server/api-service/lowcoder-plugins/restApiPlugin/pom.xml index 912902ad37..7b56daf191 100644 --- a/server/api-service/lowcoder-plugins/restApiPlugin/pom.xml +++ b/server/api-service/lowcoder-plugins/restApiPlugin/pom.xml @@ -16,7 +16,8 @@ UTF-8 - 17 + UTF-8 + 21 ${java.version} ${java.version} restapi-plugin @@ -70,16 +71,6 @@ 1.5 - - - - - - - - - - org.assertj assertj-core @@ -103,30 +94,6 @@ org.apache.maven.plugins maven-shade-plugin - 3.2.4 - - - shade-plugin-jar - package - - shade - - - false - - - - ${plugin.id} - ${plugin.class} - ${plugin.version} - ${plugin.provider} - - - - - - maven-dependency-plugin diff --git a/server/api-service/lowcoder-plugins/smtpPlugin/pom.xml b/server/api-service/lowcoder-plugins/smtpPlugin/pom.xml index add6d6d9b6..45dbeef157 100644 --- a/server/api-service/lowcoder-plugins/smtpPlugin/pom.xml +++ b/server/api-service/lowcoder-plugins/smtpPlugin/pom.xml @@ -16,7 +16,8 @@ UTF-8 - 17 + UTF-8 + 21 ${java.version} ${java.version} smtp-plugin @@ -46,7 +47,7 @@ io.netty netty-codec-http - 4.1.77.Final + 4.1.108.Final test @@ -56,7 +57,6 @@ org.testcontainers testcontainers - 1.18.0 test @@ -66,30 +66,6 @@ org.apache.maven.plugins maven-shade-plugin - 3.2.4 - - - shade-plugin-jar - package - - shade - - - false - - - - ${plugin.id} - ${plugin.class} - ${plugin.version} - ${plugin.provider} - - - - - - maven-dependency-plugin diff --git a/server/api-service/lowcoder-plugins/snowflakePlugin/pom.xml b/server/api-service/lowcoder-plugins/snowflakePlugin/pom.xml index 9b114063b7..886ecb9725 100644 --- a/server/api-service/lowcoder-plugins/snowflakePlugin/pom.xml +++ b/server/api-service/lowcoder-plugins/snowflakePlugin/pom.xml @@ -13,9 +13,11 @@ snowflakePlugin - 17 - 17 - 17 + UTF-8 + UTF-8 + 21 + ${java.version} + ${java.version} UTF-8 snowflake-plugin @@ -30,7 +32,7 @@ net.snowflake snowflake-jdbc - 3.22.0 + 3.23.1 org.lowcoder @@ -41,7 +43,6 @@ org.testcontainers testcontainers - 1.18.0 test @@ -51,29 +52,6 @@ org.apache.maven.plugins maven-shade-plugin - 3.2.4 - - - shade-plugin-jar - package - - shade - - - false - - - - ${plugin.id} - ${plugin.class} - ${plugin.version} - ${plugin.provider} - - - - - - maven-dependency-plugin diff --git a/server/api-service/lowcoder-plugins/sqlBasedPlugin/pom.xml b/server/api-service/lowcoder-plugins/sqlBasedPlugin/pom.xml index 142aefebb3..14d4c8cf9d 100644 --- a/server/api-service/lowcoder-plugins/sqlBasedPlugin/pom.xml +++ b/server/api-service/lowcoder-plugins/sqlBasedPlugin/pom.xml @@ -13,7 +13,8 @@ UTF-8 - 17 + UTF-8 + 21 ${java.version} ${java.version} diff --git a/server/api-service/lowcoder-sdk/src/main/java/org/lowcoder/sdk/plugin/sqlcommand/GuiSqlCommand.java b/server/api-service/lowcoder-sdk/src/main/java/org/lowcoder/sdk/plugin/sqlcommand/GuiSqlCommand.java index f1690bae13..df0fc907d6 100644 --- a/server/api-service/lowcoder-sdk/src/main/java/org/lowcoder/sdk/plugin/sqlcommand/GuiSqlCommand.java +++ b/server/api-service/lowcoder-sdk/src/main/java/org/lowcoder/sdk/plugin/sqlcommand/GuiSqlCommand.java @@ -37,7 +37,7 @@ public List bindParams() { } static String parseTable(Map commandDetail) { - String table = MapUtils.getString(commandDetail, TABLE_KEY, null); + String table = MapUtils.getString(commandDetail, TABLE_KEY, (String)null); if (StringUtils.isBlank(table)) { throw new PluginException(INVALID_GUI_SETTINGS, "GUI_FIELD_EMPTY"); } diff --git a/server/api-service/lowcoder-sdk/src/main/java/org/lowcoder/sdk/util/MustacheHelper.java b/server/api-service/lowcoder-sdk/src/main/java/org/lowcoder/sdk/util/MustacheHelper.java index 25cc917a3c..0e9a4b8962 100644 --- a/server/api-service/lowcoder-sdk/src/main/java/org/lowcoder/sdk/util/MustacheHelper.java +++ b/server/api-service/lowcoder-sdk/src/main/java/org/lowcoder/sdk/util/MustacheHelper.java @@ -173,7 +173,7 @@ private static List doTokenize(String template) { } - if (currentToken.length() > 0) { + if (!currentToken.isEmpty()) { tokens.add(currentToken.toString()); } @@ -243,7 +243,7 @@ public static List extractMustacheKeysInOrder(String template) { } private static void clearAndPushToken(StringBuilder tokenBuilder, List tokenList) { - if (tokenBuilder.length() > 0) { + if (!tokenBuilder.isEmpty()) { tokenList.add(tokenBuilder.toString()); tokenBuilder.setLength(0); } @@ -537,11 +537,11 @@ private static Range findQuotePair(String query, int startIndex) { start = i; } else { if (query.charAt(i) == quote) { - return Range.between(start, i + 1); + return Range.of(start, i + 1); } } } - return Range.between(-1, -1); + return Range.of(-1, -1); } private static boolean isQuote(String query, int index) { diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/framework/filter/ApiEventFilter.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/framework/filter/ApiEventFilter.java index dc084c1293..ae7f27cc31 100644 --- a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/framework/filter/ApiEventFilter.java +++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/framework/filter/ApiEventFilter.java @@ -10,6 +10,7 @@ import org.lowcoder.plugin.api.event.LowcoderEvent; import org.lowcoder.sdk.constants.Authentication; import org.springframework.context.ApplicationEventPublisher; +import org.springframework.http.HttpHeaders; import org.springframework.http.server.reactive.ServerHttpRequest; import org.springframework.stereotype.Component; import org.springframework.util.MultiValueMap; @@ -38,7 +39,7 @@ public class ApiEventFilter implements WebFilter { public Mono filter(ServerWebExchange exchange, WebFilterChain chain) { return chain.filter(exchange).then( Mono.deferContextual(contextView -> { - if (exchange.getResponse().getStatusCode().is2xxSuccessful()) { + if (exchange.getResponse().getStatusCode() != null && exchange.getResponse().getStatusCode().is2xxSuccessful()) { String token = contextView.get(VISITOR_TOKEN); ((Mono) contextView.get(CURRENT_ORG_MEMBER)) .flatMap(orgMember -> { @@ -54,7 +55,7 @@ public Mono filter(ServerWebExchange exchange, WebFilterChain chain) { } private void emitEvent(ServerHttpRequest request, String token, OrgMember orgMember, ContextView contextView) { - MultiValueMap headers = writableHttpHeaders(request.getHeaders()); + MultiValueMap headers = new HttpHeaders(request.getHeaders()); headers.remove("Cookie"); Optional ipAddressOptional = headers.remove("X-Real-IP").stream().findFirst(); String ipAddress = ipAddressOptional.orElse(""); diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/framework/filter/GlobalContextFilter.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/framework/filter/GlobalContextFilter.java index fe00a00653..36227a794b 100644 --- a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/framework/filter/GlobalContextFilter.java +++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/framework/filter/GlobalContextFilter.java @@ -13,6 +13,7 @@ import org.lowcoder.sdk.util.UriUtils; import org.springframework.context.i18n.LocaleContext; import org.springframework.core.Ordered; +import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; import org.springframework.http.server.reactive.ServerHttpRequest; import org.springframework.stereotype.Component; @@ -33,7 +34,6 @@ import static org.lowcoder.sdk.constants.Authentication.isAnonymousUser; import static org.lowcoder.sdk.constants.GlobalContext.*; import static org.lowcoder.sdk.util.IDUtils.generate; -import static org.springframework.http.HttpHeaders.writableHttpHeaders; @Component @RequiredArgsConstructor @@ -111,7 +111,7 @@ private Map buildContextMap(ServerWebExchange serverWebExchange, contextMap.put(DOMAIN, UriUtils.getRefererDomainFromRequest(serverWebExchange)); //Analytics related fields - MultiValueMap headers = writableHttpHeaders(request.getHeaders()); + MultiValueMap headers = new HttpHeaders(request.getHeaders()); headers.remove("Cookie"); contextMap.put(HEADERS, headers); return contextMap; @@ -120,7 +120,7 @@ private Map buildContextMap(ServerWebExchange serverWebExchange, @SuppressWarnings("ConstantConditions") private String getOrCreateRequestId(final ServerHttpRequest request) { if (!request.getHeaders().containsKey(REQUEST_ID_HEADER)) { - request.mutate().header(REQUEST_ID_HEADER, generate()).build(); + request.getHeaders().add(REQUEST_ID_HEADER, generate()); } return request.getHeaders().get(REQUEST_ID_HEADER).get(0); diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/util/ApiCallEventPublisher.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/util/ApiCallEventPublisher.java index 42e8a7e27f..0879cb11ef 100644 --- a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/util/ApiCallEventPublisher.java +++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/util/ApiCallEventPublisher.java @@ -5,7 +5,6 @@ import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; -import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Pointcut; import org.lowcoder.api.framework.filter.ReactiveRequestContextHolder; import org.lowcoder.api.home.SessionUserService; @@ -13,17 +12,14 @@ import org.lowcoder.infra.event.APICallEvent; import org.lowcoder.plugin.api.event.LowcoderEvent.EventType; import org.lowcoder.sdk.constants.Authentication; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationEventPublisher; +import org.springframework.http.HttpHeaders; import org.springframework.http.server.reactive.ServerHttpRequest; -import org.springframework.stereotype.Component; import org.springframework.util.MultiValueMap; import reactor.core.publisher.Mono; import java.nio.charset.StandardCharsets; -import static org.springframework.http.HttpHeaders.writableHttpHeaders; - @Slf4j //@Aspect @RequiredArgsConstructor @@ -63,7 +59,7 @@ public Object handleAPICallEvent(ProceedingJoinPoint joinPoint) throws Throwable if (orgMember == OrgMember.NOT_EXIST) { return Mono.empty(); } - MultiValueMap headers = writableHttpHeaders(request.getHeaders()); + MultiValueMap headers = new HttpHeaders(request.getHeaders()); headers.remove("Cookie"); String ipAddress = headers.remove("X-Real-IP").stream().findFirst().get(); APICallEvent event = APICallEvent.builder() diff --git a/server/api-service/pom.xml b/server/api-service/pom.xml index 973c5133da..ec86d9febe 100644 --- a/server/api-service/pom.xml +++ b/server/api-service/pom.xml @@ -12,8 +12,8 @@ - 2.6.5 - 17 + 2.6.6 + 21 ${java.version} ${java.version} true @@ -106,6 +106,7 @@ ${java.version} -parameters + -proc:full