Skip to content

Commit 386983a

Browse files
committed
Added so that we can handle ZoneDateTime in a good way as json
1 parent 7bfb85c commit 386983a

18 files changed

+71
-21
lines changed

pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,11 @@
5151
<artifactId>jackson-databind</artifactId>
5252
<version>${jackson.version}</version>
5353
</dependency>
54+
<dependency>
55+
<groupId>com.fasterxml.jackson.datatype</groupId>
56+
<artifactId>jackson-datatype-jsr310</artifactId>
57+
<version>${jackson.version}</version>
58+
</dependency>
5459
<dependency>
5560
<groupId>org.slf4j</groupId>
5661
<artifactId>slf4j-api</artifactId>

src/main/java/io/github/filelize/Filelizer.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package io.github.filelize;
22

33
import com.fasterxml.jackson.databind.ObjectMapper;
4+
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
45
import org.slf4j.Logger;
56
import org.slf4j.LoggerFactory;
67

8+
import java.text.SimpleDateFormat;
79
import java.util.List;
810
import java.util.Map;
911

@@ -20,13 +22,18 @@ public class Filelizer implements IFilelizer {
2022
private final FilelizeType defaultFilelizeType;
2123

2224
public Filelizer(String basePath) {
23-
this.filelizerObject = new FilelizerObject(basePath);
24-
this.filelizerSingle = new FilelizerSingle(basePath);
25-
this.filelizerMultiple = new FilelizerMultiple(basePath);
25+
var objectMapper = new ObjectMapper();
26+
objectMapper.registerModule(new JavaTimeModule());
27+
objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z"));
28+
this.filelizerObject = new FilelizerObject(basePath, objectMapper);
29+
this.filelizerSingle = new FilelizerSingle(basePath, objectMapper);
30+
this.filelizerMultiple = new FilelizerMultiple(basePath, objectMapper);
2631
this.defaultFilelizeType = FilelizeType.OBJECT_FILE;
2732
}
2833

2934
public Filelizer(String basePath, ObjectMapper objectMapper, FilelizeType defaultFilelizeType) {
35+
objectMapper.registerModule(new JavaTimeModule());
36+
objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z"));
3037
this.filelizerObject = new FilelizerObject(basePath, objectMapper);
3138
this.filelizerSingle = new FilelizerSingle(basePath, objectMapper);
3239
this.filelizerMultiple = new FilelizerMultiple(basePath, objectMapper);

src/main/java/io/github/filelize/FilelizerMultiple.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,6 @@ public class FilelizerMultiple implements IFilelizer {
2020
private final PathHandler pathHandler;
2121
private final FileHandler fileHandler;
2222

23-
public FilelizerMultiple(String basePath) {
24-
this.objectMapper = new ObjectMapper();
25-
this.pathHandler = new PathHandler(basePath, FilelizeType.MULTIPLE_FILES, objectMapper);
26-
this.fileHandler = new FileHandler(objectMapper);
27-
}
28-
2923
public FilelizerMultiple(String basePath, ObjectMapper objectMapper) {
3024
this.objectMapper = objectMapper;
3125
this.pathHandler = new PathHandler(basePath, FilelizeType.MULTIPLE_FILES, objectMapper);

src/main/java/io/github/filelize/FilelizerObject.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,6 @@ public class FilelizerObject implements IFilelizer {
1717
private final PathHandler pathHandler;
1818
private final FileHandler fileHandler;
1919

20-
public FilelizerObject(String basePath) {
21-
this.objectMapper = new ObjectMapper();
22-
this.pathHandler = new PathHandler(basePath, FilelizeType.OBJECT_FILE, objectMapper);
23-
this.fileHandler = new FileHandler(objectMapper);
24-
}
25-
2620
public FilelizerObject(String basePath, ObjectMapper objectMapper) {
2721
this.objectMapper = objectMapper;
2822
this.pathHandler = new PathHandler(basePath, FilelizeType.OBJECT_FILE, objectMapper);

src/main/java/io/github/filelize/FilelizerSingle.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,6 @@ public class FilelizerSingle implements IFilelizer {
1818
private final PathHandler pathHandler;
1919
private final FileHandler fileHandler;
2020

21-
public FilelizerSingle(String basePath) {
22-
this.objectMapper = new ObjectMapper();
23-
this.pathHandler = new PathHandler(basePath, FilelizeType.SINGLE_FILE, objectMapper);
24-
this.fileHandler = new FileHandler(objectMapper);
25-
}
26-
2721
public FilelizerSingle(String basePath, ObjectMapper objectMapper) {
2822
this.objectMapper = objectMapper;
2923
this.pathHandler = new PathHandler(basePath, FilelizeType.SINGLE_FILE, objectMapper);

src/test/java/io/github/filelize/FilelizerMultipleFilesTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import org.junit.Test;
44

5+
import java.time.ZoneOffset;
6+
import java.time.ZonedDateTime;
57
import java.util.ArrayList;
68
import java.util.List;
79

@@ -57,6 +59,7 @@ private static List<SomethingMultiple> createSomethingMultipleList() {
5759
private static SomethingMultiple createSomethingMultiple(String id) {
5860
var something = new SomethingMultiple();
5961
something.setId(id);
62+
something.setCreated(ZonedDateTime.of(2024, 1, 1, 0, 0, 0, 0, ZoneOffset.UTC));
6063
something.setName("Some Name");
6164
return something;
6265
}

src/test/java/io/github/filelize/FilelizerSingleFileTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import org.junit.Test;
44

5+
import java.time.ZoneOffset;
6+
import java.time.ZonedDateTime;
57
import java.util.ArrayList;
68
import java.util.List;
79

@@ -61,6 +63,7 @@ private static List<SomethingSingle> createSomethingSingleList() {
6163
private static SomethingSingle createSomethingSingle(String id) {
6264
var something = new SomethingSingle();
6365
something.setId(id);
66+
something.setCreated(ZonedDateTime.of(2024, 2, 2, 0, 0, 0, 0, ZoneOffset.UTC));
6467
something.setName("Some Name");
6568
return something;
6669
}

src/test/java/io/github/filelize/FilelizerSomethingElseTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import org.junit.Test;
44

5+
import java.time.ZoneOffset;
6+
import java.time.ZonedDateTime;
57
import java.util.ArrayList;
68
import java.util.List;
79

@@ -56,6 +58,7 @@ private static List<SomethingElse> createSomethingElseList() {
5658
private static SomethingElse createSomethingElse(String id) {
5759
var somethingElse = new SomethingElse();
5860
somethingElse.setId(id);
61+
somethingElse.setCreated(ZonedDateTime.of(2024, 3, 3, 0, 0, 0, 0, ZoneOffset.UTC));
5962
somethingElse.setValue("Some Value");
6063
return somethingElse;
6164
}

src/test/java/io/github/filelize/SomethingElse.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
package io.github.filelize;
22

3+
import java.time.ZonedDateTime;
4+
35
public class SomethingElse {
46
private String id;
57

8+
private ZonedDateTime created;
9+
610
private String value;
711

812
public String getId() {
@@ -13,6 +17,14 @@ public void setId(String id) {
1317
this.id = id;
1418
}
1519

20+
public ZonedDateTime getCreated() {
21+
return created;
22+
}
23+
24+
public void setCreated(ZonedDateTime created) {
25+
this.created = created;
26+
}
27+
1628
public String getValue() {
1729
return value;
1830
}

src/test/java/io/github/filelize/SomethingMultiple.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
package io.github.filelize;
22

3+
import java.time.ZonedDateTime;
4+
35
@Filelize(name = "something_multiple", type = FilelizeType.MULTIPLE_FILES, directory = "something_multiple/mydirectory")
46
public class SomethingMultiple {
57
@Id
68
private String id;
9+
private ZonedDateTime created;
710

811
private String name;
912

@@ -15,6 +18,14 @@ public void setId(String id) {
1518
this.id = id;
1619
}
1720

21+
public ZonedDateTime getCreated() {
22+
return created;
23+
}
24+
25+
public void setCreated(ZonedDateTime created) {
26+
this.created = created;
27+
}
28+
1829
public String getName() {
1930
return name;
2031
}

0 commit comments

Comments
 (0)