Skip to content

Commit

Permalink
fix for reference autocomplete
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Jun 10, 2020
1 parent 239f99b commit ab5749c
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 13 deletions.
Expand Up @@ -33,7 +33,7 @@
/**
* @author honchar
*/
public abstract class ReferenceAutocomplete<O extends ObjectType> extends AutoCompleteTextPanel<ObjectReferenceType> {
public abstract class ReferenceAutocomplete extends AutoCompleteTextPanel<ObjectReferenceType> {
private static final long serialVersionUID = 1L;

private PageBase pageBase;
Expand All @@ -47,17 +47,18 @@ public ReferenceAutocomplete(String id, final IModel<ObjectReferenceType> model,
@Override
public Iterator<ObjectReferenceType> getIterator(String input) {
FormComponent<ObjectReferenceType> inputField = getBaseFormComponent();
if (inputField == null || StringUtils.isEmpty(inputField.getRawInput())){
String realInput = StringUtils.isEmpty(input) ? inputField.getRawInput() : input;
if (StringUtils.isEmpty(realInput)){
return null;
}
ObjectQuery query = pageBase.getPrismContext().queryFor(AbstractRoleType.class)
.item(ObjectType.F_NAME)
.containsPoly(inputField.getRawInput())
.containsPoly(realInput)
.matchingNorm()
.build();
List<PrismObject<AbstractRoleType>> objectsList = WebModelServiceUtils.searchObjects(AbstractRoleType.class, query,
new OperationResult("searchObjects"), pageBase);
return (Iterator<ObjectReferenceType>) ObjectTypeUtil.objectListToReferences(objectsList);
return ObjectTypeUtil.objectListToReferences(objectsList).iterator();
}

@Override
Expand All @@ -66,6 +67,6 @@ protected <C> IConverter<C> getAutoCompleteConverter(Class<C> type, IConverter<C
return (IConverter<C>) new ReferenceConverter((IConverter<ObjectReferenceType>)converter, new ArrayList<>(), getBaseFormComponent(), pageBase);
}

protected abstract Class<O> getReferenceTargetObjectType();
protected abstract <O extends ObjectType> Class<O> getReferenceTargetObjectType();

}
Expand Up @@ -16,12 +16,12 @@
<input wicket:id="oid" type="text" class="form-control input-sm" style="width: 150px; min-width: 150px;" />
</div>
</div>
<!-- <div class="form-group col-sm-12">-->
<!-- <label class="col-sm-4"><wicket:message key="Name"/></label>-->
<!-- <div class="col-sm-8">-->
<!-- <div wicket:id="name" />-->
<!-- </div>-->
<!-- </div>-->
<div class="form-group col-sm-12">
<label class="col-sm-4"><wicket:message key="ReferencePopupPanel.name"/></label>
<div class="col-sm-8">
<div wicket:id="name" />
</div>
</div>
<div class="form-group col-sm-12">
<label class="col-sm-4"><wicket:message key="ReferencePopupPanel.targetType"/></label>
<div class="col-sm-8">
Expand Down
Expand Up @@ -17,8 +17,6 @@
import org.apache.commons.collections.CollectionUtils;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
import org.apache.wicket.extensions.ajax.markup.html.autocomplete.AbstractAutoCompleteRenderer;
import org.apache.wicket.extensions.ajax.markup.html.autocomplete.AbstractAutoCompleteTextRenderer;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.model.IModel;
Expand Down

0 comments on commit ab5749c

Please sign in to comment.