gt: 					DetalleUnidadModal detalleModal = new DetalleUnidadModal();
context: package ar.com.mutual.frontEnd.emision.view;
  
  import javax.annotation.PostConstruct;
  
  import org.apache.log4j.Logger;
  
  import com.vaadin.data.Property.ValueChangeEvent;
  import com.vaadin.data.Property.ValueChangeListener;
  import com.vaadin.navigator.View;
  import com.vaadin.navigator.ViewChangeListener.ViewChangeEvent;
  import com.vaadin.server.FontAwesome;
  import com.vaadin.spring.annotation.SpringView;
  import com.vaadin.spring.annotation.UIScope;
  import com.vaadin.ui.Alignment;
  import com.vaadin.ui.Button;
  import com.vaadin.ui.HorizontalLayout;
  import com.vaadin.ui.Notification;
  import com.vaadin.ui.Notification.Type;
  import com.vaadin.ui.Panel;
  import com.vaadin.ui.UI;
  import com.vaadin.ui.VerticalLayout;
  import com.vaadin.ui.Button.ClickEvent;
  import com.vaadin.ui.Button.ClickListener;
  import com.vaadin.ui.Window.CloseEvent;
  import com.vaadin.ui.Window.CloseListener;
  
  import ar.com.mutual.bean.cartera.vista.VCertificadosGlobales;
  import ar.com.mutual.bean.cartera.vista.VCertificadosIndividuales;
  import ar.com.mutual.bean.seguridad.Usuario;
  import ar.com.mutual.frontEnd.customComponent.LayoutPrincipal;
  import ar.com.mutual.frontEnd.emision.modal.CambioPlanModal;
  import ar.com.mutual.frontEnd.emision.modal.DetalleEmpresaModal;
  import ar.com.mutual.frontEnd.emision.modal.DetalleUnidadModal;
  import ar.com.mutual.frontEnd.emision.tables.TableEmpresas;
  import ar.com.mutual.frontEnd.emision.tables.TableUnidades;
  
  @SpringView(name = EmisionView.VIEW_NAME)
  @UIScope
  public class EmisionView extends LayoutPrincipal implements View {
  
  	/**
  	 * 
  	 */
  	private static final long serialVersionUID = -3938697961212214490L;
  
  	public static final String VIEW_NAME = "emisionView";
  	
  	private static final Logger log = Logger.getLogger(EmisionView.class);
  	
  	//Variables de la pantalla
  	String titulo = new String("Emision");
  	TableUnidades tblUnidades = new TableUnidades();
  	TableEmpresas tblEmpresas = new TableEmpresas();
  	
  	Button btnVerDetallesEmpresa = new Button("Ver Detalles");
  	Button btnImprimirFrenteEmpresa = new Button("Imprimir Frente");
  	Button btnAgregarUnidadesEmpresa = new Button("Agregar Unidades");
  	
  	Button btnVerDetallesUnidades = new Button("Ver Detalles");
  	Button btnImprimirFrenteUnidades = new Button("Imprimir Frente");
  	Button btnCambiarPlan = new Button("Cambiar Plan");
  	Button btnSuspenderUnidad = new Button("Suspender Unidad");
  	Button btnActivarUnidad = new Button("Activar Unidad");
  	
  	Button btnEmitir = new Button("Emitir");
  	
  	@PostConstruct
  	public void init(){
  		super.init();
  		
  		initComponents();
  		
  		//Seteo los listener para los botones
  		setListener();
  		
  		setTitulo(titulo);
  	}
  	
  	@Override
  	public void enter(ViewChangeEvent event) {
  		if (event.getNavigator().getUI().getSession().getAttribute("usuario") != null) {
  			setUsuario((Usuario) event.getNavigator().getUI().getSession().getAttribute("usuario"));
  	
  			setMenu();
  		} else {
  			regresoLogin(event.getNavigator().getUI());
  		}
  	}
  
  	public void initComponents(){
  
  		VerticalLayout layout = new VerticalLayout();
  		layout.setSpacing(true);
  		layout.setSizeFull();
  		
  		//--------------------------------------------------------------------------
  		Panel panelEmpresas = new Panel();
  		
  		VerticalLayout lytEmpresas = new VerticalLayout();
  		lytEmpresas.setMargin(true);
  		lytEmpresas.setSpacing(true);
  		lytEmpresas.setSizeFull();
  		
  		HorizontalLayout lytBotoneraEmpresas = new HorizontalLayout();
  		lytBotoneraEmpresas.setSpacing(true);
  		
  		tblEmpresas.populate();
  		tblEmpresas.setPageLength(8);
  		lytEmpresas.addComponent(tblEmpresas); 
  		
  		btnVerDetallesEmpresa.setIcon(FontAwesome.SEARCH_PLUS);
  		lytBotoneraEmpresas.addComponent(btnVerDetallesEmpresa);
  		lytBotoneraEmpresas.setComponentAlignment(btnVerDetallesEmpresa, Alignment.MIDDLE_RIGHT);
  		
  		btnImprimirFrenteEmpresa.setIcon(FontAwesome.PRINT);
  		lytBotoneraEmpresas.addComponent(btnImprimirFrenteEmpresa);
  		lytBotoneraEmpresas.setComponentAlignment(btnImprimirFrenteEmpresa, Alignment.MIDDLE_RIGHT);
  		
  		btnAgregarUnidadesEmpresa.setIcon(FontAwesome.PLUS);
  		lytBotoneraEmpresas.addComponent(btnAgregarUnidadesEmpresa);
  		lytBotoneraEmpresas.setComponentAlignment(btnAgregarUnidadesEmpresa, Alignment.MIDDLE_RIGHT);
  		
  		
  		lytEmpresas.addComponent(lytBotoneraEmpresas);
  		lytEmpresas.setComponentAlignment(lytBotoneraEmpresas, Alignment.MIDDLE_RIGHT);
  		
  		panelEmpresas.setContent(lytEmpresas);
  		
  		layout.addComponent(panelEmpresas);
  		
  		//--------------------------------------------------------------------------
  		Panel panelUnidades = new Panel();
  		
  		VerticalLayout lytUnidades = new VerticalLayout();
  		lytUnidades.setMargin(true);
  		lytUnidades.setSpacing(true);
  		lytUnidades.setSizeFull();
  		
  		HorizontalLayout lytBotoneraUnidades = new HorizontalLayout();
  		lytBotoneraUnidades.setSpacing(true);
  		
  		lytUnidades.addComponent(tblUnidades);
  		tblUnidades.setPageLength(8);
  		lytUnidades.setComponentAlignment(tblUnidades, Alignment.MIDDLE_CENTER);
  
  		btnVerDetallesUnidades.setIcon(FontAwesome.SEARCH_PLUS);
  		lytBotoneraUnidades.addComponent(btnVerDetallesUnidades);
  		lytBotoneraUnidades.setComponentAlignment(btnVerDetallesUnidades, Alignment.MIDDLE_RIGHT);
  		
  		btnImprimirFrenteUnidades.setIcon(FontAwesome.PRINT);
  		lytBotoneraUnidades.addComponent(btnImprimirFrenteUnidades);
  		lytBotoneraUnidades.setComponentAlignment(btnImprimirFrenteUnidades, Alignment.MIDDLE_RIGHT);
  		
  		btnCambiarPlan.setIcon(FontAwesome.EDIT);
  		lytBotoneraUnidades.addComponent(btnCambiarPlan);
  		lytBotoneraUnidades.setComponentAlignment(btnCambiarPlan, Alignment.MIDDLE_RIGHT);
  		
  		btnSuspenderUnidad.setIcon(FontAwesome.MINUS);
  		lytBotoneraUnidades.addComponent(btnSuspenderUnidad);
  		lytBotoneraUnidades.setComponentAlignment(btnSuspenderUnidad, Alignment.MIDDLE_RIGHT);
  		
  		btnActivarUnidad.setIcon(FontAwesome.PLUS);
  		lytBotoneraUnidades.addComponent(btnActivarUnidad);
  		lytBotoneraUnidades.setComponentAlignment(btnActivarUnidad, Alignment.MIDDLE_RIGHT);
  		
  		
  		lytUnidades.addComponent(lytBotoneraUnidades);
  		lytUnidades.setComponentAlignment(lytBotoneraUnidades, Alignment.MIDDLE_RIGHT);
  		
  		panelUnidades.setContent(lytUnidades);
  		
  		layout.addComponent(panelUnidades);
  		
  		layout.addComponent(btnEmitir);
  		layout.setComponentAlignment(btnEmitir, Alignment.BOTTOM_CENTER);
  		
  		
  		setBody(layout);
  		
  	}
  	
  	protected void setListener() {
  
  		tblEmpresas.addValueChangeListener(new ValueChangeListener() {
  			
  			/**
  			 * 
  			 */
  			private static final long serialVersionUID = -8051887413286713831L;
  
  			@Override
  			public void valueChange(ValueChangeEvent event) {
  				if (tblEmpresas.getValue() != null){
  					VCertificadosGlobales certGlobal = (VCertificadosGlobales) tblEmpresas.getValue();
  					
  					tblUnidades.populate(certGlobal.getCodRamo(), certGlobal.getNumPoliza());
  				} else 
  					tblUnidades.removeAllItems();
  			}
  		});
  		
  		btnVerDetallesEmpresa.addClickListener(new ClickListener() {
  			
  			/**
  			 * 
  			 */
  			private static final long serialVersionUID = -5941389280397118322L;
  
  			@Override
  			public void buttonClick(ClickEvent event) {
  				// TODO Auto-generated method stub
  				if (tblEmpresas.getValue() != null) {
  					DetalleEmpresaModal detalleModal = new DetalleEmpresaModal();
  			        
  					detalleModal.addCloseListener(new CloseListener() {
  						
  						/**
  						 * 
  						 */
  						private static final long serialVersionUID = 515911775904183505L;
  	
  						@Override
  						public void windowClose(CloseEvent e) {
  							// TODO Auto-generated method stub
  							
  						}
  					});
  			        
  			        // Add it to the root component
  			        UI.getCurrent().addWindow(detalleModal);
  				} else {
  					Notification.show("Debe seleccionar una empresa para ver su detalle.",
  							Type.HUMANIZED_MESSAGE);
  				}
  			}
  		});
  		
  		btnVerDetallesUnidades.addClickListener(new ClickListener() {
  			
  			/**
  			 * 
  			 */
  			private static final long serialVersionUID = -5941389280397118322L;
  
  			@Override
  			public void buttonClick(ClickEvent event) {
  				// TODO Auto-generated method stub
  				if (tblUnidades.getValue() != null) {
  				
  