Skip to content
Snippets Groups Projects
Commit 3e486d9b authored by Tor-Einar Skog's avatar Tor-Einar Skog
Browse files

Merge branch 'master' into develop

parents 27e08413 71bd35ca
No related branches found
No related tags found
No related merge requests found
target/ target/
classes/ classes/
*~
...@@ -27,15 +27,21 @@ ...@@ -27,15 +27,21 @@
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId> <artifactId>jackson-core</artifactId>
<version>2.9.8</version> <version>2.11.3</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId> <artifactId>jackson-annotations</artifactId>
<version>2.9.8</version> <version>2.11.3</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>2.11.3</version>
<type>jar</type>
</dependency>
<dependency> <dependency>
<groupId>no.nibio.vips.common</groupId> <groupId>no.nibio.vips.common</groupId>
<artifactId>VIPSCommon</artifactId> <artifactId>VIPSCommon</artifactId>
......
...@@ -20,13 +20,18 @@ ...@@ -20,13 +20,18 @@
package no.nibio.vips.coremanager.config; package no.nibio.vips.coremanager.config;
import com.bedatadriven.jackson.datatype.jts.JtsModule; import com.bedatadriven.jackson.datatype.jts.JtsModule;
import com.fasterxml.jackson.databind.Module.SetupContext;
import javax.ws.rs.Produces; import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MediaType;
import javax.ws.rs.ext.ContextResolver; import javax.ws.rs.ext.ContextResolver;
import javax.ws.rs.ext.Provider; import javax.ws.rs.ext.Provider;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import javax.ws.rs.Consumes; import javax.ws.rs.Consumes;
import net.ipmdecisions.weather.entity.LocationWeatherData;
import no.nibio.vips.ipmdecisions.LocationWeatherDataDeserializer;
/** /**
* This config ensures that Jackson serializes dates as [ISO-8601 ]-compliant notation, * This config ensures that Jackson serializes dates as [ISO-8601 ]-compliant notation,
...@@ -45,6 +50,10 @@ public class JacksonConfig implements ContextResolver<ObjectMapper>{ ...@@ -45,6 +50,10 @@ public class JacksonConfig implements ContextResolver<ObjectMapper>{
objectMapper = new ObjectMapper(); objectMapper = new ObjectMapper();
objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
objectMapper.registerModule(new JtsModule()); objectMapper.registerModule(new JtsModule());
objectMapper.registerModule(new JavaTimeModule());
SimpleModule module = new SimpleModule();
module.addDeserializer(LocationWeatherData.class, new LocationWeatherDataDeserializer());
objectMapper.registerModule(module);
} }
@Override @Override
......
...@@ -44,12 +44,14 @@ import javax.ws.rs.client.WebTarget; ...@@ -44,12 +44,14 @@ import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Context; import javax.ws.rs.core.Context;
import javax.ws.rs.core.Response; import javax.ws.rs.core.Response;
import no.nibio.vips.core.service.ModelResource; import no.nibio.vips.core.service.ModelResource;
import no.nibio.vips.coremanager.config.JacksonConfig;
import no.nibio.vips.coremanager.session.ControllerGetter; import no.nibio.vips.coremanager.session.ControllerGetter;
import no.nibio.vips.coremanager.entity.ModelUsageLog; import no.nibio.vips.coremanager.entity.ModelUsageLog;
import no.nibio.vips.coremanager.entity.VIPSCoreCredentials; import no.nibio.vips.coremanager.entity.VIPSCoreCredentials;
import no.nibio.vips.coremanager.entity.VipsCoreUser; import no.nibio.vips.coremanager.entity.VipsCoreUser;
import no.nibio.vips.entity.ModelConfiguration; import no.nibio.vips.entity.ModelConfiguration;
import no.nibio.vips.entity.ModelRunRequest; import no.nibio.vips.entity.ModelRunRequest;
import no.nibio.vips.ipmdecisions.IPMDecisionsModelConfiguration;
import no.nibio.vips.model.Model; import no.nibio.vips.model.Model;
import no.nibio.vips.util.ServletUtil; import no.nibio.vips.util.ServletUtil;
import org.jboss.resteasy.annotations.GZIP; import org.jboss.resteasy.annotations.GZIP;
...@@ -400,6 +402,18 @@ public class ManagerResourceImpl implements ManagerResource{ ...@@ -400,6 +402,18 @@ public class ManagerResourceImpl implements ManagerResource{
} }
/**
* TODO Add some kind of authentication and logging for IPM Decisions
* @param modelId
* @param config
* @return
*/
@Override
public Response runModelForIPMDecisions(String modelId, IPMDecisionsModelConfiguration config) {
return this.getModelResource().runModelForIPMDecisions(modelId, config);
}
/** /**
* Instantiates and runs the requested model asynchronously (Implement if needed) * Instantiates and runs the requested model asynchronously (Implement if needed)
* @param modelId * @param modelId
...@@ -418,7 +432,11 @@ public class ManagerResourceImpl implements ManagerResource{ ...@@ -418,7 +432,11 @@ public class ManagerResourceImpl implements ManagerResource{
private ModelResource getModelResource() private ModelResource getModelResource()
{ {
Client client = ClientBuilder.newClient(); Client client = ClientBuilder.newClient();
// This ensures that the general ObjectMapper config is applied to the
// client.
client.register(JacksonConfig.class);
WebTarget target = client.target(VIPSCORE_URL); WebTarget target = client.target(VIPSCORE_URL);
ResteasyWebTarget rTarget = (ResteasyWebTarget) target; ResteasyWebTarget rTarget = (ResteasyWebTarget) target;
ModelResource resource = rTarget.proxy(ModelResource.class); ModelResource resource = rTarget.proxy(ModelResource.class);
...@@ -488,5 +506,6 @@ public class ManagerResourceImpl implements ManagerResource{ ...@@ -488,5 +506,6 @@ public class ManagerResourceImpl implements ManagerResource{
return Response.ok(this.getStaticFileAsInputStream(servletContext, "staticcss/" + fileName)).build(); return Response.ok(this.getStaticFileAsInputStream(servletContext, "staticcss/" + fileName)).build();
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment