Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.plugin / org.gvsig.downloader / org.gvsig.downloader.swing / org.gvsig.downloader.swing.scribejava / src / main / java / org / gvsig / downloader / swing / scribejava / keycloak / DownloaderAuthenticationKeycloakConfigPanel.java @ 47828

History | View | Annotate | Download (5.17 KB)

1
package org.gvsig.downloader.swing.scribejava.keycloak;
2

    
3
import java.awt.event.ActionEvent;
4
import java.awt.event.ActionListener;
5
import org.apache.commons.lang3.StringUtils;
6
import org.gvsig.tools.ToolsLocator;
7
import org.gvsig.tools.bookmarksandhistory.Bookmarks;
8
import org.gvsig.tools.bookmarksandhistory.History;
9
import org.gvsig.tools.swing.api.ToolsSwingLocator;
10
import org.gvsig.tools.swing.api.ToolsSwingManager;
11
import org.gvsig.tools.swing.api.bookmarkshistory.ActionEventWithCurrentValue;
12
import static org.gvsig.tools.swing.api.bookmarkshistory.ActionEventWithCurrentValue.ID_GETVALUE;
13
import static org.gvsig.tools.swing.api.bookmarkshistory.ActionEventWithCurrentValue.ID_SETVALUE;
14
import org.gvsig.tools.swing.api.bookmarkshistory.BookmarksController;
15
import org.gvsig.tools.swing.api.bookmarkshistory.HistoryController;
16
import org.gvsig.tools.swing.api.documentfilters.IntegerDocumentFilter;
17

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

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

    
71
        this.historyController.setFilter(null);
72

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

    
112
}
113