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 @ 9516

History | View | Annotate | Download (4.68 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.History;
14
import org.gvsig.tools.swing.api.ToolsSwingLocator;
15
import org.gvsig.tools.swing.api.ToolsSwingManager;
16
import org.gvsig.tools.swing.api.bookmarkshistory.ActionEventWithCurrentValue;
17
import static org.gvsig.tools.swing.api.bookmarkshistory.ActionEventWithCurrentValue.ID_GETVALUE;
18
import static org.gvsig.tools.swing.api.bookmarkshistory.ActionEventWithCurrentValue.ID_SETVALUE;
19
import org.gvsig.tools.swing.api.bookmarkshistory.BookmarksController;
20
import org.gvsig.tools.swing.api.bookmarkshistory.HistoryController;
21
import org.gvsig.tools.swing.api.documentfilters.IntegerDocumentFilter;
22

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

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

    
72
        this.historyController.setFilter(null);
73

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

    
107
}
108