Databinding not ok in FormLayout Vaadin 7.0.3

I wrote a custom window which allows me to add data to a table…
Problem is that the content of the bean stays empty instead of having the content of the modified fields which I need
to update the database. Does somebody knwos what I 'm doing wrong ?

public class AdvancedAddWindow extends Window {

private static final long serialVersionUID = 7643260931414639242L;
private Object pojo = null;
private TableEnum tableData;

public AdvancedAddWindow(TableEnum table, String caption) {
	super();
	
	VerticalLayout content = new VerticalLayout();
	
	FormLayout form = null;
	final List<String> dataHead;
	tableData = table;
	
	this.setPositionX(200);
    this.setPositionY(100);
    
    this.setWidth("500px");
    
    switch (table){

    	case APPLICATIONS:
    		dataHead = ContentStep5.APPLICATIONS_HEAD;
    		
    		form = new FormLayout() {
    			/**
				 * 
				 */
				private static final long serialVersionUID = 1416133050899688219L;
				TextField tfdApplication = new TextField(dataHead.get(0) + ":");
    			AdvancedComboBox departmentCombo = new AdvancedComboBox(ComboDataSelectorEnum.DEPARTMENT ,dataHead.get(1) + ":");
    			ComboBox cbbArchive = new ComboBox(dataHead.get(2) + ":");
    			TextField tfdActiveDirectory = new TextField(dataHead.get(3) + ":");
    			{
    				tfdApplication.setRequired(true);
    				tfdActiveDirectory.setRequired(true);
    				cbbArchive.addItem("Y"); 
    				cbbArchive.addItem("N");
    				
					addComponent(tfdApplication);
					addComponent(departmentCombo);
					addComponent(cbbArchive);
					addComponent(tfdActiveDirectory);
    			}
    		};
    		
    		BeanFieldGroup<ApplicationsPojo> frmAddApp = new BeanFieldGroup<ApplicationsPojo>(ApplicationsPojo.class);
    		
    		this.setCaption("Add application");
    		ApplicationsPojo applicationPojo = new ApplicationsPojo();
    		setPojo(applicationPojo);
    		BeanItem<ApplicationsPojo> applicationItems = new BeanItem<ApplicationsPojo>(applicationPojo);
    		frmAddApp.setItemDataSource(applicationItems);
       		frmAddApp.bindMemberFields(form);
       			
    		break;
    		
    }
    
    HorizontalLayout hloBox = new HorizontalLayout();
    hloBox.addComponent(form);

 	/** END FORM*/	 
 	Panel panel = new Panel(caption);
 	panel.setSizeUndefined();
 	panel.addStyleName(Runo.PANEL_LIGHT);
 	panel.setContent(hloBox);
 		
 	content.addComponent(panel);

	Button closeButton = new Button("Cancel");
	closeButton.addClickListener(new Button.ClickListener() {
		/**
		 * 
		 */
		private static final long serialVersionUID = 5541314642749571671L;

		@Override
		public void buttonClick(ClickEvent event) {
			close();
		}
	});
	
	Button addButton = new Button("Save");
	addButton.addClickListener(new Button.ClickListener() {
		/**
		 * 
		 */
		private static final long serialVersionUID = -629634525388139084L;

		@Override
		public void buttonClick(ClickEvent event) {
			saveButtonClick();
		}
	});
    
    HorizontalLayout hloButtonBar = new HorizontalLayout();
   
    hloButtonBar.addComponent(new Spacer("75px", "10px"));
    hloButtonBar.addComponent(closeButton);
    hloButtonBar.addComponent(new Spacer("10px", "10px"));
    hloButtonBar.addComponent(addButton);

    content.addComponent(hloButtonBar);
    
    setContent(content);
}

public Object getPojo() {
	return pojo;
}

public final void setPojo(Object pojo) {
	this.pojo = pojo;
}

public void saveButtonClick() {
    // Save data code

	        ....
			
	close();

}

}

My initial guess: your FieldGroup (or fields) are buffered and you never commit() the changes.

Just call myFieldGroup.commit() at the beginning of your save() method.