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

Merge branch 'ipm_decisions' into 'develop'

Ipm decisions

See merge request !4
parents 2c56737e b283381e
No related branches found
No related tags found
2 merge requests!5Develop,!4Ipm decisions
......@@ -18,5 +18,6 @@ Any value defined here will override the pom.xml file value but is only applicab
<netbeans.hint.license>nibio_open_source_license.ftl</netbeans.hint.license>
<org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_deploy_2e_server>WildFly</org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_deploy_2e_server>
<org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_j2eeVersion>1.7-web</org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_j2eeVersion>
<netbeans.hint.jdkPlatform>JDK_1.8_SUN</netbeans.hint.jdkPlatform>
</properties>
</project-shared-configuration>
......@@ -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>
......@@ -127,8 +139,8 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>10</source>
<target>10</target>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
......
......@@ -19,10 +19,12 @@
package no.nibio.vips.core;
import java.util.HashSet;
import java.util.Set;
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
/**
* Responsible for adding REST resources
* @copyright 2013-2018 {@link http://www.nibio.no NIBIO}
......@@ -49,13 +51,7 @@ public class VIPSCoreApplication extends Application
resources.add(no.nibio.vips.core.service.ModelResourceImpl.class);
}
/**
* Do not modify addRestResourceClasses() method.
* It is automatically re-generated by NetBeans REST support to populate
* given list with all resources defined in the project.
*/
private void addRestResourceClasses(Set<Class<?>> resources) {
resources.add(no.nibio.vips.core.config.JacksonConfig.class);
resources.add(no.nibio.vips.core.service.ModelResourceImpl.class);
}
}
\ No newline at end of file
......@@ -21,12 +21,16 @@ package no.nibio.vips.core.config;
import com.bedatadriven.jackson.datatype.jts.JtsModule;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.ext.ContextResolver;
import javax.ws.rs.ext.Provider;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.module.SimpleModule;
import net.ipmdecisions.weather.entity.LocationWeatherData;
import no.nibio.vips.ipmdecisions.LocationWeatherDataDeserializer;
/**
* This config ensures that Jackson serializes dates as [ISO-8601 ]-compliant notation,
......@@ -46,6 +50,10 @@ public class JacksonConfig implements ContextResolver<ObjectMapper>{
objectMapper.registerModule(new JtsModule());
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
objectMapper.registerModule(new JtsModule());
objectMapper.registerModule(new JavaTimeModule());
SimpleModule module = new SimpleModule();
module.addDeserializer(LocationWeatherData.class, new LocationWeatherDataDeserializer());
objectMapper.registerModule(module);
}
@Override
......
......@@ -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) {
......
......@@ -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"/>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment