src/main/java/ru/indvdum/mywork/vaadin/MyWorkApplication.java
author indvdum
Tue, 16 Aug 2011 15:54:50 +0300
changeset 7 aaae4f8055f4
parent 6 a0d8aa779e50
child 8 56338d6d58c2
permissions -rw-r--r--
More JPA objects
indvdum@1
     1
package ru.indvdum.mywork.vaadin;
indvdum@1
     2
indvdum@5
     3
import static ru.indvdum.mywork.MyWork.EM;
indvdum@5
     4
indvdum@5
     5
import java.util.List;
indvdum@5
     6
indvdum@5
     7
import javax.persistence.Query;
indvdum@5
     8
indvdum@5
     9
import ru.indvdum.mywork.openjpa.model.Day;
indvdum@7
    10
import ru.indvdum.mywork.openjpa.model.Task;
indvdum@7
    11
import ru.indvdum.mywork.openjpa.model.Work;
indvdum@2
    12
indvdum@1
    13
import com.vaadin.Application;
indvdum@6
    14
import com.vaadin.addon.jpacontainer.JPAContainer;
indvdum@6
    15
import com.vaadin.addon.jpacontainer.provider.LocalEntityProvider;
indvdum@7
    16
import com.vaadin.ui.Alignment;
indvdum@7
    17
import com.vaadin.ui.Button;
indvdum@7
    18
import com.vaadin.ui.HorizontalLayout;
indvdum@7
    19
import com.vaadin.ui.TabSheet;
indvdum@6
    20
import com.vaadin.ui.Table;
indvdum@6
    21
import com.vaadin.ui.VerticalLayout;
indvdum@1
    22
import com.vaadin.ui.Window;
indvdum@7
    23
import com.vaadin.ui.Button.ClickEvent;
indvdum@7
    24
import com.vaadin.ui.Button.ClickListener;
indvdum@1
    25
indvdum@1
    26
/**
indvdum@1
    27
 * @author indvdum
indvdum@5
    28
 * 12.08.2011 17:31:53
indvdum@1
    29
 *
indvdum@1
    30
 */
indvdum@1
    31
public class MyWorkApplication extends Application {
indvdum@1
    32
indvdum@1
    33
	@Override
indvdum@1
    34
	public void init() {
indvdum@1
    35
		Window window = new Window();
indvdum@1
    36
		setMainWindow(window);
indvdum@6
    37
		
indvdum@7
    38
		Query query = EM.createQuery("select x from " + Work.class.getName() + " x");
indvdum@5
    39
		List list = query.getResultList();
indvdum@5
    40
		list.size();
indvdum@6
    41
		
indvdum@7
    42
		TabSheet tabSheet = new TabSheet();
indvdum@7
    43
		tabSheet.setSizeFull();
indvdum@7
    44
		window.setContent(tabSheet);
indvdum@7
    45
		
indvdum@7
    46
		VerticalLayout vlMain = new VerticalLayout();
indvdum@7
    47
		vlMain.setMargin(true);
indvdum@7
    48
		vlMain.setSpacing(true);
indvdum@7
    49
		tabSheet.addTab(vlMain, "Main page", null);
indvdum@7
    50
		
indvdum@7
    51
		LocalEntityProvider dayProvider = new LocalEntityProvider(Day.class);
indvdum@7
    52
		dayProvider.setEntityManager(EM);
indvdum@7
    53
		JPAContainer<Day> dayContainer = new JPAContainer(Day.class);
indvdum@7
    54
		dayContainer.setEntityProvider(dayProvider);
indvdum@7
    55
		
indvdum@7
    56
		final Table dayTable = new Table();
indvdum@7
    57
		dayTable.setSelectable(true);
indvdum@7
    58
		dayTable.setEditable(false);
indvdum@7
    59
		dayTable.setImmediate(true);
indvdum@7
    60
		dayTable.setSizeFull();
indvdum@7
    61
		dayTable.setContainerDataSource(dayContainer);
indvdum@7
    62
		vlMain.addComponent(dayTable);
indvdum@7
    63
		vlMain.setExpandRatio(dayTable, 1f);
indvdum@7
    64
		
indvdum@7
    65
		LocalEntityProvider taskProvider = new LocalEntityProvider(Task.class);
indvdum@7
    66
		taskProvider.setEntityManager(EM);
indvdum@7
    67
		JPAContainer<Task> taskContainer = new JPAContainer(Task.class);
indvdum@7
    68
		taskContainer.setEntityProvider(taskProvider);
indvdum@7
    69
		
indvdum@7
    70
		Table taskTable = new Table();
indvdum@7
    71
		taskTable.setSelectable(true);
indvdum@7
    72
		taskTable.setEditable(false);
indvdum@7
    73
		taskTable.setImmediate(true);
indvdum@7
    74
		taskTable.setSizeFull();
indvdum@7
    75
		taskTable.setContainerDataSource(taskContainer);
indvdum@7
    76
		vlMain.addComponent(taskTable);
indvdum@7
    77
		vlMain.setExpandRatio(taskTable, 1f);
indvdum@1
    78
	}
indvdum@1
    79
}