All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sf.itcb.common.web.vaadin.PageMappingProcessorWindow Maven / Gradle / Ivy

Go to download

This module is the common portlet module. It defines the base on which the developements can be done by extending view, edit or help mode.

The newest version!
package net.sf.itcb.common.web.vaadin;

import javax.portlet.PortletMode;
import javax.portlet.PortletRequest;
import javax.servlet.ServletRequest;

import net.sf.itcb.common.web.exceptions.WebItcbException;
import net.sf.itcb.common.web.exceptions.WebItcbExceptionMappingErrors;
import net.sf.itcb.common.web.vaadin.page.PageMappingProcessor;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.vaadin.terminal.Terminal;
import com.vaadin.terminal.gwt.server.ChangeVariablesErrorEvent;
import com.vaadin.ui.Window;

/**
 * An extension of Window with a pageMappingProcessor embedded.
 * This window can be used to add a subwindow with pages mecanism
 * 
 * This window doesn't make uri change in order to keep uri changes only in main window
 * @author Pierre Le Roux
 */
public class PageMappingProcessorWindow extends Window {
	
	private static final long serialVersionUID = 1L;
	
	protected final Logger log = LoggerFactory.getLogger(getClass());
	
	/**
	 * The current {@link PageMappingProcessor} used by window
	 */
	protected PageMappingProcessor windowPageMappingProcessor;
	
	public void setPageMappingProcessor(PageMappingProcessor pageMappingProcessor) {
		this.windowPageMappingProcessor=pageMappingProcessor;
	}
	
	public PageMappingProcessor getPageMappingProcessor() {
		return windowPageMappingProcessor;
	}
		
	/**
	 * Common method called on init request.
* Spring configuration is loaded such as the PageMappingProcessor associated to the {@link PortletMode} (in portal context) * or to the itcbmode request parameter (in servlet context) * @param originalPageMappingProcessor */ public void initWindow(PageMappingProcessor originalPageMappingProcessor) { windowPageMappingProcessor.setApplication(originalPageMappingProcessor.getApplication()); windowPageMappingProcessor.setWindow(this); Object originalRequest = originalPageMappingProcessor.getRequest(); if(originalRequest instanceof PortletRequest) { windowPageMappingProcessor.setInitRequest((PortletRequest)originalPageMappingProcessor.getRequest()); windowPageMappingProcessor.setInitRequest(originalPageMappingProcessor.getPortalAdapter().getOriginalServletRequest()); } else if(originalRequest instanceof ServletRequest) { windowPageMappingProcessor.setInitRequest((ServletRequest)originalPageMappingProcessor.getRequest()); } try { windowPageMappingProcessor.displayDefaultPage(); } catch (Exception e) { WebItcbException WebItcbException = new WebItcbException(WebItcbExceptionMappingErrors.COMMON_PORTLET_LOADING_PAGE, e.getMessage(), e); Terminal.ErrorEvent errorEvent = new ChangeVariablesErrorEvent(this, WebItcbException, null); windowPageMappingProcessor.handleError(errorEvent); } log.debug("End initItcb"); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy