Project

General

Profile

1
package eu.dnetlib.repo.manager.client;
2

    
3
import com.google.gwt.dom.client.Document;
4
import com.google.gwt.user.client.History;
5
import eu.dnetlib.domain.functionality.UserProfile;
6

    
7
/**
8
 * Created by stefania on 12/2/15.
9
 */
10
public class NavigationManager {
11

    
12
    private static NavigationManager instance = null;
13

    
14
    private NavigationManager() {
15

    
16
    }
17

    
18
    public static final NavigationManager getInstance() {
19

    
20
        if(instance==null)
21
            instance = new NavigationManager();
22

    
23
        return instance;
24
    }
25

    
26
    public void navigate(String token) {
27

    
28
        RepositoryManager.previousToken = RepositoryManager.currentToken;
29
        RepositoryManager.currentToken = token;
30

    
31
        if(token.equals("landing")) {
32

    
33
            LandingPage.getInstance().showLandingPage();
34

    
35
        } else if(token.equals("login")) {
36

    
37
            LoginPage.getInstance().showLoginPage();
38
            LoginPage.LoginListener loginListener = new LoginPage.LoginListener() {
39
                @Override
40
                public void loginSucceeded(UserProfile userProfile) {
41

    
42
                    if(RepositoryManager.currentUser!=null)
43
                        Document.get().getElementById("currentUser").setInnerText(RepositoryManager.currentUser.getFirstname()
44
                                + " " + RepositoryManager.currentUser.getLastname());
45
                    History.newItem("dashboard");
46
                }
47
            };
48
            LoginPage.getInstance().setLoginListener(loginListener);
49

    
50
        } else if(token.equals("register")) {
51

    
52
            RegisterPage.getInstance().showRegisterPage();
53

    
54
        } else {
55

    
56
            RepositoryManagerPage.getInstance().showRepositoryManagerPage();
57

    
58
            //TODO add catch page not found exception
59
            RepositoryManagerController.getInstance().showWidget(token);
60
        }
61
    }
62
}
(6-6/12)