Thursday, September 23, 2010

Another day of "sigh"

This error/exception belongs to wrong Run Configurations in the project.:



osgi> !SESSION 2010-09-23 17:05:21.083 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_20
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments: -product etdeltatm.rcp.ui.product
Command-line arguments: -product etdeltatm.rcp.ui.product -data C:\Documents and Settings\bkhanal\workspace/../runtime-etdeltatm.rcp.ui.product -dev file:C:/Documents and Settings/bkhanal/workspace/.metadata/.plugins/org.eclipse.pde.core/etdeltatm.rcp.ui.product/dev.properties -os win32 -ws win32 -arch x86 -consoleLog -console

!ENTRY org.eclipse.equinox.app 0 0 2010-09-23 17:05:22.614
!MESSAGE Product etdeltatm.rcp.ui.product could not be found.


!ENTRY org.eclipse.osgi 4 0 2010-09-23 17:05:22.661
!MESSAGE Application error
!STACK 1
java.lang.RuntimeException: No application id has been found.
at org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:236)

My setting was set with an product mode (Program to run:) , and it thus could not start. Changing the Program to run as Run as application and setting the "plugin" tabs to the default mode solved and saved the rest of day. I thought this was worth mentioning, as it was taking almost 3-4 hours of my time and googling the problems, even though there was no problem - just a mis configurations, sighhhh indeed.

Wednesday, September 22, 2010

RCP Resources: continued...

Here I will try to keep some helpful resources for the RCP development:

  • http://obscuredclarity.blogspot.com/2008/11/eclipse-rcp-tutorial-table-of-contents.html
  • http://callocorg.wordpress.com/2010/07/12/adding-eclipse-rcp-views-declaratively-into-ifolderlayout/
  • http://wiki.eclipse.org/index.php/Rich_Client_Platform
  • http://www.eclipse.org/articles/viewArticle/ViewArticle2.html
  • http://weblogs.java.net/blog/scottschram/archive/2005/03/nasa_explores_e.html
  • http://www.eclipse.org/eclipse/platform-text/development/rcp/examples/index.html
  • http://wiki.eclipse.org/Eclipse_RCP_How-to
  • http://wiki.eclipse.org/RCP_Custom_Look_and_Feel
  • http://www.eclipse.org/articles/Article-Forms/article.html
  • http://www.eclipse.org/articles/Article-Forms/article.html
  • http://help.eclipse.org/helios/index.jsp
  • http://sourceforge.net/projects/metaleclipse/
  • http://eclipse.org/community/rcp.php
  • http://www.eclipsezone.com/eclipse/forums/t53312.html
  • http://www.eclipse.org/swt/snippets/ - nice and simple examples of the tools we need.

Tuesday, September 21, 2010

org.eclipse.swt.SWTException: Invalid threadaccess - Two days of follow up and finally its done :

This exception has been nagging up the problem with creation of JFreeChart with the RCP. The reason is that its not allowed to access the UI thread directly; you have to wrap it in something like this: (Source)



new Thread(new Runnable() {
public void run() {
while (true) {
try { Thread.sleep(1000); } catch (Exception e) { }
Display.getDefault().asyncExec(new Runnable() {
public void run() {
... do any work that updates the screen ...
}
}
}
}
}).start();



Ok, but the case is different in our case in the way that we already have actionPerformed method and the update has to be perfomed after getting the value from the database every one second or so. So, in above case, we dont need to create different thread, nor we need code for the timer. So, in our project, this will look something like this:


performDbConnection();
final long f = dataBase.returnNoOfDataset();

// this will only use the current display
try
{
Display.getDefault().asyncExec (new Runnable ()
{
public void run ()
{
series.addOrUpdate(new Millisecond(), f);
}
});
}
catch(Exception E)
{
System.out.println("Exception while updating the chart dynamically: " + e.toString() + "\n");
}


The Mashable & 92Y Social Good Summit

mashable on livestream.com. Broadcast Live Free

Friday, September 17, 2010

Another great video: ICT4D failures

This was a video from Clint released at the annual IPID conference, 2010, Barcelona --

*Top 7 Reasons Why Most ICT4D Projects FAIL*





How important it is to think about all these. I will be following these points quite obviously in upcoming discussions.

Thursday, September 16, 2010

RCP + JFreeChart: PaintListener exception

When trying to create JFreeChart in RCP, I prominently ran into this exception saying as missing PaintListener:

Could not create the view: org/eclipse/swt/events/PaintListener


Later I found out that I missed to include "org.eclipse.swt" as a dependancy in JfreeChart plug-in I created before:

Which means I somehow skipped the 3.3 in the link :

http://www.vogella.de/articles/EclipseJFreeChart/article.html