Project

General

Profile

Download (2.94 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.DisposableBean;
5
import org.springframework.beans.factory.annotation.Autowired;
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.Navigator;
12
import com.vaadin.navigator.ViewDisplay;
13
import com.vaadin.server.Page;
14
import com.vaadin.server.Responsive;
15
import com.vaadin.server.VaadinRequest;
16
import com.vaadin.spring.annotation.SpringUI;
17
import com.vaadin.spring.navigator.SpringViewProvider;
18
import com.vaadin.ui.UI;
19

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

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

    
32
    private final static Logger logger = Logger.getLogger(DistributionStatusUI.class);
33

    
34
    private ViewDisplay viewDisplay;
35

    
36
    //---- pull into abstract super class ? ---------
37
    @Autowired
38
    SpringViewProvider viewProvider;
39

    
40
    @Autowired
41
    NavigationManagerBean navigator;
42

    
43
    protected void configureAccessDeniedView() {
44
        viewProvider.setAccessDeniedViewClass(RedirectToLoginView.class);
45
    }
46

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

    
61
    public static final String INITIAL_VIEW =  DistributionTableViewBean.NAME;
62

    
63
//    @Autowired
64
//    @Qualifier("registrationToolbar")
65
//    private Toolbar toolbar;
66

    
67
    @Autowired
68
    ApplicationEventPublisher eventBus;
69

    
70
    public DistributionStatusUI() {
71

    
72
    }
73

    
74
	@Override
75
	protected void init(VaadinRequest request) {
76

    
77
        configureAccessDeniedView();
78

    
79
        Responsive.makeResponsive(this);
80

    
81
        viewDisplay = new Navigator.SingleComponentContainerViewDisplay(this);
82
        navigator.setViewDisplay(viewDisplay);
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

    
95
    /**
96
     * {@inheritDoc}
97
     */
98
    @Override
99
    public void destroy() throws Exception {
100
        navigator.setDefaultViewName(null);
101
        viewDisplay = null;
102
    }
103
}
(5-5/7)