List of usage examples for org.apache.wicket.markup.html.form SubmitLink SubmitLink
public SubmitLink(String id, IModel<?> model)
From source file:org.antbear.jee.wicket.DemoPanel.java
License:Apache License
public DemoPanel(String id) { super(id);/*from w ww .j av a 2 s.c o m*/ final Form<Void> form = new Form<Void>("form"); form.setMarkupId("form_" + id); Label myid = new Label("myid", form.getMarkupId()); final DemoStringListView listView = new DemoStringListView("listItem"); SubmitLink addLink = new SubmitLink("addLink", form) { private static final long serialVersionUID = 1L; @Override public void onSubmit() { System.out.println("onSubmit " + this.getParent().getMarkupId()); listView.addItem("Another item, added @ " + new Date()); // Now comes the interresting logic as of wicket 1.5 // .. we want to anchor the page to our #ID. Send an event to our parent // with the ID to be anchored. AnchorPayload event = new AnchorPayload(form.getMarkupId()); log.info("Sending event " + event); send(getPage(), Broadcast.BREADTH, event); } }; add(form); form.add(myid); form.add(addLink); form.add(listView); }
From source file:org.geoserver.script.web.ScriptNewPage.java
License:Open Source License
public ScriptNewPage() { super();//from w w w. ja v a2s. c om Script script = new Script(); form = new Form("form", new CompoundPropertyModel(script)) { @Override protected void onSubmit() { save(); doReturn(ScriptPage.class); } }; add(form); // Get List of script extensions from installed plugins final List<String> extensions = getExtensions(); // Content String mode = extensions.size() > 0 ? getModeFromExtension(extensions.get(0)) : "py"; final CodeMirrorEditor content = new CodeMirrorEditor("contents", mode, new PropertyModel(script, "contents")); content.setRequired(true); form.add(content); // Name TextField name = new TextField("name", new PropertyModel(script, "name")); name.setRequired(true); form.add(name); // Type DropDownChoice<String> typeDropDownChoice = new DropDownChoice<String>("type", new PropertyModel(script, "type"), new LoadableDetachableModel<List<String>>() { @Override protected List<String> load() { List<String> values = Lists.newArrayList(); for (ScriptType type : ScriptType.values()) { values.add(type.getLabel()); } return values; } }); typeDropDownChoice.setRequired(true); form.add(typeDropDownChoice); // Extension final DropDownChoice<String> extensionDropDownChoice = new DropDownChoice<String>("extension", new PropertyModel(script, "extension"), new LoadableDetachableModel<List<String>>() { @Override protected List<String> load() { return extensions; } }); extensionDropDownChoice.setRequired(true); extensionDropDownChoice.add(new AjaxFormComponentUpdatingBehavior("onchange") { @Override protected void onUpdate(AjaxRequestTarget target) { int i = Integer.parseInt(extensionDropDownChoice.getValue()); String ext = extensions.get(i); String mode = getModeFromExtension(ext); content.setMode(mode); } }); form.add(extensionDropDownChoice); SubmitLink submitLink = new SubmitLink("submit", form); form.add(submitLink); form.setDefaultButton(submitLink); AjaxLink cancelLink = new AjaxLink("cancel") { @Override public void onClick(AjaxRequestTarget target) { doReturn(ScriptPage.class); } }; form.add(cancelLink); }
From source file:org.geoserver.security.web.auth.AuthenticationPage.java
License:Open Source License
void initComponents() { // The request filter chain objects have to be cloned config = getSecurityManager().getSecurityConfig(); List<RequestFilterChain> clones = new ArrayList<RequestFilterChain>(); for (RequestFilterChain chain : config.getFilterChain().getRequestChains()) { try {/*ww w. ja v a2s .co m*/ clones.add((RequestFilterChain) chain.clone()); } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } } config.setFilterChain(new GeoServerSecurityFilterChain(clones)); form = new Form("form", new CompoundPropertyModel<SecurityManagerConfig>(config)); add(form); try { logoutFilterConfig = (LogoutFilterConfig) getSecurityManager() .loadFilterConfig(GeoServerSecurityFilterChain.FORM_LOGOUT_FILTER); } catch (IOException e1) { throw new RuntimeException(e1); } form.add(new TextField<String>("redirectURL", new PropertyModel<String>(this, "logoutFilterConfig.redirectURL"))); try { sslFilterConfig = (SSLFilterConfig) getSecurityManager() .loadFilterConfig(GeoServerSecurityFilterChain.SSL_FILTER); } catch (IOException e1) { throw new RuntimeException(e1); } form.add(new TextField<Integer>("sslPort", new PropertyModel<Integer>(this, "sslFilterConfig.sslPort"))); form.add(new AuthenticationFiltersPanel("authFilters")); form.add(new HelpLink("authFiltersHelp").setDialog(dialog)); form.add(new AuthenticationProvidersPanel("authProviders")); form.add(new HelpLink("authProvidersHelp").setDialog(dialog)); form.add(new SecurityFilterChainsPanel("authChains", config)); form.add(new HelpLink("authChainsHelp").setDialog(dialog)); form.add(authFilterChainPanel = new AuthFilterChainPanel("filterChain", new PropertyModel<GeoServerSecurityFilterChain>(form.getModel(), "filterChain"))); form.add(new HelpLink("filterChainHelp").setDialog(dialog)); form.add(new AuthenticationChainPanel("providerChain", form)); form.add(new HelpLink("providerChainHelp").setDialog(dialog)); form.add(new SubmitLink("save", form) { @Override public void onSubmit() { try { getSecurityManager().saveSecurityConfig((SecurityManagerConfig) getForm().getModelObject()); getSecurityManager().saveFilter(logoutFilterConfig); getSecurityManager().saveFilter(sslFilterConfig); doReturn(); } catch (Exception e) { LOGGER.log(Level.WARNING, "Error saving authentication config", e); error(e); } } }); form.add(new Link("cancel") { @Override public void onClick() { doReturn(); } }); }
From source file:org.geoserver.security.web.auth.SecurityFilterChainPage.java
License:Open Source License
protected void initialize(RequestFilterChain chain, SecurityManagerConfig secMgrConfig, boolean isNew, Form<? extends RequestFilterChainWrapper> theForm, RequestFilterChainWrapper wrapper) { this.chainWrapper = wrapper; this.isNew = isNew; this.secMgrConfig = secMgrConfig; form = theForm;//from w ww . java 2 s.com add(form); //check for administrator, if not disable the panel and emit warning message boolean isAdmin = getSecurityManager().checkAuthenticationForAdminRole(); setEnabled(isAdmin); form.add(new Label("message", isAdmin ? new Model() : new StringResourceModel("notAdmin", this, null))); if (!isAdmin) { form.get("message").add(new AttributeAppender("class", new Model("info-link"), " ")); } setOutputMarkupId(true); form.add(new TextField<String>("name").setEnabled(isNew)); form.add(new TextField<String>("patternString")); form.add(new CheckBox("disabled")); form.add(new CheckBox("allowSessionCreation")); form.add(new CheckBox("requireSSL")); form.add(new CheckBox("matchHTTPMethod").add(new OnChangeAjaxBehavior() { @Override protected void onUpdate(AjaxRequestTarget target) { for (CheckBox cb : methodList) { cb.setEnabled(chainWrapper.isMatchHTTPMethod()); target.addComponent(cb); } } })); List<String> filterNames = new ArrayList<String>(); try { filterNames.addAll(getSecurityManager().listFilters(GeoServerRoleFilter.class)); for (GeoServerRoleFilter filter : GeoServerExtensions.extensions(GeoServerRoleFilter.class)) { filterNames.add(filter.getName()); } form.add(new DropDownChoice<String>("roleFilterName", new PropertyModel<String>(chainWrapper.getChain(), "roleFilterName"), filterNames) .setNullValid(true)); } catch (IOException e) { throw new RuntimeException(e); } form.add(methodList[0] = new CheckBox("GET")); form.add(methodList[1] = new CheckBox("POST")); form.add(methodList[2] = new CheckBox("PUT")); form.add(methodList[3] = new CheckBox("DELETE")); form.add(methodList[4] = new CheckBox("OPTIONS")); form.add(methodList[5] = new CheckBox("HEAD")); form.add(methodList[6] = new CheckBox("TRACE")); for (CheckBox cb : methodList) { cb.setOutputMarkupPlaceholderTag(true); cb.setEnabled(chain.isMatchHTTPMethod()); } form.add(dialog = new GeoServerDialog("dialog")); form.add(new HelpLink("chainConfigHelp").setDialog(dialog)); form.add(new HelpLink("chainConfigMethodHelp").setDialog(dialog)); form.add(new SubmitLink("close", form) { @Override public void onSubmit() { handleSubmit(getForm()); } }); form.add(new Link("cancel") { @Override public void onClick() { doReturn(); } }); }
From source file:org.geoserver.security.web.passwd.MasterPasswordChangePage.java
License:Open Source License
public MasterPasswordChangePage() { MasterPasswordConfigModel configModel = new MasterPasswordConfigModel(); Form form = new Form("form", new CompoundPropertyModel(configModel)); add(form);/* w w w . jav a2 s . co m*/ form.add(new Label("providerName")); MasterPasswordConfig config = configModel.getObject(); MasterPasswordProviderConfig providerConfig = null; try { providerConfig = getSecurityManager().loadMasterPassswordProviderConfig(config.getProviderName()); } catch (IOException e) { throw new WicketRuntimeException(e); } //TODO: this will cause the master password to stored as a string in plain text, without the // ability to scramble it... not much we can do because wicket works with strings... // potentially look into a way to store as char or byte array so string never gets // created form.add(new PasswordTextField("currentPassword", new Model())); form.add(new PasswordTextField("newPassword", new Model()).setEnabled(!providerConfig.isReadOnly())); form.add(new PasswordTextField("newPasswordConfirm", new Model())); form.add(new SubmitLink("save", form) { @Override public void onSubmit() { Form f = getForm(); // @Justin, we cannot use getDefaultModelObjectAsString() because of special chars. // example: The password "mcrmcr&1" is converted to "mcrmcr&1". String currPasswd = //f.get("currentPassword").getDefaultModelObjectAsString(); (String) f.get("currentPassword").getDefaultModelObject(); String newPasswd = //f.get("newPassword").getDefaultModelObjectAsString(); (String) f.get("newPassword").getDefaultModelObject(); String newPasswdConfirm = // f.get("newPasswordConfirm").getDefaultModelObjectAsString(); (String) f.get("newPasswordConfirm").getDefaultModelObject(); MasterPasswordConfig mpConfig = (MasterPasswordConfig) getForm().getModelObject(); try { getSecurityManager().saveMasterPasswordConfig(mpConfig, currPasswd.toCharArray(), newPasswd != null ? newPasswd.toCharArray() : null, newPasswdConfirm.toCharArray()); doReturn(); } catch (Exception e) { error(e); } } }); form.add(new AjaxLink("cancel") { @Override public void onClick(AjaxRequestTarget target) { doReturn(); } }); }
From source file:org.geoserver.security.web.passwd.MasterPasswordInfoPage.java
License:Open Source License
MasterPasswordInfoPage() { Form form = new Form("form", new CompoundPropertyModel(this)); add(form);/* www . j a v a 2 s . c om*/ form.add(new TextField<String>("fileName")); form.add(new SubmitLink("save", form) { private static final long serialVersionUID = 1L; @Override public void onSubmit() { if (StringUtils.hasLength(fileName) == false) { error(new StringResourceModel("fileNameEmpty", this, null).getString()); return; } try { if (dumpMasterPassword()) { info(new StringResourceModel("dumpInfo", this, null, new Object[] { new File(fileName).getCanonicalFile() }).getString()); } else error(new StringResourceModel("unauthorized", this, null).getString()); } catch (Exception e) { error(e); } } }); form.add(new AjaxLink("back") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { doReturn(); } }); }
From source file:org.geoserver.security.web.passwd.PasswordPage.java
License:Open Source License
public PasswordPage() { Form form = new Form("form", new CompoundPropertyModel(new MasterPasswordConfigModel())); add(form);// w w w . j a va2 s.c om form.add(new MasterPasswordProviderChoice("providerName")); form.add(new Link("changePassword") { @Override public void onClick() { MasterPasswordChangePage page = new MasterPasswordChangePage(); page.setReturnPage(getPage()); setResponsePage(page); } }); form.add(new Link("masterPasswordInfo") { @Override public void onClick() { MasterPasswordInfoPage page = new MasterPasswordInfoPage(); page.setReturnPage(getPage()); setResponsePage(page); } }); form.add(new MasterPasswordProvidersPanel("masterPasswordProviders")); form.add(new HelpLink("masterPasswordProvidersHelp").setDialog(dialog)); form.add(new PasswordPoliciesPanel("passwordPolicies")); form.add(new HelpLink("passwordPoliciesHelp").setDialog(dialog)); form.add(new SubmitLink("save", form) { @Override public void onSubmit() { MasterPasswordConfig config = (MasterPasswordConfig) getForm().getModelObject(); try { getSecurityManager().saveMasterPasswordConfig(config); doReturn(); } catch (Exception e) { error(e); } } }); form.add(new AjaxLink("cancel") { @Override public void onClick(AjaxRequestTarget target) { doReturn(); } }); }
From source file:org.geoserver.security.web.SecurityNamedServiceNewPage.java
License:Open Source License
public SecurityNamedServiceNewPage(Class<S> serviceClass) { //keys that allow us to dynamically set the page title and description based on // type of service class / extension point add(new Label("title1", createTitleModel(serviceClass).getString())); add(new Label("title2", createTitleModel(serviceClass).getString())); List<SecurityNamedServicePanelInfo> panelInfos = lookupPanelInfos(serviceClass); AjaxLinkGroup<SecurityNamedServicePanelInfo> serviceLinks = new AjaxLinkGroup<SecurityNamedServicePanelInfo>( "services", panelInfos) { @Override//w w w . j ava2 s . com protected void populateItem(ListItem<SecurityNamedServicePanelInfo> item) { SecurityNamedServicePanelInfo panelInfo = item.getModelObject(); item.add(newLink("link", item.getModel()).add(new Label("title", createShortTitleModel(panelInfo))) .setEnabled(item.getIndex() > 0)); item.add(new Label("description", createDescriptionModel(panelInfo))); } @Override protected void onClick(AjaxLink<SecurityNamedServicePanelInfo> link, AjaxRequestTarget target) { updatePanel(link.getModelObject(), target); } }; add(new WebMarkupContainer("servicesContainer").add(serviceLinks).setOutputMarkupId(true)); add(form = new Form<T>("form")); //add a container for the actual panel, since we will dynamically update it form.add(panelContainer = new WebMarkupContainer("panel")); panelContainer.setOutputMarkupId(true); form.add(new SubmitLink("save", form) { @Override public void onSubmit() { handleSubmit(getForm()); } }); form.add(new Link("cancel") { @Override public void onClick() { doReturn(); } }); updatePanel(panelInfos.get(0), null); }
From source file:org.geoserver.security.web.SecuritySettingsPage.java
License:Open Source License
void initComponents() { Form<SecurityManagerConfig> form = new Form("form", new CompoundPropertyModel<SecurityManagerConfig>(new SecurityManagerConfigModel())); add(form);//from www . j a v a2 s .c o m form.add(new RoleServiceChoice("roleServiceName")); form.add(new EncryptionPanel("encryption")); form.add(new HelpLink("encryptionHelp").setDialog(dialog)); form.add(new SubmitLink("save", form) { @Override public void onSubmit() { SecurityManagerConfig config = (SecurityManagerConfig) getForm().getModelObject(); try { getSecurityManager().saveSecurityConfig(config); doReturn(); } catch (Exception e) { error(e); } } }); form.add(new AjaxLink("cancel") { @Override public void onClick(AjaxRequestTarget target) { doReturn(); } }); }
From source file:org.geoserver.web.data.workspace.WorkspaceNewPage.java
License:Open Source License
public WorkspaceNewPage() { WorkspaceInfo ws = getCatalog().getFactory().createWorkspace(); form = new Form("form", new CompoundPropertyModel(ws)) { @Override/*from www . ja va2 s. c om*/ protected void onSubmit() { Catalog catalog = getCatalog(); WorkspaceInfo ws = (WorkspaceInfo) form.getModelObject(); NamespaceInfo ns = catalog.getFactory().createNamespace(); ns.setPrefix(ws.getName()); ns.setURI(nsUriTextField.getDefaultModelObjectAsString()); catalog.add(ws); catalog.add(ns); if (defaultWs) catalog.setDefaultWorkspace(ws); //TODO: set the response page to be the edit doReturn(WorkspacePage.class); } }; add(form); TextField<String> nameTextField = new TextField<String>("name"); nameTextField.setRequired(true); nameTextField.add(new XMLNameValidator()); nameTextField.add(new StringValidator() { @Override protected void onValidate(IValidatable<String> validatable) { if (CatalogImpl.DEFAULT.equals(validatable.getValue())) { error(validatable, "defaultWsError"); } } }); form.add(nameTextField.setRequired(true)); nsUriTextField = new TextField("uri", new Model()); // maybe a bit too restrictive, but better than not validation at all nsUriTextField.setRequired(true); nsUriTextField.add(new URIValidator()); form.add(nsUriTextField); CheckBox defaultChk = new CheckBox("default", new PropertyModel(this, "defaultWs")); form.add(defaultChk); SubmitLink submitLink = new SubmitLink("submit", form); form.add(submitLink); form.setDefaultButton(submitLink); AjaxLink cancelLink = new AjaxLink("cancel") { @Override public void onClick(AjaxRequestTarget target) { doReturn(WorkspacePage.class); } }; form.add(cancelLink); }