package net.techreadiness.customer.action.task.youraccount.update;
import java.util.List;
import net.techreadiness.service.common.ValidationError;
import net.techreadiness.service.exception.ServiceException;
import net.techreadiness.service.exception.ValidationServiceException;
import net.techreadiness.ui.action.task.youraccount.YourAccountTaskFlowAction;
import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
import com.opensymphony.xwork2.Action;
@Results({ @Result(name = Action.SUCCESS, type = "redirect", location = "/task/youraccount/update/password"),
@Result(name = Action.ERROR, type = "lastAction", params = { "actionName", "password" }) })
public class SavePasswordAction extends YourAccountTaskFlowAction {
private static final long serialVersionUID = 1L;
private String password;
private String confirmPassword;
@Override
public String execute() {
if (StringUtils.isEmpty(password)) {
addFieldError("password", getText("change.password.required"));
}
if (StringUtils.isEmpty(confirmPassword)) {
addFieldError("confirmPassword", getText("change.confirm.password.required"));
}
try {
userService.changePassword(getServiceContext(), getServiceContext().getUserName(), password, confirmPassword);
} catch (ValidationServiceException e) {
List<ValidationError> errors = e.getFaultInfo().getAttributeErrors();
for (ValidationError validationError : errors) {
addActionError(validationError.getOnlineMessage());
}
} catch (ServiceException se) {
addActionError("Problem updating password");
}
if (hasErrors()) {
return ERROR;
}
return SUCCESS;
}
public void setPassword(String password) {
this.password = password;
}
public String getPasswor() {
return password;
}
public void setConfirmPassword(String confirmPassword) {
this.confirmPassword = confirmPassword;
}
public String getConfirmPassword() {
return confirmPassword;
}
}