Java: Ofte brugte ‘XSP’ funktioner

1379532132_source_javaI Java Beans har jeg ofte brug for adgang til URL’en, currentDocument eller de forskellige scope variable (session, request, applicatiion og view). Til dette bruger jeg nednestående lille klasse. Bemærk at DominoUtils klassen også indeholder en del nyttige funktioner.

package dk.xpages;

import java.util.Map;
import javax.faces.context.FacesContext;
import lotus.domino.Database;
import lotus.domino.Session;
import com.ibm.domino.xsp.module.nsf.NotesContext;
import com.ibm.xsp.designer.context.XSPContext;
import com.ibm.xsp.designer.context.XSPUrl;
import com.ibm.xsp.model.domino.wrapped.DominoDocument;

public class XSPUtils {

	public static XSPUrl getUrl() {
		return XSPContext.getXSPContext(FacesContext.getCurrentInstance()).getUrl();
	}

	public static String getUrlParameter( String key) {
		return getUrl().getParameter(key);
	}

	public static Object getVariableValue(String varName) {
		FacesContext context = FacesContext.getCurrentInstance();
		return context.getApplication().getVariableResolver().resolveVariable(context, varName);
	}

	public static Session getSessionAsSigner() {
		NotesContext nc = NotesContext.getCurrentUnchecked();
		return (null != nc) ? nc.getSessionAsSignerFullAdmin() : null;
	}

	public static Session getCurrentSession() {
		return (Session) getVariableValue("session");
	}

	public static Database getCurrentDatabase() {
		return (Database) getVariableValue("database");
	}

	public static DominoDocument getCurrentDocument() {
		return (DominoDocument) getVariableValue("currentDocument");
	}

	@SuppressWarnings("unchecked")
	public static Map<String, Object> getSessionScope() {
		return (Map<String, Object>) getVariableValue("sessionScope");
	}

	@SuppressWarnings("unchecked")
	public static Map<String, Object> getApplicationScope() {
		return (Map<String, Object>) getVariableValue("applicationScope");
	}

	@SuppressWarnings("unchecked")
	public static Map<String, Object> getViewScope() {
		return (Map<String, Object>) getVariableValue("viewScope");
	}

	@SuppressWarnings("unchecked")
	public static Map<String, Object> getRequestScope() {
		return (Map<String, Object>) getVariableValue("requestScope");
	}

}

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

*