diff --git a/src/main/java/no/nibio/vips/core/config/JacksonConfig.java b/src/main/java/no/nibio/vips/core/config/JacksonConfig.java index db1aa091ab0a4d9b9be94d04d7a1ac20c6ccd285..3c0e5514c16641921cf8491295e521af62c3369d 100755 --- a/src/main/java/no/nibio/vips/core/config/JacksonConfig.java +++ b/src/main/java/no/nibio/vips/core/config/JacksonConfig.java @@ -47,7 +47,6 @@ public class JacksonConfig implements ContextResolver<ObjectMapper>{ { objectMapper = new ObjectMapper(); objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); - objectMapper.registerModule(new JtsModule()); objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); objectMapper.registerModule(new JtsModule()); objectMapper.registerModule(new JavaTimeModule()); diff --git a/src/main/java/no/nibio/vips/core/service/ModelResourceImpl.java b/src/main/java/no/nibio/vips/core/service/ModelResourceImpl.java index b73c9b51880f6bfb940624e279b829a4cdf29bdc..4b099ab7dfa8e6143bd3f73d3a0fbf7cc162e67b 100755 --- a/src/main/java/no/nibio/vips/core/service/ModelResourceImpl.java +++ b/src/main/java/no/nibio/vips/core/service/ModelResourceImpl.java @@ -19,19 +19,13 @@ package no.nibio.vips.core.service; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; import java.util.ArrayList; import java.util.Collections; -import java.util.HashMap; import java.util.List; -import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; import javax.servlet.http.HttpServletRequest; -import javax.ws.rs.Consumes; import javax.ws.rs.GET; -import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; @@ -320,9 +314,27 @@ public class ModelResourceImpl implements ModelResource{ @Override public Response runModelForIPMDecisions(@PathParam("modelId") String modelId, IPMDecisionsModelConfiguration config) { - DataTransformer dt = new DataTransformer(); - config.setConfigParameter("observations", dt.getVIPSWeatherData(config.getWeatherData())); - return this.runModel(modelId, config); + try + { + DataTransformer dt = new DataTransformer(); + config.setConfigParameter("observations", dt.getVIPSWeatherData(config.getWeatherData())); + Model calledModel = ModelFactory.getInstance().getModelInstance(modelId); + calledModel.setConfiguration(config); + List<Result> results = calledModel.getResult(); + return Response.ok().entity(dt.getIPMDecisionsModelOutput(results)).build(); + } + catch(Exception ex) + { + Logger.getLogger(ModelResourceImpl.class.getName()).log(Level.SEVERE, null, ex); + if(ex instanceof ConfigValidationException){ + + throw new WebApplicationException(Response.status(Response.Status.BAD_REQUEST).entity(ex).build()); + } + else + { + throw new WebApplicationException(Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(ex).build()); + } + } } @Override