Я вызываю это ImportCommandAction
, которое определяется как publi c class ImportCommandAction <D extends ActionDefinition> extends AbstractVersionAction<D>
как действие на странице. Пользовательское действие импорта имеет свой собственный класс VersionName и переопределяет метод getBeanItemClass (). Каждый раз, когда я вызываю этот класс, я получаю в журнале запись
WARN magnolia.ui.form.field.factory.AbstractFieldFactory: BeanItem не имеет никакого свойства для id versionName, возвращая свойство по умолчанию.
Я не понимаю этого предупреждения и к какому идентификатору относится ui.form.field.factory.AbstractFieldFactory
. Класс открывает диалоговую форму и перечисляет все версии (коммиты) и внутренний репозиторий git.
Код класса:
public ImportCommandAction(
D definition, AppContext appContext, LocationController locationController,
UiContext uiContext, FormDialogPresenter formDialogPresenter,
AbstractJcrNodeAdapter nodeAdapter, SimpleTranslator i18n,
ContentConnector contentConnector)
{
super(definition, locationController, uiContext, formDialogPresenter, i18n);
this.nodeAdapter = nodeAdapter;
this.appContext = appContext;
this.dialogID = "ui-contentapp:code:ImportCommandAction.selectVersion";
this.contentConnector = contentConnector;
}
@Override
protected Class getBeanItemClass() {
return VersionName.class;
}
@Override
protected FormDialogDefinition buildNewComponentDialog()
throws ActionExecutionException, RepositoryException {
ConfiguredFormDefinition form = new ConfiguredFormDefinition();
ConfiguredTabDefinition tab = new ConfiguredTabDefinition();
tab.setName("versions");
SelectFieldDefinition select = new SelectFieldDefinition();
select.setName(VersionName.PROPERTY_NAME_VERSION_NAME);
select.setSortOptions(false);
tab.addField(select); //more code follows
}
@Override
protected Node getNode() throws RepositoryException {
return nodeAdapter.getJcrItem();
}
protected String getVersionName() {
return (String) getItem()
.getItemProperty(VersionName.PROPERTY_NAME_VERSION_NAME)
.getValue();
}
/**
* Simple POJO used to access user selection from dialog,
* see {@link com.vaadin.data.util.BeanItem}.
*/
protected class VersionName {
protected final static String PROPERTY_NAME_VERSION_NAME = "versionName";
private String versionName;
public String getVersionName() {
return versionName;
}
public void setVersionName(String versionName) {
this.versionName = versionName;
}
}
}