Statistics
| Revision:

gvsig-projects-pool / org.gvsig.online / trunk / org.gvsig.online / org.gvsig.online.swing / org.gvsig.online.swing.scribejava / src / main / java / org / gvsig / online / swing / scribejava / keycloak / UserIdentificationKeycloakConfigPanel.java @ 9514

History | View | Annotate | Download (4.75 KB)

1
/*
2
 * To change this license header, choose License Headers in Project Properties.
3
 * To change this template file, choose Tools | Templates
4
 * and open the template in the editor.
5
 */
6
package org.gvsig.online.swing.scribejava.keycloak;
7

    
8
import java.awt.event.ActionEvent;
9
import java.awt.event.ActionListener;
10
import org.apache.commons.lang3.StringUtils;
11
import org.gvsig.tools.ToolsLocator;
12
import org.gvsig.tools.bookmarksandhistory.Bookmarks;
13
import org.gvsig.tools.bookmarksandhistory.BookmarksAndHistoryManager;
14
import org.gvsig.tools.bookmarksandhistory.History;
15
import org.gvsig.tools.swing.api.ToolsSwingLocator;
16
import org.gvsig.tools.swing.api.ToolsSwingManager;
17
import org.gvsig.tools.swing.api.bookmarkshistory.ActionEventWithCurrentValue;
18
import static org.gvsig.tools.swing.api.bookmarkshistory.ActionEventWithCurrentValue.ID_GETVALUE;
19
import static org.gvsig.tools.swing.api.bookmarkshistory.ActionEventWithCurrentValue.ID_SETVALUE;
20
import org.gvsig.tools.swing.api.bookmarkshistory.BookmarksController;
21
import org.gvsig.tools.swing.api.bookmarkshistory.HistoryController;
22
import org.gvsig.tools.swing.api.documentfilters.IntegerDocumentFilter;
23

    
24
/**
25
 *
26
 * @author jjdelcerro
27
 */
28
public class UserIdentificationKeycloakConfigPanel 
29
    extends UserIdentificationKeycloakConfigPanelView {
30
    
31
    private static final String BOOKMARKSANDHISTORY_NAME = "online_keykloak_config";
32
    
33
    private UserIdentificationKeycloakFactory factory;
34
//    private TextFieldWithHistoryAndBookmarkController urlKeycloakController;
35
    private final Bookmarks bookmarks;
36
    private final History history;
37
    private BookmarksController bookmarksController;
38
    private HistoryController historyController;
39
    
40
    
41
    
42
    public UserIdentificationKeycloakConfigPanel() {
43
        this.bookmarks = ToolsLocator.getBookmarksAndHistoryManager().getBookmarksGroup(BOOKMARKSANDHISTORY_NAME);
44
        this.history = ToolsLocator.getBookmarksAndHistoryManager().getHistoryGroup(BOOKMARKSANDHISTORY_NAME);
45
        initComponents();
46
    }
47
    
48
    public void put(UserIdentificationKeycloakConfig config) {
49
        this.factory = config.getFactory();
50
        this.txtUrlOnline.setText(config.getUrlOnline());
51
        this.txtUrlKeycloak.setText(config.getBaseurl());
52
        this.txtRealm.setText(config.getRealm());
53
        this.txtLocalPort.setText(String.valueOf(config.getLocalPort()));
54
    }
55
    
56
    public UserIdentificationKeycloakConfig fetch(UserIdentificationKeycloakConfig config) {
57
        if( config == null ) {
58
            config = this.factory.create(this.txtUrlOnline);
59
        }
60
        config.setBaseurl(StringUtils.defaultIfBlank(this.txtUrlKeycloak.getText(), null));
61
        config.setRealm(StringUtils.defaultIfBlank(this.txtRealm.getText(), null));
62
        config.setLocalPort(Integer.parseInt(this.txtLocalPort.getText()));
63
        this.history.add(config);
64
        return config;
65
    }
66
    
67
    public void initComponents() {
68
        ToolsSwingManager toolsSwingManager = ToolsSwingLocator.getToolsSwingManager();
69

    
70
        this.bookmarksController = ToolsSwingLocator.getToolsSwingManager().createBookmarksController(this.bookmarks, btnConfigKeycloakBookmarks);
71
        this.historyController = ToolsSwingLocator.getToolsSwingManager().createHistoryController(this.history, btnConfigKeycloakHistory);
72

    
73
        this.historyController.setFilter(null);
74

    
75
        ActionListener bookmarksAndHistoryListener = (ActionEvent e) -> {
76
                ActionEventWithCurrentValue<UserIdentificationKeycloakConfig> event = (ActionEventWithCurrentValue<UserIdentificationKeycloakConfig>) e;
77
                switch (event.getID()) {
78
                        case ID_GETVALUE:
79
                                event.setCurrentValue(fetch(null));
80
                                break;
81
                        case ID_SETVALUE:
82
                                put(event.getCurrentValue());
83
                                break;
84
                }
85
        };
86
        this.historyController.addActionListener(bookmarksAndHistoryListener);
87
        this.bookmarksController.addActionListener(bookmarksAndHistoryListener);
88
        
89
        
90
        toolsSwingManager.translate(lblLocalPort);
91
        toolsSwingManager.translate(lblRealm);
92
        toolsSwingManager.translate(lblUrlKeycloak);
93
        toolsSwingManager.translate(lblUrlOnline);
94
        
95
        this.txtUrlOnline.setEditable(false);
96
        
97
        toolsSwingManager.addClearButton(this.txtRealm);
98
        toolsSwingManager.addClearButton(this.txtLocalPort);
99
        toolsSwingManager.addClearButton(this.txtUrlKeycloak);
100
        
101
        toolsSwingManager.setDefaultPopupMenu(this.txtRealm);
102
        toolsSwingManager.setDefaultPopupMenu(this.txtLocalPort);
103
        toolsSwingManager.setDefaultPopupMenu(this.txtUrlKeycloak);
104
        
105
        IntegerDocumentFilter.install(txtLocalPort);
106
    }
107

    
108
}
109