Skip to content

Commit b297790

Browse files
committed
Merge branch 'main' into release
2 parents 8efd36c + e81c6c5 commit b297790

File tree

64 files changed

+680
-465
lines changed

Some content is hidden

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

64 files changed

+680
-465
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ on:
1515
- release
1616
paths-ignore:
1717
- "README.md"
18+
- "CHANGELOG.md"
1819

1920
jobs:
2021
build_linux:

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -451,6 +451,7 @@ captures/
451451
test.log
452452
/build
453453
!no2-old.db
454+
!no2-v3.db
454455
.diffblue
455456
infer-out
456457
secring.gpg

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,20 @@
1+
## Release 4.3.0
2+
3+
### New Changes
4+
5+
- Nitrite now supports JPMS. It is now modular and can be used in Java 9 or above.
6+
- Version upgrade for several dependencies
7+
- Repository type validation can be disabled in `NitriteBuilder` as a fix for #966
8+
9+
### Issue Fixes
10+
11+
- Fix for #935
12+
- Fix for #948
13+
- Fix for #961
14+
- Fix for #966
15+
- Fix for #977
16+
- Fix for #990
17+
118
## Release 4.2.2 - Mar 5, 2024
219

320
### Issue Fixes

nitrite-bom/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>org.dizitart</groupId>
66
<artifactId>nitrite-java</artifactId>
7-
<version>4.2.2</version>
7+
<version>4.3.0-SNAPSHOT</version>
88
</parent>
99

1010
<artifactId>nitrite-bom</artifactId>

nitrite-jackson-mapper/pom.xml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>org.dizitart</groupId>
66
<artifactId>nitrite-java</artifactId>
7-
<version>4.2.2</version>
7+
<version>4.3.0-SNAPSHOT</version>
88
</parent>
99

1010
<artifactId>nitrite-jackson-mapper</artifactId>
@@ -144,6 +144,17 @@
144144
<groupId>org.sonatype.plugins</groupId>
145145
<artifactId>nexus-staging-maven-plugin</artifactId>
146146
</plugin>
147+
<plugin>
148+
<groupId>org.apache.maven.plugins</groupId>
149+
<artifactId>maven-jar-plugin</artifactId>
150+
<configuration>
151+
<archive combine.children="append">
152+
<manifestEntries>
153+
<Automatic-Module-Name>org.dizitart.no2.jackson</Automatic-Module-Name>
154+
</manifestEntries>
155+
</archive>
156+
</configuration>
157+
</plugin>
147158
</plugins>
148159
</build>
149160

nitrite-jackson-mapper/src/test/java/org/dizitart/no2/common/mapper/JacksonMapperTest.java

Lines changed: 1 addition & 160 deletions
Original file line numberDiff line numberDiff line change
@@ -17,183 +17,24 @@
1717

1818
package org.dizitart.no2.common.mapper;
1919

20-
import com.fasterxml.jackson.databind.DeserializationConfig;
2120
import com.fasterxml.jackson.databind.ObjectMapper;
22-
import com.fasterxml.jackson.databind.cfg.ContextAttributes;
23-
import com.fasterxml.jackson.databind.introspect.VisibilityChecker;
24-
import com.fasterxml.jackson.databind.jsontype.PolymorphicTypeValidator;
25-
import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
2621
import com.fasterxml.jackson.databind.node.ArrayNode;
2722
import com.fasterxml.jackson.databind.node.BinaryNode;
2823
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
2924
import org.dizitart.no2.NitriteConfig;
30-
import org.dizitart.no2.common.mapper.modules.NitriteIdModule;
3125
import org.dizitart.no2.exceptions.ObjectMappingException;
3226
import org.junit.Test;
3327

3428
import java.io.UnsupportedEncodingException;
3529
import java.nio.charset.StandardCharsets;
36-
import java.text.DateFormat;
3730

3831
import static org.junit.Assert.*;
3932

4033
public class JacksonMapperTest {
41-
@Test
42-
public void testConstructor() {
43-
ObjectMapper objectMapper = (new JacksonMapper()).getObjectMapper();
44-
PolymorphicTypeValidator polymorphicTypeValidator = objectMapper.getPolymorphicTypeValidator();
45-
assertTrue(polymorphicTypeValidator instanceof LaissezFaireSubTypeValidator);
46-
VisibilityChecker<?> visibilityChecker = objectMapper.getVisibilityChecker();
47-
assertTrue(visibilityChecker instanceof VisibilityChecker.Std);
48-
assertNull(objectMapper.getPropertyNamingStrategy());
49-
assertTrue(objectMapper
50-
.getDeserializationContext() instanceof com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.Impl);
51-
assertSame(objectMapper.getFactory(), objectMapper.getJsonFactory());
52-
assertTrue(objectMapper.getSerializerFactory() instanceof com.fasterxml.jackson.databind.ser.BeanSerializerFactory);
53-
assertTrue(objectMapper
54-
.getSerializerProvider() instanceof com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.Impl);
55-
assertTrue(objectMapper
56-
.getSerializerProviderInstance() instanceof com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.Impl);
57-
assertTrue(
58-
objectMapper.getSubtypeResolver() instanceof com.fasterxml.jackson.databind.jsontype.impl.StdSubtypeResolver);
59-
DeserializationConfig deserializationConfig = objectMapper.getDeserializationConfig();
60-
assertTrue(deserializationConfig
61-
.getAnnotationIntrospector() instanceof com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector);
62-
assertNull(deserializationConfig.getActiveView());
63-
assertNull(deserializationConfig.getHandlerInstantiator());
64-
assertSame(visibilityChecker, deserializationConfig.getDefaultVisibilityChecker());
65-
assertTrue(deserializationConfig
66-
.getClassIntrospector() instanceof com.fasterxml.jackson.databind.introspect.BasicClassIntrospector);
67-
DateFormat expectedDateFormat = objectMapper.getDateFormat();
68-
assertSame(expectedDateFormat, deserializationConfig.getDateFormat());
69-
assertNull(deserializationConfig.getFullRootName());
70-
JsonNodeFactory expectedNodeFactory = objectMapper.getNodeFactory();
71-
assertSame(expectedNodeFactory, deserializationConfig.getNodeFactory());
72-
assertSame(polymorphicTypeValidator, deserializationConfig.getPolymorphicTypeValidator());
73-
assertNull(deserializationConfig.getDefaultMergeable());
74-
assertEquals(237020288, deserializationConfig.getDeserializationFeatures());
75-
assertTrue(deserializationConfig.getAttributes() instanceof ContextAttributes.Impl);
76-
}
77-
78-
@Test
79-
public void testConstructor2() {
80-
NitriteIdModule nitriteIdModule = new NitriteIdModule();
81-
NitriteIdModule nitriteIdModule1 = new NitriteIdModule();
82-
JacksonMapper jacksonMapper = new JacksonMapper();
83-
jacksonMapper.registerJacksonModule(nitriteIdModule);
84-
jacksonMapper.registerJacksonModule(nitriteIdModule1);
85-
jacksonMapper.registerJacksonModule(new NitriteIdModule());
86-
ObjectMapper objectMapper = jacksonMapper.getObjectMapper();
87-
PolymorphicTypeValidator polymorphicTypeValidator = objectMapper.getPolymorphicTypeValidator();
88-
assertTrue(polymorphicTypeValidator instanceof LaissezFaireSubTypeValidator);
89-
VisibilityChecker<?> visibilityChecker = objectMapper.getVisibilityChecker();
90-
assertTrue(visibilityChecker instanceof VisibilityChecker.Std);
91-
assertNull(objectMapper.getPropertyNamingStrategy());
92-
assertTrue(objectMapper
93-
.getDeserializationContext() instanceof com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.Impl);
94-
assertSame(objectMapper.getFactory(), objectMapper.getJsonFactory());
95-
assertTrue(objectMapper.getSerializerFactory() instanceof com.fasterxml.jackson.databind.ser.BeanSerializerFactory);
96-
assertTrue(objectMapper
97-
.getSerializerProvider() instanceof com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.Impl);
98-
assertTrue(objectMapper
99-
.getSerializerProviderInstance() instanceof com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.Impl);
100-
assertTrue(
101-
objectMapper.getSubtypeResolver() instanceof com.fasterxml.jackson.databind.jsontype.impl.StdSubtypeResolver);
102-
DeserializationConfig deserializationConfig = objectMapper.getDeserializationConfig();
103-
assertTrue(deserializationConfig
104-
.getAnnotationIntrospector() instanceof com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector);
105-
assertNull(deserializationConfig.getActiveView());
106-
assertNull(deserializationConfig.getHandlerInstantiator());
107-
assertSame(visibilityChecker, deserializationConfig.getDefaultVisibilityChecker());
108-
assertTrue(deserializationConfig
109-
.getClassIntrospector() instanceof com.fasterxml.jackson.databind.introspect.BasicClassIntrospector);
110-
DateFormat expectedDateFormat = objectMapper.getDateFormat();
111-
assertSame(expectedDateFormat, deserializationConfig.getDateFormat());
112-
assertNull(deserializationConfig.getFullRootName());
113-
JsonNodeFactory expectedNodeFactory = objectMapper.getNodeFactory();
114-
assertSame(expectedNodeFactory, deserializationConfig.getNodeFactory());
115-
assertSame(polymorphicTypeValidator, deserializationConfig.getPolymorphicTypeValidator());
116-
assertNull(deserializationConfig.getDefaultMergeable());
117-
assertEquals(237020288, deserializationConfig.getDeserializationFeatures());
118-
assertTrue(deserializationConfig.getAttributes() instanceof ContextAttributes.Impl);
119-
}
120-
121-
@Test
122-
public void testConstructor3() {
123-
JacksonMapper jacksonMapper = new JacksonMapper();
124-
jacksonMapper.registerJacksonModule(new NitriteIdModule());
125-
ObjectMapper objectMapper = jacksonMapper.getObjectMapper();
126-
PolymorphicTypeValidator polymorphicTypeValidator = objectMapper.getPolymorphicTypeValidator();
127-
assertTrue(polymorphicTypeValidator instanceof LaissezFaireSubTypeValidator);
128-
VisibilityChecker<?> visibilityChecker = objectMapper.getVisibilityChecker();
129-
assertTrue(visibilityChecker instanceof VisibilityChecker.Std);
130-
assertNull(objectMapper.getPropertyNamingStrategy());
131-
assertTrue(objectMapper
132-
.getDeserializationContext() instanceof com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.Impl);
133-
assertSame(objectMapper.getFactory(), objectMapper.getJsonFactory());
134-
assertTrue(objectMapper.getSerializerFactory() instanceof com.fasterxml.jackson.databind.ser.BeanSerializerFactory);
135-
assertTrue(objectMapper
136-
.getSerializerProvider() instanceof com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.Impl);
137-
assertTrue(objectMapper
138-
.getSerializerProviderInstance() instanceof com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.Impl);
139-
assertTrue(
140-
objectMapper.getSubtypeResolver() instanceof com.fasterxml.jackson.databind.jsontype.impl.StdSubtypeResolver);
141-
DeserializationConfig deserializationConfig = objectMapper.getDeserializationConfig();
142-
assertTrue(deserializationConfig
143-
.getAnnotationIntrospector() instanceof com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector);
144-
assertNull(deserializationConfig.getActiveView());
145-
assertNull(deserializationConfig.getHandlerInstantiator());
146-
assertSame(visibilityChecker, deserializationConfig.getDefaultVisibilityChecker());
147-
assertTrue(deserializationConfig
148-
.getClassIntrospector() instanceof com.fasterxml.jackson.databind.introspect.BasicClassIntrospector);
149-
DateFormat expectedDateFormat = objectMapper.getDateFormat();
150-
assertSame(expectedDateFormat, deserializationConfig.getDateFormat());
151-
assertNull(deserializationConfig.getFullRootName());
152-
JsonNodeFactory expectedNodeFactory = objectMapper.getNodeFactory();
153-
assertSame(expectedNodeFactory, deserializationConfig.getNodeFactory());
154-
assertSame(polymorphicTypeValidator, deserializationConfig.getPolymorphicTypeValidator());
155-
assertNull(deserializationConfig.getDefaultMergeable());
156-
assertEquals(237020288, deserializationConfig.getDeserializationFeatures());
157-
assertTrue(deserializationConfig.getAttributes() instanceof ContextAttributes.Impl);
158-
}
159-
16034
@Test
16135
public void testGetObjectMapper() {
16236
ObjectMapper actualCreateObjectMapperResult = (new JacksonMapper()).getObjectMapper();
163-
PolymorphicTypeValidator polymorphicTypeValidator = actualCreateObjectMapperResult.getPolymorphicTypeValidator();
164-
assertTrue(polymorphicTypeValidator instanceof LaissezFaireSubTypeValidator);
165-
VisibilityChecker<?> visibilityChecker = actualCreateObjectMapperResult.getVisibilityChecker();
166-
assertTrue(visibilityChecker instanceof VisibilityChecker.Std);
167-
assertNull(actualCreateObjectMapperResult.getPropertyNamingStrategy());
168-
assertTrue(actualCreateObjectMapperResult
169-
.getDeserializationContext() instanceof com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.Impl);
170-
assertSame(actualCreateObjectMapperResult.getFactory(), actualCreateObjectMapperResult.getJsonFactory());
171-
assertTrue(actualCreateObjectMapperResult
172-
.getSerializerFactory() instanceof com.fasterxml.jackson.databind.ser.BeanSerializerFactory);
173-
assertTrue(actualCreateObjectMapperResult
174-
.getSerializerProvider() instanceof com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.Impl);
175-
assertTrue(actualCreateObjectMapperResult
176-
.getSerializerProviderInstance() instanceof com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.Impl);
177-
assertTrue(actualCreateObjectMapperResult
178-
.getSubtypeResolver() instanceof com.fasterxml.jackson.databind.jsontype.impl.StdSubtypeResolver);
179-
DeserializationConfig deserializationConfig = actualCreateObjectMapperResult.getDeserializationConfig();
180-
assertTrue(deserializationConfig.getAttributes() instanceof ContextAttributes.Impl);
181-
assertTrue(deserializationConfig
182-
.getAnnotationIntrospector() instanceof com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector);
183-
assertNull(deserializationConfig.getActiveView());
184-
assertEquals(237020288, deserializationConfig.getDeserializationFeatures());
185-
DateFormat expectedDateFormat = actualCreateObjectMapperResult.getDateFormat();
186-
assertSame(expectedDateFormat, deserializationConfig.getDateFormat());
187-
assertNull(deserializationConfig.getDefaultMergeable());
188-
assertSame(visibilityChecker, deserializationConfig.getDefaultVisibilityChecker());
189-
assertNull(deserializationConfig.getHandlerInstantiator());
190-
JsonNodeFactory expectedNodeFactory = actualCreateObjectMapperResult.getNodeFactory();
191-
assertSame(expectedNodeFactory, deserializationConfig.getNodeFactory());
192-
assertSame(polymorphicTypeValidator, deserializationConfig.getPolymorphicTypeValidator());
193-
assertTrue(deserializationConfig
194-
.getClassIntrospector() instanceof com.fasterxml.jackson.databind.introspect.BasicClassIntrospector);
195-
assertNull(deserializationConfig.getFullRootName());
196-
assertNull(deserializationConfig.getProblemHandlers());
37+
assertNotNull(actualCreateObjectMapperResult);
19738
}
19839

19940
@Test

nitrite-jackson-mapper/src/test/java/org/dizitart/no2/integration/NitriteTest.java

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
import org.dizitart.no2.repository.ObjectRepository;
3434
import org.dizitart.no2.repository.annotations.Id;
3535
import org.dizitart.no2.repository.annotations.Index;
36-
import org.dizitart.no2.repository.annotations.Indices;
3736
import org.junit.After;
3837
import org.junit.Before;
3938
import org.junit.Rule;
@@ -264,9 +263,7 @@ public void testNoUniqueAndTextIndex() {
264263
@Data
265264
@NoArgsConstructor
266265
@AllArgsConstructor
267-
@Indices({
268-
@Index(fields = "synced", type = IndexType.NON_UNIQUE)
269-
})
266+
@Index(fields = "synced", type = IndexType.NON_UNIQUE)
270267
public static class Receipt {
271268
@Id
272269
private String clientRef;
@@ -283,21 +280,17 @@ public enum Status {
283280
public static class EmptyClass {
284281
}
285282

286-
@Indices({
287-
@Index(fields = "value", type = IndexType.FULL_TEXT),
288-
@Index(fields = "value")
289-
})
290283
@Data
291284
@NoArgsConstructor
292285
@AllArgsConstructor
286+
@Index(fields = "value", type = IndexType.FULL_TEXT)
287+
@Index(fields = "value")
293288
public static class EntityUniqueFullText {
294289
private String value;
295290
}
296291

297-
@Indices({
298-
@Index(fields = "value", type = IndexType.FULL_TEXT),
299-
@Index(fields = "value", type = IndexType.NON_UNIQUE)
300-
})
292+
@Index(fields = "value", type = IndexType.FULL_TEXT)
293+
@Index(fields = "value", type = IndexType.NON_UNIQUE)
301294
@Data
302295
@NoArgsConstructor
303296
@AllArgsConstructor

nitrite-jackson-mapper/src/test/java/org/dizitart/no2/integration/repository/CustomFieldSeparatorTest.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import org.dizitart.no2.repository.ObjectRepository;
3232
import org.dizitart.no2.repository.annotations.Id;
3333
import org.dizitart.no2.repository.annotations.Index;
34-
import org.dizitart.no2.repository.annotations.Indices;
3534
import org.junit.After;
3635
import org.junit.Before;
3736
import org.junit.Test;
@@ -113,11 +112,9 @@ public void testFindByEmbeddedField() {
113112

114113
@ToString
115114
@EqualsAndHashCode
116-
@Indices({
117-
@Index(fields = "joinDate", type = IndexType.NON_UNIQUE),
118-
@Index(fields = "address", type = IndexType.FULL_TEXT),
119-
@Index(fields = "employeeNote:text", type = IndexType.FULL_TEXT)
120-
})
115+
@Index(fields = "joinDate", type = IndexType.NON_UNIQUE)
116+
@Index(fields = "address", type = IndexType.FULL_TEXT)
117+
@Index(fields = "employeeNote:text", type = IndexType.FULL_TEXT)
121118
public static class EmployeeForCustomSeparator implements Serializable {
122119
@Id
123120
@Getter

nitrite-jackson-mapper/src/test/java/org/dizitart/no2/integration/repository/UniversalTextTokenizerTest.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import org.dizitart.no2.repository.Cursor;
3030
import org.dizitart.no2.repository.ObjectRepository;
3131
import org.dizitart.no2.repository.annotations.Index;
32-
import org.dizitart.no2.repository.annotations.Indices;
3332
import org.junit.After;
3433
import org.junit.Before;
3534
import org.junit.Test;
@@ -173,9 +172,7 @@ public void testUniversalFullTextIndexing() {
173172
}
174173
}
175174

176-
@Indices(
177-
@Index(fields = "text", type = IndexType.FULL_TEXT)
178-
)
175+
@Index(fields = "text", type = IndexType.FULL_TEXT)
179176
public static class TextData {
180177
public int id;
181178
public String text;

nitrite-jackson-mapper/src/test/java/org/dizitart/no2/integration/repository/data/Company.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import lombok.ToString;
2525
import org.dizitart.no2.repository.annotations.Id;
2626
import org.dizitart.no2.repository.annotations.Index;
27-
import org.dizitart.no2.repository.annotations.Indices;
2827

2928
import java.io.Serializable;
3029
import java.util.Date;
@@ -38,9 +37,7 @@
3837
@Setter
3938
@ToString
4039
@EqualsAndHashCode
41-
@Indices({
42-
@Index(fields = "companyName")
43-
})
40+
@Index(fields = "companyName")
4441
public class Company implements Serializable {
4542
@Id(fieldName = "company_id")
4643
@JsonProperty("company_id")

0 commit comments

Comments
 (0)