Skip to content

Commit

Permalink
adding isVisible for refresh schema button of manual connector base-o…
Browse files Browse the repository at this point in the history
…n configuration of capabilities
  • Loading branch information
skublik committed Dec 9, 2019
1 parent 66a84bd commit df3fccb
Showing 1 changed file with 22 additions and 1 deletion.
Expand Up @@ -12,6 +12,7 @@
import com.evolveum.midpoint.gui.api.util.WebModelServiceUtils;
import com.evolveum.midpoint.model.api.util.ResourceUtils;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.schema.CapabilityUtil;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.schema.result.OperationResult;
Expand All @@ -31,8 +32,10 @@
import com.evolveum.midpoint.web.page.admin.configuration.PageDebugView;
import com.evolveum.midpoint.web.page.admin.resources.component.TestConnectionResultPanel;
import com.evolveum.midpoint.web.util.OnePageParameterEncoder;
import com.evolveum.midpoint.xml.ns._public.common.common_3.CapabilitiesType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowKindType;
import com.evolveum.midpoint.xml.ns._public.resource.capabilities_3.SchemaCapabilityType;
import org.apache.commons.lang.StringUtils;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
Expand Down Expand Up @@ -175,7 +178,7 @@ public void onClick(AjaxRequestTarget target) {
private static final long serialVersionUID = 1L;
@Override
public boolean isVisible() {
return canEdit(resourceModel);
return isVisibleRefresSchemaButton(resourceModel);
}
});
add(refreshSchema);
Expand Down Expand Up @@ -253,6 +256,24 @@ public void onClick(AjaxRequestTarget target) {

}

private boolean isVisibleRefresSchemaButton(LoadableModel<PrismObject<ResourceType>> resourceModel) {
ResourceType resource = resourceModel.getObject().asObjectable();
if (!resource.getAdditionalConnector().isEmpty()) {
if (resource.getCapabilities() == null) {
return false;
}
if (resource.getCapabilities().getConfigured() != null) {
SchemaCapabilityType configuredCapability = CapabilityUtil.getCapability(resource.getCapabilities().getConfigured().getAny(), SchemaCapabilityType.class);
if (configuredCapability == null) {
return false;
}
return configuredCapability.isEnabled();
}
return false;
}
return true;
}

private boolean canEdit(LoadableModel<PrismObject<ResourceType>> resourceModel) {
ResourceType resource = resourceModel.getObject().asObjectable();
if (!resource.getAdditionalConnector().isEmpty()) {
Expand Down

0 comments on commit df3fccb

Please sign in to comment.