private void addObjectSearchModal()

in src/main/java/org/apache/directory/fortress/web/panel/PermDetailPanel.java [446:525]


        private void addObjectSearchModal()
        {
            final ModalWindow objectsModalWindow;
            add( objectsModalWindow = new ModalWindow( "objectsmodal" ) );
            final ObjectSearchModalPanel objectSearchModalPanel = new ObjectSearchModalPanel(
                objectsModalWindow.getContentId(), objectsModalWindow, isAdmin );
            objectsModalWindow.setContent( objectSearchModalPanel );
            objectsModalWindow.setWindowClosedCallback( new ModalWindow.WindowClosedCallback()
            {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;


                @Override
                public void onClose( AjaxRequestTarget target )
                {
                    PermObj permObj = objectSearchModalPanel.getSelection();
                    if ( permObj != null )
                    {
                        Permission perm = ( Permission ) editForm.getModel().getObject();
                        perm.setObjName( permObj.getObjName() );
                        target.add( objectTF );
                    }
                }
            } );

            add( new AjaxButton( "objName.search" )
            {
                private static final long serialVersionUID = 1L;


                @Override
                protected void onSubmit( AjaxRequestTarget target )
                {
                    String msg = "clicked on ObjectNames search";
                    Permission perm = ( Permission ) editForm.getModel().getObject();
                    msg += perm.getObjName() != null ? ": " + perm.getObjName() : "";
                    objectSearchModalPanel.setSearchVal( perm.getObjName() );
                    objectSearchModalPanel.setAdmin( isAdmin );
                    display.setMessage( msg );
                    LOG.debug( msg );
                    target.prependJavaScript( GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE );
                    objectsModalWindow.show( target );
                }


                @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 );
                }
            } );

            String modalLabel;
            if ( isAdmin )
            {
                modalLabel = "Admin Permission Object Selection Modal";
            }
            else
            {
                modalLabel = "RBAC Permission Object Selection Modal";
            }
            objectsModalWindow.setTitle( modalLabel );
            objectsModalWindow.setInitialWidth( 700 );
            objectsModalWindow.setInitialHeight( 450 );
            objectsModalWindow.setCookieName( "objects-modal" );
        }