import org.mxchange.jfinancials.beans.contact.FinancialsAdminContactWebRequestController;
import org.mxchange.jfinancials.beans.contact.FinancialsContactWebRequestController;
import org.mxchange.jfinancials.beans.features.FinancialsFeaturesWebApplicationController;
+import org.mxchange.jfinancials.beans.helper.FinancialsWebViewHelperController;
import org.mxchange.jfinancials.beans.user.list.FinancialsUserListWebViewController;
import org.mxchange.jusercore.events.user.add.AdminAddedUserEvent;
import org.mxchange.jusercore.events.user.add.ObservableAdminAddedUserEvent;
-import org.mxchange.jusercore.events.user.created.ObservableCreatedUserEvent;
import org.mxchange.jusercore.events.user.delete.AdminDeletedUserEvent;
import org.mxchange.jusercore.events.user.delete.ObservableAdminDeletedUserEvent;
import org.mxchange.jusercore.events.user.linked.AdminLinkedUserEvent;
@EJB (lookup = "java:global/jfinancials-ejb/adminUser!org.mxchange.jusercore.model.user.AdminUserSessionBeanRemote")
private AdminUserSessionBeanRemote adminUserBean;
+ /**
+ * Bean helper
+ */
+ @Inject
+ private FinancialsWebViewHelperController beanHelper;
+
/**
* Contact instance
*/
@Any
private Event<ObservableAdminPostUserDataUpdatedEvent> updatedUserDataEvent;
- /**
- * User instance
- */
- private User user;
-
/**
* General user EJB
*/
// Is the user name or email address used already?
// @TODO Add password length check
- if ((this.featureController.isFeatureEnabled("user_login_require_user_name")) && (this.userListController.isUserNameRegistered(newUser))) {
+ if ((this.featureController.isFeatureEnabled("user_login_require_user_name")) && (userListController.isUserNameRegistered(newUser))) {
// User name is already used
throw new FacesException(new UserNameAlreadyRegisteredException(newUser));
} else if ((this.getContact() == null) && (this.contactController.isEmailAddressRegistered(newUser.getUserContact()))) {
// Now, that all is set, call EJB
if (this.getContact() instanceof Contact) {
// Fire event
- this.userLinkedEvent.fire(new AdminLinkedUserEvent(updatedUser));
+ userLinkedEvent.fire(new AdminLinkedUserEvent(updatedUser));
} else {
// Fire event
this.addedUserEvent.fire(new AdminAddedUserEvent(updatedUser));
this.clear();
}
- /**
- * Event observer for when a bean helper has successfully created a user
- * instance, means the user exists. If the user does not exist, this event
- * should not fire but instead a proper exception must be thrown.
- * <p>
- * @param event User created event
- */
- public void afterCreatedUserEvent (@Observes final ObservableCreatedUserEvent event) {
- // Is the instance valid?
- if (null == event) {
- // Throw NPE
- throw new NullPointerException("event is null"); //NOI18N
- } else if (event.getCreatedUser() == null) {
- // Throw NPE again
- throw new NullPointerException("event.createdUser is null"); //NOI18N
- } else if (event.getCreatedUser().getUserId() == null) {
- // Throw NPE again
- throw new NullPointerException("event.createdUser.userId is null"); //NOI18N
- } else if (event.getCreatedUser().getUserId() < 1) {
- // Throw NPE again
- throw new NullPointerException(MessageFormat.format("event.createdUser.userId={0} is not valid", event.getCreatedUser().getUserId())); //NOI18N
- }
-
- // Set whole user
- this.setUser(event.getCreatedUser());
- }
-
/**
* Event observer for new user registrations
* <p>
* Deletes given user account
*/
public void deleteUserData () {
+ // Get user instance
+ final User user = this.beanHelper.getUser();
+
// Is the user instance valid and CONFIRMED?
- if (this.getUser() == null) {
+ if (null == user) {
// Throw NPE
throw new NullPointerException("user is null"); //NOI18N
- } else if (this.getUser().getUserId() == null) {
+ } else if (user.getUserId() == null) {
// Throw again
throw new NullPointerException("user.userId is null"); //NOI18N
- } else if (this.getUser().getUserId() < 1) {
+ } else if (user.getUserId() < 1) {
// Invalid id number
- throw new IllegalArgumentException(MessageFormat.format("user.userId={0} is not valid", this.getUser().getUserId())); //NOI18N
+ throw new IllegalArgumentException(MessageFormat.format("user.userId={0} is not valid", user.getUserId())); //NOI18N
}
try {
// All fine, delete it
- this.adminUserBean.deleteUser(this.getUser(), this.getUserDeleteReason());
+ this.adminUserBean.deleteUser(user, this.getUserDeleteReason());
} catch (final UserNotFoundException ex) {
// Should not happen, so throw again
throw new FacesException(ex);
}
// Fire event
- this.deleteUserEvent.fire(new AdminDeletedUserEvent(this.getUser(), this.getUserDeleteReason()));
+ this.deleteUserEvent.fire(new AdminDeletedUserEvent(user, this.getUserDeleteReason()));
}
/**
* Edits currently loaded user's data in database.
*/
public void editUserData () {
+ // Get user instance
+ final User user = this.beanHelper.getUser();
+
// Null password means not setting it
String encryptedPassword = null;
// Check if user instance is in helper and valid
- if (this.getUser() == null) {
+ if (null == user) {
// Throw NPE
throw new NullPointerException("beanHelper.user is null"); //NOI18N
- } else if (this.getUser().getUserId() == null) {
+ } else if (user.getUserId() == null) {
// Throw NPE again
throw new NullPointerException("beanHelper.user.userId is null"); //NOI18N
- } else if (this.getUser().getUserId() < 1) {
+ } else if (user.getUserId() < 1) {
// Invalid id
- throw new IllegalStateException(MessageFormat.format("beanHelper.user.userId={0} is invalid", this.getUser().getUserId())); //NOI18N
+ throw new IllegalStateException(MessageFormat.format("beanHelper.user.userId={0} is invalid", user.getUserId())); //NOI18N
} else if (this.getUserName() == null) {
// Not all required fields are set
- throw new NullPointerException("this.userName is null"); //NOI18N
+ throw new NullPointerException("userName is null"); //NOI18N
} else if (this.getUserName().isEmpty()) {
// Not all required fields are set
- throw new IllegalArgumentException("this.userName is empty"); //NOI18N
+ throw new IllegalArgumentException("userName is empty"); //NOI18N
} else if (((!this.getUserPassword().isEmpty()) || (!this.getUserPasswordRepeat().isEmpty())) && (!this.isSamePasswordEntered())) {
// Clear password fields
this.setUserPassword(null);
// Not same password entered
this.showFacesMessage("form_edit_user:userPassword", "ADMIN_USER_PASSWORD_REPEAT_DIFFERENT", FacesMessage.SEVERITY_INFO); //NOI18N
return;
- } else if ((!Objects.equals(this.getUser().getUserName(), this.getUserName())) && (this.userBean.ifUserNameExists(this.getUserName()))) {
+ } else if ((!Objects.equals(user.getUserName(), this.getUserName())) && (userBean.ifUserNameExists(this.getUserName()))) {
// Clear all fields
this.clear();
return;
} else if (this.isSamePasswordEntered()) {
// Same password entered, create container
- if ((Objects.equals(this.getUser().getUserMustChangePassword(), this.getUserMustChangePassword())) && (UserLoginUtils.ifPasswordMatches(new UserLoginContainer(this.getUser(), this.getUserPassword())))) {
+ if ((Objects.equals(user.getUserMustChangePassword(), this.getUserMustChangePassword())) && (UserLoginUtils.ifPasswordMatches(new UserLoginContainer(user, this.getUserPassword())))) {
// Clear password fields
this.setUserPassword(null);
this.setUserPasswordRepeat(null);
}
// Set user name and flag
- this.getUser().setUserName(this.getUserName());
- this.getUser().setUserMustChangePassword(this.getUserMustChangePassword());
+ user.setUserName(this.getUserName());
+ user.setUserMustChangePassword(this.getUserMustChangePassword());
// Is a password set?
if (encryptedPassword != null) {
// Set it as well
- this.getUser().setUserEncryptedPassword(encryptedPassword);
+ user.setUserEncryptedPassword(encryptedPassword);
}
// Init updated User instance
try {
// Call EJB for updating user data
- updatedUser = this.userBean.updateUserData(this.getUser());
+ updatedUser = this.userBean.updateUserData(user);
} catch (final UserNotFoundException ex) {
// Throw as cause
throw new FacesException(ex);
this.contact = contact;
}
- /**
- * Getter for user instance
- * <p>
- * @return User instance
- */
- public User getUser () {
- return this.user;
- }
-
- /**
- * Setter for user instance
- * <p>
- * @param user User instance
- */
- public void setUser (final User user) {
- this.user = user;
- }
-
/**
* Getter for user delete reason
* <p>
* @return Redirect outcome
*/
public String lockUserAccount () {
+ // Get user instance
+ final User user = this.beanHelper.getUser();
+
// Is the user instance valid and CONFIRMED?
- if (this.getUser() == null) {
+ if (null == user) {
// Throw NPE
- throw new NullPointerException("this.user is null"); //NOI18N
- } else if (this.getUser().getUserId() == null) {
+ throw new NullPointerException("user is null"); //NOI18N
+ } else if (user.getUserId() == null) {
// Throw again
- throw new NullPointerException("this.user.userId is null"); //NOI18N
- } else if (this.getUser().getUserId() < 1) {
+ throw new NullPointerException("user.userId is null"); //NOI18N
+ } else if (user.getUserId() < 1) {
// Invalid id number
- throw new IllegalArgumentException(MessageFormat.format("this.user.userId={0} is not valid", this.getUser().getUserId())); //NOI18N
- } else if (this.getUser().getUserAccountStatus() == UserAccountStatus.LOCKED) {
+ throw new IllegalArgumentException(MessageFormat.format("user.userId={0} is not valid", user.getUserId())); //NOI18N
+ } else if (user.getUserAccountStatus() == UserAccountStatus.LOCKED) {
// User account is locked
- throw new FacesException(new UserStatusLockedException(this.getUser()));
- } else if (this.getUser().getUserAccountStatus() == UserAccountStatus.UNCONFIRMED) {
+ throw new FacesException(new UserStatusLockedException(user));
+ } else if (user.getUserAccountStatus() == UserAccountStatus.UNCONFIRMED) {
// User account is locked
- throw new FacesException(new UserStatusUnconfirmedException(this.getUser()));
+ throw new FacesException(new UserStatusUnconfirmedException(user));
} else if (this.getUserLockReason() == null) {
// Throw NPE again
- throw new NullPointerException("this.userLockReason is null"); //NOI18N
+ throw new NullPointerException("userLockReason is null"); //NOI18N
} else if (this.getUserLockReason().isEmpty()) {
// Empty lock reason
- throw new IllegalArgumentException("this.userLockReason is empty"); //NOI18N
+ throw new IllegalArgumentException("userLockReason is empty"); //NOI18N
}
// Init updated user instance
final String baseUrl = FacesUtils.generateBaseUrl();
// Call EJB to lock account
- updatedUser = this.adminUserBean.lockUserAccount(this.getUser(), this.getUserLockReason(), baseUrl);
+ updatedUser = this.adminUserBean.lockUserAccount(user, this.getUserLockReason(), baseUrl);
} catch (final UserStatusLockedException | UserStatusUnconfirmedException | UserNotFoundException ex) {
// Throw again
throw new FacesException(ex);
* @return Redirect outcome
*/
public String unlockUserAccount () {
+ // Get user instance
+ final User user = this.beanHelper.getUser();
+
// Is the user instance valid and CONFIRMED?
- if (this.getUser() == null) {
+ if (null == user) {
// Throw NPE
- throw new NullPointerException("this.user is null"); //NOI18N
- } else if (this.getUser().getUserId() == null) {
+ throw new NullPointerException("user is null"); //NOI18N
+ } else if (user.getUserId() == null) {
// Throw again
- throw new NullPointerException("this.user.userId is null"); //NOI18N
- } else if (this.getUser().getUserId() < 1) {
+ throw new NullPointerException("user.userId is null"); //NOI18N
+ } else if (user.getUserId() < 1) {
// Invalid id number
- throw new IllegalArgumentException(MessageFormat.format("this.user.userId={0} is not valid", this.getUser().getUserId())); //NOI18N
- } else if (this.getUser().getUserAccountStatus() == UserAccountStatus.CONFIRMED) {
+ throw new IllegalArgumentException(MessageFormat.format("user.userId={0} is not valid", user.getUserId())); //NOI18N
+ } else if (user.getUserAccountStatus() == UserAccountStatus.CONFIRMED) {
// User account is locked
- throw new FacesException(new UserStatusConfirmedException(this.getUser()));
- } else if (this.getUser().getUserAccountStatus() == UserAccountStatus.UNCONFIRMED) {
+ throw new FacesException(new UserStatusConfirmedException(user));
+ } else if (user.getUserAccountStatus() == UserAccountStatus.UNCONFIRMED) {
// User account is locked
- throw new FacesException(new UserStatusUnconfirmedException(this.getUser()));
+ throw new FacesException(new UserStatusUnconfirmedException(user));
}
// Init updated user instance
final String baseUrl = FacesUtils.generateBaseUrl();
// Call EJB to unlock account
- updatedUser = this.adminUserBean.unlockUserAccount(this.getUser(), baseUrl);
+ updatedUser = this.adminUserBean.unlockUserAccount(user, baseUrl);
} catch (final UserStatusConfirmedException | UserStatusUnconfirmedException | UserNotFoundException ex) {
// Throw again
throw new FacesException(ex);
// Clear all data
this.setContact(null);
this.setUserDeleteReason(null);
- this.setUser(null);
this.setUserLockReason(null);
this.setUserMustChangePassword(null);
this.setUserName(null);