Wir haben in unserem Projekt seit Jahren einen besonderen Importer im Einsatz, der aus bestimmten Gründen nicht als CMS-Schedule modelliert wurde und bis heute sozusagen als Java stand-alone Programm seinen Dienst verrichtet.
Dieser verbindet sich programmatisch über die API mit dem CMS und erzeugt Datensätze in unseren Datenquellen - so weit so gut. Nun haben wir seit einiger Zeit ein Migrationsprojekt laufen, welches alle 4.X-Konstrukte, die nicht mehr kompatibel zu 5.X sein werden umstellen soll - auf neue Eingabekomponenten, API-Zugriffsmethodiken etc.
Nun stocken wir gerade bei der Migration unserer zentralen Hilfsmethode zum Setzen von Combox-basierten Werten:
protected void setComboboxValue(final String field, final String value, final FormData formData) {
final GomEditorProvider form = formData.getForm();
final FormField<?> formField = formData.get(masterLanguage, field);
OptionFactory optionsFactory = ((OptionFactoryProvider)form.findEditor(field)).getOptionFactory();
OptionModel optionModel = null;
Option option = null;
if (optionsFactory != null && value != null) {
optionModel = optionsFactory.getOptionModel(_us, masterLanguage, false);
for (Option currentOption : optionModel) {
if (currentOption.getValue().equals(option)) {
option = currentOption;
break;
}
}
if (option != null) {
log.info("Set '" + field + "' (combobox) with value : " + value.toString());
formField.set(option);
}
}
}
(wobei _us für den UserService steht)
Diese sozusagen nahezu umgestellte Methode hat nun noch das Problem, dass die obige Verwendung der getOptionModel als deprecated markiert ist (also in 5.X nicht mehr funktionieren wird). Andererseits weiß ich jedoch nicht, wie ich die neue Version (mit dem SpecialistBroker) außerhalb eines FS-Kontextes verwenden kann, da mir ein wie auch immer gearteter ScriptContext ja nur innerhalb von FirstSpirit zur Verfügung steht oder???
Version: 4.2.485.55118