From: Stefan S. <ss...@ge...> - 2012-10-27 00:53:52
|
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 > Jum...@li... > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > |