Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/Evolveum/midpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
MartinDevecka committed Sep 4, 2014
2 parents 8b01006 + afd128d commit 66b3595
Show file tree
Hide file tree
Showing 14 changed files with 576 additions and 113 deletions.
Expand Up @@ -40,7 +40,9 @@
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink;
import org.apache.wicket.behavior.AttributeAppender;
import org.apache.wicket.extensions.ajax.markup.html.autocomplete.AutoCompleteTextField;
import org.apache.wicket.markup.html.WebMarkupContainer;
Expand Down Expand Up @@ -227,16 +229,16 @@ public boolean isEnabled() {
protected void populateItem(final Item<ResourceObjectTypeDefinitionTypeDto> item) {
final ResourceObjectTypeDefinitionTypeDto objectType = item.getModelObject();

AjaxLink link = new AjaxLink(ID_LINK_OBJECT_TYPE) {
AjaxSubmitLink link = new AjaxSubmitLink(ID_LINK_OBJECT_TYPE) {

@Override
public void onClick(AjaxRequestTarget target) {
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
editObjectTypePerformed(target, objectType);
}
};
item.add(link);

Label label = new Label(ID_NAME_OBJECT_TYPE, new PropertyModel<>(objectType, "objectType.displayName"));
Label label = new Label(ID_NAME_OBJECT_TYPE, createObjectTypeDisplayModel(objectType));
label.setOutputMarkupId(true);
link.add(label);

Expand Down Expand Up @@ -278,7 +280,29 @@ public void onClick(AjaxRequestTarget target) {
add(add);

initObjectTypeEditor(objectTypeEditor);
initModals();
}

private IModel<String> createObjectTypeDisplayModel(final ResourceObjectTypeDefinitionTypeDto objectType){
return new AbstractReadOnlyModel<String>() {

@Override
public String getObject() {
StringBuilder sb = new StringBuilder();

if(objectType != null && objectType.getObjectType() != null){
ResourceObjectTypeDefinitionType object = objectType.getObjectType();
sb.append(object.getDisplayName());

if(object.getKind() != null || object.getIntent() != null){
sb.append(" (").append(object.getKind());
sb.append(", ").append(object.getIntent());
sb.append(")");
}
}

return sb.toString();
}
};
}

private void initObjectTypeEditor(WebMarkupContainer editor){
Expand Down Expand Up @@ -328,7 +352,7 @@ public void onClick(AjaxRequestTarget target) {
editor.add(editorDependency);

AutoCompleteTextField<String> editorObjectClass = new AutoCompleteTextField<String>(ID_EDITOR_OBJECT_CLASS,
new PropertyModel<String>(model, SchemaHandlingDto.F_SELECTED + ".objectClass.localPart")) {
new PropertyModel<String>(model, SchemaHandlingDto.F_SELECTED_OBJECT_CLASS)) {

@Override
protected Iterator<String> getChoices(String input) {
Expand All @@ -353,6 +377,11 @@ protected Iterator<String> getChoices(String input) {
return choices.iterator();
}
};
editorObjectClass.add(new AjaxFormComponentUpdatingBehavior("onchange") {

@Override
protected void onUpdate(AjaxRequestTarget target) {}
});
editorObjectClass.add(createObjectClassValidator());
editor.add(editorObjectClass);

Expand Down Expand Up @@ -491,9 +520,6 @@ public void onClick(AjaxRequestTarget target) {
editor.add(editorCredentials);
}

private void initModals(){
//TODO - init all modal windows here
}

private IValidator<String> createObjectClassValidator(){
return new IValidator<String>() {
Expand Down Expand Up @@ -596,17 +622,29 @@ private void credentialsEditPerformed(AjaxRequestTarget target){
}

private void editAttributePerformed(AjaxRequestTarget target, ResourceAttributeDefinitionType object){
WebMarkupContainer newContainer = new ResourceAttributeEditor(ID_THIRD_ROW_CONTAINER, new Model<>(object));
getThirdRowContainer().replaceWith(newContainer);
if(model.getObject().getSelected() != null && model.getObject().getSelected().getObjectClass() != null){
WebMarkupContainer newContainer = new ResourceAttributeEditor(ID_THIRD_ROW_CONTAINER, new Model<>(object),
model.getObject().getSelected(), resourceModel.getObject());
getThirdRowContainer().replaceWith(newContainer);

target.add(getThirdRowContainer());
target.add(getThirdRowContainer());
} else {
warn(getString("SchemaHandlingStep.message.selectObjectClassAttr"));
target.add(getPageBase().getFeedbackPanel());
}
}

private void editAssociationPerformed(AjaxRequestTarget target, ResourceObjectAssociationType object){
WebMarkupContainer newContainer = new ResourceAssociationEditor(ID_THIRD_ROW_CONTAINER, new Model<>(object));
getThirdRowContainer().replaceWith(newContainer);
if(model.getObject().getSelected() != null && model.getObject().getSelected().getObjectClass() != null){
WebMarkupContainer newContainer = new ResourceAssociationEditor(ID_THIRD_ROW_CONTAINER, new Model<>(object),
model.getObject().getSelected(), resourceModel.getObject());
getThirdRowContainer().replaceWith(newContainer);

target.add(getThirdRowContainer());
target.add(getThirdRowContainer());
} else {
warn(getString("SchemaHandlingStep.message.selectObjectClassAss"));
target.add(getPageBase().getFeedbackPanel());
}
}

@Override
Expand Down
Expand Up @@ -41,4 +41,6 @@ AssignmentPolicyEnforcementType.FULL=Full
AssignmentPolicyEnforcementType.RELATIVE=Relative

SchemaHandlingStep.message.errorLoadingObjectTypeList=Couldn't load object class list from resource. Error:
SchemaHandlingStep.message.validationError=Inserted objectClass value: '{0}' is not valid. Please provide valid objectClass value.
SchemaHandlingStep.message.validationError=Inserted objectClass value: '{0}' is not valid. Please provide valid objectClass value.
SchemaHandlingStep.message.selectObjectClassAttr=Please provide 'Object class' attribute before creating resource attribute.
SchemaHandlingStep.message.selectObjectClassAss=Please provide 'Object class' attribute before creating resource association.
Expand Up @@ -68,7 +68,7 @@ <h4 class="panel-title">
<label><wicket:message key="ResourceAssociationEditor.label.associationAttribute" /></label>
</dt>
<dd>
<input wicket:id="associationAttribute" type="text" class="form-control input-sm" value=""/>
<select wicket:id="associationAttribute" class="form-control input-sm"></select>
</dd>
</dl>

Expand All @@ -77,7 +77,7 @@ <h4 class="panel-title">
<label><wicket:message key="ResourceAssociationEditor.label.valueAttribute" /></label>
</dt>
<dd>
<input wicket:id="valueAttribute" type="text" class="form-control input-sm" value=""/>
<select wicket:id="valueAttribute" class="form-control input-sm"></select>
</dd>
</dl>

Expand Down Expand Up @@ -112,7 +112,17 @@ <h4 class="panel-title">
<label><wicket:message key="ResourceAssociationEditor.label.reference" /></label>
</dt>
<dd>
<input wicket:id="reference" type="text" class="form-control input-sm" value=""/>
<select wicket:id="referenceSelect" class="form-control input-sm"></select>
<input wicket:id="referenceField" type="text" class="form-control input-sm" value=""/>
</dd>
</dl>

<dl class="dl-horizontal">
<dt>
<label><wicket:message key="ResourceAssociationEditor.label.allow" /></label>
</dt>
<dd>
<input wicket:id="allowRef" type="checkbox" value="checked"/>
</dd>
</dl>

Expand Down Expand Up @@ -200,7 +210,7 @@ <h4 class="panel-title">
<label><wicket:message key="ResourceAssociationEditor.label.matchingRule" /></label>
</dt>
<dd>
<input wicket:id="matchingRule" type="text" class="form-control input-sm" value=""/>
<select wicket:id="matchingRule" class="form-control input-sm"></select>
</dd>
</dl>

Expand Down

0 comments on commit 66b3595

Please sign in to comment.