-
Notifications
You must be signed in to change notification settings - Fork 188
/
CapabilityActivationPanel.java
175 lines (141 loc) · 7.5 KB
/
CapabilityActivationPanel.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
/*
* Copyright (c) 2010-2014 Evolveum
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.evolveum.midpoint.web.component.wizard.resource.component.capability;
import com.evolveum.midpoint.web.component.util.SimplePanel;
import com.evolveum.midpoint.web.component.wizard.resource.dto.CapabilityDto;
import org.apache.wicket.markup.html.form.CheckBox;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.IChoiceRenderer;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.PropertyModel;
import org.apache.wicket.model.StringResourceModel;
import javax.xml.namespace.QName;
import java.util.List;
/**
* @author shood
* */
public class CapabilityActivationPanel extends SimplePanel{
private static final String ID_LABEL = "label";
private static final String ID_LABEL_ENABLED_DISABLED = "enabledDisabledLabel";
private static final String ID_CHECK_ENABLED = "enabled";
private static final String ID_CHECK_RETURNED = "returnedByDefault";
private static final String ID_CHECK_IGNORE = "ignoreAttribute";
private static final String ID_ENABLE_LIST = "enableList";
private static final String ID_DISABLE_LIST = "disableList";
private static final String ID_LABEL_STATUS = "labelStatus";
private static final String ID_LABEL_VALID_FROM = "labelValidFrom";
private static final String ID_LABEL_VALID_TO = "labelValidTo";
private static final String ID_CHECK_VALID_FROM_ENABLED = "validFromEnabled";
private static final String ID_CHECK_VALID_FROM_RETURNED = "validFromReturned";
private static final String ID_CHECK_VALID_TO_ENABLED = "validToEnabled";
private static final String ID_CHECK_VALID_TO_RETURNED = "validToReturned";
private static final String ID_CHECK_STATUS_ENABLED = "statusEnabled";
private static final String ID_CHECK_STATUS_RETURNED = "statusReturnedByDefault";
private static final String ID_CHECK_STATUS_IGNORE = "statusIgnoreAttribute";
private static final String ID_STATUS_ENABLE_LIST = "statusEnableList";
private static final String ID_STATUS_DISABLE_LIST = "statusDisableList";
private static final String ID_SELECT_ENABLE_DISABLE = "enableDisableSelect";
private static final String ID_SELECT_STATUS = "statusSelect";
public CapabilityActivationPanel(String componentId, IModel<CapabilityDto> model){
super(componentId, model);
}
@Override
protected void initLayout(){
CheckBox enabled = new CheckBox(ID_CHECK_ENABLED,
new PropertyModel<Boolean>(getModel(), "capability.enableDisable.enabled."));
add(enabled);
CheckBox returnedByDefault = new CheckBox(ID_CHECK_RETURNED,
new PropertyModel<Boolean>(getModel(), "capability.enableDisable.returnedByDefault"));
add(returnedByDefault);
CheckBox ignoreAttribute = new CheckBox(ID_CHECK_IGNORE,
new PropertyModel<Boolean>(getModel(), "capability.enableDisable.ignoreAttribute"));
add(ignoreAttribute);
CheckBox validFromEnabled = new CheckBox(ID_CHECK_VALID_FROM_ENABLED,
new PropertyModel<Boolean>(getModel(), "capability.validFrom.enabled"));
add(validFromEnabled);
CheckBox validFromReturned = new CheckBox(ID_CHECK_VALID_FROM_RETURNED,
new PropertyModel<Boolean>(getModel(), "capability.validFrom.returnedByDefault"));
add(validFromReturned);
CheckBox validToEnabled = new CheckBox(ID_CHECK_VALID_TO_ENABLED,
new PropertyModel<Boolean>(getModel(), "capability.validTo.enabled"));
add(validToEnabled);
CheckBox validToReturned = new CheckBox(ID_CHECK_VALID_TO_RETURNED,
new PropertyModel<Boolean>(getModel(), "capability.validTo.returnedByDefault"));
add(validToReturned);
CheckBox statusEnabled = new CheckBox(ID_CHECK_STATUS_ENABLED,
new PropertyModel<Boolean>(getModel(), "capability.status.enabled"));
add(statusEnabled);
CheckBox statusReturned = new CheckBox(ID_CHECK_STATUS_RETURNED,
new PropertyModel<Boolean>(getModel(), "capability.status.returnedByDefault"));
add(statusReturned);
CheckBox statusIgnore = new CheckBox(ID_CHECK_STATUS_IGNORE,
new PropertyModel<Boolean>(getModel(), "capability.status.ignoreAttribute"));
add(statusIgnore);
CapabilityListRepeater statusEnableList = new CapabilityListRepeater(ID_STATUS_ENABLE_LIST,
new PropertyModel<List<String>>(getModel(), "capability.status.enableValue")){
@Override
protected StringResourceModel createEmptyItemPlaceholder(){
return createStringResource("capabilityActivationPanel.list.placeholder");
}
};
add(statusEnableList);
CapabilityListRepeater statusDisableList = new CapabilityListRepeater(ID_STATUS_DISABLE_LIST,
new PropertyModel<List<String>>(getModel(), "capability.status.enableValue")){
@Override
protected StringResourceModel createEmptyItemPlaceholder(){
return createStringResource("capabilityActivationPanel.list.placeholder");
}
};
add(statusDisableList);
CapabilityListRepeater enableList = new CapabilityListRepeater(ID_ENABLE_LIST,
new PropertyModel<List<String>>(getModel(), "capability.enableDisable.enableValue")){
@Override
protected StringResourceModel createEmptyItemPlaceholder(){
return createStringResource("capabilityActivationPanel.list.placeholder");
}
};
add(enableList);
CapabilityListRepeater disableList = new CapabilityListRepeater(ID_DISABLE_LIST,
new PropertyModel<List<String>>(getModel(), "capability.enableDisable.disableValue")){
@Override
protected StringResourceModel createEmptyItemPlaceholder(){
return createStringResource("capabilityActivationPanel.list.placeholder");
}
};
add(disableList);
IChoiceRenderer renderer = new IChoiceRenderer<QName>() {
@Override
public Object getDisplayValue(QName object) {
return object.getLocalPart();
}
@Override
public String getIdValue(QName object, int index) {
return Integer.toString(index);
}
};
DropDownChoice enableDisableChoice = new DropDownChoice(ID_SELECT_ENABLE_DISABLE,
new PropertyModel<QName>(getModel(), "capability.enableDisable.attribute"),
createAttributeChoiceModel(), renderer);
add(enableDisableChoice);
DropDownChoice statusChoice = new DropDownChoice(ID_SELECT_STATUS,
new PropertyModel<QName>(getModel(), "capability.status.attribute"),
createAttributeChoiceModel(), renderer);
add(statusChoice);
}
public IModel<List<QName>> createAttributeChoiceModel(){
return null;
}
}