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