Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » Binding Problem when using updateStrategy (@Tom)
Binding Problem when using updateStrategy (@Tom) [message #829369] Mon, 26 March 2012 07:44 Go to next message
Markus Jo is currently offline Markus JoFriend
Messages: 83
Registered: January 2012
Member
Hi Tom,
I hope you are here.

Maybe you remember our topic: http://www.eclipse.org/forums/index.php/m/798997/#msg_798997

I waited for the new stable build...its there and I installed it.

But the bug seems to be fixed only a half.

This works now:

		ISWTObservableValue disposal2StationNumberTextObsevable = WidgetProperties.text(SWT.Modify).observeDelayed(800, this.disposal2StationNumberText);


		FeaturePath featurePath = FeaturePath.fromList(
				CoachgroupPackage.Literals.COACH_GROUP__DISPOSITION_SEGMENTS,
				CoachgroupPackage.Literals.DISPOSITION_SEGMENTS__DISPOSITION_SEGMENT);


		IEMFListProperty lProp = EMFProperties.list(featurePath);
		IEMFValueProperty vProp = lProp.value(new ListElementAccess<Object>()				{

			public int getReadValueIndex(List<Object> list)
			{
				return 1;
			}

			@Override
			public int getWriteValueIndex(List<Object> list)
			{
				return WriteData.NO_INDEX;
			}
		});


		FeaturePath feature2 = FeaturePath.fromList(
				CoachgroupPackage.Literals.DISPOSITION_SEGMENT__STATION,
				BasedataPackage.Literals.STATION__LOCAL_NUMBER);

		IEMFValueProperty detailValue = vProp.value(feature2);
		IObservableValue nightRoute1StartStationNumberModelObsevable = detailValue.observeDetail(masterTreeViewerObservable);

		bindingContext.bindValue(disposal2StationNumberTextObsevable, nightRoute1StartStationNumberModelObsevable); 




But when I just change this by adding an UpdateValueStrategy, even without policyoder converter (just like in the snippet below) it does not work anymore.

		ISWTObservableValue disposal2StationNumberTextObsevable = WidgetProperties.text(SWT.Modify).observeDelayed(800, this.disposal2StationNumberText);


		FeaturePath featurePath = FeaturePath.fromList(
				CoachgroupPackage.Literals.COACH_GROUP__DISPOSITION_SEGMENTS,
				CoachgroupPackage.Literals.DISPOSITION_SEGMENTS__DISPOSITION_SEGMENT);


		IEMFListProperty lProp = EMFProperties.list(featurePath);
		IEMFValueProperty vProp = lProp.value(new ListElementAccess<Object>()				{

			public int getReadValueIndex(List<Object> list)
			{
				return 1;
			}

			@Override
			public int getWriteValueIndex(List<Object> list)
			{
				return WriteData.NO_INDEX;
			}
		});


		FeaturePath feature2 = FeaturePath.fromList(
				CoachgroupPackage.Literals.DISPOSITION_SEGMENT__STATION,
				BasedataPackage.Literals.STATION__LOCAL_NUMBER);

		IEMFValueProperty detailValue = vProp.value(feature2);
		IObservableValue nightRoute1StartStationNumberModelObsevable = detailValue.observeDetail(masterTreeViewerObservable);


		targetToModel = new UpdateValueStrategy();
		modelToTarget = new UpdateValueStrategy();

		bindingContext.bindValue(disposal2StationNumberTextObsevable, nightRoute1StartStationNumberModelObsevable, targetToModel, modelToTarget); 




You think this is another bug ? I had this somewhere else too (dont remember exactly where) but had a workaround there...so I did no matter.
Re: Binding Problem when using updateStrategy (@Tom) [message #831803 is a reply to message #829369] Thu, 29 March 2012 11:23 Go to previous messageGo to next message
Markus Jo is currently offline Markus JoFriend
Messages: 83
Registered: January 2012
Member
If someone else want to answer I would not be angry.
Re: Binding Problem when using updateStrategy (@Tom) [message #832208 is a reply to message #829369] Thu, 29 March 2012 22:45 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas SchindlFriend
Messages: 6651
Registered: July 2009
Senior Member
I'm not able to take a look at this because I'm at EclipseCon and on
holiday afterwards - please provide a complete test case and file a
bugzilla.

Tom

Am 26.03.12 03:44, schrieb Markus Jo:
> Hi Tom,
> I hope you are here.
>
> Maybe you remember our topic:
> http://www.eclipse.org/forums/index.php/m/798997/#msg_798997
>
> I waited for the new stable build...its there and I installed it.
>
> But the bug seems to be fixed only a half.
>
> This works now:
>
>
> ISWTObservableValue disposal2StationNumberTextObsevable =
> WidgetProperties.text(SWT.Modify).observeDelayed(800,
> this.disposal2StationNumberText);
>
>
> FeaturePath featurePath = FeaturePath.fromList(
>
> CoachgroupPackage.Literals.COACH_GROUP__DISPOSITION_SEGMENTS,
>
> CoachgroupPackage.Literals.DISPOSITION_SEGMENTS__DISPOSITION_SEGMENT);
>
>
> IEMFListProperty lProp = EMFProperties.list(featurePath);
> IEMFValueProperty vProp = lProp.value(new
> ListElementAccess<Object>() {
>
> public int getReadValueIndex(List<Object> list)
> {
> return 1;
> }
>
> @Override
> public int getWriteValueIndex(List<Object> list)
> {
> return WriteData.NO_INDEX;
> }
> });
>
>
> FeaturePath feature2 = FeaturePath.fromList(
> CoachgroupPackage.Literals.DISPOSITION_SEGMENT__STATION,
> BasedataPackage.Literals.STATION__LOCAL_NUMBER);
>
> IEMFValueProperty detailValue = vProp.value(feature2);
> IObservableValue nightRoute1StartStationNumberModelObsevable =
> detailValue.observeDetail(masterTreeViewerObservable);
>
> bindingContext.bindValue(disposal2StationNumberTextObsevable,
> nightRoute1StartStationNumberModelObsevable);
>
>
>
> But when I just change this by adding an UpdateValueStrategy, even
> without policyoder converter (just like in the snippet below) it does
> not work anymore.
>
> ISWTObservableValue disposal2StationNumberTextObsevable =
> WidgetProperties.text(SWT.Modify).observeDelayed(800,
> this.disposal2StationNumberText);
>
>
> FeaturePath featurePath = FeaturePath.fromList(
>
> CoachgroupPackage.Literals.COACH_GROUP__DISPOSITION_SEGMENTS,
>
> CoachgroupPackage.Literals.DISPOSITION_SEGMENTS__DISPOSITION_SEGMENT);
>
>
> IEMFListProperty lProp = EMFProperties.list(featurePath);
> IEMFValueProperty vProp = lProp.value(new
> ListElementAccess<Object>() {
>
> public int getReadValueIndex(List<Object> list)
> {
> return 1;
> }
>
> @Override
> public int getWriteValueIndex(List<Object> list)
> {
> return WriteData.NO_INDEX;
> }
> });
>
>
> FeaturePath feature2 = FeaturePath.fromList(
> CoachgroupPackage.Literals.DISPOSITION_SEGMENT__STATION,
> BasedataPackage.Literals.STATION__LOCAL_NUMBER);
>
> IEMFValueProperty detailValue = vProp.value(feature2);
> IObservableValue nightRoute1StartStationNumberModelObsevable =
> detailValue.observeDetail(masterTreeViewerObservable);
>
>
> targetToModel = new UpdateValueStrategy();
> modelToTarget = new UpdateValueStrategy();
>
> bindingContext.bindValue(disposal2StationNumberTextObsevable,
> nightRoute1StartStationNumberModelObsevable, targetToModel, modelToTarget);
>
>
>
> You think this is another bug ? I had this somewhere else too (dont
> remember exactly where) but had a workaround there...so I did no matter.
Re: Binding Problem when using updateStrategy (@Tom) [message #832660 is a reply to message #832208] Fri, 30 March 2012 12:17 Go to previous message
Markus Jo is currently offline Markus JoFriend
Messages: 83
Registered: January 2012
Member
You mean creating a bug like this one https://bugs.eclipse.org/bugs/show_bug.cgi?id=354016 ? If I register, do I have the rights to do this or do you mean something else with bugzilla ?

My Problem is, that I do not get our TestCase working anymore. I (think I) have not changed anything but always get this exception now. I tried the Patch in my big application.

Has something changed since the last stable build with these Realms ? I tried to create a own Realm, tried to set the SWT-Default-Realm, tried

Realm.runWithDefault(SWTObservables.getRealm(Display.getDefault()), new Runnable() {
			
			@Override
			public void run() {


Everything leads to the following exception.

org.eclipse.core.runtime.AssertionFailedException: null argument:Realm cannot be null
	at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:85)
	at org.eclipse.core.databinding.observable.ChangeManager.<init>(ChangeManager.java:37)
	at org.eclipse.core.databinding.observable.AbstractObservable.<init>(AbstractObservable.java:29)
	at org.eclipse.core.databinding.observable.value.AbstractObservableValue.<init>(AbstractObservableValue.java:42)
	at org.eclipse.core.internal.databinding.property.value.SimplePropertyObservableValue.<init>(SimplePropertyObservableValue.java:50)
	at org.eclipse.core.databinding.property.value.SimpleValueProperty.observe(SimpleValueProperty.java:70)
	at org.eclipse.emf.databinding.internal.EMFValuePropertyDecorator.observe(EMFValuePropertyDecorator.java:114)
	at org.eclipse.core.internal.databinding.property.ValuePropertyDetailValue.observe(ValuePropertyDetailValue.java:62)
	at org.eclipse.emf.databinding.internal.EMFValuePropertyDecorator.observe(EMFValuePropertyDecorator.java:114)
	at org.eclipse.core.internal.databinding.property.ValuePropertyDetailList.observe(ValuePropertyDetailList.java:68)
	at org.eclipse.core.databinding.property.list.ListProperty.observe(ListProperty.java:128)
	at org.eclipse.emf.databinding.internal.EMFListValueProperty.listFromDelegate(EMFListValueProperty.java:79)
	at org.eclipse.emf.databinding.internal.EMFListValueProperty.doGetValue(EMFListValueProperty.java:61)
	at org.eclipse.core.databinding.property.value.ValueProperty.getValue(ValueProperty.java:57)
	at org.eclipse.core.internal.databinding.property.value.SimplePropertyObservableValue.doGetValue(SimplePropertyObservableValue.java:98)
	at org.eclipse.core.databinding.observable.value.AbstractObservableValue.getValue(AbstractObservableValue.java:76)
	at org.eclipse.core.databinding.observable.value.DecoratingObservableValue.getValue(DecoratingObservableValue.java:98)
	at org.eclipse.core.internal.databinding.observable.masterdetail.DetailObservableValue.updateInnerObservableValue(DetailObservableValue.java:101)
	at org.eclipse.core.internal.databinding.observable.masterdetail.DetailObservableValue.<init>(DetailObservableValue.java:78)
	at org.eclipse.core.databinding.observable.masterdetail.MasterDetailObservables.detailValue(MasterDetailObservables.java:56)
	at org.eclipse.core.databinding.property.value.ValueProperty.observeDetail(ValueProperty.java:127)
	at org.eclipse.emf.databinding.internal.EMFValuePropertyDecorator.observeDetail(EMFValuePropertyDecorator.java:132)
	at org.eclipse.core.internal.databinding.property.ValuePropertyDetailValue.observe(ValuePropertyDetailValue.java:68)
	at org.eclipse.emf.databinding.internal.EMFValuePropertyDecorator.observe(EMFValuePropertyDecorator.java:114)
	at test.TestShell$5.run(TestShell.java:190)

[Updated on: Fri, 30 March 2012 12:18]

Report message to a moderator

Previous Topic:Get notified of executed command
Next Topic:Teneo broken mysql connection handling
Goto Forum:
  


Current Time: Sat Apr 27 02:23:10 GMT 2024

Powered by FUDForum. Page generated in 0.02911 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top