/** * * Program: SubscriptionPageBean.java * @AppName: DöcuContent.nsf * Created: 2014.03.13.11.11.PM * BackingBean Class to load Subscriptions data retrieved from NSF back-end to Xpages */ package com.dokoll.solutions.inc.Utils; import javax.faces.context.FacesContext; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import lotus.domino.Database; import lotus.domino.NotesException; import lotus.domino.View; import lotus.domino.ViewEntry; import lotus.domino.ViewEntryCollection; /** * @author Dököll Solutions, Inc. * @version: 2014.03.13.11.11.PM */ public class SubscriptionPageBean { // declare variables // ... public String UserName; public String FirstName; public String LastName; public String Identifyer; public String EmailAddress; public String ConfirmEmail; public String WorkPhone; public String DocDate; public String UserNameValue; public String RoleNameValue; public String MobilePhone; public String AdsType; public String ShelfLife; public String UserRoleType; public String DeliveryType; public String Body; public String PageID; public String UserIP; static String USR_SUBSCRIBE_VIEW = "SubscriptionViewAlias"; /** * @return the userName */ public String getUserName() { if (UserName.equalsIgnoreCase(UserNameValue)) { System.out.println("User Access Okay() for..." + UserName); return UserName; } else { System.out.println("User Access Okay() for..." + UserName); return UserName; } // return UserName; } /** * @param userName * the userName to set */ public void setUserName(String userName) { UserName = userName; } /** * @return the userNameValue */ public String getUserNameValue() { return UserNameValue; } /** * @param userNameValue * the userNameValue to set */ public void setUserNameValue(String userNameValue) { UserNameValue = userNameValue; } /** * @return the roleNameValue */ public String getRoleNameValue() { return RoleNameValue; } /** * @param roleNameValue * the roleNameValue to set */ public void setRoleNameValue(String roleNameValue) { RoleNameValue = roleNameValue; } /** * @return the docDate */ public String getDocDate() { if (UserName.equalsIgnoreCase(UserNameValue)) { System.out.println("User Access Okay() for..." + DocDate); return DocDate; } else { System.out.println("User Access Okay() for..." + DocDate); return DocDate; } // return DocDate; } /** * @param docDate * the docDate to set */ public void setDocDate(String docDate) { DocDate = docDate; } /** * @return the firstName */ public String getFirstName() { if (UserName.equalsIgnoreCase(UserNameValue)) { System.out.println("User Access Okay() for..." + FirstName); return FirstName; } else { System.out.println("User Access Okay() for..." + FirstName); return FirstName; } // return FirstName; } /** * @param firstName * the firstName to set */ public void setFirstName(String firstName) { FirstName = firstName; } /** * @return the lastName */ public String getLastName() { if (UserName.equalsIgnoreCase(UserNameValue)) { System.out.println("User Access Okay() for..." + LastName); return LastName; } else { System.out.println("User Access Okay() for..." + LastName); return LastName; } // return LastName; } /** * @param lastName * the lastName to set */ public void setLastName(String lastName) { LastName = lastName; } /** * @return the identifyer */ public String getIdentifyer() { if (UserName.equalsIgnoreCase(UserNameValue)) { System.out.println("User Access Okay() for..." + Identifyer); return Identifyer; } else { System.out.println("User Access Okay() for..." + Identifyer); return Identifyer; } // return Identifyer; } /** * @param identifyer * the identifyer to set */ public void setIdentifyer(String identifyer) { Identifyer = identifyer; } /** * @return the emailAddress */ public String getEmailAddress() { if (UserName.equalsIgnoreCase(UserNameValue)) { System.out.println("User Access Okay() for..." + EmailAddress); return EmailAddress; } else { System.out.println("User Access Okay() for..." + EmailAddress); return EmailAddress; } // return EmailAddress; } /** * @param emailAddress * the emailAddress to set */ public void setEmailAddress(String emailAddress) { EmailAddress = emailAddress; } /** * @return the confirmEmail */ public String getConfirmEmail() { if (UserName.equalsIgnoreCase(UserNameValue)) { System.out.println("User Access Okay() for..." + ConfirmEmail); return ConfirmEmail; } else { System.out.println("User Access Okay() for..." + ConfirmEmail); return ConfirmEmail; } // return ConfirmEmail; } /** * @param confirmEmail * the confirmEmail to set */ public void setConfirmEmail(String confirmEmail) { ConfirmEmail = confirmEmail; } /** * @return the workPhone */ public String getWorkPhone() { if (UserName.equalsIgnoreCase(UserNameValue)) { System.out.println("User Access Okay() for..." + WorkPhone); return WorkPhone; } else { System.out.println("User Access Okay() for..." + WorkPhone); return WorkPhone; } // return WorkPhone; } /** * @param workPhone * the workPhone to set */ public void setWorkPhone(String workPhone) { WorkPhone = workPhone; } /** * @return the mobilePhone */ public String getMobilePhone() { if (UserName.equalsIgnoreCase(UserNameValue)) { System.out.println("User Access Okay() for..." + MobilePhone); return MobilePhone; } else { System.out.println("User Access Okay() for..." + MobilePhone); return MobilePhone; } // return MobilePhone; } /** * @param mobilePhone * the mobilePhone to set */ public void setMobilePhone(String mobilePhone) { MobilePhone = mobilePhone; } /** * @return the adsType */ public String getAdsType() { if (UserName.equalsIgnoreCase(UserNameValue)) { System.out.println("User Access Okay() for..." + AdsType); return AdsType; } else { System.out.println("User Access Okay() for..." + AdsType); return AdsType; } // return AdsType; } /** * @param adsType * the adsType to set */ public void setAdsType(String adsType) { AdsType = adsType; } /** * @return the shelfLife */ public String getShelfLife() { if (UserName.equalsIgnoreCase(UserNameValue)) { System.out.println("User Access Okay() for..." + ShelfLife); return ShelfLife; } else { System.out.println("User Access Okay() for..." + ShelfLife); return ShelfLife; } // return ShelfLife; } /** * @param shelfLife * the shelfLife to set */ public void setShelfLife(String shelfLife) { ShelfLife = shelfLife; } /** * @return the userRoleType */ public String getUserRoleType() { if (UserName.equalsIgnoreCase(UserNameValue)) { System.out.println("User Access Okay() for..." + UserRoleType); return UserRoleType; } else { System.out.println("User Access Okay() for..." + UserRoleType); return UserRoleType; } // return UserRoleType; } /** * @param userRoleType * the userRoleType to set */ public void setUserRoleType(String userRoleType) { UserRoleType = userRoleType; } /** * @return the deliveryType */ public String getDeliveryType() { if (UserName.equalsIgnoreCase(UserNameValue)) { System.out.println("User Access Okay() for..." + DeliveryType); return DeliveryType; } else { System.out.println("User Access Okay() for..." + DeliveryType); return DeliveryType; } // return DeliveryType; } /** * @param deliveryType * the deliveryType to set */ public void setDeliveryType(String deliveryType) { DeliveryType = deliveryType; } /** * @return the body */ public String getBody() { if (UserName.equalsIgnoreCase(UserNameValue)) { System.out.println("User Access Okay() for..." + Body); return Body; } else { System.out.println("User Access Okay() for..." + Body); return Body; } // return Body; } /** * @param body * the body to set */ public void setBody(String body) { Body = body; } /** * @return the pageID */ public String getPageID() { if (UserName.equalsIgnoreCase(UserNameValue)) { System.out.println("User Access Okay() for..." + PageID); return PageID; } else { System.out.println("User Access Okay() for..." + PageID); return PageID; } // return PageID; } /** * @param pageID * the pageID to set */ public void setPageID(String pageID) { PageID = pageID; } /** * @return the userIP */ public String getUserIP() { if (UserName.equalsIgnoreCase(UserNameValue)) { System.out.println("User Access Okay() for..." + UserIP); return UserIP; } else { System.out.println("User Access Okay() for..." + UserIP); return UserIP; } // return UserIP; } /** * @param userIP * the userIP to set */ public void setUserIP(String userIP) { UserIP = userIP; } public SubscriptionPageBean() { // get userCookies FacesContext facesContext = FacesContext.getCurrentInstance(); String cookieName = null; Cookie cookie[] = ((HttpServletRequest) facesContext .getExternalContext().getRequest()).getCookies(); if (cookie != null && cookie.length > 0) { for (int i = 0; i < cookie.length; i++) { cookieName = cookie[i].getName(); if (cookieName.equals("cookieKeyUser")) { UserNameValue = cookie[i].getValue(); System.out .println("SubscriptionPageBean! Found this UserNameValue Cookie..." + UserNameValue); } if (cookieName.equals("cookieKeyRole")) { RoleNameValue = cookie[i].getValue(); System.out .println("SubscriptionPageBean! Found this RoleNameValue Cookie..." + RoleNameValue); } else System.out.println("Cookies not found..."); // TODO: Add this method to JSFUtil class, // also delete the cookies when logging out } } } /** * * Method: doLoadSubscriptions() Created from Copy: 2012.08.26.2.08.AM * Security Access Boolean for Xpages Controls (Hide/Show) code * */ public String doLoadSubscriptions() { // let's add a try catch here, to grab errors near the end try { // get the current database being used Database database = (Database) FacesContext.getCurrentInstance() .getApplication().getVariableResolver().resolveVariable( FacesContext.getCurrentInstance(), "database"); // BEGIN DEBUG System.out .println("SubscriptionPageBean.java | doLoadSubscriptions Connected to " + database); // Find the view in question View view = database.getView(USR_SUBSCRIBE_VIEW); System.out .println("SubscriptionPageBean.java | doLoadSubscriptions Connected to " + view); // determine database state for searching if (database.isFTIndexed()) database.updateFTIndex(false); else database.updateFTIndex(true); // Collect entries based on search criteria ViewEntryCollection vec = view.getAllEntries(); // MUST: Retrieve with getAllEntries as opposed to AllEntriesByKey // to avoid below NullPointerException for fields /* * Error source Page Name:/xpsubscriptionedit.xsp Exception * javax.faces.el.EvaluationException: Error getting property * 'firstName' from bean of type * com.dokoll.solutions.inc.Utils.SubscriptionPageBean: * java.lang.NullPointerException Error getting property 'firstName' * from bean of type * com.dokoll.solutions.inc.Utils.SubscriptionPageBean: * java.lang.NullPointerException */ // DEBUG ONLY: System.out.println("Cookie Value in SubscriptionPageBean " + UserNameValue); System.out .println("SubscriptionPageBean.java | ViewEntryCollection Counts Obtained..."); System.out.println("SubscriptionPageBean.java | All ViewEntries " + vec.getCount() + " Account(s)"); System.out .println("SubscriptionPageBean.java | ViewEntryCollection completed successfully..."); ViewEntry tmpentry; ViewEntry entry = vec.getFirstEntry(); // return UserName query based on results of // ViewEntryCollection... // 2014.03.16.8.04.PM while (entry != null) { UserName = entry.getDocument().getItemValueString("userID"); // DEBUG: Remove System.outs here, meant for testing returned // values from NSF back-end // System.out.println("BEGIN FIELD DEBUG | SubscriptionPageBean.java - doLoadSubscriptions accessed: " // + UserName + " for Subject Field(s) / Radio controls... "); FirstName = entry.getDocument().getItemValueString("FirstName"); // DEBUG: Remove System.outs here, meant for testing returned // values from NSF back-end // System.out // .println("SubscriptionPageBean.java - doLoadSubscriptions accessed: " // + FirstName // + " for User FirstName Field(s) / Link controls... "); LastName = entry.getDocument().getItemValueString("LastName"); // DEBUG: Remove System.outs here, meant for testing returned // values from NSF back-end // System.out // .println("SubscriptionPageBean.java - doLoadSubscriptions accessed: " // + LastName // + " for User LastName Name Field(s) / Link controls... "); Identifyer = entry.getDocument().getItemValueString( "Identifyer"); // DEBUG: Remove System.outs here, meant for testing returned // values from NSF back-end // System.out // .println("SubscriptionPageBean.java - doLoadSubscriptions accessed: " // + Identifyer // + " for User Identifyer Field(s) / Link controls... "); EmailAddress = entry.getDocument().getItemValueString( "EmailAddress"); // DEBUG: Remove System.outs here, meant for testing returned // values from NSF back-end // System.out // .println("SubscriptionPageBean.java - doLoadSubscriptions accessed: " // + EmailAddress // + " for User ConfirmEmail Field(s) / Link controls... "); ConfirmEmail = entry.getDocument().getItemValueString( "ConfirmEmail"); // DEBUG: Remove System.outs here, meant for testing returned // values from NSF back-end // System.out // .println("SubscriptionPageBean.java - doLoadSubscriptions accessed: " // + ConfirmEmail // + " for User PageName Field(s) / Link controls... "); AdsType = entry.getDocument().getItemValueString("AdsType"); // DEBUG: Remove System.outs here, meant for testing returned // values from NSF back-end // System.out // .println("SubscriptionPageBean.java - doLoadSubscriptions accessed: " // + AdsType // + " for User AdsType Field(s) / Link controls... "); DeliveryType = entry.getDocument().getItemValueString( "DeliveryType"); // DEBUG: Remove System.outs here, meant for testing returned // values from NSF back-end // System.out // .println("SubscriptionPageBean.java - doLoadSubscriptions accessed: " // + DeliveryType // + " for User DeliveryType Field(s) / Link controls... "); UserRoleType = entry.getDocument().getItemValueString( "UserRoleType"); // DEBUG: Remove System.outs here, meant for testing returned // values from NSF back-end // System.out // .println("SubscriptionPageBean.java - doLoadSubscriptions accessed: " // + UserRoleType // + " for User UserRoleType Field(s) / Link controls... "); ShelfLife = entry.getDocument().getItemValueString("ShelfLife"); // DEBUG: Remove System.outs here, meant for testing returned // values from NSF back-end // System.out // .println("SubscriptionPageBean.java - doLoadSubscriptions accessed: " // + ShelfLife // + " for User ShelfLife Field(s) / Link controls... "); MobilePhone = entry.getDocument().getItemValueString( "MobilePhone"); // DEBUG: Remove System.outs here, meant for testing returned // values from NSF back-end // System.out // .println("SubscriptionPageBean.java - doLoadSubscriptions accessed: " // + MobilePhone // + " for User MobilePhone Field(s) / Link controls... "); WorkPhone = entry.getDocument().getItemValueString("WorkPhone"); // DEBUG: Remove System.outs here, meant for testing returned // values from NSF back-end // System.out // .println("SubscriptionPageBean.java - doLoadSubscriptions accessed: " // + WorkPhone // + " for User WorkPhone Field(s) / Link controls... "); Body = entry.getDocument().getItemValueString("Body"); // DEBUG: Remove System.outs here, meant for testing returned // values from NSF back-end // System.out // .println("ENDING DEBUG | SubscriptionPageBean.java - doLoadSubscriptions accessed: " // + Body // + " for User Body Field(s) / Link controls... "); PageID = entry.getDocument().getItemValueString("PageID"); // DEBUG: Remove System.outs here, meant for testing returned // values from NSF back-end // System.out // .println("ENDING DEBUG | SubscriptionPageBean.java - doLoadSubscriptions accessed: " // + PageID // + " for User PageID Field(s) / Link controls... "); UserIP = entry.getDocument().getItemValueString("UserIP"); // DEBUG: Remove System.outs here, meant for testing returned // values from NSF back-end // System.out // .println("ENDING DEBUG | SubscriptionPageBean.java - doLoadSubscriptions accessed: " // + UserIP // + " for User UserIP Field(s) / Link controls... "); tmpentry = vec.getNextEntry(); entry.recycle(); entry = tmpentry; System.out .println("END DEBUG | SubscriptionPageBean.java - doLoadSubscriptions releasing access to controls... "); // END DEBUG } } catch (NotesException e) { System.out.println(e.id + " " + e.text); e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } return UserName; } }