- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Auslesen der EntityFormData Editoren aus dem ContentStore
Hallo,
ich mรถchte รผber die Editoren der Eingabekomponenten eines Datasets (content.getDataset(entity);) iterieren.
dazu hole ich mir das FormData
FormData formData = dataProvider.getFormData();
und dann den entsprechenden Editor:
formData.getForm().findEditor(editorName).getDefaultValue();
genau hier ist mein Problem.
Als Test lese ich die Datenbank-Schemata-Vorlagen des Mithras-Projekts aus.
Bei z.B. "Produkte" (product_categories) erhalte beim Aufruf von getDefaultValue() den Wert null und ich komme logischerweise nicht an die Informationen dieses Editors (z.B. fรผr 'cs_name' der TextEditorValue)
Bei z.B. "Produktvorschlรคge" (product_offers) erhalte ich den TextEditorValue mittels 'cs_name' und alles ist gut
- Labels:
-
Developers
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Die Umstellung ist genau unser Ziel.
In erster Instanz haben wir die Nutzung der deprecated-Methoden eliminiert. Ich kann aber nicht festellen, dass eine Methode (oder Klasse) der obigenCode-Zeilen auf deprecated stehen!?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Das wird aktuell auch nicht gehen, weil es fรผr einige Zugriffe (noch) keine Alternativen gibt. Mit Vermischung meine ich, dass z. B. der TemplateStore รผber den UserService geholt wird, die inneren Daten (OptionModel) dann mit Hilfe eines Brokers. Wรผrde man sich den TemplateStore รผber einen Broker holen (Projekt-bezogen, wie oben, รผber den StoreAgent), wรคre auch der Zugriffsweg auf die OptionFactory klarer ersichtlich. Der SpecialistsBroker ersetzt benรถtigte API aus Connection, Project und UserService durch die modulare Bereitstellung von spezialisierten und funktional รผbersichtlichere Agenten. Hier ist ein einheitlicher Weg vermutlich sinnvoller, als Teile zu ersetzen.
Ich hoffe, dass jetzt ein funktionierender Weg fรผr Euer Problem an dieser Stelle gefunden wurde.
Gruร
Stefan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Habe das jetzt in der Anwendung stringent umgestezt.
Allerdings habe ich noch ein kleines initiales Problem.
Beiden Code-Stellen liefern immer null. Was amche ich hier falsch?:
SpecialistsBroker broker = (SpecialistsBroker) connection.getBroker();
storeAgent = broker.requestSpecialist(StoreAgent.TYPE);
hier ist storeAgent null.
Und wenn ich das so machen,
SpecialistsBroker broker = ((BrokerAgent) connection.getBroker().requestSpecialist(BrokerAgent.TYPE)).getBrokerByProjectName(projectName);
Dann ist broker null.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Moin,
Michael Nahberger schrieb:
Beiden Code-Stellen liefern immer null. Was amche ich hier falsch?:
SpecialistsBroker broker = (SpecialistsBroker) connection.getBroker();
storeAgent = broker.requestSpecialist(StoreAgent.TYPE);
Diese Stelle hatte ich oben schon versucht zu erklรคren. Die Connection hat nicht genรผgend Informationen, um einen StoreAgent zu liefern.
Und wenn ich das so machen,
SpecialistsBroker broker = ((BrokerAgent) connection.getBroker().requestSpecialist(BrokerAgent.TYPE)).getBrokerByProjectName(projectName);
Dann ist broker null.
Dann ist das angeforderte Projekt mit dem gegebenen Namen entweder nicht vorhanden, nicht aktiv oder es fehlen die Zugriffsrechte fรผr den Benutzer der Connection (siehe auch API-Dokumentation). Diese Stelle macht nichts anderes, als connection.getProjectByName(name);
in Eurem Code, und stellt dann eine passende Broker-Instanz bereit.
Gruร, Stefan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Kaum macht man es richtig . Jetzt funktioniert es. Danke schรถn.


- ยซ Previous
- Next ยป
- ยซ Previous
- Next ยป