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

History | View | Annotate | Download (5.3 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.ToolsSwingUtils;
12
import org.gvsig.tools.swing.api.bookmarkshistory.ActionEventWithCurrentValue;
13
import static org.gvsig.tools.swing.api.bookmarkshistory.ActionEventWithCurrentValue.ID_GETVALUE;
14
import static org.gvsig.tools.swing.api.bookmarkshistory.ActionEventWithCurrentValue.ID_SETVALUE;
15
import org.gvsig.tools.swing.api.bookmarkshistory.BookmarksController;
16
import org.gvsig.tools.swing.api.bookmarkshistory.HistoryController;
17
import org.gvsig.tools.swing.api.documentfilters.IntegerDocumentFilter;
18

    
19
/**
20
 *
21
 * @author jjdelcerro
22
 */
23
public class DownloaderAuthenticationKeycloakConfigPanel 
24
    extends DownloaderAuthenticationKeycloakConfigPanelView {
25
    
26
    private static final String BOOKMARKSANDHISTORY_NAME = "downloader_keycloak_config";
27
    
28
    private DownloaderAuthenticationKeycloakFactory factory;
29
//    private TextFieldWithHistoryAndBookmarkController urlKeycloakController;
30
    private final Bookmarks bookmarks;
31
    private final History history;
32
    private BookmarksController bookmarksController;
33
    private HistoryController historyController;
34
    
35
    
36
    
37
    public DownloaderAuthenticationKeycloakConfigPanel() {
38
        this.bookmarks = ToolsLocator.getBookmarksAndHistoryManager().getBookmarksGroup(BOOKMARKSANDHISTORY_NAME);
39
        this.history = ToolsLocator.getBookmarksAndHistoryManager().getHistoryGroup(BOOKMARKSANDHISTORY_NAME);
40
        initComponents();
41
    }
42
    
43
    public void put(DownloaderAuthenticationKeycloakConfig config) {
44
        this.factory = config.getFactory();
45
        this.txtServiceUrl.setText(config.getServiceUrl());
46
        this.txtUrlKeycloak.setText(config.getKeycloakBaseurl());
47
        this.txtRealm.setText(config.getRealm());
48
        this.txtScope.setText(config.getScope());
49
        this.txtClientid.setText(config.getClientid());
50
        this.txtLocalPort.setText(String.valueOf(config.getLocalPort()));
51
    }
52
    
53
    public DownloaderAuthenticationKeycloakConfig fetch(DownloaderAuthenticationKeycloakConfig config) {
54
        if( config == null ) {
55
            config = this.factory.create(this.txtServiceUrl);
56
        }
57
        config.setKeycloakBaseurl(StringUtils.defaultIfBlank(this.txtUrlKeycloak.getText(), null));
58
        config.setRealm(StringUtils.defaultIfBlank(this.txtRealm.getText(), null));
59
        config.setClientid(StringUtils.defaultIfBlank(this.txtClientid.getText(), null));
60
        config.setScope(StringUtils.defaultIfBlank(this.txtScope.getText(), null));
61
        config.setLocalPort(Integer.parseInt(this.txtLocalPort.getText()));
62
        this.history.add(config);
63
        return config;
64
    }
65
    
66
    private 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<DownloaderAuthenticationKeycloakConfig> event = (ActionEventWithCurrentValue<DownloaderAuthenticationKeycloakConfig>) 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(lblClientid);
92
        toolsSwingManager.translate(lblScope);
93
        toolsSwingManager.translate(lblUrlKeycloak);
94
        toolsSwingManager.translate(lblServiceUrl);
95
        
96
        this.txtServiceUrl.setEditable(false);
97
        
98
        toolsSwingManager.addClearButton(this.txtRealm);
99
        toolsSwingManager.addClearButton(this.txtScope);
100
        toolsSwingManager.addClearButton(this.txtScope);
101
        toolsSwingManager.addClearButton(this.txtLocalPort);
102
        toolsSwingManager.addClearButton(this.txtUrlKeycloak);
103
        
104
        toolsSwingManager.setDefaultPopupMenu(this.txtRealm);
105
        toolsSwingManager.setDefaultPopupMenu(this.txtScope);
106
        toolsSwingManager.setDefaultPopupMenu(this.txtClientid);
107
        toolsSwingManager.setDefaultPopupMenu(this.txtLocalPort);
108
        toolsSwingManager.setDefaultPopupMenu(this.txtUrlKeycloak);
109
        
110
        IntegerDocumentFilter.install(txtLocalPort);
111
        
112
        ToolsSwingUtils.ensureRowsCols(this, 9, 100, 11, 200);
113
    }
114

    
115
}
116