Author: jcouteau Date: 2009-12-10 14:56:16 +0100 (Thu, 10 Dec 2009) New Revision: 166 Modified: trunk/src/main/java/org/nuiton/j2r/REngine.java trunk/src/main/java/org/nuiton/j2r/REngineAbstract.java trunk/src/main/java/org/nuiton/j2r/RProxy.java Log: Add method to save RData without changing the working directory Modified: trunk/src/main/java/org/nuiton/j2r/REngine.java =================================================================== --- trunk/src/main/java/org/nuiton/j2r/REngine.java 2009-12-08 16:43:01 UTC (rev 165) +++ trunk/src/main/java/org/nuiton/j2r/REngine.java 2009-12-10 13:56:16 UTC (rev 166) @@ -222,6 +222,7 @@ /** * Commit all the R instructions that have been stored and not commited yet. + * @throws RException */ void commit() throws RException; @@ -251,4 +252,13 @@ * session. */ void saveRData(File directory, String fileName) throws RException; + + /** + * Save a R session in a filename.RData file located in the current working + * directory + * + * @param filename + * @throws RException + */ + void saveRData(String filename) throws RException; } //REngine Modified: trunk/src/main/java/org/nuiton/j2r/REngineAbstract.java =================================================================== --- trunk/src/main/java/org/nuiton/j2r/REngineAbstract.java 2009-12-08 16:43:01 UTC (rev 165) +++ trunk/src/main/java/org/nuiton/j2r/REngineAbstract.java 2009-12-10 13:56:16 UTC (rev 166) @@ -77,6 +77,19 @@ } /** + * Save the session in a .RData file in current working directory + * + * @param filename + * the .RData filename (will be followed by .RData) + * @throws RException if an error occur while saving the R + * session. + */ + @Override + public void saveRData(String filename) throws RException { + voidEval(String.format(RInstructions.SAVE_IMAGE_FILE,filename)); + } + + /** * Save a R session in a fileName.RData file located in directory. * * @param directory where the ".RData" file will be located Modified: trunk/src/main/java/org/nuiton/j2r/RProxy.java =================================================================== --- trunk/src/main/java/org/nuiton/j2r/RProxy.java 2009-12-08 16:43:01 UTC (rev 165) +++ trunk/src/main/java/org/nuiton/j2r/RProxy.java 2009-12-10 13:56:16 UTC (rev 166) @@ -616,5 +616,14 @@ } engine.loadRData(directory, fileName); } + + @Override + public void saveRData(String filename) throws RException { + if (engine == null) { + log.fatal("The R Proxy is not initialized. An error probably " + + "occured during the initialization."); + } + engine.saveRData(filename); + } } //RProxy