Hi,

I've not used Sextante much, but enough to know that there are many 
places where
you can get an NPE.
It really needs to be tested extensively and fixed.

I think your problem (i) comes from the initialization phase where Sextante
load algorithms from URL, dir...
In your case, I think that the Sextante.initialize(String directory) is 
called with
a directory which does not exist.

For other NPE, I can't say, because the sextante version you are using 
is no more
synchronized with the svn version (so line numbers do not match).
But if you have the corresponding source files you have good chance to 
localize
the problem with the line numbers.

I strongly encourage you to make your test with the bindings I uploaded
on our repository and with sextante version compiled from svn source code
on 2012-04-28 (also in the repository) or with a newer compilation (not 
sure
if java sextante code has been modified since april). This way, we'll 
know if
current version (0.7 ?) is ready for inclusion in OpenJUMP 1.6 ;-)

Michaël


> just for the record and for clarification:
>
> Problem: I can't access & debug Sextante and its algorithms from the IDE.
>
> Context check:
> - I have all classes of Sextante added to the class path (at least I
> think so), so they should be found.
> - The problem is apparent in Debug mode but also in Run mode.
> - I have tested this with the Sextante 0.6.0 libs from the repository as
> well as with the libs from a OJ 1.5.2 PLUS (rev. 2930) where Sextante
> runs without problems.
> - I am using OJ form trunk (rev. 3048)
>
> === CASE (i) =========
> What happens when I add im my workbench-properties file the line to call
> Sextante:
> <extension>
> es.unex.sextante.openjump.extensions.SextanteToolsExtension</extension>
>
> Then I get this:
>
> java.lang.NullPointerException
>       at
> es.unex.sextante.core.AlgorithmsAndResources.addAlgorithmsAndPropertiesFromFolder(AlgorithmsAndResources.java:140)
>       at es.unex.sextante.core.Sextante.initialize(Sextante.java:64)
>       at
> es.unex.sextante.openjump.extensions.SextanteToolboxPlugin.initialize(SextanteToolboxPlugin.java:42)
>       at
> es.unex.sextante.openjump.extensions.SextanteToolsExtension.configure(SextanteToolsExtension.java:10)
>       at
> com.vividsolutions.jump.workbench.plugin.PlugInManager.loadConfigurations(PlugInManager.java:128)
>
> === CASE (ii) =========
> When I use an Algorithm that creates a vector dataset, then I get this:
>
> java.lang.NullPointerException
>       at
> es.unex.sextante.openjump.core.OpenJUMPVectorLayer.postProcess(OpenJUMPVectorLayer.java:344)
>       at
> es.unex.sextante.core.GeoAlgorithm.postProcessOutputDataObjects(GeoAlgorithm.java:266)
>       at es.unex.sextante.core.GeoAlgorithm.execute(GeoAlgorithm.java:216)
>       at es.unex.sextante.core.GeoAlgorithm.execute(GeoAlgorithm.java:155)
>       at
> ca.ucalgary.engg.moveantools.ojplugin.testing.SextanteTestPlugIn.calculateHull(SextanteTestPlugIn.java:178)
>       at
> ca.ucalgary.engg.moveantools.ojplugin.testing.SextanteTestPlugIn.run(SextanteTestPlugIn.java:129)
>       at
> com.vividsolutions.jump.workbench.ui.task.TaskMonitorManager$TaskWrapper.run(TaskMonitorManager.java:152)
>       at java.lang.Thread.run(Thread.java:680)
> es.unex.sextante.exceptions.GeoAlgorithmExecutionException
>       at
> es.unex.sextante.core.GeoAlgorithm.postProcessOutputDataObjects(GeoAlgorithm.java:281)
>       at es.unex.sextante.core.GeoAlgorithm.execute(GeoAlgorithm.java:216)
>       at es.unex.sextante.core.GeoAlgorithm.execute(GeoAlgorithm.java:155)
>       at
> ca.ucalgary.engg.moveantools.ojplugin.testing.SextanteTestPlugIn.calculateHull(SextanteTestPlugIn.java:178)
>       at
> ca.ucalgary.engg.moveantools.ojplugin.testing.SextanteTestPlugIn.run(SextanteTestPlugIn.java:129)
>       at
> com.vividsolutions.jump.workbench.ui.task.TaskMonitorManager$TaskWrapper.run(TaskMonitorManager.java:152)
>       at java.lang.Thread.run(Thread.java:680)
> === CASE (iii) =========
> When I use an algorithm that creates a raster layer, then I get this:
>
> java.lang.NullPointerException
>       at
> es.unex.sextante.openjump.core.OpenJUMPRasterLayer.create(OpenJUMPRasterLayer.java:122)
>       at
> es.unex.sextante.openjump.core.OpenJUMPOutputFactory.getNewRasterLayer(OpenJUMPOutputFactory.java:86)
>       at
> es.unex.sextante.core.GeoAlgorithm.getNewRasterLayer(GeoAlgorithm.java:1183)
>       at
> ca.ucalgary.engg.moveantools.util.KernelDensitySextanteModifiedAlgorithm.processAlgorithm(KernelDensitySextanteModifiedAlgorithm.java:116)
>       at es.unex.sextante.core.GeoAlgorithm.execute(GeoAlgorithm.java:207)
>       at es.unex.sextante.core.GeoAlgorithm.execute(GeoAlgorithm.java:155)
>       at
> ca.ucalgary.engg.moveantools.ojplugin.hrestimator.SextanteKernelDensityPlugIn.calculateKernelDensity(SextanteKernelDensityPlugIn.java:426)
>       at
> ca.ucalgary.engg.moveantools.ojplugin.hrestimator.SextanteKernelDensityPlugIn.run(SextanteKernelDensityPlugIn.java:185)
>       at
> com.vividsolutions.jump.workbench.ui.task.TaskMonitorManager$TaskWrapper.run(TaskMonitorManager.java:152)
>       at java.lang.Thread.run(Thread.java:680)
>
>
> =================
>
> Side note: There seems to be some intelligence, not sure if that came
> with the change to OJ when MM excluded Batik and the Save as SVG
> function was "excluded" from display in the menu? When the Sextante libs
> are not added to the classpath, then the functions that use the Sextante
> (could be figured based on the import) are actually not offered in the
> menus.
>
> On reason why this all happens could also be access rights?
>
> ...
> end of record
>
> Am 26.10.12 18:46, schrieb Stefan Steiniger:
>> Hi,
>>
>> Am 26.10.12 18:12, schrieb Michaël Michaud:
>>> Hi Stefan,
>>>> Today I developed some algorithm that uses Sextante functionality. I
>>>> want to debug, but get always a null pointer exception in some Sextante
>>>> class wen calling agorithmX.execute(arg1, arg2).
>>>>
>>>> Somehow it seems like the classes are not loaded, although I have all
>>>> Sextante libs in the classpath.
>>> Wouldn't you get a ClassNotFoundException while creating algorithmX if
>>> the class was missing ?
>> true...!
>>
>>> Don't understand exactly what your environment is.
>> Well I have two projects. One to develop my toolbox and one with
>> OpenJUMP trunk. When I do OJ >only< processing (including adding menu
>> items etc), I have no problems. But when I call the .execute() I get a
>> null pointer in:
>>
>> I found my old Sextante projects with the source files some minutes ago
>> - which should allow me to better trace what is happening. But I am now
>> too tired for today to do some further digging. Maybe tomorrow. Thanks
>> for the response though!!!
>> Maybe I really need the source to do my debugging... thought it is weird.
>>
>>> By the way, did you notice that I have uploaded the latest openjump-binding
>>> to our repository (with a  ant build file and a version number 0.7alpha...
>> no, I did not see that. I will have a look.
>>
>> cheers,
>> stefan
>>
>> ------------------------------------------------------------------------------
>> WINDOWS 8 is here.
>> Millions of people.  Your app in 30 days.
>> Visit The Windows 8 Center at Sourceforge for all your go to resources.
>> http://windows8center.sourceforge.net/
>> join-generation-app-and-make-money-coding-fast/
>> _______________________________________________
>> Jump-pilot-devel mailing list
>> Jump-pilot-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>
> ------------------------------------------------------------------------------
> WINDOWS 8 is here.
> Millions of people.  Your app in 30 days.
> Visit The Windows 8 Center at Sourceforge for all your go to resources.
> http://windows8center.sourceforge.net/
> join-generation-app-and-make-money-coding-fast/
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel


------------------------------------------------------------------------------
WINDOWS 8 is here. 
Millions of people.  Your app in 30 days.
Visit The Windows 8 Center at Sourceforge for all your go to resources.
http://windows8center.sourceforge.net/
join-generation-app-and-make-money-coding-fast/
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to