Skip to content

Commit 530533d

Browse files
committed
fix: refactor JSON serialization after jackosn upgrade
1 parent 4ed3d6c commit 530533d

File tree

76 files changed

+528
-517
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+528
-517
lines changed

deploy/docker/Dockerfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@ RUN --mount=type=cache,target=/root/.m2 mvn -f pom.xml clean package -DskipTests
1212
RUN mkdir -p /lowcoder/api-service/config /lowcoder/api-service/logs /lowcoder/plugins
1313

1414
# Copy lowcoder server configuration
15-
COPY server/api-service/lowcoder-server/src/main/resources/selfhost/ce/application.yml /lowcoder/api-service/config/
16-
COPY server/api-service/lowcoder-server/src/main/resources/selfhost/ce/application-selfhost.yml /lowcoder/api-service/config/
15+
COPY server/api-service/lowcoder-server/src/main/resources/application.yaml /lowcoder/api-service/config/
1716

1817
# Add bootstrapfile
1918
COPY deploy/docker/api-service/entrypoint.sh /lowcoder/api-service/entrypoint.sh

deploy/docker/api-service/entrypoint.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ exec gosu ${USER_ID}:${GROUP_ID} ${JAVA_HOME}/bin/java \
3434
-Djava.security.egd=file:/dev/./urandom \
3535
-Dhttps.protocols=TLSv1.1,TLSv1.2 \
3636
-Dlog4j2.formatMsgNoLookups=true \
37-
-Dspring.config.location="file:///lowcoder/api-service/config/application.yml,file:///lowcoder/api-service/config/application-selfhost.yml" \
37+
-Dspring.config.location="file:///lowcoder/api-service/config/application.yaml" \
3838
--add-opens java.base/java.nio=ALL-UNNAMED \
3939
-cp "${LOWCODER_CLASSPATH:=.}" \
4040
${JAVA_OPTS} \

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/model/Application.java

+33-31
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@
1212
import java.util.Set;
1313
import java.util.function.Supplier;
1414

15+
import lombok.NoArgsConstructor;
1516
import lombok.Setter;
17+
import lombok.experimental.SuperBuilder;
18+
import lombok.extern.jackson.Jacksonized;
1619
import org.apache.commons.collections4.MapUtils;
1720
import org.apache.commons.lang3.BooleanUtils;
1821
import org.lowcoder.domain.query.model.ApplicationQuery;
@@ -30,14 +33,18 @@
3033
import lombok.Builder;
3134

3235
@Document
36+
@Jacksonized
37+
@SuperBuilder
38+
@NoArgsConstructor
3339
public class Application extends HasIdAndAuditing {
3440

35-
private final String organizationId;
36-
private final String name;
37-
private final Integer applicationType;
38-
private final ApplicationStatus applicationStatus;
41+
private String organizationId;
42+
private String name;
43+
private Integer applicationType;
44+
private ApplicationStatus applicationStatus;
3945

40-
private final Map<String, Object> publishedApplicationDSL;
46+
private Map<String, Object> publishedApplicationDSL;
47+
private Map<String, Object> editingApplicationDSL;
4148

4249
@Setter
4350
private Boolean publicToAll;
@@ -46,7 +53,27 @@ public class Application extends HasIdAndAuditing {
4653
@Setter
4754
private Boolean agencyProfile;
4855

49-
private Map<String, Object> editingApplicationDSL;
56+
public Application(
57+
@JsonProperty("orgId") String organizationId,
58+
@JsonProperty("name") String name,
59+
@JsonProperty("applicationType") Integer applicationType,
60+
@JsonProperty("applicationStatus") ApplicationStatus applicationStatus,
61+
@JsonProperty("publishedApplicationDSL") Map<String, Object> publishedApplicationDSL,
62+
@JsonProperty("editingApplicationDSL") Map<String, Object> editingApplicationDSL,
63+
@JsonProperty("publicToAll") Boolean publicToAll,
64+
@JsonProperty("publicToMarketplace") Boolean publicToMarketplace,
65+
@JsonProperty("agencyProfile") Boolean agencyProfile
66+
) {
67+
this.organizationId = organizationId;
68+
this.name = name;
69+
this.applicationType = applicationType;
70+
this.applicationStatus = applicationStatus;
71+
this.publishedApplicationDSL = publishedApplicationDSL;
72+
this.publicToAll = publicToAll;
73+
this.publicToMarketplace = publicToMarketplace;
74+
this.agencyProfile = agencyProfile;
75+
this.editingApplicationDSL = editingApplicationDSL;
76+
}
5077

5178
@Transient
5279
private final Supplier<Set<ApplicationQuery>> editingQueries =
@@ -73,31 +100,6 @@ public class Application extends HasIdAndAuditing {
73100
return getContainerSizeFromDSL(getLiveApplicationDsl());
74101
});
75102

76-
77-
@Builder
78-
@JsonCreator
79-
public Application(
80-
@JsonProperty("orgId") String organizationId,
81-
@JsonProperty("name") String name,
82-
@JsonProperty("applicationType") Integer applicationType,
83-
@JsonProperty("applicationStatus") ApplicationStatus applicationStatus,
84-
@JsonProperty("publishedApplicationDSL") Map<String, Object> publishedApplicationDSL,
85-
@JsonProperty("editingApplicationDSL") Map<String, Object> editingApplicationDSL,
86-
@JsonProperty("publicToAll") Boolean publicToAll,
87-
@JsonProperty("publicToMarketplace") Boolean publicToMarketplace,
88-
@JsonProperty("agencyProfile") Boolean agencyProfile
89-
) {
90-
this.organizationId = organizationId;
91-
this.name = name;
92-
this.applicationType = applicationType;
93-
this.applicationStatus = applicationStatus;
94-
this.publishedApplicationDSL = publishedApplicationDSL;
95-
this.publicToAll = publicToAll;
96-
this.publicToMarketplace = publicToMarketplace;
97-
this.agencyProfile = agencyProfile;
98-
this.editingApplicationDSL = editingApplicationDSL;
99-
}
100-
101103
public Set<ApplicationQuery> getEditingQueries() {
102104
return editingQueries.get();
103105
}

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/model/ApplicationHistorySnapshot.java

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.util.Map;
44

5+
import lombok.NoArgsConstructor;
56
import org.lowcoder.sdk.models.HasIdAndAuditing;
67
import org.springframework.data.mongodb.core.mapping.Document;
78

@@ -13,6 +14,7 @@
1314
@Document
1415
@Getter
1516
@Setter
17+
@NoArgsConstructor
1618
public class ApplicationHistorySnapshot extends HasIdAndAuditing {
1719

1820
private String applicationId;

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/asset/model/Asset.java

+12-9
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,29 @@
11
package org.lowcoder.domain.asset.model;
22

3+
import lombok.NoArgsConstructor;
4+
import lombok.experimental.SuperBuilder;
5+
import lombok.extern.jackson.Jacksonized;
36
import org.lowcoder.sdk.models.HasIdAndAuditing;
47
import org.springframework.data.mongodb.core.mapping.Document;
58
import org.springframework.http.MediaType;
69

710
import com.fasterxml.jackson.annotation.JsonCreator;
811

912
@Document
13+
@Jacksonized
14+
@SuperBuilder
15+
@NoArgsConstructor
1016
public class Asset extends HasIdAndAuditing {
1117

12-
private final String contentType;
18+
private String contentType;
1319

14-
private final byte[] data;
15-
16-
@JsonCreator
17-
private Asset(String contentType, byte[] data) {
18-
this.contentType = contentType;
19-
this.data = data;
20-
}
20+
private byte[] data;
2121

2222
public static Asset from(MediaType mediaType, byte[] data) {
23-
return new Asset(mediaType == null ? null : mediaType.toString(), data);
23+
return Asset.builder()
24+
.contentType(mediaType == null ? null : mediaType.toString())
25+
.data(data)
26+
.build();
2427
}
2528

2629
public String getContentType() {

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/datasource/model/Datasource.java

+9
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@
1111

1212
import javax.annotation.Nullable;
1313

14+
import com.fasterxml.jackson.annotation.JsonCreator;
15+
import lombok.AllArgsConstructor;
16+
import lombok.NoArgsConstructor;
17+
import lombok.experimental.SuperBuilder;
18+
import lombok.extern.jackson.Jacksonized;
1419
import org.apache.commons.lang3.ObjectUtils;
1520
import org.lowcoder.domain.plugin.DatasourceMetaInfoConstants;
1621
import org.lowcoder.domain.plugin.client.dto.DatasourcePluginDefinition;
@@ -28,9 +33,13 @@
2833

2934
import lombok.Getter;
3035
import lombok.Setter;
36+
import org.springframework.data.mongodb.core.mapping.Document;
3137

3238
@Getter
3339
@Setter
40+
@SuperBuilder
41+
@Jacksonized
42+
@NoArgsConstructor
3443
public class Datasource extends HasIdAndAuditing {
3544

3645
private static final DatasourceStatus DEFAULT_STATUS = DatasourceStatus.NORMAL;

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/datasource/model/DatasourceDO.java

+9
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
import java.util.Map;
44

5+
import com.fasterxml.jackson.annotation.JsonCreator;
6+
import lombok.AllArgsConstructor;
7+
import lombok.NoArgsConstructor;
8+
import lombok.experimental.SuperBuilder;
9+
import lombok.extern.jackson.Jacksonized;
510
import org.lowcoder.sdk.models.HasIdAndAuditing;
611
import org.springframework.data.mongodb.core.mapping.Document;
712

@@ -14,6 +19,10 @@
1419
@Document(collection = "datasource")
1520
@Getter
1621
@Setter
22+
@Jacksonized
23+
@SuperBuilder
24+
@NoArgsConstructor
25+
@AllArgsConstructor(onConstructor_ = { @JsonCreator(mode = JsonCreator.Mode.PROPERTIES)})
1726
public class DatasourceDO extends HasIdAndAuditing {
1827

1928
private String name;

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/datasource/model/DatasourceStructureDO.java

+2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.lowcoder.domain.datasource.model;
22

33

4+
import lombok.NoArgsConstructor;
45
import org.lowcoder.sdk.models.DatasourceStructure;
56
import org.lowcoder.sdk.models.HasIdAndAuditing;
67
import org.springframework.data.mongodb.core.mapping.Document;
@@ -9,6 +10,7 @@
910

1011
@QueryExclude
1112
@Document(collection = "datasourceStructure")
13+
@NoArgsConstructor
1214
public class DatasourceStructureDO extends HasIdAndAuditing {
1315

1416
private String datasourceId;

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/datasource/model/TokenBasedConnectionDO.java

+6
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
import java.util.Map;
44

5+
import lombok.NoArgsConstructor;
6+
import lombok.experimental.SuperBuilder;
7+
import lombok.extern.jackson.Jacksonized;
58
import org.lowcoder.sdk.models.HasIdAndAuditing;
69
import org.springframework.data.mongodb.core.mapping.Document;
710

@@ -14,6 +17,9 @@
1417
@Document(collection = "tokenBasedConnection")
1518
@Getter
1619
@Setter
20+
@Jacksonized
21+
@SuperBuilder
22+
@NoArgsConstructor
1723
public class TokenBasedConnectionDO extends HasIdAndAuditing {
1824

1925
private String datasourceId;

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/datasource/repository/TokenBasedConnectionRepository.java

+16-19
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.util.Map;
44

5+
import lombok.RequiredArgsConstructor;
56
import org.lowcoder.domain.datasource.model.TokenBasedConnection;
67
import org.lowcoder.domain.datasource.model.TokenBasedConnectionDO;
78
import org.lowcoder.domain.encryption.EncryptionService;
@@ -16,19 +17,13 @@
1617
import reactor.core.publisher.Mono;
1718

1819
@Repository
20+
@RequiredArgsConstructor
1921
public class TokenBasedConnectionRepository {
2022

21-
@Autowired
22-
private TokenBasedConnectionDORepository tokenBasedConnectionDORepository;
23-
24-
@Autowired
25-
private DatasourceMetaInfoService datasourceMetaInfoService;
26-
27-
@Autowired
28-
private EncryptionService encryptionService;
29-
30-
@Autowired
31-
private MongoUpsertHelper mongoUpsertHelper;
23+
private final TokenBasedConnectionDORepository tokenBasedConnectionDORepository;
24+
private final DatasourceMetaInfoService datasourceMetaInfoService;
25+
private final EncryptionService encryptionService;
26+
private final MongoUpsertHelper mongoUpsertHelper;
3227

3328
public Mono<TokenBasedConnection> findByDatasourceId(String datasourceId, String datasourceType) {
3429
return tokenBasedConnectionDORepository.findByDatasourceId(datasourceId)
@@ -39,14 +34,16 @@ public Mono<Void> saveConnection(TokenBasedConnection tokenBasedConnection, Stri
3934

4035
tokenBasedConnection.getTokenDetail().doEncrypt(encryptionService::encryptString);
4136

42-
TokenBasedConnectionDO result = new TokenBasedConnectionDO();
43-
result.setDatasourceId(tokenBasedConnection.getDatasourceId());
44-
result.setTokenDetail(tokenBasedConnection.getTokenDetail().toMap());
45-
result.setId(tokenBasedConnection.getId());
46-
result.setCreatedAt(tokenBasedConnection.getCreatedAt());
47-
result.setUpdatedAt(tokenBasedConnection.getUpdatedAt());
48-
result.setCreatedBy(tokenBasedConnection.getCreatedBy());
49-
result.setModifiedBy(tokenBasedConnection.getModifiedBy());
37+
TokenBasedConnectionDO result = TokenBasedConnectionDO.builder()
38+
.datasourceId(tokenBasedConnection.getDatasourceId())
39+
.tokenDetail(tokenBasedConnection.getTokenDetail().toMap())
40+
.id(tokenBasedConnection.getId())
41+
.createdAt(tokenBasedConnection.getCreatedAt())
42+
.updatedAt(tokenBasedConnection.getUpdatedAt())
43+
.createdBy(tokenBasedConnection.getCreatedBy())
44+
.modifiedBy(tokenBasedConnection.getModifiedBy())
45+
.build();
46+
5047
return mongoUpsertHelper.upsertWithAuditingParams(result, "datasourceId", datasourceId)
5148
.doOnNext(__ -> tokenBasedConnection.getTokenDetail().doDecrypt(encryptionService::decryptString))
5249
.then();

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/datasource/service/impl/DatasourceServiceImpl.java

+8-12
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
import javax.annotation.Nonnull;
1515

16+
import lombok.RequiredArgsConstructor;
1617
import org.apache.commons.collections4.CollectionUtils;
1718
import org.apache.commons.lang3.StringUtils;
1819
import org.lowcoder.domain.application.model.ApplicationStatus;
@@ -44,23 +45,18 @@
4445

4546
@Slf4j
4647
@Service
48+
@RequiredArgsConstructor
4749
public class DatasourceServiceImpl implements DatasourceService {
4850

4951
private static final Duration DEFAULT_TEST_CONNECTION_TIMEOUT = Duration.ofSeconds(10);
5052
private static final String INVALID_PARAMETER_CODE = "INVALID_PARAMETER";
5153

52-
@Autowired
53-
private DatasourceMetaInfoService datasourceMetaInfoService;
54-
@Autowired
55-
private ApplicationRepository applicationRepository;
56-
@Autowired
57-
private ResourcePermissionService resourcePermissionService;
58-
@Autowired
59-
private DatasourceRepository repository;
60-
@Autowired
61-
private DatasourcePluginClient datasourcePluginClient;
62-
@Autowired
63-
private JsDatasourceHelper jsDatasourceHelper;
54+
private final DatasourceMetaInfoService datasourceMetaInfoService;
55+
private final ApplicationRepository applicationRepository;
56+
private final ResourcePermissionService resourcePermissionService;
57+
private final DatasourceRepository repository;
58+
private final DatasourcePluginClient datasourcePluginClient;
59+
private final JsDatasourceHelper jsDatasourceHelper;
6460

6561
@Override
6662
public Mono<Datasource> create(Datasource datasource, String creatorId) {

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/folder/model/Folder.java

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import javax.annotation.Nullable;
44

5+
import lombok.NoArgsConstructor;
56
import org.lowcoder.sdk.models.HasIdAndAuditing;
67
import org.springframework.data.mongodb.core.mapping.Document;
78

@@ -11,6 +12,7 @@
1112
@Getter
1213
@Setter
1314
@Document
15+
@NoArgsConstructor
1416
public class Folder extends HasIdAndAuditing {
1517

1618
private String organizationId;

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/group/model/Group.java

+6
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66

77
import javax.annotation.Nonnull;
88

9+
import lombok.NoArgsConstructor;
10+
import lombok.experimental.SuperBuilder;
11+
import lombok.extern.jackson.Jacksonized;
912
import org.apache.commons.lang3.BooleanUtils;
1013
import org.apache.commons.lang3.StringUtils;
1114
import org.lowcoder.domain.group.util.SystemGroups;
@@ -22,6 +25,9 @@
2225
@Setter
2326
@ToString
2427
@Document
28+
@Jacksonized
29+
@SuperBuilder
30+
@NoArgsConstructor
2531
public class Group extends HasIdAndAuditing implements Comparable<Group> {
2632

2733
private static final Comparator<Group> COMPARATOR = Comparator.comparingLong(group -> {

0 commit comments

Comments
 (0)