DataBinding Exception

SWT Designer allows you to create the views, editors, perspectives, pref pages, composites, etc. that comprise Eclipse SWT & RCP applications and plug-ins.

Moderators: Konstantin.Scheglov, gnebling, Alexander.Mitin, jwren, Eric Clayberg

DataBinding Exception

Postby frankc01 » Sun Sep 30, 2007 4:07 am

Here is the code being called, I've ommited, the rest as it never makes it past the first BeanObservables.observeValues:

Code: Select all
   protected DataBindingContext initDataBindings()
   {
      IObservableValue contactAddress1ObserveValue = BeansObservables.observeValue(contact, "address1");
   .
   .
   .
   }


An assertion is thrown on the init of ChangeManager as it attempts to get the default Realm which is null.

This is SWT generated code so am I missing something?
frankc01
 
Posts: 28
Joined: Mon Sep 24, 2007 3:16 am

Re: DataBinding Exception

Postby Eric Clayberg » Sun Sep 30, 2007 4:21 am

frankc01 wrote:This is SWT generated code so am I missing something?

How are you initializing the realm? If you are building a simple SWT app window, you need to make sure that the realm is initialized.

You didn't post a complete example so I can't see what you might be missing.
Eric Clayberg
Software Engineering Manager
Google
http://code.google.com/webtoolkit/download.html

Author: "Eclipse Plug-ins"
http://www.qualityeclipse.com
Eric Clayberg
Moderator
 
Posts: 4503
Joined: Tue Sep 30, 2003 6:39 am
Location: Boston, MA USA

Postby frankc01 » Sun Sep 30, 2007 4:40 am

I haven't done anything to create the realm.

The snippet is from a Composite created in SWT Designer. I "attach" it to a JFace application window with no special code for Realms.

Should I initalize a Realm for the application? Is it necessary to have a separate realm per dialog/window/view/etc?

Thanks
Frank
frankc01
 
Posts: 28
Joined: Mon Sep 24, 2007 3:16 am

Postby Eric Clayberg » Sun Sep 30, 2007 6:06 am

The main entry point to the application is responsible for initializing the realm. Designer automatically generates code to initialize the realm in SWT app windows and JFace app windows that use data binding. Any Composites used within them will then use that realm.

If you are using a Composite with DB in a JFace app window that itself does not use DB, then you will need to add the realm initialization code to the JFace app window yourself.
Eric Clayberg
Software Engineering Manager
Google
http://code.google.com/webtoolkit/download.html

Author: "Eclipse Plug-ins"
http://www.qualityeclipse.com
Eric Clayberg
Moderator
 
Posts: 4503
Joined: Tue Sep 30, 2003 6:39 am
Location: Boston, MA USA

Postby frankc01 » Sun Sep 30, 2007 6:32 am

Eric,

I've generated both SWT and JFace application windows and neither show any Realm initialization, here is the JFace ApplicationWindow generated code:

Code: Select all
package org.fvjc.homeword.product.jface;

import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.action.StatusLineManager;
import org.eclipse.jface.action.ToolBarManager;
import org.eclipse.jface.window.ApplicationWindow;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class SDexample extends ApplicationWindow
{

   /**
    * Create the application window
    */
   public SDexample()
   {
      super(null);
      createActions();
      addToolBar(SWT.FLAT | SWT.WRAP);
      addMenuBar();
      addStatusLine();
   }

   /**
    * Create contents of the application window
    * @param parent
    */
   @Override
   protected Control createContents(Composite parent)
   {
      Composite container = new Composite(parent, SWT.NONE);
      //
      return container;
   }

   /**
    * Create the actions
    */
   private void createActions()
   {
      // Create the actions
   }

   /**
    * Create the menu manager
    * @return the menu manager
    */
   @Override
   protected MenuManager createMenuManager()
   {
      MenuManager menuManager = new MenuManager("menu");
      return menuManager;
   }

   /**
    * Create the toolbar manager
    * @return the toolbar manager
    */
   @Override
   protected ToolBarManager createToolBarManager(int style)
   {
      ToolBarManager toolBarManager = new ToolBarManager(style);
      return toolBarManager;
   }

   /**
    * Create the status line manager
    * @return the status line manager
    */
   @Override
   protected StatusLineManager createStatusLineManager()
   {
      StatusLineManager statusLineManager = new StatusLineManager();
      statusLineManager.setMessage(null, "");
      return statusLineManager;
   }

   /**
    * Launch the application
    * @param args
    */
   public static void main(String args[])
   {
      try
      {
         SDexample window = new SDexample();
         window.setBlockOnOpen(true);
         window.open();
         Display.getCurrent().dispose();
      } catch (Exception e)
      {
         e.printStackTrace();
      }
   }

   /**
    * Configure the shell
    * @param newShell
    */
   @Override
   protected void configureShell(Shell newShell)
   {
      super.configureShell(newShell);
      newShell.setText("New Application");
   }

   /**
    * Return the initial size of the window
    */
   @Override
   protected Point getInitialSize()
   {
      return new Point(500, 375);
   }

}
frankc01
 
Posts: 28
Joined: Mon Sep 24, 2007 3:16 am

Postby Eric Clayberg » Sun Sep 30, 2007 9:55 am

frankc01 wrote:I've generated both SWT and JFace application windows and neither show any Realm initialization, here is the JFace ApplicationWindow generated code

You aren't using any data binding in that window, so there isn't any realm to initialize.

Designer only generates the realm initialization code, if it is needed.
Eric Clayberg
Software Engineering Manager
Google
http://code.google.com/webtoolkit/download.html

Author: "Eclipse Plug-ins"
http://www.qualityeclipse.com
Eric Clayberg
Moderator
 
Posts: 4503
Joined: Tue Sep 30, 2003 6:39 am
Location: Boston, MA USA

Postby frankc01 » Sun Sep 30, 2007 10:05 am

Ok, is there an example somewhere showing this?

Do I have to generate the window or dialog containing the composite with the bindings after I create the composite?

I'm not seeing any realm initialization no matter what I do

Regards,
Frank
frankc01
 
Posts: 28
Joined: Mon Sep 24, 2007 3:16 am

Postby Eric Clayberg » Sun Sep 30, 2007 1:24 pm

frankc01 wrote:Ok, is there an example somewhere showing this?

The easiest thing to do would be to create a new SWT or JFace app window, add a couple of widgets and then add a single data binding.

As soon as there is a single data binding in the window, Designer will generate the realm initialization code. You can then use that as a template to copy into your own window.

The Eclipse Data Binding docs are also a good source of information.
Eric Clayberg
Software Engineering Manager
Google
http://code.google.com/webtoolkit/download.html

Author: "Eclipse Plug-ins"
http://www.qualityeclipse.com
Eric Clayberg
Moderator
 
Posts: 4503
Joined: Tue Sep 30, 2003 6:39 am
Location: Boston, MA USA

Postby frankc01 » Mon Oct 01, 2007 7:28 am

Here is the problem with that:

1. The composite is in a Plug-In that contains other composites as well as views, etc. that would use it
2. The Application Window is in another Plug-In that calls the plugin mentioned in #1

So, even in the designer there is an error with, say, creating a dialog box and trying to associate the Composite with Databindings.

As there is no "run" method in the dialog, which would set the realm, this presents a bit of a quandry

Any help through this would be appreciated
frankc01
 
Posts: 28
Joined: Mon Sep 24, 2007 3:16 am

Postby Eric Clayberg » Mon Oct 01, 2007 7:42 am

It sounds like you will need to manually initialize the realm when your app starts. You should be able to use code similar to the code that Designer generates, or you can do it some entirely different way (by consulting the DB docs or asking in the appropriate Eclipse newsgroup).

Keep in mind that we did not develop the DB framework, so detailed questions about how to use the DB framework should be directed to the Eclipse newsgroups or to the team that developed the DB framework.
Eric Clayberg
Software Engineering Manager
Google
http://code.google.com/webtoolkit/download.html

Author: "Eclipse Plug-ins"
http://www.qualityeclipse.com
Eric Clayberg
Moderator
 
Posts: 4503
Joined: Tue Sep 30, 2003 6:39 am
Location: Boston, MA USA

Postby frankc01 » Mon Oct 01, 2007 5:17 pm

Eric,

I realize the databinding wasn't created by your company, but the truth is I can't design a Dialog with a Composite that contains databinding references.

I suppose to get it to test I could create a test harness window in the plugin, but as I noted in the first sentence... there is an error trying to even design a dialog. For that I've included the error log below:


Code: Select all

!ENTRY com.swtdesigner 4 4 2007-10-01 21:35:38.687
!MESSAGE Designer internal error [6.4.1.20070911130912]: java.lang.reflect.InvocationTargetException
!STACK 0
java.lang.reflect.InvocationTargetException
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
   at java.lang.reflect.Constructor.newInstance(Unknown Source)
   at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSWTBeanInstance(SWTBeanInfo.java:520)
   at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSWTBeanInstance(SWTBeanInfo.java:492)
   at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createBeanInstance(SWTBeanInfo.java:614)
   at com.swtdesigner.model.swing.JavaBeanInfo.ensureBeanInstance(JavaBeanInfo.java:1185)
   at com.swtdesigner.model.swing.JavaBeanInfo.fetchDefaultValuesForPropertyDescriptors(JavaBeanInfo.java:2594)
   at com.swtdesigner.model.swing.JavaBeanInfo.initClassAndBounds(JavaBeanInfo.java:1736)
   at com.swtdesigner.model.swing.JavaBeanInfo.<init>(JavaBeanInfo.java:277)
   at com.swtdesigner.model.swt.widgets.SWTBeanInfo.<init>(SWTBeanInfo.java:78)
   at com.swtdesigner.model.swt.widgets.WidgetInfo.<init>(WidgetInfo.java:35)
   at com.swtdesigner.model.swt.widgets.control.ControlInfo.<init>(ControlInfo.java:122)
   at com.swtdesigner.model.swt.widgets.control.ScrollableInfo.<init>(ScrollableInfo.java:34)
   at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.<init>(AbstractCompositeInfo.java:106)
   at com.swtdesigner.model.swt.widgets.composite.CompositeInfo.<init>(CompositeInfo.java:42)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
   at java.lang.reflect.Constructor.newInstance(Unknown Source)
   at com.swtdesigner.model.swing.BeanUtils.createJavaBeanInfo(BeanUtils.java:643)
   at com.swtdesigner.model.parser.factory.JavaInfoFactory.create(JavaInfoFactory.java:454)
   at com.swtdesigner.model.parser.factory.JavaInfoFactory.create(JavaInfoFactory.java:95)
   at com.swtdesigner.model.parser.factory.JavaInfoFactory.create(JavaInfoFactory.java:88)
   at com.swtdesigner.model.parser.JavaInfoParser$ParserVisitor.endVisit(JavaInfoParser.java:1444)
   at org.eclipse.jdt.core.dom.ClassInstanceCreation.accept0(ClassInstanceCreation.java:336)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2523)
   at org.eclipse.jdt.core.dom.VariableDeclarationFragment.accept0(VariableDeclarationFragment.java:224)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
   at org.eclipse.jdt.core.dom.VariableDeclarationStatement.accept0(VariableDeclarationStatement.java:272)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
   at org.eclipse.jdt.core.dom.Block.accept0(Block.java:135)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2523)
   at org.eclipse.jdt.core.dom.MethodDeclaration.accept0(MethodDeclaration.java:501)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at com.swtdesigner.model.parser.JavaInfoParser$ParserVisitor.visit(JavaInfoParser.java:2993)
   at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:466)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
   at org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:213)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at com.swtdesigner.model.parser.JavaInfoParser.parse(JavaInfoParser.java:319)
   at com.swtdesigner.gef.DesignerEditor.parseCompilationUnit(DesignerEditor.java:1136)
   at com.swtdesigner.gef.DesignerEditor$21.run(DesignerEditor.java:1578)
   at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
   at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
   at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659)
   at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296)
   at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
   at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
   at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
   at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
   at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
   at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
   at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
   at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
   at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
   at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
   at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
   at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
Caused by: java.lang.NullPointerException
   at org.eclipse.core.databinding.beans.BeansObservables.observeValue(BeansObservables.java:82)
   at org.eclipse.core.databinding.beans.BeansObservables.observeValue(BeansObservables.java:64)
   at org.fvjc.homeword.ui.internal.composites.ContactComposite.initDataBindings(ContactComposite.java:166)
   at org.fvjc.homeword.ui.internal.composites.ContactComposite.<init>(ContactComposite.java:154)
   ... 74 more
Root exception:
java.lang.NullPointerException
   at org.eclipse.core.databinding.beans.BeansObservables.observeValue(BeansObservables.java:82)
   at org.eclipse.core.databinding.beans.BeansObservables.observeValue(BeansObservables.java:64)
   at org.fvjc.homeword.ui.internal.composites.ContactComposite.initDataBindings(ContactComposite.java:166)
   at org.fvjc.homeword.ui.internal.composites.ContactComposite.<init>(ContactComposite.java:154)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
   at java.lang.reflect.Constructor.newInstance(Unknown Source)
   at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSWTBeanInstance(SWTBeanInfo.java:520)
   at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSWTBeanInstance(SWTBeanInfo.java:492)
   at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createBeanInstance(SWTBeanInfo.java:614)
   at com.swtdesigner.model.swing.JavaBeanInfo.ensureBeanInstance(JavaBeanInfo.java:1185)
   at com.swtdesigner.model.swing.JavaBeanInfo.fetchDefaultValuesForPropertyDescriptors(JavaBeanInfo.java:2594)
   at com.swtdesigner.model.swing.JavaBeanInfo.initClassAndBounds(JavaBeanInfo.java:1736)
   at com.swtdesigner.model.swing.JavaBeanInfo.<init>(JavaBeanInfo.java:277)
   at com.swtdesigner.model.swt.widgets.SWTBeanInfo.<init>(SWTBeanInfo.java:78)
   at com.swtdesigner.model.swt.widgets.WidgetInfo.<init>(WidgetInfo.java:35)
   at com.swtdesigner.model.swt.widgets.control.ControlInfo.<init>(ControlInfo.java:122)
   at com.swtdesigner.model.swt.widgets.control.ScrollableInfo.<init>(ScrollableInfo.java:34)
   at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.<init>(AbstractCompositeInfo.java:106)
   at com.swtdesigner.model.swt.widgets.composite.CompositeInfo.<init>(CompositeInfo.java:42)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
   at java.lang.reflect.Constructor.newInstance(Unknown Source)
   at com.swtdesigner.model.swing.BeanUtils.createJavaBeanInfo(BeanUtils.java:643)
   at com.swtdesigner.model.parser.factory.JavaInfoFactory.create(JavaInfoFactory.java:454)
   at com.swtdesigner.model.parser.factory.JavaInfoFactory.create(JavaInfoFactory.java:95)
   at com.swtdesigner.model.parser.factory.JavaInfoFactory.create(JavaInfoFactory.java:88)
   at com.swtdesigner.model.parser.JavaInfoParser$ParserVisitor.endVisit(JavaInfoParser.java:1444)
   at org.eclipse.jdt.core.dom.ClassInstanceCreation.accept0(ClassInstanceCreation.java:336)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2523)
   at org.eclipse.jdt.core.dom.VariableDeclarationFragment.accept0(VariableDeclarationFragment.java:224)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
   at org.eclipse.jdt.core.dom.VariableDeclarationStatement.accept0(VariableDeclarationStatement.java:272)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
   at org.eclipse.jdt.core.dom.Block.accept0(Block.java:135)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2523)
   at org.eclipse.jdt.core.dom.MethodDeclaration.accept0(MethodDeclaration.java:501)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at com.swtdesigner.model.parser.JavaInfoParser$ParserVisitor.visit(JavaInfoParser.java:2993)
   at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:466)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
   at org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:213)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at com.swtdesigner.model.parser.JavaInfoParser.parse(JavaInfoParser.java:319)
   at com.swtdesigner.gef.DesignerEditor.parseCompilationUnit(DesignerEditor.java:1136)
   at com.swtdesigner.gef.DesignerEditor$21.run(DesignerEditor.java:1578)
   at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
   at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
   at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659)
   at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296)
   at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
   at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
   at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
   at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
   at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
   at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
   at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
   at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
   at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
   at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
   at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
   at org.eclipse.equinox.launcher.Main.main(Main.java:1148)

!ENTRY com.swtdesigner 4 4 2007-10-01 21:35:38.703
!MESSAGE Designer internal error [6.4.1.20070911130912]: java.lang.reflect.InvocationTargetException
!STACK 0
java.lang.reflect.InvocationTargetException
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
   at java.lang.reflect.Constructor.newInstance(Unknown Source)
   at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSWTBeanInstance(SWTBeanInfo.java:520)
   at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSWTBeanInstance(SWTBeanInfo.java:492)
   at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createBeanInstance(SWTBeanInfo.java:614)
   at com.swtdesigner.model.swing.JavaBeanInfo.ensureBeanInstance(JavaBeanInfo.java:1185)
   at com.swtdesigner.model.swing.JavaBeanInfo.getChildAccessedBy(JavaBeanInfo.java:642)
   at com.swtdesigner.model.swing.JavaBeanInfo.getChildAccessedBy(JavaBeanInfo.java:588)
   at com.swtdesigner.model.parser.JavaInfoParser$ParserVisitor.endVisit(JavaInfoParser.java:1944)
   at org.eclipse.jdt.core.dom.MethodInvocation.accept0(MethodInvocation.java:246)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2523)
   at org.eclipse.jdt.core.dom.ExpressionStatement.accept0(ExpressionStatement.java:143)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
   at org.eclipse.jdt.core.dom.Block.accept0(Block.java:135)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2523)
   at org.eclipse.jdt.core.dom.MethodDeclaration.accept0(MethodDeclaration.java:501)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at com.swtdesigner.model.parser.JavaInfoParser$ParserVisitor.visit(JavaInfoParser.java:2993)
   at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:466)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
   at org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:213)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at com.swtdesigner.model.parser.JavaInfoParser.parse(JavaInfoParser.java:319)
   at com.swtdesigner.gef.DesignerEditor.parseCompilationUnit(DesignerEditor.java:1136)
   at com.swtdesigner.gef.DesignerEditor$21.run(DesignerEditor.java:1578)
   at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
   at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
   at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659)
   at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296)
   at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
   at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
   at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
   at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
   at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
   at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
   at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
   at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
   at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
   at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
   at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
   at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
Caused by: java.lang.NullPointerException
   at org.eclipse.core.databinding.beans.BeansObservables.observeValue(BeansObservables.java:82)
   at org.eclipse.core.databinding.beans.BeansObservables.observeValue(BeansObservables.java:64)
   at org.fvjc.homeword.ui.internal.composites.ContactComposite.initDataBindings(ContactComposite.java:166)
   at org.fvjc.homeword.ui.internal.composites.ContactComposite.<init>(ContactComposite.java:154)
   ... 56 more
Root exception:
java.lang.NullPointerException
   at org.eclipse.core.databinding.beans.BeansObservables.observeValue(BeansObservables.java:82)
   at org.eclipse.core.databinding.beans.BeansObservables.observeValue(BeansObservables.java:64)
   at org.fvjc.homeword.ui.internal.composites.ContactComposite.initDataBindings(ContactComposite.java:166)
   at org.fvjc.homeword.ui.internal.composites.ContactComposite.<init>(ContactComposite.java:154)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
   at java.lang.reflect.Constructor.newInstance(Unknown Source)
   at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSWTBeanInstance(SWTBeanInfo.java:520)
   at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSWTBeanInstance(SWTBeanInfo.java:492)
   at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createBeanInstance(SWTBeanInfo.java:614)
   at com.swtdesigner.model.swing.JavaBeanInfo.ensureBeanInstance(JavaBeanInfo.java:1185)
   at com.swtdesigner.model.swing.JavaBeanInfo.getChildAccessedBy(JavaBeanInfo.java:642)
   at com.swtdesigner.model.swing.JavaBeanInfo.getChildAccessedBy(JavaBeanInfo.java:588)
   at com.swtdesigner.model.parser.JavaInfoParser$ParserVisitor.endVisit(JavaInfoParser.java:1944)
   at org.eclipse.jdt.core.dom.MethodInvocation.accept0(MethodInvocation.java:246)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2523)
   at org.eclipse.jdt.core.dom.ExpressionStatement.accept0(ExpressionStatement.java:143)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
   at org.eclipse.jdt.core.dom.Block.accept0(Block.java:135)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2523)
   at org.eclipse.jdt.core.dom.MethodDeclaration.accept0(MethodDeclaration.java:501)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at com.swtdesigner.model.parser.JavaInfoParser$ParserVisitor.visit(JavaInfoParser.java:2993)
   at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:466)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
   at org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:213)
   at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
   at com.swtdesigner.model.parser.JavaInfoParser.parse(JavaInfoParser.java:319)
   at com.swtdesigner.gef.DesignerEditor.parseCompilationUnit(DesignerEditor.java:1136)
   at com.swtdesigner.gef.DesignerEditor$21.run(DesignerEditor.java:1578)
   at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
   at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
   at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659)
   at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296)
   at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
   at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
   at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
   at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
   at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
   at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
   at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
   at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
   at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
   at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
   at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
   at org.eclipse.equinox.launcher.Main.main(Main.java:1148)

!ENTRY com.swtdesigner 4 4 2007-10-01 21:35:38.859
!MESSAGE Designer internal error [6.4.1.20070911130912]: java.lang.reflect.InvocationTargetException
!STACK 0
java.lang.reflect.InvocationTargetException
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
   at java.lang.reflect.Constructor.newInstance(Unknown Source)
   at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSWTBeanInstance(SWTBeanInfo.java:520)
   at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSWTBeanInstance(SWTBeanInfo.java:492)
   at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSingleObject(SWTBeanInfo.java:284)
   at com.swtdesigner.model.swt.widgets.control.ControlInfo.createSingleControl(ControlInfo.java:737)
   at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.createSingleControl(AbstractCompositeInfo.java:429)
   at com.swtdesigner.model.swt.widgets.control.ControlInfo.createControl(ControlInfo.java:687)
   at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.createControl(AbstractCompositeInfo.java:360)
   at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.createChildrenControls(AbstractCompositeInfo.java:410)
   at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.createControl(AbstractCompositeInfo.java:383)
   at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.createChildrenControls(AbstractCompositeInfo.java:410)
   at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.createControl(AbstractCompositeInfo.java:383)
   at com.swtdesigner.model.swt.jface.DialogInfo$DialogControl.createDialogArea(DialogInfo.java:61)
   at org.eclipse.jface.dialogs.Dialog.createContents(Dialog.java:752)
   at org.eclipse.jface.window.Window.create(Window.java:426)
   at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1081)
   at com.swtdesigner.model.swt.jface.AbstractDialogInfo.createShell(AbstractDialogInfo.java:231)
   at com.swtdesigner.model.swt.jface.AbstractDialogInfo.createGUIComponent(AbstractDialogInfo.java:299)
   at com.swtdesigner.model.JavaInfo$18.execute(JavaInfo.java:5579)
   at com.swtdesigner.model.swing.properties.custom.DesignTimeHelper.execute(DesignTimeHelper.java:54)
   at com.swtdesigner.model.JavaInfo.notifyPropertyChanged(JavaInfo.java:5574)
   at com.swtdesigner.model.JavaInfo.notifyPropertyChanged(JavaInfo.java:5556)
   at com.swtdesigner.gef.common.property.DesignerEditorPropertyComposite.handleRootNodeSelected(DesignerEditorPropertyComposite.java:662)
   at com.swtdesigner.gef.common.property.DesignerEditorPropertyComposite.updatePropertyComposite(DesignerEditorPropertyComposite.java:865)
   at com.swtdesigner.gef.DesignerEditor.parseCompilationUnit(DesignerEditor.java:1166)
   at com.swtdesigner.gef.DesignerEditor$21.run(DesignerEditor.java:1578)
   at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
   at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
   at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659)
   at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296)
   at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
   at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
   at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
   at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
   at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
   at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
   at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
   at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
   at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
   at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
   at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
   at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
Caused by: java.lang.NullPointerException
   at org.eclipse.core.databinding.beans.BeansObservables.observeValue(BeansObservables.java:82)
   at org.eclipse.core.databinding.beans.BeansObservables.observeValue(BeansObservables.java:64)
   at org.fvjc.homeword.ui.internal.composites.ContactComposite.initDataBindings(ContactComposite.java:166)
   at org.fvjc.homeword.ui.internal.composites.ContactComposite.<init>(ContactComposite.java:154)
   ... 54 more
Root exception:
java.lang.NullPointerException
   at org.eclipse.core.databinding.beans.BeansObservables.observeValue(BeansObservables.java:82)
   at org.eclipse.core.databinding.beans.BeansObservables.observeValue(BeansObservables.java:64)
   at org.fvjc.homeword.ui.internal.composites.ContactComposite.initDataBindings(ContactComposite.java:166)
   at org.fvjc.homeword.ui.internal.composites.ContactComposite.<init>(ContactComposite.java:154)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
   at java.lang.reflect.Constructor.newInstance(Unknown Source)
   at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSWTBeanInstance(SWTBeanInfo.java:520)
   at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSWTBeanInstance(SWTBeanInfo.java:492)
   at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSingleObject(SWTBeanInfo.java:284)
   at com.swtdesigner.model.swt.widgets.control.ControlInfo.createSingleControl(ControlInfo.java:737)
   at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.createSingleControl(AbstractCompositeInfo.java:429)
   at com.swtdesigner.model.swt.widgets.control.ControlInfo.createControl(ControlInfo.java:687)
   at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.createControl(AbstractCompositeInfo.java:360)
   at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.createChildrenControls(AbstractCompositeInfo.java:410)
   at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.createControl(AbstractCompositeInfo.java:383)
   at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.createChildrenControls(AbstractCompositeInfo.java:410)
   at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.createControl(AbstractCompositeInfo.java:383)
   at com.swtdesigner.model.swt.jface.DialogInfo$DialogControl.createDialogArea(DialogInfo.java:61)
   at org.eclipse.jface.dialogs.Dialog.createContents(Dialog.java:752)
   at org.eclipse.jface.window.Window.create(Window.java:426)
   at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1081)
   at com.swtdesigner.model.swt.jface.AbstractDialogInfo.createShell(AbstractDialogInfo.java:231)
   at com.swtdesigner.model.swt.jface.AbstractDialogInfo.createGUIComponent(AbstractDialogInfo.java:299)
   at com.swtdesigner.model.JavaInfo$18.execute(JavaInfo.java:5579)
   at com.swtdesigner.model.swing.properties.custom.DesignTimeHelper.execute(DesignTimeHelper.java:54)
   at com.swtdesigner.model.JavaInfo.notifyPropertyChanged(JavaInfo.java:5574)
   at com.swtdesigner.model.JavaInfo.notifyPropertyChanged(JavaInfo.java:5556)
   at com.swtdesigner.gef.common.property.DesignerEditorPropertyComposite.handleRootNodeSelected(DesignerEditorPropertyComposite.java:662)
   at com.swtdesigner.gef.common.property.DesignerEditorPropertyComposite.updatePropertyComposite(DesignerEditorPropertyComposite.java:865)
   at com.swtdesigner.gef.DesignerEditor.parseCompilationUnit(DesignerEditor.java:1166)
   at com.swtdesigner.gef.DesignerEditor$21.run(DesignerEditor.java:1578)
   at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
   at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
   at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659)
   at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296)
   at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
   at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
   at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
   at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
   at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
   at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
   at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
   at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
   at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
   at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
   at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
   at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
frankc01
 
Posts: 28
Joined: Mon Sep 24, 2007 3:16 am

Postby Eric Clayberg » Mon Oct 01, 2007 5:50 pm

I tried a simple example of a JFace Dialog using DB and a Composite using DB and it worked fine. I added the realm initialization code to the dialog as I suggested earlier and it worked fine at runtime. I did not encounter any exeptions at design time either.

Since the exception you posted in pointing to your code, we will need to see a real test case in order to reproduce the problem and suggest a fix.

I also noticed that you are using a build from three weeks ago, so I would suggest using the latest Designer build as well.
Eric Clayberg
Software Engineering Manager
Google
http://code.google.com/webtoolkit/download.html

Author: "Eclipse Plug-ins"
http://www.qualityeclipse.com
Eric Clayberg
Moderator
 
Posts: 4503
Joined: Tue Sep 30, 2003 6:39 am
Location: Boston, MA USA

Postby frankc01 » Mon Oct 01, 2007 6:25 pm

Eric,

I've upgraded to the more recent stable version.

Could you post the example Realm initialization you used for your sample?

And where do I go to put in a "request" to add capabilities to SWT Designer? Clearly, adding arbitrary databindings is probably not the long term solution and I would like to suggest a developers "use case" to be considered into your requirements activities.
frankc01
 
Posts: 28
Joined: Mon Sep 24, 2007 3:16 am

Postby frankc01 » Mon Oct 01, 2007 7:08 pm

Some more observations:

In order to avoid the errors I encountered, you have to have an instantiated object that is used in the databinding assignments during design activity, otherwise including the composite will fail.

This object instance is used during design and "preview" mode.
frankc01
 
Posts: 28
Joined: Mon Sep 24, 2007 3:16 am

Postby Eric Clayberg » Mon Oct 01, 2007 7:10 pm

frankc01 wrote:Could you post the example Realm initialization you used for your sample?

Here it is...

Code: Select all
import org.eclipse.core.databinding.DataBindingContext;
import org.eclipse.core.databinding.observable.Realm;
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;

public class DialogWithDB extends Dialog {

   private Text text_1;
   private Text text;
   public DialogWithDB(Shell parentShell) {
      super(parentShell);
   }
   
   public static void main(String args[])  {
      Display display = Display.getDefault();
      Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() {
         public void run() {
            try {
               DialogWithDB window = new DialogWithDB(null);
               window.setBlockOnOpen(true);
               window.open();
               Display.getCurrent().dispose();
            } catch (Exception e) {
               e.printStackTrace();
            }
         }
      });
   }

   protected Control createDialogArea(Composite parent) {
      Composite container = (Composite) super.createDialogArea(parent);
      final GridLayout gridLayout = new GridLayout();
      gridLayout.numColumns = 2;
      container.setLayout(gridLayout);

      text = new Text(container, SWT.BORDER);
      text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));

      text_1 = new Text(container, SWT.BORDER);
      text_1.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));

      final CompositeWithDB compositeWithDB = new CompositeWithDB(container, SWT.BORDER);
      compositeWithDB.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));
      //
      return container;
   }

   protected void createButtonsForButtonBar(Composite parent) {
      createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL,
            true);
      createButton(parent, IDialogConstants.CANCEL_ID,
            IDialogConstants.CANCEL_LABEL, false);
      initDataBindings();
   }

   protected Point getInitialSize() {
      return new Point(500, 375);
   }
   protected DataBindingContext initDataBindings() {
      IObservableValue textTextObserveWidget = SWTObservables.observeText(text, SWT.Modify);
      IObservableValue text_1TextObserveWidget = SWTObservables.observeText(text_1, SWT.Modify);
      //
      DataBindingContext bindingContext = new DataBindingContext();
      //
      bindingContext.bindValue(textTextObserveWidget, text_1TextObserveWidget, null, null);
      //
      return bindingContext;
   }
}

import org.eclipse.core.databinding.DataBindingContext;
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;

public class CompositeWithDB extends Composite {

   private Text text_1;
   private Text text;
   public CompositeWithDB(Composite parent, int style) {
      super(parent, style);
      final GridLayout gridLayout = new GridLayout();
      gridLayout.numColumns = 2;
      setLayout(gridLayout);

      text = new Text(this, SWT.BORDER);
      text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));

      text_1 = new Text(this, SWT.BORDER);
      text_1.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
      initDataBindings();
      //
   }
   protected DataBindingContext initDataBindings() {
      IObservableValue text_1TextObserveWidget = SWTObservables.observeText(text_1, SWT.Modify);
      IObservableValue textTextObserveWidget = SWTObservables.observeText(text, SWT.Modify);
      //
      DataBindingContext bindingContext = new DataBindingContext();
      //
      bindingContext.bindValue(textTextObserveWidget, text_1TextObserveWidget, null, null);
      //
      return bindingContext;
   }
}

frankc01 wrote:And where do I go to put in a "request" to add capabilities to SWT Designer?

Here or wb-support@instantiations.com.
Eric Clayberg
Software Engineering Manager
Google
http://code.google.com/webtoolkit/download.html

Author: "Eclipse Plug-ins"
http://www.qualityeclipse.com
Eric Clayberg
Moderator
 
Posts: 4503
Joined: Tue Sep 30, 2003 6:39 am
Location: Boston, MA USA


Return to SWT Designer

Who is online

Users browsing this forum: No registered users and 2 guests