Skip to content
Snippets Groups Projects
Commit 2817c846 authored by Robert Goldmann's avatar Robert Goldmann
Browse files

database export now exports DateTime objects correctly

parent 98e9b0ed
No related branches found
No related tags found
No related merge requests found
Pipeline #
package de.deadlocker8.budgetmaster.services; package de.deadlocker8.budgetmaster.services;
import com.google.gson.Gson; import com.google.gson.*;
import com.google.gson.GsonBuilder;
import de.deadlocker8.budgetmaster.database.Database; import de.deadlocker8.budgetmaster.database.Database;
import de.deadlocker8.budgetmaster.entities.Account; import de.deadlocker8.budgetmaster.entities.Account;
import de.deadlocker8.budgetmaster.entities.Category; import de.deadlocker8.budgetmaster.entities.Category;
import de.deadlocker8.budgetmaster.entities.Payment; import de.deadlocker8.budgetmaster.entities.Payment;
import org.joda.time.DateTime;
import org.joda.time.format.ISODateTimeFormat;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.lang.reflect.Type;
import java.util.List; import java.util.List;
@Service @Service
...@@ -79,7 +81,12 @@ public class DatabaseService ...@@ -79,7 +81,12 @@ public class DatabaseService
Database database = new Database(categories, accounts, payments); Database database = new Database(categories, accounts, payments);
Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().setPrettyPrinting().create(); Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().setPrettyPrinting().registerTypeAdapter(DateTime.class, new JsonSerializer<DateTime>(){
@Override
public JsonElement serialize(DateTime json, Type typeOfSrc, JsonSerializationContext context) {
return new JsonPrimitive(ISODateTimeFormat.date().print(json));
}
}).create();
return gson.toJson(database); return gson.toJson(database);
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment