in src/main/java/org/apache/directory/fortress/web/panel/ObjectListPanel.java [87:196]
public ObjectListPanel( String id, final boolean isAdmin )
{
super( id );
ObjectListModel objectListModel = new ObjectListModel( new PermObj( "" ), isAdmin,
SecUtils.getSession( this ) );
setDefaultModel( objectListModel );
addGrid();
radioGroup = new RadioGroup( "searchOptions", new PropertyModel( this, "selectedRadioButton" ) );
add( radioGroup );
Radio objectRb = new Radio( "objectRb", new Model( Character.valueOf( NAMES ) ) );
radioGroup.add( objectRb );
Radio ouRb = new Radio( "ouRb", new Model( Character.valueOf( OUS ) ) );
radioGroup.add( ouRb );
addOUSearchModal( ouRb );
radioGroup.setOutputMarkupId( true );
radioGroup.setRenderBodyOnly( false );
searchValFld = new TextField( GlobalIds.SEARCH_VAL, new PropertyModel<String>( this, GlobalIds.SEARCH_VAL ) );
searchValFld.setOutputMarkupId( true );
AjaxFormComponentUpdatingBehavior ajaxUpdater = new AjaxFormComponentUpdatingBehavior( GlobalIds.ONBLUR )
{
/** Default serialVersionUID */
private static final long serialVersionUID = 1L;
@Override
protected void onUpdate( final AjaxRequestTarget target )
{
target.add( searchValFld );
}
};
searchValFld.add( ajaxUpdater );
radioGroup.add( searchValFld );
this.listForm.add( radioGroup );
selectedRadioButton = NAMES;
this.listForm.add( new SecureIndicatingAjaxButton( GlobalIds.SEARCH, GlobalIds.REVIEW_MGR, "findPermObjs" )
{
/** Default serialVersionUID */
private static final long serialVersionUID = 1L;
@Override
protected void onSubmit( AjaxRequestTarget target )
{
LOG.debug( ".search.onSubmit selected radio button: " + selectedRadioButton );
info( "Searching Permission Objects..." );
if ( !StringUtils.isNotEmpty( searchVal ) )
{
searchVal = "";
}
PermObj srchObject = new PermObj();
switch ( selectedRadioButton )
{
case NAMES:
LOG.debug( ".onSubmit OBJECT RB selected" );
srchObject.setObjName( searchVal );
break;
case OUS:
LOG.debug( ".onSubmit OUS RB selected" );
srchObject.setOu( searchVal );
break;
}
setDefaultModel( new ObjectListModel( srchObject, isAdmin,
SecUtils.getSession( this ) ) );
treeModel.reload();
rootNode.removeAllChildren();
List<PermObj> permObjs = ( List<PermObj> ) getDefaultModelObject();
if ( CollectionUtils.isNotEmpty( permObjs ) )
{
for ( PermObj permObj : permObjs )
rootNode.add( new DefaultMutableTreeNode( permObj ) );
info( "Search returned " + permObjs.size() + " matching objects" );
}
else
{
info( "No matching objects found" );
}
target.add( grid );
}
@Override
public void onError( AjaxRequestTarget target )
{
LOG.warn( ".search.onError" );
target.add();
}
@Override
protected void updateAjaxAttributes( AjaxRequestAttributes attributes )
{
super.updateAjaxAttributes( attributes );
AjaxCallListener ajaxCallListener = new AjaxCallListener()
{
/** Default serialVersionUID */
private static final long serialVersionUID = 1L;
@Override
public CharSequence getFailureHandler( Component component )
{
return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML;
}
};
attributes.getAjaxCallListeners().add( ajaxCallListener );
}
} );
}