public PwPolicyDetailForm()

in src/main/java/org/apache/directory/fortress/web/panel/PwPolicyDetailPanel.java [93:350]


        public PwPolicyDetailForm( String id, final IModel<PwPolicy> model )
        {
            super( id, model );

            add( new SecureIndicatingAjaxButton( GlobalIds.ADD, GlobalIds.PWPOLICY_MGR, GlobalIds.ADD )
            {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;


                @Override
                protected void onSubmit( AjaxRequestTarget target )
                {
                    LOG.debug( ".onSubmit Add" );
                    PwPolicy policy = ( PwPolicy ) getForm().getModel().getObject();
                    try
                    {
                        policy.setCheckQuality( ( short ) 2 );
                        pwPolicyMgr.add( policy );
                        SaveModelEvent.send( getPage(), this, policy, target, SaveModelEvent.Operations.ADD );
                        component = editForm;
                        String msg = "Policy: " + policy.getName() + " 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 )
                {
                    LOG.info( "PwPolicyPanel.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.PWPOLICY_MGR, "update" )
            {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;


                @Override
                protected void onSubmit( AjaxRequestTarget target )
                {
                    LOG.debug( ".onSubmit Commit" );
                    PwPolicy policy = ( PwPolicy ) getForm().getModel().getObject();
                    try
                    {
                        pwPolicyMgr.update( policy );
                        String msg = "Policy: " + policy.getName() + " has been updated";
                        SaveModelEvent.send( getPage(), this, policy, 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 )
                {
                    LOG.warn( "PwPolicyPanel.update.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.PWPOLICY_MGR, GlobalIds.DELETE )
            {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;


                @Override
                protected void onSubmit( AjaxRequestTarget target )
                {
                    LOG.debug( ".onSubmit Commit" );
                    PwPolicy role = ( PwPolicy ) getForm().getModel().getObject();

                    try
                    {
                        pwPolicyMgr.delete( role );
                        Form form = getForm();
                        form.setModelObject( new PwPolicy() );
                        modelChanged();
                        String msg = "Role: " + role.getName() + " has been deleted";
                        SaveModelEvent.send( getPage(), this, role, 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( "PwPolicyPanel.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 AjaxSubmitLink( GlobalIds.CANCEL )
            {
                /** Default serialVersionUID */
                private static final long serialVersionUID = 1L;


                @Override
                protected void onSubmit( AjaxRequestTarget target )
                {
                    setModelObject( new PwPolicy() );
                    modelChanged();
                    component = editForm;
                    String msg = "Role cancelled input form";
                    display.setMessage( msg );
                }


                @Override
                public void onError( AjaxRequestTarget target )
                {
                    LOG.warn( "ControlPanel.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 );
                }
            } );

            add( new TextField( "name" ).setRequired( true ) );

            add( new TextField<Integer>( "minAge" ).add( new RangeValidator<>( 0, Integer.MAX_VALUE ) )
                .setRequired( true ) );

            add( new TextField<Long>( "maxAge" ).add( new RangeValidator<>( ( long ) 0, Long.MAX_VALUE ) )
                .setRequired( true ) );
            final Spinner<Integer> inHistorySP = new Spinner<>( "inHistory" );
            inHistorySP.setRequired( false );
            inHistorySP.add( new RangeValidator<>( ( short ) 0, ( short ) 100 ) );
            add( inHistorySP );

            final Spinner<Integer> minLengthSP = new Spinner<>( "minLength" );
            minLengthSP.setRequired( false );
            minLengthSP.add( new RangeValidator<>( ( short ) 0, ( short ) 100 ) );
            add( minLengthSP );

            add( new TextField<Long>( "expireWarning" ).add( new RangeValidator<>( ( long ) 0, Long.MAX_VALUE ) )
                .setRequired( true ) );
            final Spinner<Integer> graceLoginLimitSP = new Spinner<>( "graceLoginLimit" );
            graceLoginLimitSP.setRequired( false );
            graceLoginLimitSP.add( new RangeValidator<>( ( short ) 0, ( short ) 100 ) );
            add( graceLoginLimitSP );

            add( new CheckBox( "lockout" ).setRequired( true ) );
            add( new TextField<Integer>( "lockoutDuration" ).add( new RangeValidator<>( 0, Integer.MAX_VALUE ) )
                .setRequired( true ) );
            final Spinner<Integer> maxFailureSP = new Spinner<>( "maxFailure" );
            maxFailureSP.setRequired( false );
            maxFailureSP.add( new RangeValidator<>( ( short ) 0, ( short ) 100 ) );
            add( maxFailureSP );

            add( new TextField<Short>( "failureCountInterval" ).add(
                new RangeValidator<>( ( short ) 0, Short.MAX_VALUE ) ).setRequired( true ) );
            add( new CheckBox( "mustChange" ).setRequired( true ) );
            add( new CheckBox( "allowUserChange" ).setRequired( true ) );
            add( new CheckBox( "safeModify" ).setRequired( true ) );
            setOutputMarkupId( true );
        }