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

Merge branch 'no_renjin' into 'develop'

No renjin

See merge request VIPS/VIPSCommon!5
parents 1cc36d17 bc15d444
Branches
No related tags found
No related merge requests found
......@@ -100,18 +100,13 @@
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-api</artifactId>
<version>20.3</version>
</dependency>
<dependency>
<version>20.5</version>
</dependency>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-epsg-hsql</artifactId>
<version>20.3</version>
<version>20.5</version>
</dependency>
<dependency>
<groupId>org.renjin</groupId>
<artifactId>renjin-script-engine</artifactId>
<version>RELEASE</version>
</dependency>
<dependency>
<groupId>com.bedatadriven</groupId>
......@@ -135,19 +130,32 @@
<artifactId>unit-ri</artifactId>
<version>1.0.3</version>
</dependency>
<dependency>
<groupId>org.renjin</groupId>
<artifactId>renjin-script-engine</artifactId>
<version>3.5-beta76</version>
</dependency>
</dependencies>
<repositories>
<repository>
<repository>
<id>bedatadriven</id>
<name>bedatadriven public repo</name>
<url>https://nexus.bedatadriven.com/content/groups/public/</url>
</repository>
<repository>
<repository>
<id>osgeo</id>
<name>OSGEO</name>
<url>https://download.osgeo.org/webdav/geotools/</url>
</repository>
<name>OSGeo Release Repository</name>
<url>https://repo.osgeo.org/repository/release/</url>
<snapshots><enabled>false</enabled></snapshots>
<releases><enabled>true</enabled></releases>
</repository>
<repository>
<id>osgeo-snapshot</id>
<name>OSGeo Snapshot Repository</name>
<url>https://repo.osgeo.org/repository/snapshot/</url>
<snapshots><enabled>true</enabled></snapshots>
<releases><enabled>false</enabled></releases>
</repository>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
......
/*
* Copyright (c) 2017 NIBIO <http://www.nibio.no/>.
*
* This file is part of VIPSCommon.
/*
* Copyright (c) 2017 NIBIO <http://www.nibio.no/>.
*
* This file is part of VIPSCommon.
* VIPSCommon is free software: you can redistribute it and/or modify
* it under the terms of the NIBIO Open Source License as published by
* it under the terms of the NIBIO Open Source License as published by
* NIBIO, either version 1 of the License, or (at your option) any
* later version.
*
*
* VIPSCommon is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* NIBIO Open Source License for more details.
*
*
* You should have received a copy of the NIBIO Open Source License
* along with VIPSCommon. If not, see <http://www.nibio.no/licenses/>.
*
*
*/
package no.nibio.vips.model;
......@@ -26,51 +26,45 @@ import org.renjin.script.RenjinScriptEngineFactory;
import org.renjin.sexp.ExternalPtr;
/**
* When implementing a model using Renjin (http://www.renjin.org/ - R on the Java Virtual Machine),
* When implementing a model using Renjin (http://www.renjin.org/ - R on the
* Java Virtual Machine),
* you must extend this class.
*
* @copyright 2017 <a href="http://www.nibio.no/">NIBIO</a>
* @author Tor-Einar Skog <tor-einar.skog@nibio.no>
* @copyright 2017
* <a href="http://www.nibio.no/">NIBIO</a> * @author Tor-Einar Skog
* <tor-einar.skog@nibio.no>
*/
public abstract class RenjinModel {
protected ScriptEngine engine;
public RenjinModel()
{
// create a Renjin engine:
public RenjinModel() {
// create a Renjin engine:
RenjinScriptEngineFactory factory = new RenjinScriptEngineFactory();
engine = factory.getScriptEngine();
}
/**
* Run an R script file available on the classpath
* @param scriptPath
* @throws ScriptException
* Run an R script file available on the classpath * @param scriptPath *
* @throws ScriptException
*/
public void runRScript(String scriptPath) throws ScriptException
{
public void runRScript(String scriptPath) throws ScriptException {
InputStreamReader fr = new java.io.InputStreamReader(this.getClass().getResourceAsStream(scriptPath));
engine.eval(fr);
}
/**
* Place a Java object in the Renjin script engine
* @param objectName
* @param object
* Place a Java object in the Renjin script engine * @param objectName *
* @param object
*/
public void placeObjectInScriptEngine(String objectName, Object object)
{
public void placeObjectInScriptEngine(String objectName, Object object) {
engine.put(objectName, object);
}
/**
*
* @param objectName
* @return a Java object from the Renjin script engine
* @param objectName * @return a Java object from the Renjin script
* engine
*/
public Object getObjectFromScriptEngine(String objectName)
{
public Object getObjectFromScriptEngine(String objectName) {
ExternalPtr ptr = (ExternalPtr) engine.get(objectName);
return ptr.getInstance();
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment