-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

SS,

Unit test is fine, but take a suggestion wrong an old coder:
println debugging has its merits and setting a break point
in your debugger to introspect some variables may save your day. ;-)

- - Sascha

Sunburned Surveyor schrieb:
> 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:
> 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
>>
- -------------------------------------------------------------------------
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
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGUfSPsrvOlFf8EzcRAiA9AJ9nPfcr+mnsAVlwzWih3nrxiYkF6gCeMzjJ
KijURjshF0FLGAX23I53haQ=
=fkd2
-----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

Reply via email to