public function execute() { $passwordBuilder = new PasswordBuilder(); $passwordBuilder->specifyPassword($this->password); $passwordBuilder->processChangedPassword($this->encoderFactory->getEncoder($this->user)); $changeRequest = CredentialChangeRequest::forPassword($this->user, $passwordBuilder->getEncodedPassword(), $passwordBuilder->getSalt(), $_SERVER['REMOTE_ADDR'], time()); $this->repository->insertCredentialChangeRequest($changeRequest); $this->dispatcher->dispatch(CantigaEvents::USER_CREDENTIAL_CHANGE, new CredentialChangeEvent($changeRequest)); }