/** * Defines the selected key. If the object is not in the list of values, no item gets selected. * * @param anItem the new selected item. */ public void setSelectedKey( final K anItem ) { final int oldSelectedItem = this.selectedItemIndex; final int newSelectedItem = findDataElementIndex( anItem ); if ( newSelectedItem == -1 ) { selectedItemIndex = -1; selectedItemValue = null; } else { selectedItemIndex = newSelectedItem; selectedItemValue = getElementAt( selectedItemIndex ); } if ( oldSelectedItem != this.selectedItemIndex ) { fireListDataEvent( new ListDataEvent( this, ListDataEvent.CONTENTS_CHANGED, -1, -1 ) ); } }
public void setSelectedValue( final V anItem ) { final int oldSelectedItem = this.selectedItemIndex; final int newSelectedItem = findElementIndex( anItem ); if ( newSelectedItem == -1 ) { if ( isAllowOtherValue() ) { selectedItemIndex = -1; selectedItemValue = anItem; } else { selectedItemIndex = -1; selectedItemValue = null; } } else { selectedItemIndex = newSelectedItem; selectedItemValue = getElementAt( selectedItemIndex ); } if ( oldSelectedItem != this.selectedItemIndex ) { fireListDataEvent( new ListDataEvent( this, ListDataEvent.CONTENTS_CHANGED, -1, -1 ) ); } }
@Test public void testCreateModel() throws Exception { ListParameter parameter = mock( ListParameter.class ); ParameterContext parameterContext = mock( ParameterContext.class ); ParameterValues paramValues = mock( ParameterValues.class ); doReturn( paramValues ).when( parameter ).getValues( parameterContext ); doReturn( 2 ).when( paramValues ).getRowCount(); doReturn( "key_0" ).when( paramValues ).getKeyValue( 0 ); doReturn( "key_1" ).when( paramValues ).getKeyValue( 1 ); doReturn( "val_0" ).when( paramValues ).getTextValue( 0 ); doReturn( "val_1" ).when( paramValues ).getTextValue( 1 ); KeyedComboBoxModel<Object, Object> result = DefaultParameterComponentFactory.createModel( parameter, parameterContext ); assertThat( result, is( notNullValue() ) ); assertThat( result.getSize(), is( equalTo( 2 ) ) ); assertThat( (String) result.getKeyAt( 0 ), is( equalTo( "key_0" ) ) ); assertThat( (String) result.getElementAt( 0 ), is( equalTo( "val_0" ) ) ); assertThat( (String) result.getKeyAt( 1 ), is( equalTo( "key_1" ) ) ); assertThat( (String) result.getElementAt( 1 ), is( equalTo( "val_1" ) ) ); }