Binding Problem when using updateStrategy (@Tom) [message #829369] |
Mon, 26 March 2012 07:44 |
Markus Jo 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 #832208 is a reply to message #829369] |
Thu, 29 March 2012 22:45 |
Thomas Schindl 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 |
Markus Jo 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
|
|
|
Powered by
FUDForum. Page generated in 0.02911 seconds