Sascha, This is how the method was coded first, and I still got the error message. I changed it today thinking that might fix the problem.
Do you have any other ideas? The Sunburned Surveyor On 5/21/07, Sascha L. Teichmann <[EMAIL PROTECTED]> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hi, > > What about rewriting > > getRenderer(contentID).equals(null) > > as > > getRenderer(contentID) == null > > ? > > - - Sascha > > Sunburned Surveyor schrieb: > > I'm about ready to give up on this pluggable rendering system for > > OpenJUMP. :] > > > > I created JUnit tests for the two main classes involved, namely > > RendererFactory and RegularRendererFactoryTool. All the JUnit tests > > for the public methods in both the classes pass with no problems now > > that I have made some corrections to my code. > > > > I built OpenJUMP today so that I could test the modified code. > > OpenJUMP opens but gives me an error message after displaying the > > layer view. The error message is again a NullPointerException but this > > time it is coming from the render() method of the RenderingManager > > class which seems odd. > > > > The line that is generating the error mesage is this: > > > > if (getRenderer(contentID).equals(null)) > > > > This really confuses me, since it seems that we are calling the > > getRendererMethod which is defined in the same class, > > RenderingManager, that also defines the render() method that is > > throwing an exception. > > > > How can I be generating a NullPointerException from this method? If > > the NullPointerException was coming from inside the getRenderer() > > method itself, wouldn't that be indicated in the stack trace of the > > exception? > > > > I should also mention that OpenJUMP correctly renders a layer when I > > am adding a new layer to the project, but that any attempts to pan or > > zoom the Layer View result in the same NullPointerException that is > > produced when OpenJUMP first opens. > > > > I'm really lost with this one. Any help or suggestions of where to > > look for the source of this NullPointerException would be greatly > > appreciated. > > > > Thanks in advance for the help. > > > > The Sunburned Surveyor > > > > P.S. - I have attached the text will all of the statements of the > > RenderingManager.render() method if you want to take a look. > > > > > > ------------------------------------------------------------------------ > > > > public void render(Object contentID, boolean clearImageCache) { > > > > if (getRenderer(contentID).equals(null)) > > { > > /* > > * Modified this method to wrap the call to > > createRenderer() in a try/catch block. > > * [The Sunburned Surveyor 2007-05-02] > > * > > */ > > try > > { > > setRenderer(contentID, > > createRenderer(contentID)); > > } > > > > catch(ExcPluggableRendererNotFound thisException) > > { > > > > System.err.println(thisException.getMessage()); > > } > > } > > > > if (getRenderer(contentID).isRendering()) { > > getRenderer(contentID).cancel(); > > > > //It might not cancel immediately, so create a new > > Renderer [Jon > > // Aquino] > > > > /* > > * Modified this method to wrap the call to > > createRenderer() in a try/catch block. > > * [The Sunburned Surveyor 2007-05-02] > > * > > */ > > try > > { > > setRenderer(contentID, > > createRenderer(contentID)); > > } > > > > catch(ExcPluggableRendererNotFound thisException) > > { > > > > System.err.println(thisException.getMessage()); > > } > > } > > > > if (clearImageCache) { > > getRenderer(contentID).clearImageCache(); > > } > > Runnable runnable = getRenderer(contentID).createRunnable(); > > if (runnable != null) { > > // Before I would create threads that did nothing. > > Now I never do > > // that -- I just return null. A dozen threads that > > do nothing make > > // the system sluggish. [Jon Aquino] > > ((contentID instanceof Layerable && ((Layerable) > > contentID) > > > > .getBlackboard().get(USE_MULTI_RENDERING_THREAD_QUEUE_KEY, > > false)) ? > > multiRendererThreadQueue > > : > > defaultRendererThreadQueue).add(runnable); > > } > > > > if (!repaintTimer.isRunning()) { > > repaintPanel(); > > repaintTimer.start(); > > } > > } > > > > > > ------------------------------------------------------------------------ > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by DB2 Express > > Download DB2 Express C - the FREE version of DB2 express and take > > control of your XML. No limits. Just data. Click to get it now. > > http://sourceforge.net/powerbar/db2/ > > > > > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > Jump-pilot-devel mailing list > > Jump-pilot-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.2.2 (GNU/Linux) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > > iD8DBQFGUe9zsrvOlFf8EzcRAp76AJ9c67RdzncWmgt8O6U+Xy/tmti3KQCg0VOj > SWcwqwDJ9htfc9SJe1t+Ozo= > =qsZ3 > -----END PGP SIGNATURE----- > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Jump-pilot-devel mailing list > Jump-pilot-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel