Debugging made easier

This tip is for those people who are using the Debug Toolbar from Mark Leusink. One of the nice things about this toolbar is the embedded logging. You can use logging by means of calling methods on a managed bean ( dbar ) or in your java code you can use the methods info,error,debug or warn. Each method writes log line to the debug (or the log db ) with the corresponding level.

Because in my current project I use this way of logging a lot and because I’m a lazy programmer I started to use code templates. In the Eclipse client it   is possible to predefine certain lines of code which are added to your editor when you type a shortcut followed by the key combo ctrl space.  The most common is the following: syso. This will be translated to System.out.println(). Obviously typing syso and hitting ctrl+space is lots quicker than typing the full line of code.

So I defined 4 new templates. dInfo, dError, dBug, dWarn. The steps to create a new template are :

1) File -> Preferences and type templates in the search box and click on Java ->Editor->Templates

templates_1

2) Press the new Button.

templates_4

3) Fill in a name (dBug, dInfo,dError or dWarn ) and past the following code

templates_3

DebugToolbar.get().info(this.getClass().toString()+”: “);

This will get an instance of the DebugToolbar class and add an info message to the log which contains the current class we are working in. *

4) Click ok, Apply, Ok and see if it works

5) Type dInfo ( or any of the other templates you created ) and hit ctrl+space. The code should be auto completed with the content you have specified in the previous step.

I hope you like this little tip. It makes your life as a developer a little easier !

 

 

 

*keep in mind that the ‘this’ keyword  wont work when you use it in a static method..

 

Working with Notes designer 9.0

IBM released their next version of Notes in public beta status on the 14th. Since then I’m busy playing around with the new client / designer on my home development box. I have to say they did a great job once again. The client starts very fast compared to the 8.5.x releases and the UI is a big change.

But what’s in for me as notes developer? And especially xPages? At first I was a bit disappointed. I opened up the designer and didn’t really saw something new. So I decided to look around on the net to see if fellow notes dev’s already played around with the designer and of course they did! I watched the excellent video on notesin9.com. I would say take a look yourself. But If you don’t want to watch a movie keep on reading. The new features in this notes designer are as follows:

  1. New Jar component in the notes designer.
    • Now you can add easily your jar files you need to the nsf by clicking on the import jar button in the following screen. Unfortunately this is only useful for xPages and can’t be used by Java agents. I hope sometime IBM decides to change this.jar
  2. Content assist in xPage source Editor!!
    • This is actually one of the best, or even the best, new feature in this version of designer. Now it is possible, when you are editing xPages using the source editor to issue type ahead. So for instance for SSJS. I haven’t been able to get it working for own Java classes yet. But I do hope there is somebody out there who knows if this is going to be possible or is possible already.
  3. Hyperlink navigation in xPage source editor
    • In default eclipse when developing Java you can ‘jump’ to another class / or its interface, by holding the CTRL key and click on it. This is very cool feature because you now can go to a separate part of your code without having to search for it in the package explorer. Finally this feature is available in the xPage source editor. How cool is that! No searching in your controls/xpage section anymore.( this is a pain when using lots of controls ).

As you can see alot of new features which will make the life of us developers a lot easier. I have to say after 3 days of playing around with the new designer I really don’t want to go back to 8.5.3 when I’m developing xPages. Because on top of all these great new features i’m noticing a big improvement in times I have to wait for my designer to become responsive again when I pressed ‘build project’.

But it’s a beta so there are some bugs! Atleast I found some.

1. I disabled ‘build automatically since this increases my productivity. When I want to see the result of my change(s) I build the project and go to my webbrowser. What I found is that somehow the build project option is disabled in the project menu. To reconstruct the issue:  Open up a database in designer.

Open a xpage/custom control in source mode.

Close the working set pane and click again the source editor.

Sometimes the build project option will be grayed out and you have to select the project again ( in the working set pane ) to be able to build.

2. Content assist does not work for Java and SSJS resources

As stated above the content assist feature is very very cool and makes it easier. But the content assist is not aware of custom classes (java) I created. It is also not aware of functions defined in included resources. I can imagine this would be a performance drain because you have to parse the SSJS libraries but it would be nice if it could be included.