diff --git a/pom.xml b/pom.xml index 577daad6e27a819f74360e688ec64b3289492f2e..f9381552152b89657eed2f04c35e19cceecad9e2 100755 --- a/pom.xml +++ b/pom.xml @@ -37,12 +37,24 @@ <artifactId>graal-sdk</artifactId> <version>1.0.0-rc7</version> </dependency> + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-annotations</artifactId> + <version>2.9.8</version> + <type>jar</type> + </dependency> <dependency> <groupId>com.bedatadriven</groupId> <artifactId>jackson-datatype-jts</artifactId> <version>2.4</version> <type>jar</type> </dependency> + <dependency> + <groupId>com.fasterxml.jackson.datatype</groupId> + <artifactId>jackson-datatype-jsr310</artifactId> + <version>2.9.8</version> + <type>jar</type> + </dependency> <dependency> <groupId>no.nibio.vips.common</groupId> <artifactId>VIPSCommon</artifactId> 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 cab6b58ab3a64e8c794859a7ac81f8ed31064887..8434ebd4a682ed864bcf70f074592aefe9660d87 100755 --- a/src/main/java/no/nibio/vips/core/service/ModelResourceImpl.java +++ b/src/main/java/no/nibio/vips/core/service/ModelResourceImpl.java @@ -19,16 +19,19 @@ package no.nibio.vips.core.service; -import java.net.URL; -import java.net.URLClassLoader; +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; @@ -37,6 +40,8 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.Response; import no.nibio.vips.entity.ModelConfiguration; import no.nibio.vips.entity.Result; +import no.nibio.vips.ipmdecisions.DataTransformer; +import no.nibio.vips.ipmdecisions.IPMDecisionsModelConfiguration; import no.nibio.vips.model.ConfigValidationException; import no.nibio.vips.model.Model; import no.nibio.vips.model.ModelExcecutionException; @@ -281,6 +286,9 @@ public class ModelResourceImpl implements ModelResource{ @Override public Response runModel(@PathParam("modelId") String modelId, ModelConfiguration config) { + System.out.println("Observations are of class " + + ((ArrayList)config.getConfigParameter("observations")).get(0).getClass().getName() + ); try { Model calledModel = ModelFactory.getInstance().getModelInstance(modelId); @@ -305,6 +313,20 @@ public class ModelResourceImpl implements ModelResource{ } } } + + /** + * For input data coming from the IPM Decisions platform + * @param modelId + * @param config + * @return + */ + @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); + } @Override public Response printModelName(String modelId) { diff --git a/src/main/webapp/WEB-INF/jboss-deployment-structure.xml b/src/main/webapp/WEB-INF/jboss-deployment-structure.xml index 1a1e0575a8cfbab863c92cfcc4c4779f85a924e4..0afc3426ce1471cf541ae6ce865dc2b4c6711a36 100755 --- a/src/main/webapp/WEB-INF/jboss-deployment-structure.xml +++ b/src/main/webapp/WEB-INF/jboss-deployment-structure.xml @@ -25,6 +25,7 @@ along with VIPSCore. If not, see <http://www.nibio.no/licenses/>. <module name="no.nibio.vips.VIPSCommon" export="true"/> <module name="com.fasterxml.jackson.core.jackson-core" /> <module name="com.fasterxml.jackson.core.jackson-databind" /> + <module name="com.fasterxml.jackson.core.jackson-annotations" /> </dependencies> <exclusions> <module name="org.jboss.resteasy.resteasy-json-binding-provider"/>