import java.text.MessageFormat;
import java.util.Calendar;
import java.util.Collections;
-import java.util.GregorianCalendar;
import java.util.LinkedList;
import java.util.List;
import java.util.Objects;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
+import org.mxchange.addressbook.model.addressbook.AddressbookSessionBeanRemote;
+import org.mxchange.jaddressbookcore.events.addressbook.AddressbookLoadedEvent;
+import org.mxchange.jaddressbookcore.events.addressbook.LoadedAddressbookEvent;
+import org.mxchange.jaddressbookcore.exceptions.AddressbookNameAlreadyUsedException;
+import org.mxchange.jaddressbookcore.exceptions.AddressbookNotFoundException;
+import org.mxchange.jaddressbookcore.model.addressbook.Addressbook;
+import org.mxchange.jaddressbookcore.model.addressbook.UserAddressbook;
+import org.mxchange.jaddressbookcore.model.addressbook.entry.AddressbookEntry;
+import org.mxchange.jjobs.beans.BaseJobsController;
import org.mxchange.jjobs.beans.login.JobsUserLoginWebSessionController;
-import org.mxchange.jjobs.events.addressbook.AddressbookLoadedEvent;
-import org.mxchange.jjobs.events.addressbook.LoadedAddressbookEvent;
-import org.mxchange.jjobs.exceptions.AddressbookNameAlreadyUsedException;
-import org.mxchange.jjobs.exceptions.AddressbookNotFoundException;
-import org.mxchange.jjobs.model.addressbook.Addressbook;
-import org.mxchange.jjobs.model.addressbook.JobsAddressbookSessionBeanRemote;
-import org.mxchange.jjobs.model.addressbook.UserAddressbook;
-import org.mxchange.jjobs.model.addressbook.entry.AddressbookEntry;
import org.mxchange.jusercore.events.login.UserLoggedInEvent;
import org.mxchange.jusercore.model.user.User;
*/
@Named ("addressbookController")
@SessionScoped
-public class JobsAddressbookWebSessionBean implements JobsAddressbookWebSessionController {
+public class JobsAddressbookWebSessionBean extends BaseJobsController implements JobsAddressbookWebSessionController {
/**
* Serial number
/**
* Remote address book bean
*/
- private JobsAddressbookSessionBeanRemote addressbookBean;
+ private AddressbookSessionBeanRemote addressbookBean;
/**
* When this address book has been created
* Login controller
*/
@Inject
- private JobsUserLoginWebSessionController loginController;
+ private JobsUserLoginWebSessionController userLoginController;
/**
* A list of all user's address books
Context context = new InitialContext();
// Try to lookup
- this.addressbookBean = (JobsAddressbookSessionBeanRemote) context.lookup("java:global/jjobs-ejb/jjobs-adr!org.mxchange.jjobs.model.addressbook.JobsAddressbookSessionBeanRemote"); //NOI18N
+ this.addressbookBean = (AddressbookSessionBeanRemote) context.lookup("java:global/jjobs-ejb/jjobs-adr!org.mxchange.jjobs.model.addressbook.JobsAddressbookSessionBeanRemote"); //NOI18N
} catch (final NamingException e) {
// Throw again
throw new FaceletException(e);
@Override
public String addAddressbook () {
// Is this name already used?
- if (!this.loginController.isUserLoggedIn()) {
+ if (!this.userLoginController.isUserLoggedIn()) {
// Not logged in
throw new FaceletException("This method can only be called as logged-in user."); //NOI18N
} else if (this.getAddressbookName() == null) {
}
// Create address book instance with name
- Addressbook book = new UserAddressbook(this.getAddressbookName(), this.loginController.getLoggedInUser(), new GregorianCalendar());
+ Addressbook book = new UserAddressbook(this.getAddressbookName(), this.userLoginController.getLoggedInUser());
try {
// Register this address book
}
@Override
- public void afterAddressbookLoadedEvent (final @Observes AddressbookLoadedEvent event) {
+ public void afterAddressbookLoadedEvent (@Observes final AddressbookLoadedEvent event) {
// event should not be null
if (null == event) {
// Throw NPE
}
@Override
- public void afterLoginEvent (final @Observes UserLoggedInEvent event) {
+ public void afterLoginEvent (@Observes final UserLoggedInEvent event) {
// Is the user logged in?
if (null == event) {
// Is null
} else if (event.getLoggedInUser()== null) {
// user is null
throw new NullPointerException("event.user is null"); //NOI18N
- } else if (!event.getLoggedInUser().equals(this.loginController.getLoggedInUser())) {
+ } else if (!event.getLoggedInUser().equals(this.userLoginController.getLoggedInUser())) {
// Not matching
- throw new IllegalStateException("event.user and loginController.loggedInUser don't match."); //NOI18N
- } else if (!this.loginController.isUserLoggedIn()) {
+ throw new IllegalStateException("event.user and userLoginController.loggedInUser don't match."); //NOI18N
+ } else if (!this.userLoginController.isUserLoggedIn()) {
// Not logged in
throw new FaceletException("This method can only be called as logged-in user."); //NOI18N
}
@Override
public List<Addressbook> allAddressbooks () {
// Is the user logged in?
- if (!this.loginController.isUserLoggedIn()) {
+ if (!this.userLoginController.isUserLoggedIn()) {
// Not logged in
throw new FaceletException("This method can only be called as logged-in user."); //NOI18N
}
@Override
public List<AddressbookEntry> allEntries (final Addressbook addressbook) {
// Is the user logged in?
- if (!this.loginController.isUserLoggedIn()) {
+ if (!this.userLoginController.isUserLoggedIn()) {
// Not logged in
throw new FaceletException("This method can only be called as logged-in user."); //NOI18N
}
}
@Override
+ @SuppressWarnings ("ReturnOfDateField")
public Calendar getAddressbookCreated () {
return this.addressbookCreated;
}
@Override
+ @SuppressWarnings ("AssignmentToDateFieldFromParameter")
public void setAddressbookCreated (final Calendar addressbookCreated) {
this.addressbookCreated = addressbookCreated;
}
@Override
public boolean hasCreatedAddressbooks () {
// Is the user logged in?
- if (!this.loginController.isUserLoggedIn()) {
+ if (!this.userLoginController.isUserLoggedIn()) {
// Not logged in
throw new FaceletException("This method can only be called as logged-in user."); //NOI18N
}
this.usersAddressbooks = new LinkedList<>();
// Is the user logged-in?
- if (this.loginController.isUserLoggedIn()) {
+ if (this.userLoginController.isUserLoggedIn()) {
// Initialize list
this.initAddressbookList();
}
@Override
public boolean isOwnAddressbook () {
// Is the user logged in?
- if (!this.loginController.isUserLoggedIn()) {
+ if (!this.userLoginController.isUserLoggedIn()) {
// No, then no own address book
throw new IllegalStateException("isOwnAddressbook() has been invoked for a guest account"); //NOI18N
}
// Is same user?
- return Objects.equals(this.getAddressbookUser(), this.loginController.getLoggedInUser());
+ return Objects.equals(this.getAddressbookUser(), this.userLoginController.getLoggedInUser());
}
@Override
*/
private void initAddressbookList () {
// Get user instance
- User user = this.loginController.getLoggedInUser();
+ User user = this.userLoginController.getLoggedInUser();
// Fill list with entries
this.usersAddressbooks = this.addressbookBean.getUsersAddressbookList(user);