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