1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.client.ui.commons.wizards.any;
20
21 import org.apache.commons.collections4.ListUtils;
22 import org.apache.commons.lang3.StringUtils;
23 import org.apache.syncope.client.ui.commons.ajax.markup.html.LabelInfo;
24 import org.apache.syncope.common.lib.to.AnyTO;
25 import org.apache.wicket.extensions.wizard.WizardModel.ICondition;
26 import org.apache.wicket.extensions.wizard.WizardStep;
27 import org.apache.wicket.markup.html.WebMarkupContainer;
28 import org.apache.wicket.markup.html.basic.Label;
29
30 public abstract class AbstractGroups extends WizardStep implements ICondition {
31
32 private static final long serialVersionUID = 552437609667518888L;
33
34 protected static final int MAX_GROUP_LIST_CARDINALITY = 30;
35
36 protected final AnyTO anyTO;
37
38 protected WebMarkupContainer dyngroupsContainer;
39
40 protected WebMarkupContainer dynrealmsContainer;
41
42 protected WebMarkupContainer groupsContainer;
43
44 public <T extends AnyTO> AbstractGroups(final AnyWrapper<T> modelObject) {
45 super();
46 this.anyTO = modelObject.getInnerObject();
47
48 setOutputMarkupId(true);
49
50 groupsContainer = new WebMarkupContainer("groupsContainer");
51 groupsContainer.setOutputMarkupId(true);
52 groupsContainer.setOutputMarkupPlaceholderTag(true);
53 add(groupsContainer);
54
55
56
57
58 if (modelObject instanceof UserWrapper
59 && UserWrapper.class.cast(modelObject).getPreviousUserTO() != null
60 && !ListUtils.isEqualList(
61 UserWrapper.class.cast(modelObject).getInnerObject().getMemberships(),
62 UserWrapper.class.cast(modelObject).getPreviousUserTO().getMemberships())) {
63 groupsContainer.add(new LabelInfo("changed", StringUtils.EMPTY));
64 } else {
65 groupsContainer.add(new Label("changed", StringUtils.EMPTY));
66 }
67
68 }
69
70 protected abstract void addGroupsPanel();
71
72 protected abstract void addDynamicRealmsContainer();
73
74 protected abstract void addDynamicGroupsContainer();
75
76 @Override
77 public boolean evaluate() {
78 return true;
79 }
80 }