Project

General

Profile

Download (2.72 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.cdm.vaadin.ui;
2

    
3
import org.apache.log4j.Logger;
4
import org.springframework.beans.factory.annotation.Autowired;
5
import org.springframework.beans.factory.annotation.Qualifier;
6
import org.springframework.context.ApplicationEventPublisher;
7

    
8
import com.vaadin.annotations.Theme;
9
import com.vaadin.annotations.Title;
10
import com.vaadin.annotations.Widgetset;
11
import com.vaadin.navigator.ViewDisplay;
12
import com.vaadin.server.Page;
13
import com.vaadin.server.Responsive;
14
import com.vaadin.server.VaadinRequest;
15
import com.vaadin.spring.annotation.SpringUI;
16
import com.vaadin.spring.navigator.SpringViewProvider;
17
import com.vaadin.ui.Component;
18
import com.vaadin.ui.UI;
19

    
20
import eu.etaxonomy.cdm.vaadin.toolbar.Toolbar;
21
import eu.etaxonomy.cdm.vaadin.view.RedirectToLoginView;
22
import eu.etaxonomy.cdm.vaadin.view.distributionStatus.DistributionTableViewBean;
23
import eu.etaxonomy.vaadin.ui.UIInitializedEvent;
24
import eu.etaxonomy.vaadin.ui.navigation.NavigationManagerBean;
25
import eu.etaxonomy.vaadin.ui.view.ToolbarDisplay;
26

    
27
@Theme("macosx")
28
@Title("Distribution Editor")
29
@SpringUI(path="distribution")
30
@Widgetset("eu.etaxonomy.cdm.vaadin.AppWidgetSet")
31
@SuppressWarnings("serial")
32
public class DistributionStatusUI extends UI{
33

    
34
    private final static Logger logger = Logger.getLogger(DistributionStatusUI.class);
35

    
36
    @Autowired
37
    private ViewDisplay viewDisplay;
38

    
39
    //---- pull into abstract super class ? ---------
40
    @Autowired
41
    SpringViewProvider viewProvider;
42

    
43
    @Autowired
44
    NavigationManagerBean navigator;
45

    
46
    protected void configureAccessDeniedView() {
47
        viewProvider.setAccessDeniedViewClass(RedirectToLoginView.class);
48
    }
49

    
50
    /**
51
     * @return
52
     */
53
    private String pageFragmentAsState() {
54
        Page page = Page.getCurrent();
55
        String fragment = page.getUriFragment();
56
        String state = null;
57
        if(fragment != null && fragment.startsWith("!")){
58
            state = fragment.substring(1, fragment.length());
59
        }
60
        return state;
61
    }
62
    //---------------------------------------------
63

    
64
    public static final String INITIAL_VIEW =  DistributionTableViewBean.NAME;
65

    
66
    @Autowired
67
    @Qualifier("registrationToolbar")
68
    private Toolbar toolbar;
69

    
70
    @Autowired
71
    ApplicationEventPublisher eventBus;
72

    
73
    public DistributionStatusUI() {
74

    
75
    }
76

    
77
	@Override
78
	protected void init(VaadinRequest request) {
79
        configureAccessDeniedView();
80

    
81
        Responsive.makeResponsive(this);
82

    
83
        setContent((Component) viewDisplay);
84

    
85
        if(ToolbarDisplay.class.isAssignableFrom(viewDisplay.getClass())){
86
            ((ToolbarDisplay)viewDisplay).setToolbar(toolbar);
87
        }
88

    
89
        eventBus.publishEvent(new UIInitializedEvent());
90

    
91
        navigator.setDefaultViewName(INITIAL_VIEW);
92

    
93
	}
94
}
(5-5/7)