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 373b6ed7df1baa62b493bcd49620eca465b7b39d..f33c1c66244f5f4aaa964da4e1cdf46548126992 100755 --- a/src/main/java/no/nibio/vips/core/service/ModelResourceImpl.java +++ b/src/main/java/no/nibio/vips/core/service/ModelResourceImpl.java @@ -314,9 +314,28 @@ public class ModelResourceImpl implements ModelResource{ @Override public Response runModelForIPMDecisions(@PathParam("modelId") String modelId, IPMDecisionsModelConfiguration config) { + try + { DataTransformer dt = new DataTransformer(); config.setConfigParameter("observations", dt.getVIPSWeatherData(config.getWeatherData())); - return this.runModel(modelId, config); + 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