1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.client.console.panels;
20
21 import org.apache.syncope.client.console.SyncopeConsoleSession;
22 import org.apache.syncope.client.console.pages.BasePage;
23 import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
24 import org.apache.syncope.client.ui.commons.Constants;
25 import org.apache.syncope.client.ui.commons.markup.html.form.AjaxSpinnerFieldPanel;
26 import org.apache.syncope.common.keymaster.client.api.DomainOps;
27 import org.apache.syncope.common.keymaster.client.api.model.Domain;
28 import org.apache.wicket.PageReference;
29 import org.apache.wicket.ajax.AjaxRequestTarget;
30 import org.apache.wicket.model.PropertyModel;
31 import org.apache.wicket.spring.injection.annot.SpringBean;
32
33 public class DomainPoolModalPanel extends AbstractModalPanel<Domain> {
34
35 private static final long serialVersionUID = -2676426626979352532L;
36
37 @SpringBean
38 private DomainOps domainOps;
39
40 private final Domain domain;
41
42 public DomainPoolModalPanel(final Domain domain, final BaseModal<Domain> modal, final PageReference pageRef) {
43 super(modal, pageRef);
44 this.domain = domain;
45
46 add(new AjaxSpinnerFieldPanel.Builder<Integer>().min(0).build(
47 "poolMaxActive",
48 "poolMaxActive",
49 Integer.class,
50 new PropertyModel<>(domain, "poolMaxActive")).setRequired(true));
51 add(new AjaxSpinnerFieldPanel.Builder<Integer>().min(0).build(
52 "poolMinIdle",
53 "poolMinIdle",
54 Integer.class,
55 new PropertyModel<>(domain, "poolMinIdle")).setRequired(true));
56 }
57
58 @Override
59 public Domain getItem() {
60 return domain;
61 }
62
63 @Override
64 public void onSubmit(final AjaxRequestTarget target) {
65 try {
66 domainOps.adjustPoolSize(domain.getKey(), domain.getPoolMaxActive(), domain.getPoolMinIdle());
67
68 SyncopeConsoleSession.get().success(getString(Constants.OPERATION_SUCCEEDED));
69 this.modal.close(target);
70 } catch (Exception e) {
71 LOG.error("While updating domain", e);
72 SyncopeConsoleSession.get().onException(e);
73 }
74 ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
75 }
76 }