Autor Thema: PropertyBroker.getProperty liefert null zurück  (Gelesen 3069 mal)

Sebastianh

  • Gast
PropertyBroker.getProperty liefert null zurück
« am: 17.08.10 - 10:23:32 »
Hallo,

ich habe eine CA und ein PlugIn in der Sidebar. Nun möchte ich, dass diese beiden kommunizieren. Nehmen wir der Einfachheit halber an, ich gebe in der Sidebar einen Wert ein, der auf Knopfdruck an den Propertybroker übertragen werden soll, und auf einen Knopfdruck in der CA in einer View in dieser angezeigt werden soll. Nun habe ich inzwischen allerlei gelesen von WSDL, Actions, und eben diesem PropertyBroker. Wenn ich in der Sidebar eine Property wie folgt anlege:
Code
final PropertyValue value = PBUtil.createPropertyValue("SampleNsfProperty", "SampleNsfPropertyValue");
SWTHelper.changedProperties(new PropertyValue[]{value}, SideBarView.this); 
mit PBUtil.createPropertyValue:
Code
public static PropertyValue createPropertyValue(String propertyName, String propertyValue){
		PropertyBroker broker = null;
		broker = PropertyBrokerFactory.getBroker();
		try {
			Property prop = PropertyFactory.createProperty();
			return PropertyFactory.createPropertyValue(prop, propertyValue);
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}

und dann via
Code
PropertyBroker broker = null;
Property newProp = null;
try{
	broker = PropertyBrokerFactory.getBroker();
	newProp = broker.getProperty(XMLNS_XSD, propertyName);
...

auf die Property zugreifen will, bekomme ich null zurück.

Wie komme ich denn nun an meine gesetzte Property (oder geht dies ausschliesslich über den WSDL/Action-Weg)?

Sebastianh

  • Gast
Re: PropertyBroker.getProperty liefert null zurück
« Antwort #1 am: 17.08.10 - 10:30:42 »
ok, der Namespace war falsch gesetzt, mein Fehler, aber..wenn ich jetzt die Property "zurück geholt" habe, und auf dieser
Code
getDefaultValue()
aufrufe, bekomme ich wiederrum null zurück. Wie komme ich denn jetzt an die Daten der Property, die ich gesetzt habe?

Sebastianh

  • Gast
Re: PropertyBroker.getProperty liefert null zurück
« Antwort #2 am: 17.08.10 - 10:41:41 »
Property-Objekte die über
Code
broker.getProperty(x,y);
zurückkommen, sehen im Debugger IMMER so aus:
Code
---Property---
name = sampleProperty
type = string
namespace = http://www.w3.org/2001/XMLSchema
class = java.lang.String
direction = OUT
title key = 
description key = 
nls file name = null
content type = {}
context data = {}
------

obwohl ich vorher wie oben gezeigt, einen Wert zugewiesen habe. Sollte dieser jetzt nicht in "context data" stehen?

Sebastianh

  • Gast
Re: PropertyBroker.getProperty liefert null zurück
« Antwort #3 am: 17.08.10 - 15:25:46 »
ok, inzwischen habe ich eine WSDL angelegt, eine Action und Sidebar und View im CAE miteinander verbunden. Die Action löst aber nicht aus. Sollte die execute Methode der Action nicht aufgerufen werden, sobald
Code
SWTHelper.changedProperties(...);
aufgerufen wurde?

Sebastianh

  • Gast
Re: PropertyBroker.getProperty liefert null zurück
« Antwort #4 am: 18.08.10 - 15:19:10 »
inzwischen habe ich rausgefunden, dass ich in der entsprechenden View an den PropertyBroker einen PropertyBrokerListener hängen kann, und dieser feuert sofort, wenn sich was ändert. Von dem mitgeliefertem Event kann man dann das zu übertragende Objekt bekommen. Ist zwar nicht wirklich schön, zunächst tut es aber das was es soll.

Code
broker.addPropertyBrokerListener(new PropertyBrokerListener() {
	public void handleEvent(PropertyBrokerEvent arg0) {
		if (arg0 instanceof PropertyBrokerEvent) {
                    PropertyValue value = arg0.getPropertyValue(); 
                    Object v = value.getValue();

(trotzdem würde ich ganz gerne die Sache mit den Actions, Wires und Co irgendwie hinbekommen, also falls noch jemand einen Tip hat, wäre ich dankbar)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz