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.wizards.resources;
20
21 import java.util.Set;
22 import org.apache.syncope.client.ui.commons.Constants;
23 import org.apache.syncope.client.ui.commons.ajax.form.IndicatorAjaxFormComponentUpdatingBehavior;
24 import org.apache.syncope.client.ui.commons.markup.html.form.AjaxCheckBoxPanel;
25 import org.apache.syncope.common.lib.to.ResourceTO;
26 import org.apache.syncope.common.lib.types.ConnectorCapability;
27 import org.apache.wicket.ajax.AjaxRequestTarget;
28 import org.apache.wicket.extensions.wizard.WizardStep;
29 import org.apache.wicket.model.PropertyModel;
30 import org.apache.wicket.model.ResourceModel;
31
32 public class ResourceConnCapabilitiesPanel extends WizardStep {
33
34 private static final long serialVersionUID = -114632577031611754L;
35
36 public ResourceConnCapabilitiesPanel(
37 final ResourceTO resourceTO, final Set<ConnectorCapability> connectorCapabilities) {
38 super();
39 setOutputMarkupId(true);
40
41 if (!resourceTO.isOverrideCapabilities() && resourceTO.getCapabilitiesOverride().isEmpty()) {
42 resourceTO.getCapabilitiesOverride().addAll(connectorCapabilities);
43 }
44
45 final CapabilitiesPanel connCapabilitiesPanel = new CapabilitiesPanel(
46 new PropertyModel<>(resourceTO, "capabilitiesOverride"));
47 connCapabilitiesPanel.setEnabled(resourceTO.isOverrideCapabilities());
48 add(connCapabilitiesPanel);
49
50 final AjaxCheckBoxPanel overrideCapabilities = new AjaxCheckBoxPanel(
51 "overrideCapabilities",
52 new ResourceModel("overrideCapabilities", "overrideCapabilities").getObject(),
53 new PropertyModel<>(resourceTO, "overrideCapabilities"));
54 overrideCapabilities.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
55
56 private static final long serialVersionUID = -1107858522700306810L;
57
58 @Override
59 protected void onUpdate(final AjaxRequestTarget target) {
60 connCapabilitiesPanel.setEnabled(overrideCapabilities.getField().getModelObject());
61 target.add(ResourceConnCapabilitiesPanel.this);
62 }
63 });
64 add(overrideCapabilities);
65 }
66
67 }