view src/main/java/de/mpiwg/itgroup/ismi/util/guiComponents/FacesUtils.java @ 216:93d33f138c9e default tip

update medeniyet image server URL.
author casties
date Wed, 26 Jan 2022 16:39:32 +0100
parents 2e911857a759
children
line wrap: on
line source

package de.mpiwg.itgroup.ismi.util.guiComponents;
import javax.faces.FactoryFinder;
import javax.faces.application.Application;
import javax.faces.application.ApplicationFactory;
import javax.faces.application.FacesMessage;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.faces.el.ValueBinding;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

/**
 * JSF utilities.
 */
public class FacesUtils {
    /**
         * Get servlet context.
         *
         * @return the servlet context
         */
        public static ServletContext getServletContext() {
            return (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext();
        }
    
        public static ExternalContext getExternalContext() {
            FacesContext fc = FacesContext.getCurrentInstance();
            return fc.getExternalContext();
        }
    
        public static HttpSession getHttpSession(boolean create) {
            return (HttpSession) FacesContext.getCurrentInstance().
                    getExternalContext().getSession(create);
        }
    
        /**
         * Get managed bean based on the bean name.
         *
         * @param beanName the bean name
         * @return the managed bean associated with the bean name
         */
        public static Object getManagedBean(String beanName) {
    
            return getValueBinding(getJsfEl(beanName)).getValue(FacesContext.getCurrentInstance());
        }
    
        /**
         * Remove the managed bean based on the bean name.
         *
         * @param beanName the bean name of the managed bean to be removed
         */
        public static void resetManagedBean(String beanName) {
            getValueBinding(getJsfEl(beanName)).setValue(FacesContext.getCurrentInstance(), null);
        }
    
        /**
         * Store the managed bean inside the session scope.
         *
         * @param beanName    the name of the managed bean to be stored
         * @param managedBean the managed bean to be stored
         */
        public static void setManagedBeanInSession(String beanName, Object managedBean) {
            FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put(beanName, managedBean);
        }
    
        /**
        * Get parameter value from request scope.
        *
        * @param name the name of the parameter
        * @return the parameter value
        */
       public static String getRequestParameter(String name) {
           return (String) FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(name);
       }
   
       /**
        * Add information message.
        *
        * @param msg the information message
        */
       public static void addInfoMessage(String msg) {
           addInfoMessage(null, msg);
       }
   
       /**
        * Add information message to a specific client.
        *
        * @param clientId the client id
        * @param msg      the information message
        */
       public static void addInfoMessage(String clientId, String msg) {
           FacesContext.getCurrentInstance().addMessage(clientId, new FacesMessage(FacesMessage.SEVERITY_INFO, msg, msg));
       }
   
       /**
        * Add error message.
        *
        * @param msg the error message
        */
       public static void addErrorMessage(String msg) {
           addErrorMessage(null, msg);
       }
   
       /**
        * Add error message to a specific client.
        *
        * @param clientId the client id
        * @param msg      the error message
        */
       public static void addErrorMessage(String clientId, String msg) {
           FacesContext.getCurrentInstance().addMessage(clientId, new FacesMessage(FacesMessage.SEVERITY_ERROR, msg, msg));
       }
   
       private static Application getApplication() {
           ApplicationFactory appFactory = (ApplicationFactory) FactoryFinder.getFactory(FactoryFinder.APPLICATION_FACTORY);
           return appFactory.getApplication();
       }
   
       private static ValueBinding getValueBinding(String el) {
           return getApplication().createValueBinding(el);
       }
   
       private static HttpServletRequest getServletRequest() {
           return (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
       }
   
       private static Object getElValue(String el) {
           return getValueBinding(el).getValue(FacesContext.getCurrentInstance());
       }
   
       private static String getJsfEl(String value) {
           return "#{" + value + "}";
       }
   }