]> git.mxchange.org Git - jjobs-war.git/blobdiff - src/java/org/mxchange/jjobs/beans/addressbook/JobsAddressbookWebSessionBean.java
Please cherry-pick:
[jjobs-war.git] / src / java / org / mxchange / jjobs / beans / addressbook / JobsAddressbookWebSessionBean.java
index ea674fd9ad313cf6ea61db3129709cb97490200a..c24504dd1f63a38544f7ba2c3ff153e6b089e188 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2016 Roland Haeder
+ * Copyright (C) 2016, 2017 Roland Häder
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Affero General Public License as
@@ -19,7 +19,6 @@ package org.mxchange.jjobs.beans.addressbook;
 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;
@@ -34,26 +33,27 @@ import javax.inject.Named;
 import javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-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.addressbook.model.addressbook.AddressbookSessionBeanRemote;
+import org.mxchange.jaddressbook.events.addressbook.AddressbookLoadedEvent;
+import org.mxchange.jaddressbook.events.addressbook.ObservableAddressbookLoadedEvent;
+import org.mxchange.jaddressbook.exceptions.AddressbookNameAlreadyUsedException;
+import org.mxchange.jaddressbook.exceptions.AddressbookNotFoundException;
+import org.mxchange.jaddressbook.model.addressbook.Addressbook;
+import org.mxchange.jaddressbook.model.addressbook.UserAddressbook;
+import org.mxchange.jaddressbook.model.addressbook.entry.AddressbookEntry;
+import org.mxchange.jjobs.beans.BaseJobsController;
+import org.mxchange.jjobs.beans.login.user.JobsUserLoginWebSessionController;
+import org.mxchange.jusercore.events.login.ObservableUserLoggedInEvent;
 import org.mxchange.jusercore.model.user.User;
 
 /**
  * An address book bean (controller)
  * <p>
- * @author Roland Haeder<roland@mxchange.org>
+ * @author Roland Häder<roland@mxchange.org>
  */
 @Named ("addressbookController")
 @SessionScoped
-public class JobsAddressbookWebSessionBean implements JobsAddressbookWebSessionController {
+public class JobsAddressbookWebSessionBean extends BaseJobsController implements JobsAddressbookWebSessionController {
 
        /**
         * Serial number
@@ -68,7 +68,7 @@ public class JobsAddressbookWebSessionBean implements JobsAddressbookWebSessionC
        /**
         * Remote address book bean
         */
-       private JobsAddressbookSessionBeanRemote addressbookBean;
+       private AddressbookSessionBeanRemote addressbookBean;
 
        /**
         * When this address book has been created
@@ -95,13 +95,13 @@ public class JobsAddressbookWebSessionBean implements JobsAddressbookWebSessionC
         */
        @Inject
        @Any
-       private Event<AddressbookLoadedEvent> loadedEvent;
+       private Event<ObservableAddressbookLoadedEvent> loadedEvent;
 
        /**
         * Login controller
         */
        @Inject
-       private JobsUserLoginWebSessionController loginController;
+       private JobsUserLoginWebSessionController userLoginController;
 
        /**
         * A list of all user's address books
@@ -112,23 +112,14 @@ public class JobsAddressbookWebSessionBean implements JobsAddressbookWebSessionC
         * Default constructor
         */
        public JobsAddressbookWebSessionBean () {
-               // Try it
-               try {
-                       // Get initial context
-                       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
-               } catch (final NamingException e) {
-                       // Throw again
-                       throw new FaceletException(e);
-               }
+               // Call super constructor
+               super();
        }
 
        @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) {
@@ -143,7 +134,7 @@ public class JobsAddressbookWebSessionBean implements JobsAddressbookWebSessionC
                }
 
                // 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
@@ -164,7 +155,7 @@ public class JobsAddressbookWebSessionBean implements JobsAddressbookWebSessionC
        }
 
        @Override
-       public void afterAddressbookLoadedEvent (final @Observes AddressbookLoadedEvent event) {
+       public void afterAddressbookLoadedEvent (@Observes final ObservableAddressbookLoadedEvent event) {
                // event should not be null
                if (null == event) {
                        // Throw NPE
@@ -197,18 +188,18 @@ public class JobsAddressbookWebSessionBean implements JobsAddressbookWebSessionC
        }
 
        @Override
-       public void afterLoginEvent (final @Observes UserLoggedInEvent event) {
+       public void afterLoginEvent (@Observes final ObservableUserLoggedInEvent event) {
                // Is the user logged in?
                if (null == event) {
                        // Is null
                        throw new NullPointerException("event is null"); //NOI18N
-               } else if (event.getLoggedInUser()== 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
                }
@@ -220,7 +211,7 @@ public class JobsAddressbookWebSessionBean implements JobsAddressbookWebSessionC
        @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
                }
@@ -231,7 +222,7 @@ public class JobsAddressbookWebSessionBean implements JobsAddressbookWebSessionC
        @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
                }
@@ -257,11 +248,13 @@ public class JobsAddressbookWebSessionBean implements JobsAddressbookWebSessionC
        }
 
        @Override
+       @SuppressWarnings ("ReturnOfDateField")
        public Calendar getAddressbookCreated () {
                return this.addressbookCreated;
        }
 
        @Override
+       @SuppressWarnings ("AssignmentToDateFieldFromParameter")
        public void setAddressbookCreated (final Calendar addressbookCreated) {
                this.addressbookCreated = addressbookCreated;
        }
@@ -299,7 +292,7 @@ public class JobsAddressbookWebSessionBean implements JobsAddressbookWebSessionC
        @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
                }
@@ -313,11 +306,23 @@ public class JobsAddressbookWebSessionBean implements JobsAddressbookWebSessionC
         */
        @PostConstruct
        public void init () {
+               // Try it
+               try {
+                       // Get initial context
+                       Context context = new InitialContext();
+
+                       // Try to lookup
+                       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);
+               }
+
                // Init list
                this.usersAddressbooks = new LinkedList<>();
 
                // Is the user logged-in?
-               if (this.loginController.isUserLoggedIn()) {
+               if (this.userLoginController.isUserLoggedIn()) {
                        // Initialize list
                        this.initAddressbookList();
                }
@@ -371,13 +376,13 @@ public class JobsAddressbookWebSessionBean implements JobsAddressbookWebSessionC
        @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
@@ -399,7 +404,7 @@ public class JobsAddressbookWebSessionBean implements JobsAddressbookWebSessionC
                        Addressbook a = this.addressbookBean.getAddressbookById(this.getAddressbookId());
 
                        // Fire event here
-                       this.loadedEvent.fire(new LoadedAddressbookEvent(a));
+                       this.loadedEvent.fire(new AddressbookLoadedEvent(a));
 
                        // Found it
                        isFound = true;
@@ -417,9 +422,10 @@ public class JobsAddressbookWebSessionBean implements JobsAddressbookWebSessionC
         */
        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);
        }
+
 }