public ObjectDetailForm()

in src/main/java/org/apache/directory/fortress/web/panel/ObjectDetailPanel.java [104:352]


        public ObjectDetailForm( String id, final IModel<PermObj> model )
        {
            super( id, model );
            add( addPB = new SecureIndicatingAjaxButton( GlobalIds.ADD, GlobalIds.ADMIN_MGR, "addPermObj" )
            {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;


                @Override
                protected void onSubmit( AjaxRequestTarget target )
                //protected void onSubmit( AjaxRequestTarget target, Form form )
                {
                    LOG.debug( ".onSubmit Add" );
                    PermObj permObj = ( PermObj ) getForm().getModel().getObject();
                    permObj.setAdmin( isAdmin );
                    try
                    {
                        adminMgr.addPermObj( permObj );
                        component = editForm;
                        SaveModelEvent.send( getPage(), this, permObj, target, SaveModelEvent.Operations.ADD );
                        String msg = "Perm objName: " + permObj.getObjName() + " has been added";
                        display.setMessage( msg );
                    }
                    catch ( org.apache.directory.fortress.core.SecurityException se )
                    {
                        String error = ".onSubmit caught SecurityException=" + se;
                        LOG.error( error );
                        display.setMessage( error );
                        display.display();
                    }
                }


                @Override
                public void onError( AjaxRequestTarget target )
                //public void onError( AjaxRequestTarget target, Form form )
                {
                    LOG.info( "ObjectDetailPanel.add.onError caught" );
                    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 );
                }
            } );
            add( new SecureIndicatingAjaxButton( GlobalIds.COMMIT, GlobalIds.ADMIN_MGR, "updatePermObj" )
            {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;


                @Override
                protected void onSubmit( AjaxRequestTarget target )
                //protected void onSubmit( AjaxRequestTarget target, Form form )
                {
                    LOG.debug( ".onSubmit Commit" );
                    //PermObj permObj = ( PermObj ) form.getModel().getObject();
                    PermObj permObj = ( PermObj ) getForm().getModel().getObject();
                    permObj.setAdmin( isAdmin );
                    try
                    {
                        adminMgr.updatePermObj( permObj );
                        String msg = "PermObject objName: " + permObj.getObjName() + " has been updated";
                        SaveModelEvent.send( getPage(), this, permObj, target, SaveModelEvent.Operations.UPDATE );
                        component = editForm;
                        display.setMessage( msg );
                    }
                    catch ( org.apache.directory.fortress.core.SecurityException se )
                    {
                        String error = ".onSubmit caught SecurityException=" + se;
                        LOG.error( error );
                        display.setMessage( error );
                        display.display();
                    }
                }


                @Override
                public void onError( AjaxRequestTarget target )
                //public void onError( AjaxRequestTarget target, Form form )
                {
                    LOG.warn( "ObjectDetailPanel.commit.onError" );
                }


                @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 );
                }
            } );
            add( new SecureIndicatingAjaxButton( GlobalIds.DELETE, GlobalIds.ADMIN_MGR, "deletePermObj" )
            {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;


                @Override
                protected void onSubmit( AjaxRequestTarget target )
                //protected void onSubmit( AjaxRequestTarget target, Form form )
                {
                    LOG.debug( ".onSubmit Commit" );
                    PermObj permObj = ( PermObj ) getForm().getModel().getObject();
                    permObj.setAdmin( isAdmin );
                    try
                    {
                        adminMgr.deletePermObj( permObj );
                        clearDetailFields();
                        String msg = "PermObject objName: " + permObj.getObjName() + " has been deleted";
                        SaveModelEvent.send( getPage(), this, permObj, target, SaveModelEvent.Operations.DELETE );
                        component = editForm;
                        display.setMessage( msg );
                    }
                    catch ( org.apache.directory.fortress.core.SecurityException se )
                    {
                        String error = ".onSubmit caught SecurityException=" + se;
                        LOG.error( error );
                        display.setMessage( error );
                        display.display();
                    }
                }


                @Override
                public void onError( AjaxRequestTarget target )
                {
                    LOG.warn( "ObjectDetailPanel.delete.onError" );
                }


                @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 );
                }
            } );
            add( new AjaxSubmitLink( GlobalIds.CANCEL )
            {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;


                @Override
                protected void onSubmit( AjaxRequestTarget target )
                {
                    clearDetailFields();
                    String msg = "Object cancelled input form";
                    component = editForm;
                    display.setMessage( msg );
                }


                @Override
                public void onError( AjaxRequestTarget target )
                {
                    LOG.warn( "ObjectDetailPanel.cancel.onError" );
                }


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

            if ( isAdmin )
            {
                add( new Label( "objAssignmentsLabel", "Administrative Permission Object Detail" ) );
            }
            else
            {
                add( new Label( "objAssignmentsLabel", "RBAC Permission Object Detail" ) );
            }

            objNameTF = new TextField( "objName" );
            add( objNameTF );
            objNameTF.setRequired( false );
            TextField type = new TextField( "type" );
            add( type );
            TextField description = new TextField( "description" );
            description.setRequired( false );
            add( description );
            type.setRequired( false );
            Label internalId = new Label( "internalId" );
            add( internalId );
            ouTF = new TextField( "ou" );
            // making this required prevents the modals from opening:
            //ouTF.setRequired( true );
            ouTF.setOutputMarkupId( true );
            add( ouTF );
            addOUSearchModal();
        }