BackingBean DataSource for Xpages Edit (SubscriptionPageBean.java)


/**
 * 
 * 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;
	}

}
All code submitted to OpenNTF XSnippets, whether submitted as a "Snippet" or in the body of a Comment, is provided under the Apache License Version 2.0. See Terms of Use for full details.
No comments yetLogin first to comment...