Skip to content

Commit

Permalink
#171 - remove 3rd party gson/javatime library
Browse files Browse the repository at this point in the history
  • Loading branch information
hohonuuli committed Feb 12, 2024
1 parent 49fa9de commit 8f18e51
Show file tree
Hide file tree
Showing 12 changed files with 144 additions and 88 deletions.
2 changes: 1 addition & 1 deletion org.mbari.vars.services/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ dependencies {

implementation 'com.auth0:java-jwt'
implementation 'com.fasterxml.jackson.core:jackson-databind' // used java-jwt
implementation 'com.fatboyindustrial.gson-javatime-serialisers:gson-javatime-serialisers'
// implementation 'com.fatboyindustrial.gson-javatime-serialisers:gson-javatime-serialisers'
implementation 'com.github.mizosoft.methanol:methanol'
implementation 'com.google.code.gson:gson'
implementation 'com.squareup.okhttp3:logging-interceptor'
Expand Down
2 changes: 1 addition & 1 deletion org.mbari.vars.services/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
requires com.fasterxml.jackson.databind; // required by java-jwt
requires com.github.benmanes.caffeine;
requires com.google.gson;
requires gson.javatime.serialisers;
// requires gson.javatime.serialisers;
requires io.reactivex.rxjava3;
requires java.desktop;
requires java.prefs;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
package org.mbari.vars.services;

import com.fatboyindustrial.gsonjavatime.Converters;
//import com.fatboyindustrial.gsonjavatime.Converters;
import com.google.gson.FieldNamingPolicy;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import org.mbari.vars.services.gson.InstantConverter;

import java.time.Duration;
import java.time.Instant;

/**
* This parses the basic JWT tokens from snake_case JSON.
Expand All @@ -23,11 +25,14 @@ public Gson getGson() {
GsonBuilder gsonBuilder = new GsonBuilder()
.setPrettyPrinting()
.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
.registerTypeAdapter(Instant.class, new InstantConverter())
.setDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");

return gsonBuilder.create();

// Register java.time.Instant
return Converters.registerInstant(gsonBuilder)
.create();
// return Converters.registerInstant(gsonBuilder)
// .create();

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package org.mbari.vars.services.gson;

import com.google.gson.*;
import org.mbari.vars.core.util.InstantUtils;

import java.lang.reflect.Type;
import java.time.Instant;

public class InstantConverter implements JsonSerializer<Instant>, JsonDeserializer<Instant> {



@Override
public Instant deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException {
return InstantUtils.parseIso8601(jsonElement.getAsString()).orElse(null);
}

@Override
public JsonElement serialize(Instant instant, Type type, JsonSerializationContext jsonSerializationContext) {
return new JsonPrimitive(instant.toString());
}
}
Original file line number Diff line number Diff line change
@@ -1,20 +1,18 @@
package org.mbari.vars.services.impl.annosaurus.v1;

import com.fatboyindustrial.gsonjavatime.Converters;
//import com.fatboyindustrial.gsonjavatime.Converters;
import com.google.gson.FieldNamingPolicy;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import org.mbari.vars.services.gson.AnnotationCreator;
import org.mbari.vars.services.gson.ByteArrayConverter;
import org.mbari.vars.services.gson.DurationConverter;
import org.mbari.vars.services.gson.TimecodeConverter;
import org.mbari.vars.services.gson.*;
import org.mbari.vars.services.RetrofitServiceFactory;
import org.mbari.vars.services.model.ImagedMoment;
import org.mbari.vcr4j.time.Timecode;

import javax.inject.Inject;
import javax.inject.Named;
import java.time.Duration;
import java.time.Instant;

/**
* @author Brian Schlining
Expand Down Expand Up @@ -44,11 +42,14 @@ public static Gson newGson() {
.registerTypeAdapter(ImagedMoment.class, new AnnotationCreator())
.registerTypeAdapter(Duration.class, new DurationConverter())
.registerTypeAdapter(Timecode.class, new TimecodeConverter())
.registerTypeAdapter(Instant.class, new InstantConverter())
.registerTypeAdapter(byte[].class, new ByteArrayConverter());

return gsonBuilder.create();

// Register java.time.Instant
return Converters.registerInstant(gsonBuilder)
.create();
// return Converters.registerInstant(gsonBuilder)
// .create();
}
}

Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
package org.mbari.vars.services.impl.annosaurus.v2;

import com.fatboyindustrial.gsonjavatime.Converters;
//import com.fatboyindustrial.gsonjavatime.Converters;
import com.google.gson.FieldNamingPolicy;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import org.mbari.vars.services.gson.ByteArrayConverter;
import org.mbari.vars.services.gson.DurationConverter;
import org.mbari.vars.services.gson.InstantConverter;
import org.mbari.vars.services.gson.TimecodeConverter;
import org.mbari.vars.services.RetrofitServiceFactory;
import org.mbari.vcr4j.time.Timecode;

import javax.inject.Inject;
import javax.inject.Named;
import java.time.Duration;
import java.time.Instant;

/**
* @author Brian Schlining
Expand All @@ -34,11 +36,14 @@ public Gson getGson() {
.setDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
.registerTypeAdapter(Duration.class, new DurationConverter())
.registerTypeAdapter(Timecode.class, new TimecodeConverter())
.registerTypeAdapter(Instant.class, new InstantConverter())
.registerTypeAdapter(byte[].class, new ByteArrayConverter());

return gsonBuilder.create();

// Register java.time.Instant
return Converters.registerInstant(gsonBuilder)
.create();
// return Converters.registerInstant(gsonBuilder)
// .create();

}
}
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
package org.mbari.vars.services.impl.panoptes.v1;

import com.fatboyindustrial.gsonjavatime.Converters;
//import com.fatboyindustrial.gsonjavatime.Converters;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import org.mbari.vars.services.gson.ByteArrayConverter;
import org.mbari.vars.services.gson.DurationConverter;
import org.mbari.vars.services.gson.InstantConverter;
import org.mbari.vars.services.gson.TimecodeConverter;
import org.mbari.vars.services.RetrofitServiceFactory;
import org.mbari.vcr4j.time.Timecode;

import javax.inject.Named;
import java.time.Duration;
import java.time.Instant;

/**
* @author Brian Schlining
Expand All @@ -33,10 +35,13 @@ public static Gson newGson() {
.setDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
.registerTypeAdapter(Duration.class, new DurationConverter())
.registerTypeAdapter(Timecode.class, new TimecodeConverter())
.registerTypeAdapter(Instant.class, new InstantConverter())
.registerTypeAdapter(byte[].class, new ByteArrayConverter());

return gsonBuilder.create();

// Register java.time.Instant
return Converters.registerInstant(gsonBuilder)
.create();
// return Converters.registerInstant(gsonBuilder)
// .create();
}
}
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
package org.mbari.vars.services.impl.vampiresquid.v1;

import com.fatboyindustrial.gsonjavatime.Converters;
//import com.fatboyindustrial.gsonjavatime.Converters;
import com.google.gson.FieldNamingPolicy;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import org.mbari.vars.services.gson.ByteArrayConverter;
import org.mbari.vars.services.gson.DurationConverter;
import org.mbari.vars.services.gson.InstantConverter;
import org.mbari.vars.services.gson.TimecodeConverter;
import org.mbari.vars.services.RetrofitServiceFactory;
import org.mbari.vcr4j.time.Timecode;

import javax.inject.Inject;
import javax.inject.Named;
import java.time.Duration;
import java.time.Instant;

/**
* @author Brian Schlining
Expand All @@ -35,10 +37,12 @@ public static Gson newGson() {
.setDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
.registerTypeAdapter(Duration.class, new DurationConverter())
.registerTypeAdapter(Timecode.class, new TimecodeConverter())
.registerTypeAdapter(Instant.class, new InstantConverter())
.registerTypeAdapter(byte[].class, new ByteArrayConverter());

// Register java.time.Instant
return Converters.registerInstant(gsonBuilder)
.create();
return gsonBuilder.create();
// return Converters.registerInstant(gsonBuilder)
// .create();
}
}
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
package org.mbari.vars.services.impl.varskbserver.v1;

import com.fatboyindustrial.gsonjavatime.Converters;
//import com.fatboyindustrial.gsonjavatime.Converters;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import org.mbari.vars.services.gson.ByteArrayConverter;
import org.mbari.vars.services.gson.DurationConverter;
import org.mbari.vars.services.gson.InstantConverter;
import org.mbari.vars.services.gson.TimecodeConverter;
import org.mbari.vars.services.RetrofitServiceFactory;
import org.mbari.vcr4j.time.Timecode;

import javax.inject.Inject;
import javax.inject.Named;
import java.time.Duration;
import java.time.Instant;
import java.util.concurrent.Executor;

/**
Expand All @@ -38,10 +40,12 @@ public static Gson newGson() {
.setDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
.registerTypeAdapter(Duration.class, new DurationConverter())
.registerTypeAdapter(Timecode.class, new TimecodeConverter())
.registerTypeAdapter(Instant.class, new InstantConverter())
.registerTypeAdapter(byte[].class, new ByteArrayConverter());

return gsonBuilder.create();
// Register java.time.Instant
return Converters.registerInstant(gsonBuilder).create();
// return Converters.registerInstant(gsonBuilder).create();
}

}
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
package org.mbari.vars.services.impl.varsuserserver.v1;

import com.fatboyindustrial.gsonjavatime.Converters;
//import com.fatboyindustrial.gsonjavatime.Converters;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import org.mbari.vars.services.gson.ByteArrayConverter;
import org.mbari.vars.services.gson.DurationConverter;
import org.mbari.vars.services.gson.InstantConverter;
import org.mbari.vars.services.gson.TimecodeConverter;
import org.mbari.vars.services.RetrofitServiceFactory;
import org.mbari.vcr4j.time.Timecode;

import javax.inject.Inject;
import javax.inject.Named;
import java.time.Duration;
import java.time.Instant;

/**
* @author Brian Schlining
Expand All @@ -34,10 +36,13 @@ public static Gson newGson() {
.setDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
.registerTypeAdapter(Duration.class, new DurationConverter())
.registerTypeAdapter(Timecode.class, new TimecodeConverter())
.registerTypeAdapter(Instant.class, new InstantConverter())
.registerTypeAdapter(byte[].class, new ByteArrayConverter());

return gsonBuilder.create();

// Register java.time.Instant
return Converters.registerInstant(gsonBuilder)
.create();
// return Converters.registerInstant(gsonBuilder)
// .create();
}
}
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
package org.mbari.vars.services.impl.varsuserserver.v1;

import com.fatboyindustrial.gsonjavatime.Converters;
//import com.fatboyindustrial.gsonjavatime.Converters;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import org.mbari.vars.services.gson.ByteArrayConverter;
import org.mbari.vars.services.gson.DurationConverter;
import org.mbari.vars.services.gson.InstantConverter;
import org.mbari.vars.services.gson.TimecodeConverter;
import org.mbari.vars.services.RetrofitServiceFactory;
import org.mbari.vcr4j.time.Timecode;

import javax.inject.Inject;
import javax.inject.Named;
import java.time.Duration;
import java.time.Instant;

/**
* @author Brian Schlining
Expand All @@ -34,10 +36,13 @@ public static Gson newGson() {
.setDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
.registerTypeAdapter(Duration.class, new DurationConverter())
.registerTypeAdapter(Timecode.class, new TimecodeConverter())
.registerTypeAdapter(Instant.class, new InstantConverter())
.registerTypeAdapter(byte[].class, new ByteArrayConverter());

return gsonBuilder.create();

// Register java.time.Instant
return Converters.registerInstant(gsonBuilder)
.create();
// return Converters.registerInstant(gsonBuilder)
// .create();
}
}
Loading

0 comments on commit 8f18e51

Please sign in to comment.