private void initializeModel(PropertyAccessor accessor, SelectionProvider selectionProvider) { Select annotation = accessor.getAnnotation(Select.class); if(selectionProvider == null) { if (annotation != null) { Object[] values = annotation.values(); String[] labels = annotation.labels(); assert(values.length == labels.length); DefaultSelectionProvider sp = new DefaultSelectionProvider(accessor.getName(), 1); for(int i = 0; i < values.length; i++) { sp.appendRow(values[i], labels[i], true); } selectionModel = sp.createSelectionModel(); displayMode = annotation.searchDisplayMode(); } } else { displayMode = selectionProvider.getSearchDisplayMode(); if(displayMode == null && annotation != null) { displayMode = annotation.searchDisplayMode(); } } if(displayMode == null) { displayMode = SearchDisplayMode.DROPDOWN; } selectionModelIndex = 0; comboLabel = getText("elements.field.select.select", label ); notSetLabel = getText("elements.search.select.notset", label ); autocompleteId = id + AUTOCOMPLETE_SUFFIX; autocompleteInputName = inputName + AUTOCOMPLETE_SUFFIX; }
private void initializeModel(PropertyAccessor accessor, SelectionProvider selectionProvider) { Select annotation = accessor.getAnnotation(Select.class); if(selectionProvider == null) { if (annotation != null) { Object[] values = annotation.values(); String[] labels = annotation.labels(); assert(values.length == labels.length); DefaultSelectionProvider sp = new DefaultSelectionProvider(accessor.getName(), 1); for(int i = 0; i < values.length; i++) { sp.appendRow(values[i], labels[i], true); } selectionModel = sp.createSelectionModel(); displayMode = annotation.searchDisplayMode(); } } else { displayMode = selectionProvider.getSearchDisplayMode(); if(displayMode == null && annotation != null) { displayMode = annotation.searchDisplayMode(); } } if(displayMode == null) { displayMode = SearchDisplayMode.DROPDOWN; } selectionModelIndex = 0; comboLabel = getText("elements.field.select.select", label ); notSetLabel = getText("elements.search.select.notset", label ); autocompleteId = id + AUTOCOMPLETE_SUFFIX; autocompleteInputName = inputName + AUTOCOMPLETE_SUFFIX; }